ứng dụng linh kiện điện điện tử, chương 8

Chia sẻ: Nguyen Van Dau | Ngày: | Loại File: PDF | Số trang:15

0
106
lượt xem
52
download

ứng dụng linh kiện điện điện tử, chương 8

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

8255A là IC ngoại vi được chế tạo theo công nghệ LSI dùng để giao tiếp song song giữa vi xử lý và thiết bị bên ngoài. Mạch 8255A thường được gọi là mạch phối ghép vảoà lập trình được (Prỏgâmmble Pẻiphẻal Intèace – PPI). Do khả năng mềm dẻo trong trong các ứng dụng thực tế nó là mạch phối ghép được dùng rất phổ biến cho các hệ vi xử lý 8 bit – 16 bit. 1). Sơ đồ khối của 8255A...

Chủ đề:
Lưu

Nội dung Text: ứng dụng linh kiện điện điện tử, chương 8

  1. CHÖÔNG 8 VI MAÏCH GIAO TIEÁP NGOAÏI VI 8255A ___ oOo ___ I. CAÁU TRUÙC PHAÀN CÖÙNG 8255A: 8255A laø IC ngoaïi vi ñöôïc cheá taïo theo coâng ngheä LSI duøng ñeå giao tieáp song song giöõa vi xöû lyù vaø thieát bò beân ngoaøi. Maïch 8255A thöôøng ñöôïc goïi laø maïch phoái gheùp vaøo/ra laäp trình ñöôïc (Programmable Peripheral Interface – PPI). Do khaû naêng meàm deûo trong trong caùc öùng duïng thöïc teá noù laø maïch phoái gheùp ñöôïc duøng raát phoå bieán cho caùc heä vi xöû lyù 8 bit – 16 bit. 1). Sô ñoà khoái cuûa 8255A: GROUP GROUP A A IO POWER +5V CONTROL PA7 – PA0 PORT A SUPPLIES GND GROUP DATA A IO BUS PORT C PC7 – PC4 BUFF UPPER ER GROUP B IO PORT C PC3 – PC0 LOWER READ WRITE WR\ CONTROL GROUP GROUP IO RD\ LOGIC B B PB7 – PB0 A1 PORT B CONTROL A0 RESET CS\ Hình 1.13: Sô ñoà khoái 8255A
  2. 2). Sô ñoà chaân vaø sô ñoà Logic: PA3 1 40 PA4 PA2 2 39 PA5 PA1 3 38 PA6 PA0 4 37 PA7 RD\ 5 36 WR\ CS\ 6 35 RESET GND 7 34 D0 A1 8 33 D1 A0 9 32 D2 PC7 PC6 10 11 8255A 31 30 D3 D4 PA7-PA0 D7-D0 PC5 12 29 D5 PC4 13 28 D6 PC7-PC4 PC0 14 27 D7 RD PC1 15 26 VCC WR PC2 16 25 PB7 RESE PC3-PC0 PC3 17 24 PB6 T PB0 18 23 PB5 PB7-PB0 PB1 19 22 PB4 A0 PB2 21 PB3 A1 20 Hình 1.15 : Sô ñoà Logic 8255A Hình 1.14 : Sô ñoà chaân 8255A 3). Teân caùc chaân: D7 - D0 Data bus (Bi-Direction) RESET Reset input (noái vôùi tín hieäu Reset toaøn boä heä) CS\ Chip Select WR\ Write input RD\ Read input
  3. A0, A1 Port Address PA7 – PA0 Port A PB7 – PB0 Port B PC7 – PC0 Port C 8255A giao tieáp vôùi vi xöû lyù thoâng qua 3 bus: bus döõ lieäu 8 bit D7-D0, bus ñòa chæ, bus ñieàu khieån RD\; WR\; CS\; Reset.  Maõ leänh, thoâng qua traïng thaùi vaø vaø döõ lieäu ñeàu ñöôïc truyeàn treân 8 ñöôøng döõ lieäu D7-D0. Vi xöû lyù gôûi döõ lieäu ñeán 8255A hoaëc vi xöû lyù ñoïc döõ lieäu töø 8255A tuøy thuoäc vaøo leänh ñieàu khieån. Caùc ñöôøng tín hieäu RD\, WR\ cuûa 8255A ñöôïc keát noái vôùi caùc ñöôøng RD\, WR\ cuûa vi xöû lyù.  Tín hieäu Reset duøng ñeå khôûi ñoäng 8255A khi caáp ñòeän, khi bò Reset caùc thanh ghi caùc thanh ghi beân trong 8255A ñeàu bò xoùa vaø 8255A ôû traïng thaùi saün saøng laøm vieäc. Khi giao tieáp vôùi vi xöû lyù ngoû vaøo tín hieäu Reset naøy ñöôïc keát noái vôùi tín hieäu Reset Out cuûa vi xöû lyù.  Tín hieäu Chip Select (CS\) duøng ñeå löïa choïn 8255A khi vi xöû lyù giao tieáp vôùi nhieàu 8255A. 8255A coù 3 port xuaát nhaäp (I/O) coù teân port A, port B, port C, moãi port 8 bit. Port A goàm caùc bit PA0-PA7, port B goàm caùc bit PB0-PB7 vaø port C goàm PC0-PC7. Caùc port naøy coù theå laø caùc port input hoaëc output tuøy thuoäc vaøo leänh ñieàu khieån, leänh ñieàu khieån do vi xöû lyù gôûi tôùi chöùa trong thanh ghi (coøn goïi laø thanh ghi ñieàu khieån) ñeå ñieàu khieån 8255A. Caùc ñòa chæ A1-A0 cuûa 8255A duøng ñeå löïa choïn caùc port vaø thanh ghi, A1A0=002 duøng ñeå choïn Port A, A1A0 = 012 duøng ñeå choïn Port B, A1A0 = 102 duøng ñeå choïn Port C, A1A0 = 112 duøng ñeå choïn thanh ghi ñieàu khieån. Trong sô ñoà khoái 8255A, caùc port I/O chia laøm hai nhoùm: nhoùm A goàm port A vaø 4 bit cao cuûa port C, nhoùm B goàm port B vaø 4 bit thaáp cuûa port C. Ñeå söû duïng caùc
  4. port cuûa 8255A ngöôøi laäp trình phaûi gôûi töø ñieàu khieån ra thanh ghi ñieàu khieån ñeå 8255A ñònh caáu hình cho caùc port ñuùng theo yeâu caàu maø ngöôøi laäp trình mong muoán. 4). Caáu truùc töø ñieàu khieån cuûa 8255A: D7 D6 D5 D4 D3 D2 D1 D0 GROUP B PORT C (LOWER) 1 = INPUT 0 = OUTPUT PORT B 1 = INPUT 0 = OUTPUT MODE GROUP A PORT C (UPPER) 1 = INPUT 0 = OUTPUT PORT A 1 = INPUT 0 = OUTPUT MODE SELECTION 00 = MODE 0 MODE SET FLAG II. CAÁU TRUÙC PHAÀN MEÀM CUÛA 8255A:
  5. Do caùc port cuûa 8255A ñöôïc chia laøm hai nhoùm nhoùm A vaø nhoùm B taùch rôøi neân töø ñieàu khieån cuûa 8255A cuõng ñöôïc chia laøm hai nhoùm.  Caùc bit D2D1D0 duøng ñeå ñònh caáu hình cho nhoùm B:  Bit D0 duøng ñeå thieát laäp 4 bit thaáp cuûa port C, D0 = 0 port C thaáp laø port xuaát döõ lieäu (output), D0 = 1 port C thaáp laø port nhaäp döõ lieäu (input).  Bit D1 duøng thieát laäp port B, D1 = 0 port B laø port xuaát döõ lieäu (output), D1 = 1 port B laø port nhaäp döõ lieäu (input).  Bit D2 duøng thieát laäp Mode ñieàu khieån cuûa nhoùm B:  D2 = 0: nhoùm B hoaït ñoäng ôû Mode 0.  D2 =1: nhoùm B hoaït ñoäng ôû Mode 1.  Caùc bit D6, D5, D4, D3 duøng ñeå ñònh caáu hình cho nhoùm A:  Bit D3 duøng ñeå thieát laäp 4 bit cao cuûa port C, D3 = 0 port C laø port xuaát döõ lieäu (output), D3 = 1 port C laø port nhaäp döõ lieäu (input).  Bit D4 duøng ñeå thieát laäp port A, D4 = 0 port A laø port xuaát döõ lieäu (output), D4 = 1 port A laø port nhaäp döõ lieäu (input).  Bit D6D5 duøng thieát laäp Mode ñieàu khieån cuûa nhoùm A:  D6D5 = 00: nhoùm A hoaït ñoäng ôû Mode 0.  D6D5 = 01: nhoùm A hoaït ñoäng ôû Mode 1.  D6D5 = 1X: nhoùm A hoaït ñoäng ôû Mode 2. 1). Caùc nhoùm A, B ñöôïc caáu hình ôû Mode 0: Töø ñieàu khieån nhoùm A & B hoaït ñoäng ôû Mode 0: 1 0 0 D D 0 D D 4 3 1 0
  6. ÔÛ Mode 0 caùc port A, port B, port C thaáp vaø port C cao laø caùc port xuaát hoaëc nhaäp döõ lieäu ñoäc laäp. Do coù 4 bit ñeå löïa choïn neân coù 16 töø ñieàu khieån khaùc nhau cho 16 traïng thaùi xuaát nhaäp cuûa 4 port. 2). Caùc nhoùm A & B ñöôïc caáu thình ôû Mode 1: Töø ñieàu khieån nhoùm A B hoaït ñoäng ôû Mode 1: 1 0 1 D D 1 D D 4 3 1 0 ÔÛ Mode 1 caùc port A & B laøm vieäc xuaát nhaäp coù choát (Strobe I/O). ÔÛ Mode naøy hai port A & B hoaït ñoäng ñoäc laäp vôùi nhau vaø moãi port coù 1 port 4 bit ñieàu khieån/döõ lieäu. Caùc port 4 bit ñieàu khieån/döõ lieäu ñöôïc hình thaønh töø 4 bit thaáp vaø 4 bit cao cuûa port C. Khi 8255A ñöôïc caáu hình ôû Mode 1, thieát bò giao tieáo muoán 8255A nhaän döõ lieäu, thieát bò ñoù phaûi taïo ra tín hieäu yeâu caàu 8255A nhaän döõ lieäu, ngöôïc laïi 8255A muoán gôûi tín hieäu ñeán thieát bò khaùc, 8255A phaûi taïo ra tín hieäu yeâu caàu thieát bò ñoù nhaän döõ lieäu, tín hieäu yeâu caàu ñoù goïi laø tín hieäu Strobe.  Nhoùm A laøm vieäc ôû caáu hình Mode 1:  Port A ñöôïc caáu hình laø port nhaäp döõ lieäu. Chöùc naêng cuûa caùc ñöôøng tín hieäu ñöôïc trình baøy ôû hình veõ sau ñaây: INT PA7- Töø ñieàu khieån : E PC4 STBA 1 0 1 1 D X X X PC5 IBFA 3 PC3 INTR RD PC6,7 I/O
  7. Hình 1.16 : Mode 1 Port A Caùc ñöôøng tín hieäu cuûa port C trôû thaønh caùc ñöôøng ñieàu khieån/döõ lieäu cuûa port A. Bit PC4 trôû thaønh bit STBA (Strobe Input, taùc ñoäng möùc thaáp), ñöôïc duðng ñeå choát döõ lieäu ôû caùc ngoû vaøo PA7 – PA0 vaøo maïch choát beân trong 8255A. Bit PC5 trôû thaønh bit IBTA (Input Bufer Full, taùc ñoäng möùc cao), duøng ñeå baùo cho thieát bò beân ngoaøi bieát döõ lieäu ñaõ ñöôïc choát beân trong. Bit PC3 trôû thaønh bit INTRA (Interrupt Request, taùc ñoäng ôû möùc cao), bit naøy coù möùc Logic 1 khi hai bit STBa = 1, IBF = 1 vaø bit INTEa (Interrupt Enable) ôû beân trong 8255A baèng 1. Bit INTEa ñöôïc thieát laäp möùc Logic 1 hay 0 döôùi söï ñieàu khieån cuûa phaàn meàm duøng caáu truùc Set/Reset cuûa 8255A. ÔÛ hình veõ treân, bit INTEa = 1 duøng ñeå cho pheùp tín hieäu IBF xuaát hieän taïi ngoõ ra INTRA cuûa coång AND. Tín hieäu INTA taùc ñoäng ñeán ngoõ vaøo cuûa ngaét vi xöû lyù ñeå bao cho vi xöû lyù bieát: döõ lieäu môùi ñaõ xuaát hieän ôû port A chöông trình phuïc vuï ngaét seõ ñoïc döõ lieäu vaøo xoùa yeâu caàu ngaét. Caùc bit coøn laïi cuûa port C: PC6, PC7 laø caùc bit xuaát/nhaäp bình thöôøng tuøy thuoäc vaøo bit D3 trong töø ñieàu khieån hình treân. Caùc bit XXX ñöôïc duøng ñeå thieát laäp cho nhoùm B.  Port A ñöôïc caáu hình laø port xuaát döõ lieäu: Chöùc naêng cuûa ñöôøng tín hieäu ñöôïc trình baøy ôû hình sau: Töø ñieàu khieån: PA - INT 7 1 0 1 0 D X X X E PC OBF 3 7 A PC6 ACKA PC3 INTR W PC4,5 I/O
  8. Hình 1.17 : Port A Xuaát Bit PC7 trôû thaøfh bit OBFa (Output Buffer Full, taùc ñoäng möùc thaáp), khi coù döõ lieäu töø vi xöû lyù gôûi ra port A, tín hieäu OBFa seõ yeâu caàu thieát bò beân ngoaøi nhaän döõ lieäu. Bit PC6 trôû thaønh bit ACKa (Acknowledge Input, taùc ñoäng möùc thaáp) thieát bò nhaän döõ lieäu duøng tín hieäu naøy ñeå baùo cho 8255A bieát tín hieäu ñaõ ñöôïc nhaän vaø saún saøng nhaän döõ lieäu tieáp theo. Bit PC3 trôû thaønh bit INTRa (Interrupt Request, taùc ñoäng möùc cao), bit naøy coù möùc Logic khi hai bit OBF a = 1, ACKa = 1 vaø bit INTEa (Interrupt Enable) ôû beân trong 8255A ôû möùc 1. Tín hieäu INTRa taùc ñoäng ñeán ngoõ vaøo ngaét cuûa vi xöû lyù ñeã baùo cho vi xöû lyù bieát: thieát bò beân ngoaøi ñaõ nhaän döõ lieäu ôû port A. Caùc bit coøn laïi cuûa port C: PC4, PC5 laø caùc bit xuaát/nhaäp bình thöôøng tuøy thuoäc vaøo bit D3 trong töø ñieàu khieån hình treân. Caùc bit XXX duøng ñeã thieát laäp cho nhoùm B.  Nhoùm B laøm vieäc ôû Mode 1:  Port B ñöôïc caáu hình laø port nhaäp döõ lieäu : Chöùc naêng cuûa caùc ñöôøfg tín hieäu ñöôïc trình baøy ôû hình sau: Töø ñieàu khieån: INT PB - 1 X X X X 1 1 X 7 E PC2 STBB PC1 IBFB
  9. Hình 1.18 : Port B Nhaäp Chöùc naêng cuûa caùc bit ñieàu khieån gioáng nhö nhoùm A hoaït ñoäng ôû Mode 1.  Port B ñöôïc caáu hình laø port xuaát döõ lieäu: Chöùc naêng cuûa caùc ñöôøng tín hieäu ñöôïc trình baøy ôû hình sau: Töø ñieàu khieån : PB - 1 X X X X 1 0 X INT 7 E PB PC1 OBFB PC2 ACKB PC0 INTR B W Hình 1.19 : Port B Xuaát R Chöùc naêng cuûa caùc bit ñieàu khieån gioáng nhö nhoùm A hoaït ñoäng ôû Mode 1. Caùc bit XXX ñöôïc duøng thieát laäp cho nhoùm A, bit D0 khoâng coù taùc duïng trong tröôøng hôïp caû hai nhoùm cuøng laøm vieäc ôû Mode 1.
  10. 3). Nhoùm A cuûa 8255A laøm vieäc ôû Mode 2: Mode 2 laø kieåu hoaït ñoäng Strobe Bi-directional IO, söï khaùc bieät vôùi Mode 1 laø port coù hai chöùc naêng xuaát – nhaäp döõ lieäu. Töø ñieàu khieån khi hai nhoùm A vaø B hoaït ñoäng ôû Mode 2: 1 1 X X X X X X Chöùc naêng cuûa caùc ñöôøng tín hieäu ñöôïc trình baøy ôû hình sau:
  11. Töø ñieàu khieån: 1 0 1 1 D X X X 3 PC3 INT PA7-PA0 PC7 OBFA PC6 ACK INT E INT RD E PC4 STBA PC5 IBFA WR PC2,1,0 I/O Hình 1.20 : Port A Vaø B ôû Mode 2 Caùc ñöôøng tín hieäu cuûa port C trôû thaønh caùc ñöôøng ñieàu khieån/döõ lieäu cuûa port A. Bit PC7 trôû thaønh bit OBFa, PC6 trôû thaønh bit ACKa, PC4 trôû thaønh bit STBa, PC5 trôû thaønh IBFa vaø bit PC3 trôû thaønh bit INTRa. Chöùc naêng cuûa caùc ñöôøng tín hieäu gioáng nhö Mode 1, chæ khaùc laø tín hieäu ngoû ra INTRa =1, INTE1 = 1 hoaëc IBFa = 1, INTE2 = 1. Caùc bit PC 2,1,0 coøn laïi coù theå laø caùc bit I/O tuøy thuoäc vaøo bit ñieàu khieån c3 nhoùm B.
  12. Chuù yù khi nhoùm A laøm vieäc ôû Mode 2, nhoùm B chæ ñöôïc pheùp hoaït ñoäng ôû Mode 0. Caáu hình cuûa töø ñieàu khieån Set/Reset bit INTE khi 8255A hoaït ñoäng ôû Mode 1 hoaëc
  13. Mode 2 ñöôïc trình baøy ôû hình sau: D7 D6 D5 D4 D3 D2 D1 D0 X X X BIT SET / RESET Don’t care 1 = SET 0 = RESET BIT SELECT 0 1 2 3 4 5 6 7 0 1 0 1 0 1 0 1 B0 0 0 1 1 0 0 1 1 B1 0 0 0 0 1 1 1 1 B2 BIT SET / RESET FLAG 0 = ACTIVE Caáu hình naøy coøn cho pheùp Set/Reset töøng bit cuûa port C. Töø ñieàu khieån naøy khaùc vôùi töø ñieàu khieån caáu hình laø bit D7 = 0. Bit D0 duøng ñeã Set/Reset bit INTE, khi D0 = 1 thì INTE = 1 (cho pheùp ngaét), khi D0 = 0 thì INTE = 0 (khoâng cho pheùp ngaét). Ba bit D1, D2, D3 duøng ñeå choïn moät bit cuûa port C, gaùn möùc Logic cuûa bit D0 cho bit cuûa port ñaõ choïn. Trong thöïc teá port A vaø port B thöôøng ñöôïc caáu hình vôùi nhieàu Mode khaùc nhau. Ví duï nhoùm A hoaït ñoäng ôû Mode 2 nhoùm B laøm vieäc ôû Mode 0.
Đồng bộ tài khoản