Xem mẫu
- Luaän Vaên Toát Nghieäp
- Khi goõ vaøo Reset ôû möùc logic 1, 8255 bò Reset taát caû caùc caûng ñöôïc
ñaët ôû cheá ñoä nhaäp(caû 24 ñöôøng cuûa 3 port ñeàu ôû traïng thaùi toång trôû
cao). Sau khi Reset 8255 chôø nhaän töø ñieàu khieån ñeå ñöôïc khôûi
ñoäng(caùc caûng ñöôïc duy trì ôû cheá ñoä nhaäp).
- Trong quaù trình thi haønh moät chöông trình cuûa heä thoáng baát kyø
mode hoaït ñoäng naøo cuõng ñöôïc choïn baèng moät leänh ñôn giaûn neân
8255 coù theå phuïc vuï nhieàu loaïi ngoaïi vi khaùc nhau baèng caùc chöông
trình con ñôn giaûn.
- Duø ôû mode naøo caûng A vaø B cuõng ñöôïc ñònh nghóa rieâng leû trong khi
caûnng c ñöôïc chia laøm hai phaàn (moät nuõa cao vaø moät nöõa thaáp) theo
yeâu caàu cuûa mode caûng A vaø B.
- Taát caû caùc thanh ghi xuaát bao goàm caùc flip-flop traïng thaùi ñeàu ñöôïc
Reset khi thay ñoåi mode ôû cuøng moät thôøi ñieåm. Moãi nhoùm coù theå
ñöôïc xaùc ñònh ôû caùc mode hoaït ñoäng khaùc nhau.
- Khaû naêng nhaäp/xoaù (set/reset) töøng bit
Moãi bit cuûa caûng C ñeàu ñöôïc set/reset rieâng leû baèng leänh Out. Ñieàu
naøy cho pheùp khaû naêng söû duïng caûng C ñeå ñieàu khieån vaø thoâng tin
traïng thaùi ôû caûng A vaø B.
- Ñieàu khieån ngaét (Interrupt)
Khi 8255 hoaït ñoäng ôû mode 1 hay mode 2, caùc tín hieäu ñieàu khieån
coù khaû naêng yeâu caàu ngaét CPU. Caùc tín hieäu yeâu caàu ngaét phaùt sinh töø
caûng C. Ngöôøi laäp trình coù theå cho pheùp hay caám moät ngoaïi vi ngaét CPU
maø khoânng aûnh höôûng ñeán baát kyø moät ngoaïi naøo khaùc trong caáu truùc
ngaét. Flip-flop INTE cuûa 8255 keát hôïp vôùi khaû naêng set/reset töøng bit cuûa
caûng C seõ thöïc hieän nhieäm vuï naøy.
Bit set-INTE set : cho pheùp ngaét.
Bit reset-INTE reset: caám ngaét
Taát caû caùc flip-flop che(mask flip-flop) ñeàu ñöôïc reset trong quaù
trình choïn mode vaø reset 8255.
Hoaït ñoäng cuûa caùc cheá ñoä (Modes)
Cheá ñoä 0(mode 0) : Cheá ñoä xuaát nhaäp cô baûn
3 caûng A,B vaø C ñeàu laø caùc caûng xuaát nhaäp, khoâng coù tín hieäu baét tay
döõ lieäu ñôn thuaàn ñöïôc ghi vaøo hoaëc ñoïc ra töø 8255 (ñoái vôùi töøng caûng
rieâng leû) caûng C hoaït ñoäng nhö laø hai caûng 4 bit. Khi môùi reset taát caû
caùc caûng ñeàu laø vaøo. Ñaëc ñieåm ôû moãi cheá ñoä naøy laø:
- Döõ lieäu ra ñöôïc choát
- Döõ lieäu vaøo khoâng ñöôïc choát
- Luaän Vaên Toát Nghieäp
- Caùc caûng khoâng coù khaû naêng baét tay hoaëc ngaét
- Coù 16 khaû naêng xuaát nhaäp ñoái vôùi mode 0 (caên cöù vaøo caùc bit D0,
D3, DZ4 cuûa töø ñieàu khieån).
TÖØ ÑIEÀU KHIEÅN
D7 D6 D5 D4 D3 D2 D1 D0
NHOÙM B
Caûng C:PC3..PC0
1: VAØo
0: Ra
Caûng B
1: VAØo
0: Ra
Choïn cheá ñoä
0:Cheá ñoä 0
1:Choïn cheá ñoä 1
NHOÙM A
Caûng C:PC4..PC7
1: VAØo
0: Ra
Caûng A
1: VAØo
0: Ra
Choïn cheá ñoä
00:Cheá ñoä 0
01: Cheá ñoä 1
1x : Cheá ñoä 2
D7=0: Choïn
cheá ñoä I/O
HÌNH II.3 :töø ñieàu khieån cuûa 8255
- Luaän Vaên Toát Nghieäp
Cheá ñoä 1 (mode 1): Xuaát nhaäp coù ñieàu khieån:
Hai caûng A vaø B coù chöùc naêng laø caûng vaøo ra 8bis chuùng coù theå
ñöôïc caáu hình hoaëc laø caûng vaøo hoaëc laø caûng ra khi xuaát hoaëc nhaäp döõ
lieäu ñeàu ñöôïc choát. Hay nöûa caûng c ñöôïc söû duïng ñeà ñieàu khieån thoâng tin
traïng thaùi cho caûng A vaø caûng B. Nöûa cao söû duïng cho caûng A (nhoùm A),
nöûa thaáp söû duïng cho caûng B (nhoùm B). Nhö vaäy moãi nhoùm goàm 1 caûng
8bis vaø 4 bis cuûa caûng C.
Cheá ñoä vôùi caûng A (hoaëc B): Khôûi taïo laø vaøo :
Trong cheá ñoä naøy, caûng A söû duïng 3 ñöôøng tín hieäu cao PC3, PC4
vaø PC5. Caûng B söû duïng 3 ñöôøng tín hieäu thaáp coøn laïi cuûa caûng C laø PC0
, PC1 vaø PC2. Caùc chöùc naêng cuûa tín hieäu naøy nhö sau:
STB (Strobe Input) : Tín hieäu naøy hoaït ñoäng ôû möùc thaáp, noù ñöôïc
taïo bôûi thieát bò ngoaïi vi ñeå thoâng baùo cho 8255 bieát byte soá lieäu nhaäp ñaõ
saün saøng vaø 8255 ñaùp laïi tín hieäu STB baèng caùch taïo ra tín hieäu IBF,
INTR.
- IBF : (Input Buffer Full) tín hieäu naøy laø moät söï baùo nhaän bôûi 8255 ñeå
chæ thò raèng ngoõ vaøo choát ñaõ ñöôïc 1byte döõ lieäu. Tín hieäu naøy bò Reset
khi CPU ñoïc döõ lieäu.
- INTR (Interrput request) : Ñaây laø tín hieäu coù theå ñöôïc söû duïng ñeå ngaét
CPU, tín hieäu naøy ñöôïc taïo ra neáu STB = 1, IBF vaø INTE = 1, tín hieäu
INTE bò xoùa bôûi caïnh sau cuûa tín hieäu RD.
- INTE (Interrput Enable) : Ñaây laø Flip-flop beân trong ñöôïc söû duïng ñeå
cho pheùp hoaëc khoâng cho pheùp vieäc taïo ra tín hieäu INTR (töùc cho
pheùp hoaëc khoâng cho pheùp yeâu caàu naøy). Hai Flip – flop INTEA vaø
INTEB set /reset baèng caùch söû duïng cheá ñoä BSR, cuï theå laø Flip -flop
INTEA ñöôïc ñieàu khieån bôûi PC4 vaø INTEB ñöôïc ñieàu khieån bôûi PC2.
Toùm laïi : Quaù trình Cpu ñoïc döõ lieäu töø beân ngoaøi vaøo ôû cheá ñoä naøy
nhö sau: Thieát bò vaøo ôû 8 bis soá lieäu ñeán A0… A7 (hoaëc B0 . . B7) roài phaùt
sinh xung STR vôùi möùc tích cöïc thaáp ñeå naïp döõ lieäu vaøo maïch choát. Nhö
vaäy laøm tín hieäu IBF coù möùc logic meàm. Boä vi xöû lyù ñoïc caûng C vaø kieåm
tra tín hieäu IBF ñeå kieåm tra soá lieäu ñaõ saün saøng chöa. Neáu IBF = 1 boä vi
xöû lyù ñoïc soá lieäu treân caûng A (hoaëc B) vaø xoùa côø IBF.
Cheá ñoä 1 : Vôùi caûng A hoaëc B khôûi taïo laø ra:
Khi caûng A vaø B ñöôïc khôûi taïo laø ra ôû töø ñieàu khieån thì chöùc naêng
cuûa caùc chaân logic nhö sau :
- OBF (Output Buffer Full) tín hieäu ñieàu khieån naøy xuoáng thaáp CPU ghi
döõ lieäu vaøo maïch choát ngoõ ra cuûa 8255. Tín hieäu naøy baùo cho tín hieäu
- Luaän Vaên Toát Nghieäp
ngoaïi vi ôû ngoõ ra laø döõ lieäu môùi ñang saün saøng ñoïc. Tín hieäu naøy leân
cao 1 laàn nöõa sau khi 8255 nhaän ñöôïc tín hieäu ACK ngoaïi vi. OBF
ñöôïc set bôûi caïnh leân cuûa xung WR töø CPU vaø bò reset bôûi ACK =0 do
ngoaïi vi (töùc ôû möùc 0 tích cöïc).
- ACK (Acknowledge) : Ñaây laø tính hieäu vaøo töø ngoaïi vi, noù xuoáng möùc
thaáp khi thieát bò ngoaïi vi nhaän ñöôïc döõ lieäu töø caùc caûng cuûa 8255.
- INTR (Interrupt Request) : Ñaây laø tín hieäu ra noù ñöôïc set bôûi caïnh leân
cuûa tín hieäu ACK. Tín hieäu naøy leân 1 ôû ngoõ ra duøng yeâu caàu ngaét
CPU, khi ngoaïi vò ñaõ nhaän döõ lieäu töø noù ñeå yeâu caàu byte döõ lieäu keá
ñöôïc xuaát ra. Tín hieäu INTR ñöôïc set khi caáp tín hieäu OBF, ACK vaø
INTE toaøn boä ôû möùc 1 vaø ñöôïc reset bôûi caïnh xuoáng cuûa tín hieäu WR.
- INTE (Interrupt Enable) ñaây laø moät Flip-flop beân trong ñöôïc duøng ñeå
taïo tín hieäu INTR. Hai Flip-flop INTEA vaø INTEB ñöôïc ñieàu khieån bôûi
caùc bis PC6, PC2 vaø ñöôïc nhaän bieát qua cheá ñoä BSR.
Töông töï nhö caûng nhaäp PC4 vaø PC5 ñöôïc duøng nhö caûng vaøo ra.
Toùm taét quaù trình CPU vieát döõ lieäu ra nhö sau;
CPU ghi döõ lieäu ra caûng A (hoaëc B) laøm cho OBF ôõ möùc logic 0.
Thieát bò kieåm tra OBF ñeå xaùc ñònh xem döõ lieäu ñaõ saün saøng chöa. Neáu ñaõ
tieáp nhaän döõ lieäu, thieát bò ra traû lôøi baèng möùc 0 treân ñaàu vaøo ACK ñoàng
thôøi xoùa côø OBS.
Cheá ñoä 2 (mode 2) : Xuaát nhaäp döõ lieäu 2 chieàu baét tay:
Cheá ñoä naøy ñöôïc söû duïng trong caùc öùng duïng nhö laø truyeàn döõ lieäu
giöõa hai maùy vi tính hoaëc giao tieáp vôùi boä ñieàu khieån ñóa meàm.
ÔÛ cheá ñoä naøy caûng A coù theå ñöôïc caáu hình nhö laø moät caûng hai
chieàu vaø caûng B hoaëc laø ôû cheá ñoä 0 hoaëc laø ôû cheá ñoä 1. Caûng A söû duïng
tín hieäu töø caûng C nhö laø caùc tín hieäu ñieàu khieån cho vieäc truyeàn döõ lieäu.
Caùc ñöôøng naøy bao goàm OBF, ACK, INTR, STB, IBF.
Vôùi :
- INTR : Möùc 1 ôû ngoõ ra naøy baùo cho CPU bieát yeâu caàu ngaét
- Hoaït ñoäng xuaát:
OBF xuoáng möùc 0 ñeå baùo cho caùc thieát bò ngoaïi vi bieát CPU ñaõ ghi
döõ lieäu ra caûng A
ACK xuoáng möùc 0 ñeå baùo cho thieát bò ngoaïi vi cho pheùp boä ñeäm 3
traïng thaùi cuûa caûng A môû ñeå phaùt döõ lieäu
INTE 1 (lieân quan vôùi OBF)ñöôïc kieåm soaùt bôûi set/reset cuûa PC
- Hoaït ñoäng nhaäp:
- Luaän Vaên Toát Nghieäp
STB: Möùc 0 ôû ngoõ vaøo naøy caøi döõ lieäu vaøo maïch, caøi ngoõ nhaäp.
IBF : Möùc 1 thoâng baùo cho CPU bieát ñaõ naïp vaøo maïch caøi nhaäp.
INTE 2 (lieân quan ñeán IBF)ñöôïc kieåm soaùt bôûi set/reset cuûa PC4. Ba
ñöôøng tín hieäu coøn laïi PC0… PC2 coù theå ñöôïc söû duïng hoaëc laø nhö caùc
ñöôøng vaøo ra ñôn giaûn hoaëc laø nhö caùc tín hieäu baét tay caûng B.
Duøng caûng C ñieàu khieån caûng A,B.
Trong mode 0, caûng C chuyeån soá lieäu töø 8255 ñeán ngoaïi vi hay töø
ngoaïi vi ñeán 8255. Khi 8255 ñöôïc laäp trình ôû mode 1 hay mode 2, caûng
C taïo ra hay nhaän veà caùc tín hieäu ñieàu khieån ngoaïi vi. Ñoïc noäi dung
cuûa caûng C cho pheùp ngöôøi laäp trình kieåm tra vaø xaùc ñònh traïng thaùi cuûa
thieát bò ngoaïi vi ñeå coù theå thay ñoåi chöông trình ñieàu khieån cho phuø
hôïp.
Caùc töø traïng thaùi caûng C töøng mode:
Mode 1 : Nhaäp
D7 D6 D5 D4 D3 D2 D1 D0
I/O I/O IBFA INTEA INTRA INTEB IBFB INTRB
NHOÙM A NHOÙM B
Mode 1 : Xuaát
D7 D6 D5 D4 D3 D2 D1 D0
-OBF INTEA I/O I/O INTRA INTEB -OBF INTRB
NHOÙM A NHOÙM B
Mode 2 :
D7 D6 D5 D4 D3 D2 D1 D0
OBFA INTE1 IBFA INTEØ INTRA
NHOÙM A NHOÙM B
HÌNH II.4 : Töø traïng thaùi caûng C
III. KHAÛO SAÙT BOÄ NHÔÙ
1- Boä nhôù coù theå thaûo chöông vaø xoaù ñöôïc EPROM 2764
EPROM 2764 laø boä nhôù chæ duøng moät nguoàn duy nhaát 5v, dung
löôïng boä nhôù 65.536 bit vaø coù theå ñoïc xoùa deã daøng. Cuõng nhö caùc
EPROM khaùc noù coù hai kieåu hoaït ñoäng laø : bình thöôøng vaø chôø
(Standby). ÔÛ kieåu chôø maïch chæ tieâu taùn moät phaàn tö coâng suaát bình
thöôøng,
- Luaän Vaên Toát Nghieäp
Thôøi gian truy xuaát laø 250ns vôùi toác ñoä löïa choïn vaøo khoaûng 200ns.
Thôøi gian truy xuaát coù theå töông hôïp vôùi nhöõng vi xöû lyù hoaït ñoäng ôû toác
ñoä cao. Moät öu ñieåm quan troïng cuûa 2764 laø kieåm soaùt rieâng leû caùc ngoõ
ra.
Sô ñoà chaân vaø caáu taïo 2764 ñöôïc cho ôû hình III.1
Vpp 1 Vcc
28
PGM
A12 2 27
A7 3 NC
26
A6 4 A8
25
A5 5 24
A4 6 23 A11
A0-A12 Ñòa chæ vaøo
A3 7 OE
22
A2 8 A10
21 D0-D7 Döõ lieäu ra
2764
CS
A1 9 20
-OE Cho pheùp ra
10 19
A0 D7
-CS Cho pheùp chip hoaït ñoäng
D0 11 D6
18
D1 12 17 PGM Naïp chöông trình
D5
13
D2 16 D4
NC Khoâng noái
GND 14 15 D3
Ghi chuù : -OE ngoõ ra ñaûo cuûa OE
Sô ñoà khoái: D0-D7
-OE LOGIC ÑIEÀU ÑEÄM NGOÕ
-OE/PGM KHIEÅN RA
MAÏCH CUÛA
GIAÛI MAÕ Y
A12 Y
MA TRAÄN
A0 GIAÛI MAÕ X NHÔÙ
65.536BIT
HÌNH III.1: Sô ñoà chaân vaø caáu taïo cuûa EPROM
2764
- Luaän Vaên Toát Nghieäp
Baûng traïng thaùi hoaït ñoäng cuûa caùc chaân
CHAÂN -CE -OE -PGM VPP VCC D0 – D7
(20) (22) (27) (1) (11 – 13. 15 – 19)
(28)
KIEÅU
Ñoïc VIL VIL VCC VCC DOUT
Chôø VIH VCC VCC Z cao
Naïp chöông VIL VIL VPP VCC DIN
trình
Kieåm tra VIL VIL VIH VPP VCC DOUT
chöông trình
Caám naïp VIH VPP VCC Z cao
chöông trình
X coù theå laø VIL hoaëc VIH
Baûng III.1: Baûng traïng thaùi cuûa 2764
2- Boä nhôø tónh SRAM 6264 :
6264 laø RAM tónh toác ñoä cao, dung löôïng boä nhôù 8192 word x 8bit
Ñaëc tính 6264 :
- Söû duïng nguoàn 5V
- Thôøi gian truy xuaát nhanh, toái ña coù theå ñaït 150 ns
- Coâng suaát tieâu taùn ôû traïng thaùi chôø thaáp: 0.1mW
- Ngoõ vaøo / ra döõ lieäu chung, ngoõ ra ba traïng thaùi
- Ngoõ vaøo, ra töông hôïp vôùi hoï TTL
- Thôøi gian voøng vaø truy caäp nhö nhau.
- Chaân ra töông thích vôùi hoï EF ROM 64k
- Sô ñoà khoái tieâu chuaån 28 chaân
* Baûng traïng thaùi:
-WE -CS1 CS 2 -OE Traïng thaùi Chaân D
X H X X Z cao
Khoâng choïn
X X L X Z cao
H L H H Khoâng xuaát Z cao
H L H L Ñoïc D xuaát
- Luaän Vaên Toát Nghieäp
L L H H Dnhaäp
Ghi
L L H L Dnhaäp
X : khoâng quan taâm
Baûng III.2 Baûng traïng thaùi cuûa 2764.
Sô ñoà chaân RAM 6264
D0-D7
NC 1 Vcc
28
WE
A12 2 27
A7 3 CS
26
A6 4 A8
25
A5 5 A9
24
A4 6 23 A11
A0-A12 Ñòa chæ vaøo
A3 7 OE
22
6264
A2 8 A10
21 D0-D7 Döõ lieäu ra
CS1
A1 9 20
-OE Cho pheùp ra
10 19
A0 D7
-CS1, CS2 Cho pheùp chip hoaït ñoäng
D0 11 D6
18
D1 12 17 -WE Cho pheùp ghi
D5
13
D2 16 D4
NC Khoâng noái
GND 14 15 D3
Ghi chuù : -OE ngoõ ra ñaûo cuûa OE
Hình III.2 : Sô ñoà chaân cuûa SRAM 6264
- Luaän Vaên Toát Nghieäp
IV KHAÛO SAÙT VI MAÏCH GIAÛI MAÕ ÑÒA CHÆ
IC giaûi maõ thöôøng ñöôïc choïn cho maïch vi xöû lyù laø IC 74LS 138.
Ñaây laø boä giaûi maõ ña hôïp giaûi 3 ñöôøng ra 8 ñöôøng. IC 74LS 138 goàm coù 8
ñöôøng ra töø Y0 -> Y7, 3 ñöôøng döõ lieäu vaøo laø A, B, C vaø 3 ñöôøng ñieàu
khieån. Traïng thaùi hoaït ñoäng cuûa IC 74LS 138 phuï thuoäc vaøo ñieàu kieän
cuûa ba chaân naøy trong ñoù hai chaân G2A vaø G2B taùc ñoäng ôû möùc thaáp
(möùc 0) coøn G1 taùc ñoäng ôû möùc cao (möùc 1), IC 74LS 138 ñöôïc thieát keá
ñeå hoaït ñoäng vôùi toác ñoä cao, noù thöôøng duøng cho caùc boä giaûi maõ ñòa chæ,
boä nhôù vaø trong caùc heä thoáng truyeàn döõ lieäu.
Sô ñoà chaân cuûa IC 74LS 138 :
Vcc
1 16
A
YO
2 15
B
Y1
C 3 14
Y2
4 13
G2A
7 4 L S 138 Y3
5 12
G2B
6 11 Y4
G1
7 10 Y5
Y7
8 9 Y6
GND
HÌNH IV. 1 : Sô ñoà chaân cuûa IC 74 LS138
- Luaän Vaên Toát Nghieäp
Baûng traïng thaùi cuaû IC74LS138
Ñieàu khieån Döõ lieäu vaøo Döõ lieäu ra
G1 G2 C B A Y 0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
X 1 X X X 1 1 1 1 1 1 1 1
0 X X X X 1 1 1 1 1 1 1 1
1 0 0 0 0 0 1 1 1 1 1 1 1
1 0 0 0 1 1 0 1 1 1 1 1 1
1 0 0 1 0 1 1 0 1 1 1 1 1
1 0 0 1 1 1 1 1 0 1 1 1 1
1 0 1 0 0 1 1 1 1 0 1 1 1
1 0 1 0 1 1 1 1 1 1 0 1 1
1 0 1 1 0 1 1 1 1 1 1 0 1
1 0 1 1 1 1 1 1 1 1 1 1 0
X: Khoâng quan taâm
Baûng IV.1 : baûng traïng thaùi cuûa IC 74LS138
- Luaän Vaên Toát Nghieäp
TAØI LIEÄU THAM KHAÛO
----o0o----
1- ELECTRONIC DESIGN CIRCUITS AND SYSTEMS.
Savant, Roden, Carpenter.
1991 – The Benjamin/Cummings Publishing Company, Jnc.
2- MICROPROCESSOR AND IC FAMILIES.
Walter H. Buchsbaum, ScD.
1993 – Tech Publication Pte Ltd.
3- AUTOMOTIVE COMPUTER SYSTEMS AND CIRCUITS
Edwardj. Ralbovsky
Prenlice, Englewood Cliffs, New Gersey.
4- TOYOTA COMPUTER CONTROLLED SYSTEMS
1992 – Toyota Motor Corporation.
5- THIEÁT KEÁ & LAÉP RAÙP MAÙY VI TÍNH CPU Z-80.
Taäp1: Thieát keá cô baûn.
Hoàng Minh Nhaät, Huyønh Coâng Sanh.
Nhaø Xuaát Baûn Giaùo Duïc – 1994.
6- LAÄP TRÌNH CHO CAÙC HEÄ VI XÖÛ LYÙ 8080 – 80850 – Z80
Nhaø Xuaát Baûn Thoáng Keâ.
7- GIAÙO TRÌNH MAÏCH SOÁ (TAÄP 2)
Nguyeãn Höõu Phöông.
Tröôøng ÑH, Toång Hôïp TP. HCM
8- PHÖÔNG PHAÙP NGHIEÂN CÖÙU KHOA HOÏC
Chaâu Kim Lang.
Tröôøng ÑH.Sö Phaïm Kyõ Thuaät TP.HCM - 1989
nguon tai.lieu . vn