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

điều khiển máy khoan bằng máy tính điện tử, chương 4

Chia sẻ: Tran Quoc Kien | Ngày: | Loại File: PDF | Số trang:8

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

Để phát một byte trên đường dây kết nối nối tiếp, cổng được giả định là đã được khởi sự với tốc độ baud và các phần chọn khung (Frame) nối tiếp thích hợp. Chúng ta cũng giả định rằng các byte sẽ được phát đi trên cổng nối tiếp số 1 (COM1). 1. Trước tiên, xác định địa chỉ cơ sở cổng I/O bằng cách đọc một từ (Word) từ vùng dữ lệu BIOS tại 40:OH đối với cổng nối tiếp COM1. Nếu trị = 0: Không có cổng nối tiếp hoạt động nào được gắn ở đây và...

Chủ đề:
Lưu

Nội dung Text: điều khiển máy khoan bằng máy tính điện tử, chương 4

  1. Chương 4: Quaù trình phaùt noái tieáp Ñeå phaùt moät byte treân ñöôøng daây keát noái noái tieáp, coång ñöôïc giaû ñònh laø ñaõ ñöôïc khôûi söï vôùi toác ñoä baud vaø caùc phaàn choïn khung (Frame) noái tieáp thích hôïp. Chuùng ta cuõng giaû ñònh raèng caùc byte seõ ñöôïc phaùt ñi treân coång noái tieáp soá 1 (COM1). 1. Tröôùc tieân, xaùc ñònh ñòa chæ cô sôû coång I/O baèng caùch ñoïc moät töø (Word) töø vuøng döõ leäu BIOS taïi 40:OH ñoái vôùi coång noái tieáp COM1. Neáu trò = 0: Khoâng coù coång noái tieáp hoaït ñoäng naøo ñöôïc gaén ôû ñaây vaø dó nhieân khoâng coù döõ lieäu naøo ñöôïc göûi ñi. 2. Hai ñöôøng ñieàu khieån MODEM laø DTR (DATA Terminal Ready) vaø RTS (Request to Send) ñöôïc xaùc laäp leân möùc cao (DTR = 1, RTS = 1). - DTR thoâng baùo cho thieát bò keát noái bieát raèng maùy tính ñang hoaït ñoäng vaø saün saøng ñeå lieân laïc. - RTS baùo cho thieát bò keát noái bieát raèng maùy tính muoán göûi döõ lieäu. - Hai ñöôøng naøy ñöôïc kích khôûi baèng caùch ghi trò 3 thanh ghi MCR (MODEM control Regester) cuûa UART. 3. Keá ñoù, kieåm tra hai ñöôøng traïng thaùi CTS (Clear To Send). Nhöõng ñöôøng naøy naèm trong caùc bit 4 vaø 5 cuûa thanh ghi MSR (MODEM Status Regester). - DSR baùo cho maùy tính bieát thieát bò keát noái ñaõ ñöôïc baät leân vaø saün saøng. - CTS baùo cho maùy tính bieát raèng thieát bò keát noái ñaõ saün saøng ñoái vôùi döõ lieäu. - Caùc ñöôøng traïng thaùi naøy neân ñöôïc kieåm tra trong 2ms hay cho ñeán khi caû hai ñeàu chuyeån sang möùc cao. Khi caû hai
  2. ñöôøng naøy ñeàu ôû möùc cao, thieát bò ñöôïc keát noái vôùi coång noái tieáp ñaõ baùo hieäu cho bieát noù ñaõ saün saøng cho moät byte. Moät loãi ñaùo haïn (timeout error) ñöôïc baùo hieäu bôûi phaàn meàm neáu moät trong hai ñöôøng daãn coøn ôû möùc thaáp laâu hôn khoaûng 2ms. 4. Ñeán ñaây thieát bò keát noái ñaõ saün saøng tieáp nhaän moät byte, UART phaûi ñöôïc kieåm tra xem lieäu thanh ghi chöùa döõ lieäu phaùt THR (Transmit Holding Regester) ñaõ saün saøng coù moät byte chöa. Thanh ghi LSR (Line Status Regester), bit 5, ñöôïc xaùc laäp leân möùc cao khi thanh ghi chöùa döõ lieäu naøy troáng roãng vaø saün saøng cho moät byte. Moät laàn nöõa, gioáng ôû böôùc 3 neáu thanh ghi THR khoâng theå trôû neân höõu duïng trong 2ms, thì phaàn meàm seõ baùo moät loãi ñaùo haïn, vaø boû qua vieäc phaùt ñi. 5. Neáu cho ñeán baây giôø chöa xaûy ra vieäc ñaùo haïn, byte coù theå ñöôïc göûi ñeán thanh ghi chöùa döõ lieäu phaùt cuûa UART. 6. Sau ñoù, UART phaùt byte töø thanh ghi chöùa döõ lieäu phaùt vaøo thanh ghi dòch TSR (töø ñaây caùc bit döõ lieäu ñöôïc dòch ra vaø göûi ñi), vaø taïo daïng khung noái tieáp.  Quaù trình nhaïân noái tieáp. Ñeå nhaän 1 byte töø ñöôøng daây keát noái noái tieáp, coång ñöôïc giaû ñònh nhö treân (cho coång COM3): 1. Tröôùc tieân, xaùc ñònh ñòa chæ cô sôû coång I/O baèng caùch ñoïc moät töø (Word) töø vuøng döõ lieäu BIOS taïi 40:4H ñoái vôùi coång noái tieáp COM3. Neáu trò = 0: Khoâng coù coång noái tieáp hoaït ñoäng naøo ñöôïc gaén ôû ñaây vaø dó nhieân khoâng coù döõ lieäu naøo ñöôïc göûi ñi. 2. Hai ñöôøng ñieàu khieån MODEM laø DTR (DATA Terminal Ready) vaø RTS (Request to Send) ñöôïc xaùc laäp leân möùc cao (DTR = 1, RTS = 1).
  3. - Ñieàu naøy thoâng baùo cho thieát bò keát noái bieát raèng maùy tính ñang hoaït ñoäng vaø saün saøng lieân laïc. Ñieàu naøy ñöôïc thöïc hieän baèng caùch ghi trò 1 caùc thanh ghi MMC cuûa UART. 3. Keá ñoù kieåm tra tín hieäu treân ñöôøng traïng thaùi DSR. Tín hieäu naøy xuaát hieän trong bit 5 cuûa thanh ghi MSR. DSR baùo cho maùy tính bieát raèng thieát bò keát noái ñaõ ñöôïc baät leân vaø saün saøng. DSR seõ ñöôïc kieåm tra cho ñeán khi noù leân möùc cao hay cho ñeán khi heát 2ms tröôùc khi moät loãi ñaùo haïn ñöôïc baùo hieäu. 4. Keá ñoù, vuøng ñeâïm nhaän ñöôïc kieåm tra ñeå xem döõ lieäu ñaõ nhaän ñöôïc döõ lieäu naøo chöa. Bit 0 cuûa thanh ghi LSR chöùa moät côø hieäu baùo döõ lieäu ñaõ saün saøng. Noù ñöôïc xeùt leân 1 khi vuøng ñeäm coù döõ lieäu. Neáu côø baùo döõ lieäu saün saøng khoâng ñöôïc xeùt sau 2ms, thì phaàn meàm seõ khai baùo moät loãi ñaùo haïn, vaø taùc vuï bò boû qua. 5. Neáu cho ñeán baây giôø chöa xaûy ra vieäc ñaùo haïn, byte coù theå ñöôïc ñoïc töø vuøng ñeäm nhaän cuûa UART. - Trong cheá ñoä baát ñoàng boä, 8251 A dòch soá lieäu treân daây RxD töø bit moät. Sau moãi bit, thanh ghi thu ñöôïc so saùnh vôùi thanh ghi chöùa kyù töï SYN. Neáu hai thanh ghi chöa baèng nhau thì 8251 A dòch bit khaùc vaø tieáp tuïc so saùnh cho ñeán khi hai thanh ghi baèng nhau. 8251 A keát thuùc cheá ñoä baát ñoàng boä vaø ñöa tín hieäu SYNDET (Synch Detect) ñeå baùo ñoàng boä ñaõ hoaøn taát. - Neáu USART ñöôïc naïp töø ñieàu khieån ñeå laøm vieäc vôùi hai kyù töï SYNC, quaù trình baát ñoàng boä cuõng nhö treân. Nhöng hai kyù töï keá tieáp nhau seõ ñöôïc so saùnh vôùi hai kyù töï SYNC tröôùc khi ñaït ñöôïc söï ñoàng boä. ÔÛ cheá ñoä baát ñoàng boä bit
  4. chaün/leû seõ khoâng phaûi kieåm tra. USART ôû cheá ñoä ñuoåi baét ñoàng boä vôùi hai ñieàu kieän: - USART ñöôïc khôûi ñoäng ôû cheá ñoä ñoàng boä. - USART ñaõ nhaän leänh ôû cheá ñoä baát ñoàng boä.  Khoái phaùt Khoái naøy nhaän soá lieäu song song töø ñôn vò trung taâm, cheøn theâm caùc thoâng tin roài chuyeån sang noái tieáp vaø göûi ra thaân TxD (Transmiter DATA). - ÔÛ cheá ñoä baát ñoàng boä, khoái phaùt cheøn theâm bit START, bit kieåm tra chaün leû paraty vaø moät hay hai bit STOP. - Trong cheá ñoä ñoàng boä, khoái phaùt cheøn theâm caùc kyù töï SYNC. Nhöõng kyù töï ñoàng boä naøy phaûi ñöôïc phaùt tröôùc khi baûn tin baét ñaàu. Neáu trong khi phaùt coù khoaûng troáng giöõa hai kyù töï thì USART töï ñoäng cheøn caùc kyù töï ñoàng boä vaøo. - Trong caû hai cheá ñoä ñoàng boä vaø baát ñoàng boä, quaù trình phaùt chæ ñöôïc cho pheùp khi tín hieäu TxE (Transmiter Enable) vaø tín hieäu CTS, ôû traïng thaùi tích cöïc. Neáu USART ñöôïc ñaët ôû cheá ñoä ñoàng boä töø ngoaøi, chaân SYNDET seõ laø cöûa vaøo vaø nhaän tín hieäu ñeå ñoàng boä khi thu. - Khoái phaùt coù theå göûi tín hieäu caét (BREAK). Ñoù laø moät chu kyø lieân tuïc caùc bit SPACE treân ñöôøng daây lieân tuïc vaø ñöoïc duøng ôû cheá ñoä truyeàn song coâng ñeå caét quaù trình göûi thoâng tin ôû ñaàu cuoái. - USART seõ göûi tín hieäu caét lieân tuïc neáu bit D3 cuûa byte leänh ñöôïc thieát laäp  Khoái ñieàu khieån Modem Khoái naøy taïo vaø nhaän tín hieäu RTS (Request to Send).
  5.  Ngoaøi ra, coøn coù caùc tín hieäu ra DTR (Data Terminel Ready) vaø tín hieäu vaøo DSR (Data Set Ready). Ñoù laø nhöõng tín hieäu vaïn naêng.  Tín hieäu DTR ñieàu khieån bôûi bit D2 bôûi byte leänh.  Tín hieäu DSR theå hieän ôû bit D7 cuûa thanh ghi traïng thaùi.  USART khoâng ñònh nghóa caùc tín hieäu naøy moät caùch cöùng ngaéc. Thoâng thöôøng: - Tín hieäu DTR qua Modem ñeå chæ raèng thieát bò ñaàu cuoái saün saøng truyeàn. - DSR laø tín hieäu töø Modem ñeå chæ traïng thaùi saün saøng lieân laïc.  Khoái ñieàu khieån vaøo/ra Logic ñieàu khieån ñoïc/ghi giaûi maõ caùc tín hieäu ñieàu khieån töø Bus ñieàu khieån cuûa ñôn vò trung taâm thaønh nhöõng tín hieäu ñeàu khieån caùc coång daãn soá lieäu ñeán Bus noäi cuûa USART. Baûng sau cho bieát söï lieân quan giöõ caùc tín hieäu CE, C/D\ RD\ CE C/D\ RD\ WR\ YÙ Nghóa 0 0 0 1 CPU ñoïc soá lieäu töø USART 0 1 0 1 CPU ñoïc traïng thaùi töø USART 0 0 1 0 CPU ghi soá lieäu vaøo USART 0 1 1 0 CPU ghi leänh vaøo USART 1 x x x Bus cuûa USART ôû traïng thaùi trôû khaùng cao  Khoái thu Khoái thu nhaän döõ lieäu noái tieáp ôû chaân RxD vaø chuyeån thaønh soá lieäu song song (P/PC). Tröôùc khi boä thu laøm vieäc, bit D2 trong Command world cuûa byte leänh phaûi ôû traïng thaùi cho
  6. pheùp. Neáu bit naøy khoâng ñöôïc laäp, boä thu seõ khoâng taïo ra tín hieäu RxRDI. - Trong cheá ñoä baát ñoàng boä, 8251 A kieåm tra möùc ñieän aùp cuûa ñaàu vaøo RxD. Khi coù thay ñoåi möùc logic töø 1 xuoáng 0, 8251 A khôûi ñoäng boä ñeám thôøi gian trong khoái thu khi ñaët thôøi gian ½ bit, 8251 A kích maãu ñaàu vaøo RxD. Taïi thôøi ñieåm naøy coù 2 tröôøng hôïp xaûy ra: - Neáu ñaàu vaøo RxD coù möùc logic cao thì söï thay ñoåi töø 1 xuoáng 0 ôû RxD tröôùc luùc kích maãu laø do nhieãu hay khoái thu ñaõ khôûi ñoäng boä ñeám trong khi nhaän bit soá lieäu. Nhö vaäy coù sai 8251 boû leänh ñang thöïc hieän vaø chuaån bò kyù töï môùi. - Neáu ñaàu vaøo RxD coù möùc logic thaáp trong thôøi ñieåm kích maãu. 8251 tieáp tuïc kích maãu ñeå nhaän giaù trò cuûa caùc bit soá lieäu, bit kieåm tra chaün leû vaø caùc bit döøng. Sau ñoù, 8251 taùch caùc bit khung vaø chuyeån soá lieäu qua Bus trong ñeán thanh ghi ñeäm soá lieäu thu. Tín hieäu RxRDI ñöôïc taïo ra ñeå baùo cho trung taâm bieát soá lieäu thu ñaõ saün saøng. - Trong cheá ñoä ñoàng boä, khoái thu kích maãu caùc bit soá lieäu cuûa kyù töï roài ñöa ñeán ñeäm soá lieäu thu vaø laäp côø RxRDI. Vì boä thu nhoùm moät soá bit thaønh kyù töï neân ñöôïc xaùc ñònh bit soá lieäu ñaàu tieân laø caàn thieát. Ñeå ñoàng boä giöõa boä thu vaø boä phaùt, neáu coù troáng trong daõy kyù töï thì 8251 töï ñoäng cheøn kyù töï SYNC vaøo. Quaù trình ñoàng boä ñöôïc thöïc hieän trong quaù trình baát ñoàng boä.  Khoái ñeäm vaøo ra - Khoái ñeäm vaøo ra chöùa: Thanh ghi traïng thaùi, thanh ghi soá lieäu thu (thanh ghi ñeäm soá lieäu thu), thanh ghi soá lieäu phaùt vaø leänh (thanh ghi ñeäm soá lieäu phaùt vaø leänh).
  7. - Nhö vaäy, chæ coù moät thanh ghi chöùa thoâng tin chuyeån töø ñôn vò trung taâm vaøo USART. Thoâng tin naøy bao goàm soá lieäu vaø leänh, do vaäy phaûi coù söï phaân chia thôøi gian giöõa leänh vaø soá lieäu. Leänh phaûi ñöôïc göûi tröôùc soá lieäu. Tröôùc khi göûi soá lieäu vaøo USART. Ñôn vò trung taâm phaûi kieåm tra tín hieäu saün saøng phaùt TxRDI. Neáu göûi thoâng tin khi TxRDI ôû traïng thaùi chöa saün saøng soá lieäu chuyeån ñi coù theå sai
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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