intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo trình hướng dẫn ứng dụng phân tích truyền thông bất đồng bộ các dãy kí tự star bit p4

Chia sẻ: Ngo Thi Nhu Thao | Ngày: | Loại File: PDF | Số trang:9

60
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'giáo trình hướng dẫn ứng dụng phân tích truyền thông bất đồng bộ các dãy kí tự star bit p4', kỹ thuật - công nghệ, kĩ thuật viễn thông phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Giáo trình hướng dẫn ứng dụng phân tích truyền thông bất đồng bộ các dãy kí tự star bit p4

  1. - Ngaét cuûa heä ñieàu haønh: Ñoù laø caùc ngaét do heä ñieàu haønh quy ñònh ñeå phuïc vuï trao ñoåi tin cuûa caùc thieát bò ngoaøi nhö INT 10, INT 16, INT 21 . . . II. Thuû tuïc xöû lyù ngaét cuûa chöông trình: Khi coù moät tín hieäu yeâu caàu ngaét chöông trình ñöa vaøo chaân yeâu caàu ngaét (INTR), quaù trình ngaét chöông trình ñöôïc dieãn ra nhö sau: - Löu giöõ tin veà traïng thaùi cuûa vi xöû lyù luùc coù tín hieäu yeâu caàu ngaét vaø nôi chöông trình chính bò giaùn ñoaïn. - Vi xöû lyù gôûi tín hieäu xaùc nhaän hay cho pheùp ngaét - INTA vaø ñoïc vectô ngaét. - Chuyeån sang chöông trình con phuïc vuï ngaét. - Trôû veà choå chöông trình chính bò ngaét vaø tieáp tuïc thöïc hieän chöông trình ñoù. 1. Löu giöõ tin veà choå bò ngaét chöông trình: ÔÛ cuoái moãi chöông trình leänh, VXL kieåm tra xem coù yeâu caàu ngaét naøo gôûi ñeán hay khoâng. Neáu coù yeâu caàu, VXL tieán haønh löu tröõ tin veà nôi bò ngaét chöông trình. quaù trình löu giöõ tin tieán haønh theo caùc böôùc sau: - Giaûm con troû ngaên xeáp. - Caám loái vaøo ngaét INTR baèng caùch xoùa bit IF ôû thanh ghi côø. - Xoùa bit côø baãy trong thanh ghi côø. - Giaûm SP ñi 2 vaø naïp noäi dung cuûa thanh ghi maïng leänh hieän haønh vaøo maûng nhôù ngaên xeáp coù ñòa chæ treân. - Giaûm SP ñi 2 vaø naïp noäi dung thanh ghi con troû leänh hieän haønh vaøo boä nhôù ngaên xeáp coù ñòa chæ treân. 2. Gôûi tín hieäu cho pheùp ngaét vaø ñoïc vec tô ngaét: Sau khi ñaõ löu tröõ tin veà vò trí bò ngaét cuûa chöông trình chính, VXL gôûi tín hieäu xaùc nhaän ngaét INTA (Interrup Acknowlege) cho khoái gheùp noái cuûa thieát bò ngoaøi. Tuøy caùch toå chöùc ngaét vaø taïo vectô ngaét, VXL söû duïng tín hieäu naøy ñeå ñoïc vectô ngaét töông öùng cuûa khoái gheùp noái vaøo thanh ghi chöùa A. VXL ñoïc noäi dung cuûa oâ nhôù coù ñòa chæ laø vectô ngaét ñeå bieát ñöôïc ñòa chæ ñaàu tieân cuûa chöông trình con phuïc vuï ngaét. 3. Thöïc hieän chöông trình con phuïc vuï ngaét: Ñoù laø chöông trình maø ñòa chæ cuûa leänh ñaàu tieân naèm trong oâ nhôù coù ñòa chæ laø vectô ngaét. Keát thuùc chöông trình con naøy, coù leänh trôû veà ñeå VXL tieáp tuïc thöïc hieän chöông trình chính. 4. Thöïc hieän chöông trình chính: Sau khi gaëp leänh trôû veà, VXL tieán haønh ñoïc vaø hoài phuïc caùc tin cuûa VXL luùc bò ngaét chöông trình ñaõ ghi nhôù ôû choå ngaét chöông trình. Quaù trình ñoïc ra naøy xaûy ra ngöôïc laïi vôùi quaù trình ghi vaøo vaø noäi dung: - Thanh ghi con troû leänh trôû veà ñoä dôøi cuûa ñòa chæ leänh tieáp theo cuûa chöông trình chính bò ngaét trong maûng nhôù leänh.
  2. - Thanh ghi maûng leänh veà ñòa chæ ñoaïn ñaàu tieân cuûa vuøng nhôù daønh cho chöông trình chính bò ngaét. - Thanh ghi Flag luùc bò ngaét chöông trình. III. Giôùi thieäu veà caùch söû duïng IRQ4: IRQ4 laø moät trong nhöõng ñöôøng ngaét cöùng cuûa maùy tính. Tron g maùy IBM_PC coù 8 ñöôøng ngaét cöùng vaø maùy tíng IBM PC_AT coù 16 ñöôøng ngaét cöùng, ñöôïc moä taû nhö sau: IRQ Thieát bò NMI Ngaét khoâng che 0 Ngaét thôøi gian 1 Ngaét baøn phím 2 Döï tröõ 3 COM2 4 COM1 5 Ñóa cöùng 6 Ñóa meàm 7 LPT1 Nhöõng ñöôøng ngaét naøy khoâng noái ñöôïc tröïc tieáp tôùi chip CPU, nhöng ñöôïc thoâng qua chip xöû lyù ngaét laø PIC_8259A (Programmable Interrupt Controller). Trong maùy IBM PC_AT coù hai boä ñieàu khieån naøy. Noù coù nhöõng möùc öu tieân cho caùc nhaát ñeå traùnh trình traïng loän xoän xaûy ra khi nhieàu ngaét ñeán khoâng theo moät traät töï naøo caû. Caùc möùc öu tieân naøy trong maùy IBM PC ñöôïc chæ ñònh ôû cao nhaát laø IRQ0 vaø thaáp nhaát laø IRQ7. Neáu nhieàu thieát bò ñeàu yeâu caàu söï chuù yù baèng caùch naâng caùc ñöôøng ngaét cuûa noù leân, boä ñieàu khieån ngaét seõ coù nhieàu ngoõ vaøo ôû möùc cao thì noù seõ gôûi chuùng ñeán CPU vôùi traät töï cuûa möùc ñoä öu tieân. Trong PIC coù moät thanh ghi cho pheùp ngaét töø thieát bò gôûi ñeán. Maëc nhieân, IRQ4 vaø IRQ3 laø khoâng cho pheùp. Vì vaäy, neáu muoán duøng ngaét cho vieäc lieân laïc thoâng tin thì phaûi chæ thò cho PIC cho pheùp caùc ñöôøng ngaét töông öùng. Ñaây laø coâng vieäc ñoïc thanh ghi baèng leänh IN vôùi ñòa chæ coång laø 21H vaø Set Off bit töông öùng (bit 4 cho IRQ3 vaø bit 5 cho IRQ4) vaø OUT trôû laïi giaù trò ra Port 21H. Nhö vaäy thì PIC môùi coäng theâm caùc ngaét cuûa UART vaø cho noù gôûi ngaét tôùi. Khi PIC nhaän ñöôïc moät ngaét, neáu ngaét ñoù laø cho pheùp vaø khoân g coù moät ngaét naøo khaùc gôûi ñeán nöõa, noù seõ ñöa möùc ñieän aùp döông leân ñöôøng ngaét ñoù ñeán CPU. Khi ñoù CPU seõ coâng nhaän ngaét, nghóa laø traû moät tín hieäu veà PIC yeâu caàu PIC chæ thò xem ngaét naøo vöøa môùi xaûy ra. Luùc ñoù PIC seõ gôûi moät con soá (thoâng qua Data Bus) ñeán CPU (laø con soá IRQ + con soá 8). Noùi
  3. caùch khaùc, ñoái vôùi IRQ4 noù gôûi con soá 12 (OCh), ñoái vôùi IRQ3 noù gôûi con soá 11 (08h), luùc naøy CPU seõ thöïc hieän caùc phaàn muïc töông öùng laø caát ñòa chæ chöông trình hieän haønh vaøo vuøng Stack vaø thöïc hieän leänh Call Far ñeán boä nhôù ñöôïc troû bôûi vectô ngaét cuûa ngaét trong baûng vectô ngaét. Vì vaäy, vôùi ngaét IRQ4 gôûi tôùi vieäc CPU thöïc hieän cuõng gioáng nhö INT 0Ch cuûa phaàn meàm. Neáu baïn khoâng muoán CPU bò phaân chia khi coù nhieàu ngaét, bôûi vì noù can thieäp vaøo moät soá coâng vieäc xaáu laøm khoâng theå ngaét ñöôïc, ta coù theå chæ thò ñeán noù khoâng quan taâm ñeán caùi ngaét ñoù baèng leänh STI. Keát quaû cuûa leänh naøy laø chuyeåi ñoåi traïng thaùi côø IF trong CPU. Vieäc Set côø IF khoâng laøm thay ñoåi baát cöù caùi gì trong PIC maø noù vaãn gôûi moät tín hieäu ngaét ñöôøng daây ñeán CPU khi noù nhaän ñöôïc moät ngaét trong nhöõng ngaét ñöôøng daây. Ngaét ñöôøng daây seõ treo leân möùc cao vaø CPU coù theå nhaän ra ñöôïc nguyeân nhaân cuûa ngaét vaø thöïc hieän leänh STI moät laàn nöõa. Nhöõng ngaét khaùc gôûi ñeán khoâng nhaát thieát seõ maát ñi. Nhöõng thieát bò giöõ ñöôøng IRQ cuûa chuùng ôû möùc cao vaø PIC hieåu nhöõng thieát bò ñoù ñang caàn söï chuù yù. Noù seõ chaáp nhaän gôûi caùc ngaét trong thöù töï öu tieân cuûa chuùng. Caùc ngaét coù theå bò treo, nhö vaäy keát quaû laø maát thoâng tin töø khi thieát bò khoâng taïo ra ñöôïc ngaét thöù hai cho tôùi khi kyù töï thöù nhaát vöøa ñöôïc coâng nhaän. Coù hai lyù do taïi sao ngaét töø thieát bò khoâng ñöôïc CPU chuù yù ngay laäp töùc. Thöù nhaát laø noù bò xung ñoät vôùi caùc thieát bò khaùc coù möùc öu tieân cao hôn hoaëc coù nhöõng ngaét ñang bò treo. Tuy vaäy duøng phöông phaùp ngaét thöôøng nhanh hôn so vôùi phöông phaùp hoûi voøng. Trong chöông trình xöû lyù ngaét phaàn meàm phaûi traû lôøi ngaét ñeán PIC baèng caùch gôûi giaù trò 20h ra port 20h. Neáu vieäc naøy khoâng ñöôïc thöïc hieän PIC seõ khoâng gôûi theâm moät ngaét naøo nöõa ñeán CPU. IV. Söû duïng ngaét cuûa ROM_BIOS: ROM_BIOS cung caáp 4 haøm xöû lyù truyeàn thoâng tuaàn töï maø chuùng ta coù theå truy xuaát chuùng qua ngaét 14h. Ñeå söû duïng ngaét naøy, ta ñaëc giaù trò töø 0 - 3 trong thanh ghi AH ñeå xaùc ñònh haøm naøo seõ ñöôïc söû duïng vaø ñaët soá thöù töï coång caàn truy xuaát vaøo thanh ghi DX. Soá thöù töï coång = 0 : COM1 Soá thöù töï coång = 1 : COM2 ÔÛ möùc ñoä chöông trình, ta coù theå choïn moät khoái gheùp noái noái tieáp baèng caùch gaùn maõ töông öùng vaøo thanh ghi DX vôùi giaù trò: - 00h cho COM1 - 01h cho COM2
  4. - 02h cho COM3 - 03h cho COM4 Caùc haøm cuûa ngaét 14h nhö sau: 1. Haøm soá 0 (Phuïc vuï 00h) Khôûi phaùt khoái gheùp noái noái tieáp, taïo tham soá cho coång noái tieáp: * Vaøo : AH = 0 AL = Tham soá truyeàn DX = Soá thöù töï coång noái tieáp * Ra : AX = Traïng thaùi ñöôøng daây truyeàn vaø Modem. Phuïc vuï 00h aán ñònh nhöõng thoâng soá khaùc nhau cuûa khoái gheùp noái noái tieáp cuõng nhö RS_232. Ñoù laø caùc thoâng soá: - Soá BAUD : Töùc toác ñoä trao ñoåi tin. - Tính chaün leû. - Soá bit döøng. - Kích thöôùc kyù töï hay soá bit tin noái tieáp. nhöõng thoâng soá naøy ñöôïc toå hôïp trong maõ 8 bit, ñöôïc ñaët vaøo thanh ghi AL, theo thöù töï caùc bit nhö hình sau : D7 D6 D5 D4 D3 D2 D1 D0 Baud Rate Parity Stop bit Word Length Giaù trò traû ra trong AX xem haøm soá 3: - D7, D6, D5 maõ cuûa vaän toác (tính baèng Baud). - D4, D3 maõ cuûa tính chaün leû. - D2 maõ cuûa bit döøng. - D1, D0 maõ cuûa caùc kích thöôùc kyù töï. Caùc maõ treân theo caùc baûng sau: D7 D6 D5 Vaän toác (bps) 0 0 0 110 0 0 1 150 0 1 0 300 0 1 1 600 1 0 0 1200 1 0 1 2400 1 1 0 4800
  5. D4 D3 Tính chaún leû 0 0 Khoâng coù 0 1 Tính chaún leû 1 0 Khoâng coù 1 1 Tính chaún D2 Soá bit döøng 0 Moät bit döøng 1 Hai bit döøng D1 D2 Kích thöôùc kyù töï 0 0 Khoâng duøng 0 1 Khoâng duøng 1 0 7 bit 1 1 8 bit 2. Haøm soá 1 (Phuïc vuï 01h) Haøm naøy gôûi moät kyù töï ñeán coång ñöôïc chæ ñònh. * Vaøo : AH = 01h AL = Kyù töï gôûi DX = Soá thöù töï coång noái tieáp * Ra : AH = Traïng thaùi ñöôøng truyeàn AL = Traïng thaùi Modem * Goïi INT 14h Neáu coù loãi xaûy ra, bit D7 seõ ñöôïc baät leân 1, caùc bit coøn laïi chæ noäi dung loãi theo moâ taû sau ñaây: Bit D1 : Loãi Overrun Bit D2 : Loãi Parity Bit D3 : Loãi Framing Bit D4 : Moät Break daõ xaûy ra Bit D5 : THR roãng Bit D6 : THR vaø Transmitter Shift Register roãng Bit D7 : Quaù thôøi gian Chuù yù : Kyù töï seõ khoâng gôûi ñeán khi ñöôøng tín hieäu baét tay (Handshaking Line) ôû traïng thaùi cao. 3. Haøm soá 2 : (Phuïc vuï 02h) Nhaän moät kyù töï töø coång chæ ñònh:
  6. * Vaøo : AH = 02h DX = Soá thöù töï coång noái tieáp * Ra : AL = Kyù töï nhaän AH = Maõ traïng thaùi * Goïi INT 14h Chuù yù : Haøm naøy seõ chôø moät kyù töï töø coång cho ñeán khi nhaän ñöôïc hoaëc quaù thôøi haïn chôø. Neáu khoâng coù kyù töï naøo ñöôïc nhaän hoaëc vieäc nhaän coù loãi thì bit D7 cuûa AH leân 1. 4. Haøm soá 3 (Phuïc vuï 03h) Laáy traïng thaùi cuûa coång noái tieáp. Haøm naøy traû ra thoâng tin cuï theå vaø traïng thaùi cuûa Modem vaø traïng thaùi cuûa ñöôøng truyeàn cuûa coång chæ ñònh. * Vaøo : AH = 03h DX = Soá thöù töï cuûa coång noái tieáp * Ra : AH = Traïng thaùi ñöôøng truyeàn AL = Traïng thaùi Modem * Goïi INT 14h. Keát quaû cuûa chöông trình laø : - Traïng thaùi cuûa ñöôøng daây ñöôïc ñaët trong thanh ghi AH, coù caùc bit nhö hình döôùi. - Traïng thaùi cuûa Modem ñöôïc ñaët trong thanh ghi AL.
  7. AH D7 D6 D5 D4 D3 D2 D1 D0 Döõ lieäu saün saøng Loãi quaù thôøi gian Loãi Overrun THR vaø TSR roãng Loãi Parity THR roãng Loãi Framing Phaùt hieän Break AL D7 D6 D5 D4 D3 D2 D1 D0 CTS thay ñoåi Ngöôïc vôùi bit DSR thay ñoåi Ngöôïc vôùi bit RI thay ñoåi Ngöôïc vôùi bit CD thay ñoåi Ngöôïc vôùi bit
  8. Bit YÙ nghóa D7 Vöôït quaù ñoä treå 0 = khoâng coù sai soá 1 = coù sai soá D6 Thanh ghi dòch chuyeån 0 = thanh ghi baän 1 = thanh ghi roãi D5 Thanh ghi ñôïi 0 = thanh ghi baän 1 = thanh ghi roãi D4 Ngaét bôûi tín hieäu Break 0 = khoâng bieát 1 = coù tín hieäu Break D3 Giao thöùc 0 = khoâng coù loãi 1 = coù loãi D2 Tính chaún leû 0 = khoâng coù loãi 1 = coù loãi D1 Soá lieäu 0 = khoâng coù traøn 1 = coù traøn D0 Soá lieäu ñaõ saün saøng 0 = khoâng coù soá lieäu saün saøng 1 = soá lieäu saün saøng
  9. PHAÀN B THIEÁT KEÁ PHAÀN CÖÙNG I. Sô ñoà khoái: KHOÁI KHOÁI GIAO GIAO PC PC TIEÁP TIEÁP NGUOÀN CUNG NGUOÀN CUNG CAÁP CAÁP II. Sô ñoà nguyeân lyù : (Xem sô ñoà) III. Nguyeân lyù hoaït ñoäng: Bình thöôøng doøng ñieän qua ñöôøng daây thu vaø phaùt cuûa maùy Teletype laø 20mA (möùc ñieän aùp laø möùc 0 töùc -12v). Khi maùy A muoán phaùt , DTR ñöôïc baät leân 1 (+12v)  ngoõ ra 7432 ôû möùc logic 1  qua IC 74125 ñeå naâng doøng kích TxOK saùng vaø Q1 daãn baõo hoøa  cöïc C cuûa Q1 xem nhö noái mass (VCEQ1  0,2v)  Diode cuûa U7 daãn  BJT trong U7 naøy daãn baõo hoøa  cöïc C cuûa BJT naøy ñöôïc noái mass  ngoõ ra cuûa U3 ôû möùc logic 1 (+12v)  Q2 daãn  moät doøng ñieän ñi töø +60V qua CCE cuûa Q2  led cuûa U9  Led cuûa U11  mass cuûa nguoàn 60v. Luùc naøy Q3 taét  Led cuûa U8 taét, Led cuûa U10 taét  hai BJT trong U8 vaø U10 khoâng daãn  ngoõ ra cuûa 7486 ôû möùc logic 1 (+5v)  ngoõ vaøo maùy tính CTS vaø RI ôû möùc logic 0 (-12v) vaø luùc naøy ñöôøng thu DSR cuûa maùy B ôû möùc logic 1 (+12v). Khi maùy B nhaän ñöôïc tín hieäu DSR naøy, noù seõ laäp töùc gôûi traû tín hieäu traû lôøi cuõng baèng caùch Set ñöôøng phaùt DTR leân möùc logic1  ñöôøng thu DSR cuûa maùy A seõ nhaän ñöôïc möùc logic 1. Luùc naøy coi nhö hai maùy ñaõ ñöôïc baét tay vaø saün saøng truyeàn döõ lieäu. Khi maùy A phaùt cho maùy B thì moät chuoãi xung seõ ñöôïc ñöa qua ngoõ ra TxD cuûa maùy A ñeå ñeán ngoõ vaøo RxD cuûa maùy B vaø luùc naøy möùc logic cuûa RxD cuûa maùy B seõ nhòp theo möùc nhòp cuûa maùy A vaø ñöôïc gôûi vaøo maùy tính. Ngöôïc laïi, khi maùy B phaùt cho maùy A thì möùc logic ôû RxD cuûa maùy A cuõng seõ nhòp theo möùc nhòp cuûa maùy B.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2