Một số phối ghép cơ bản

MỘT SỐ PHỐI GHÉP CƠ BẢN 1. Phối ghép với bàn phím Bàn phím là một thiết bị vào rất thông dụng trong các hệ vi xử lý. Trong trường hợp dơn giản nhất đó có thể là một công tắc có gắn phím ( mà ta chỉ thường quan tâm đến kí hiệu trên bàn phím) nối vào mọt chân nào đó của bộ vi xử lý: ở mức phức tạp hơn đó có thể là hàng chục công tắc có gắn phím được tổ chức theo một ma trận: phức tạp hơn nữa, đó là một hệ vi xử lý chuyên dụng quản lý cả trăm công tắc có gắn phím với nhiêm vụh nhận ra phím được gõ và tạo mã đưa đến hệ vi xử lý. Dù đơn giản hay một tổ hợp phím, khi phối ghép chúng với bộ vi xử lý ta cũng phải thỏa mãn một số yêu cầu đặc biệt để đảm bảo hệ thống làm việc đúng . Có rất nhiều công tắc được dùng trong phối ghép với bộ vi xử lý nhưng có thể xếp chúng vào hai nhóm chính: + công tắc có tiếp xúc ccơ khí ( kiểu điện trở: điện trở thay đổi khi ấn và khi nhả phím) + công tắc không có tiếp xúc cơ khí kiểu điện dung: điện dung thay đổi khi ấn và khi nhả phím hoặc kiểu hiệu ứng Hall: điện áp thay đổi khi ấn và khi nhả phím). Trong các loại công tắc đó, loại công tắc điện trở dự trên tiếp xúc cơ khí là rất thông dụng rong thực tế. Trên hình 9.1 là các nối công tắc vào mạch điện và đáp ứng của nó khik có lực tác động vào phím (ấn phím). Nhìn vào đáp ứng về mặt cơ- điện của công tắc trên hình 9.1. ta nhận thấy: vì công tắc là một hệ thống có quán tính, do đó khi ta ấn phím và nhả phím, xugn điện thu được ở đầu ra của nó không phải liên tục mà bị ngắt quãng tại các giai đoạn quá độ( lúc bắt đầu ấn phím và lúc bắt đầu nhả phím). Điều này xảy ra là do trong kết cấu của công tắc có các bộ phận đàn hồi, khi bị tác dộng của lực bên ngoài các kết cấu động của công tắc bị dao động làm cho bề mặt tiếp xúc của công tắc bị biến đổi. Trong thực tế thì mỗi qúa trình quá độ trên kéo dài khoảng 10 -20 ms. Nếu trong thời kì quá độ ta đọc thông tin từ các công tắc thì rất dễ nhận được thông tin sai lệch trạng thái của công tắc, vì vậy người ta thường chờ khoảng 10-20 ms sau khi côngt tắc bị ấn hay nhả để đọc trạng thái của công tắc trong giai đoạn xác lập.

doc61 trang | Chia sẻ: tlsuongmuoi | Ngày: 17/07/2013 | Lượt xem: 1153 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Một số phối ghép cơ bản, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
o 3 bäü âãúm vaì 1 thanh ghi cho tæì âiãöu khiãøn. Theo så âäö khäúi ta tháúy trong vi maûch 8254 coï 3 bäü âãúm luìi 16 bit, näüi dung ban âáöu cuía mäùi bäü âãúm âãöu coï thãø láûp trçnh tæì CPU âãø thay âäøi âæåüc. Ngoaìi ra ta coìn coï thãø âiãöu khiãøn âæåüc hoaût âäüng cuía caïc bäü âãúm bàòng tên hiãûu tæì bãn ngoaìi qua caïc chán cuía (GATE) âãø cho pheïp bàõt âáöu âãúm (GATE = 1) hay âãø buäüc kãút thuïc quaï trçnh âãúm (GATE = 0). D0-D7 CPU RD WR A0 A1 A2-A15 Âãûm bus dæî liãûu Thanh ghi tæì âiãöu khiãøn Bäü âãúm 0 RD Lägic WR diãöu A0 khiãøn A1 ghi/âoüc Bäü âãúm 2 Bäü âãúm 1 Clk2 Clk1 Clk0 Gate0 Gate1 Gate2 Out1 Out2 Out0 cs Hçnh 9.17. Så âäö khäúi cuía vi maûch 8254. Baíng 9.1. Choün caïc thanh ghi bãn trong 8254 A1 A0 Choün ra 0 0 1 1 0 1 0 1 Thanh ghi cho bäü âãûm säú 0 Thanh ghi cho bäü âãûm säú 1 Thanh ghi cho bäü âãûm säú 2 Thanh ghi tæì âiãöu khiãøn Khåíi âáöu cho 8254 Cuîng nhæ caïc vi maûch láûp trçnh âæåüc khaïc phuû tråü cho CPU âaî noïi træåïc nay, sau khi báût âiãûn maûch 8254 phaíi âæåüc khåíi âáöu âãø coï thãø hoaût âäüng theo âuïng yãu cáöu. Mäüt âiãöu cáön chuï yï laì traûng thaïi cuía 8254 sau khi báût âiãûn laì khäng xaïc âënh. ÂÃØ khåíi âáöu chomaûch 8254 ta phaíi gi tæì âiãöu khiãøn vaìo thanh ghi tæì âiãöu khiãøn cuía noï. Daûnh thæïc tæì âiãöu khiãøn cuía 8254 âæåüc biãøu diãùn trãn hçnh 9.18. Ghi/âoüc 00: lãûnh chäút bäü âãúm 01: chè âoüc/ghi byte LSB 10: chè âoüc/ghi byte MSB 0: Bäü âãúm HEX 4 säú 11: âoüc/ghi byte LSB, tiãúp theo laì MSB 1: Bäü âãúm BCD 4 säú D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RW1 RW0 M2 M1 M0 BCD Choün bäü âãúm Chãú âäü 00: âãø choün bäü âãúm 0 000: chãú âäü 0 - Taûo yãu cáöu ngàõt khi âãúm hãút 01: âãø choün bäü âãúm 1 001: chãú âäü 1 - Âa haìi âåüi láûp trçnh âæåüc 10: âãø choün bäü âãúm 2 010: chãú âäü 2 - Bäü chia táön säú cho N 11: âãø ra lãûnh âãúm ngæåüc 011: chãú âäü 3 - Taûo xung vuäng 100: chãú âäü 4 - Taûo xung cho pheïp mãöm 101: chãú âäü 5 - Taûo xung cho pheïp cæïng Hçnh 9.18. Daûng thæïc thanh ghi tæì âiãöu khiãøn cuía vi maûch 8254. Thanh ghi tæì âiãöu khãøn duìng âãø chæïa tæì âiãöu khiãøn cho caí 3 bäü âãúm. Våïi caïc bit SC1 - SC0 (theo maî hãû 2) ta coï thãø choün ra bäü âãúm laìm viãûc theo caïch thæïc do tæì âiãöu khiãøn quyãút âënh. Træåìng håüp âàûc biãût khi SC1 - SC0 =11 ta coï thãø duìng lãûnh âoüc ngæåüc âãø âoüc näüi dung hoàûc traûng thaïi cuía bäü âãúm trong thåìi âiãøm hiãûn taûi. Caïc bäü âãúm cuía maûch 8254 âãöu laìm viãûc åí chãú âäü âãúm luìi. Nhæ váûy säú âãúm låïn nháút maì ta coï thãø âæa vaìo âãø bàõt âáöu âãúm laì 10000H hoàûc 1000, vç sau khi luìi 1 ta coï näüi dung måïi cuía bäü âãúm laì FFFH hoàûc 9999 tuyì theo bit BCD=D0 laì 0 hay 1. Caïc bit M2 M1 M0 seî xaïc âënh caïc chãú âä laìm viãûc cuía bäü âãúm, trong âoï caïc âáöu vaìo GATE coï nhæîng taïc âäüng khaïc nhau âãún âáöu ra OUT. Maûch 8254 coï táút caí 6 chãú âäü laìm viãûc vaì caïc chãú âäü naìy âæåüc âaïnh säú tæì 0-5. Caïc bit RW1RW0 cho pheïp choün caïch thæïc ghi/âoüc våïi caïc bäü âãúm. Ta coï thãø ghi/âoüc taïch riãng tæìng byte cuía bäü âãúm. Nãúu muäún ghi/âoüc liãn tiãúp 2 byte cuía bäü âãúm thç ta phaíi tuán theo thæï tæû: byte tháúp træåïc vaì tiãúp theo laì byte cao. Âãø haûn chãú båït säú bit cáön thiãút cho viãûc læu træî thäng tin cuía âiãøm aính maìu maì váùn âaím baío âæåüc gam maìu räüng ngæåìi ta âaî sæí duûng viãûc maî hoaï thäng tin theo baíng maìu ( palette ) . Âiãöu naìy coï nghéa laì trong mäüt thåìi âiãøm chuïng ta chè âæåüc sæí duûng mäüt säú maìu trong baíng maìu chæïa táút caí caïc maìu coï thãø coï . Vê duû : vi âiãöu khiãøn maìn hçnh CGA cuía haîng IBM coï khaí nàng hiãøn thë mäüt luïc 320 x 200 âiãøm våïi 4 maìu choün trong baíng gäöm 16 maìu . Vç taûi mäüt thåìi âiãøm ta chè hiãûn 4 maìu nãn âãø læu giæî thäng tin cho 1 âiãøm aính ta chè cáön 2 bit . Vê duû khaïc : nãúu taûi 1 thåìi âiãøm ta væìa loìng våïi viãûc hiãøn thë 640 x 400 âiãøm aính våïi 16 maìu trong baíng maìu gäöm coï 256 maìu , chæï khäng phaíi laì 256 maìu cuìng mäüt luïc , ta seî chè cáön âãún 4 bit âãø læu giæî thäng tin cho 1 âiãøm aính våïi 1 trong 16 maìu . Bäü nhåï RAM âãûm seî nhoí âi mäüt næía so våïi træåìng håüp hiãûn âuí 256 maìu , lyï do laì 1 byte trong træåìng håüp naìy coï thãø chæïa thäng tin cho 2 âiãøm maìu ( xem hçnh 9.13a ). Viãûc chè duìng mäüt säú maìu trong 1 baíng maìu âãø laìm giaím kêch thæåïc bäü nhåï âãûm laì ráút coï låüi âäúi våïi caïc bäü âiãöu khiãøn maìn hçnh coï âäü phán giaíi cao ( vaì nhæ váûy âoìi hoíi bäü nhåï låïn ) . Vç âiãöu naìy laìm giaím âæåüc táön säú truy nháûp bäü nhåï RAM âãûm khi laìm tæåi maìn hçnh . Mäüt biãûn phaïp khaïc âã laìm giaím truy nháûp bäü nhåï âãûm khi laìm tæåi maìn hçnh laì bàòng caïch täø chæïc bäü nhåï âãûm theo caïc màût nhåï song song âãø chæïa thäng tin cuía mäüt âiãøm . Caïch täø chæïc bäü nhåï cho kiãøu hiãøn thë naìy âæåüc minh hoaû trãn hçnh 9.13b . Trong caïch laìm naìy , 4 bit thäng tin cuía 1 âiãøm aính âæåüc âãø taûi caïc vë trê giäúng nhau trong 4 byte liãn tiãúp cuía bäü nhåï DRAM âãûm . Âiãöu naìy tæång âæång viãûc mäùi thäng tin vãö 1 maìu âæåüc âãø trong 1 màût âiãøm ( bit plan ). Khi bäü âiãöu khiãøn maìn hçnh láúy 4 byte naìy vaìo caïc thanh ghi cuía noï thç noï coï âæåüc caí thaíy thäng tin cuía 8 âiãøm aính naìy âæåüc âæa ra maìn hçnh thç bäü nhåï DRAM coï thåìi gian häöi phuûc âãø laûi coï thãø âoüc tiãúp âæåüc . Våïi 4 bit thäng tin cho 1 âiãøm aính trong 4 màût ta seî choün âæåüc 1 trong 16 thanh ghi tæång æïng våïi 1 trong 16 maìu cuía baíng maìu gäöm 64 maìu ( thanh ghi naìy coï 6 bit cho caïc maìu âoí vaì âoí nhaût , xanh biãøn vaì xanh biãøn nhaût , xanh laï cáy vaì xanh laï cáy nhaût ) . Âáy cuîng laì caïch hiãûn âiãøm maìu cuía vé âiãöu khiãøn maìn hçnh EGA ( enhanced graphics adapter : bäü phäúi gheïp âäö hoaû caíi tiãún ) . * Caïc loaûi phäúi gheïp maìn hçnh thäng duûng : Trãn hçnh 9.14 laì baín liãût kã caïc loaûi maûch phäúi gheïp maìn hinh thäng duûng trong thæûc tãú vaì caïc thäng säú kyî thuáût chênh cuía chuïng . Hçnh 9.14 cuîng giåïi thiãûu caïc khuän máùu hiãùn thë cuía caïc vé phäúi gheïp maìn hçnh cho caïc maïy vi tênh caï nhán cuía haîng IBM hoàûc tæång thêch . P1 P0 Bäü nhåï âãûm hçnh D7 D0 âiãøm 1 âiãøm 0 R G B I R G B I chæïa thäng tin theo âiãøm aính Thanh ghi baíng maìu xxRIGIBIRGB 0 5 15 Âãún maìn hçnh RBGI RI.GI.BI.R.BG I B G R Màût 1 D0 Màût B D1 Màût G D2 Màût R D3 Âiãøm 1 Âiãøm 0 Bäü nhåï âãûm hçnh D7 D0 chæïa thäng tin theo kiãøu màût âiãøm Hçnh 9.13. caïch chæïa ï thäng tin trong bäü nhåï TAM âãûm hçnh Caïc maïy tênh caï nhán cuía IBM hoàûc caïc maïy tênh tæång thêch thæåìng khäng coï sàôn khaí nàng âäö hoaû gàõn trãn baíng meû .Ngæåìi ta phaíi læûa choün âãø càõm vaìo baíng meû mäüt vi maûch phäúi gheïp ( vè âiãöu khiãøn maìn hçnh ) våïi khaí nàng hiãøn thë åí chãú âäü vàn baín / âäü hoaû thêch håüp vaì choün loaûi maìn hçnh phuì håüp våïi bäü âiãöu khiãøn âoï . Do váûy tãn mäüt bäü âiãöu khiãøn maìn hçnh cuîng duìng âãø goüi luän caïc loaûi maìn hçnh tæång thêch âi keìm våïi noï . Coï trong maïy Maìu / bäü maìu Loaûi tên hiãûu Âäü phán giaíi Bäü phäúi gheïp Chãú âäü CAG Vàn baín 80x25 4/16 säú PC.XT.AT p.g tháúp 160x100 4/16 säú PC.XT.AT p.g væìa 320x200 4/16 säú PC.XT.AT p.g cao 640x200 2(âen , tràõng) säú PC.XT.AT Hercules mäüt maìu 720x348 2 säú PC.XT.AT maìu 720x348 16/64 säú PC.XT.AT EGA 640x350 16/64 säú PC.XT.AT MCGA p.g væìa 320x200 256 tæång tæû PS2-25.80 p.g cao 640x480 2 tæång tæû PS2-25.80 VGA 11H 640x480 2 tæång tæû PS2-50.80 12H 640x480 16/256K tæång tæû PS2-50.80 13H 640x200 256/256K tæång tæû PS2-50.80 Super VGA 640x480 256/256K tæång tæû PS2-50.80 8514/A 1024x768 256/256K tæång tæû PS2-50.80 Hçnh 9.14 : Caïc loaûi phäúi gheïp maìn hçnh chênh cho maïy IBM VÈ CGA CUÍA IBM Vè phäúi gheïp maìn hçnh maìu âäö hoaû ( color grahêc a dapter : CGA ) mäüt thåìi laì mäüt loaûi vè phäúi gheïp maìn hçnh ráút thäng duûng , noï coï thãø âiãöu khiãøn maìn hçnh laìm viãûc åí chãú âäü vàn baín cuîng nhæ chãú âäü âäö hoaû . Haût nhán cuía vè CGA váùn laì vi maûch chuyãn duûng CRTC naìy cung cáúp caïc tên hiãûu âëa chè cho RAM âãûm âãø laìm tæåi maìn hçnh , tên hiãûu âãø queït doìng âiãøm cuía ma tráûn âiãøm trong ROM taûo chæî , caïc tên hiãûu âäöng bäü doìng vaì âäöng bäü maình vaì mäüt säú tên hiãûu khaïc . Vè CGA coï thãø âiãöu khiãøn maìn hçnh våïi caïc âáöu vaìo RBG taïch biãût hoàûc cung cáúp tên hiãûu hçnh täøng håüp âæåüc âiãöu chãú cao táön cho caïc loaûi maìn hçnh maìu täøng håüp . Trong vè CGA coï bäü nhåï RAM âãûm hçnh våïi dung læåüng 16 KB vaì âæåüc bàõt âáöu tæì âëa chè OB800H . ÅÍ chãú âäü vàn baín , maìn hçnh hiãûn âæåüc 80x25 kyï tæû theo ma tráûn âiãøm 8x8 , mäùi kyï tæû cáön 2 byte liãn tiãúp âãø chæïa maî vaì thuäüc tênh giäúng nhæ åí bäü âiãöu khiãøn cho maìn hçnh mäüt maìu ( xem hçnh 9.10a , trãn hçnh 9.10b caïc bit b2b1b0 tæång æïng våïi caïc maìu RGB cho chæî vaì b6b5b4 tæång æïng våïi caïc maìu RGB cho nãön ) . Âãø hiãûn thë kyï tæû ta coï thãø âënh nghéa âæåüc 8 maìu nãön vaì 16 maìu chæî theo täø håüp våïi caïc bit thuäüc tênh ( xem hçnh 9.12 ) . Bit BL = 1 laì hiãûn chæî nháúp nhaïy . I = 1 laì âãø hiãûn chæî våïi cæåìng âäü saïng låïn hån . Nhæ váûy , âãø læu giæî thäng tin cuía 1 trang maìn hçnh vàn baín ta duìng hãút 4 KB bäü nhåï vaì våïi 16 KB RAM âãûm hçnh coï trãn vè CGA ta coï thãø læu giæî âæåüc 4 trang vàn baín . Khi laìm viãûc åí chãú âäü âäö hoaû , tên hiãûu tæì RAM âãûm âæåüc âæa træûc tiãúp âãún caïc thanh ghi dëch âãø âæa âãún âiãöu khiãøn riãng biãût mäùi suïng âiãûn tæí . Vè CGA coï thãø laìm viãûc åí 3 mæïc âäü phán giaíi : tháúp ( 160x100 âiãøm , 4 maìu trong baíng 16 maìu ) ,trung bçnh ( 320x200 âiãøm , 4 maìu trong baíng 16 maìu ) vaì cao ( 640x200 âiãøm , 2 maìu âen vaì tràõng ). VÈ EGA CUÍA IBM Vi phäúi gheïp âäö hoaû caíi tiãún ( enhanced graphics adapter : EGA ) coï bãn trong bäü âiãöu khiãøn maìn hçnh giäúng nhæ maûch CRTC 6845 nãn noï cho pheïp láûp trçnh âãø âënh nghéa ra táút caí caïc chãú âäü laìm viãûc åí vè CGA , ngoaìi ra coìn âënh nghéa âæåüc mäüt säú chãú âäü âàûc biãût khaïc . Vè EGA sæí duûng caïch bäú trê bäü nhåï âãûm theo kiãøu màût âiãøm aính vaì caïc thanh ghi baíng maìu ( xem hçnh 9.13b). Trãn hçnh 9.13 bieíu hiãûn chãú âäü hiãûn thë 640x350 âiãøm vaì 16 maìu trong bnaíg maìu gäöm 64 maìu . Bäü nhåï DRAM âãûm âæåüc xàõp xãúp thaình 4 màût âiãøm , mäùi màût chæïa 1 bit mä taí thäng tin vãö maìu cuía 1 âiãøm . Mäüt nhoïm 4 bit âoüc âæåüc tæì 4 màût , mäùi màût chæïa 1 bit trong 16 thanh ghi 8 bit cuía baíng maìu . Chè coï 6 bit tháúp cuía thanh ghi måïi âæåüc duìng âãø âæa ra âiãöu khiãøn maìn hçnh . Täø håüp cuía 6 bit naìy taûo ra caïc maìu cuía baíng 64 maìu , âoï laì caïc maìu trãn thæûc tãú hiãûn thë theo caïc giaï trë cuû thãø coï trong 16 thanh ghi trong baíng maìu . BÄÜ MCGA CUÍA IBM Bäü phäúi gheïp MCGA ( multicolor graphics array ) cuía IBM âæåüc cáúy ngay trãn baíng meû cuía maïy PS/2-25 hoàûc PS/2-30 cho pheïp láûp trçnh âãø hiãûn thë trong táút caí caïc chãú âäü cuía vè EGA vaì mäüt säú chãú âäü khaïc . Vê duû , ta coï thãø láûp trçnh âãø coï chãú âäü hiãûn thë 320x200 âiãøm våïi 256 maìu hoàûc 640x480 âiãøm tràõng âen . VÈ VGA CUÍA IBM Ttrong vè phäúi gheïp VAG( video gate array) cuîng coï bäü CRTC cho pheïp láûp trçnh âãø choün ra caïc giaï trë thêch håüp cho táön säú âiãøm , säú doìng queït maình , táön säú queït maình , säú doìng queït träüi. Vè VGA coï thãø thæûc hiãûn âæåüc táút caí caïc chãú âäü hiãûn thë cuía caïc vi CGA vaì EGA cuìng nhiãöu chãú âäü riãng biãût khaïc . Vê duû : vè VGA våïi 8 bit âãø maî hoaï maìu cho 1 âiãøm aính coï thãø âiãöu khiãøn hiãûn thë 256 maìu trong 1 bnaíg maìu gäöm 262.144 ( 256 K ) maìu . Âãø laìm âæåüc nhæ váûy , bäü nhåï cuía vè VGA âæåüc täø chæïc thaình 4 màût , mäùi màût chæïa 8 bit maî hoaï maìu cho 1 âiãøm .Âáöu ra 1 vè VGA laì tên hiãûu tæång tæû cho caïc maìu RGB . Coï 3 bäü DAC 6 bit âæåüc näúi vaìo 6 bêt tæång æïng cho mäùi maìu cuía 1 trong 256 thanh ghi maìu 18 bêt (hçnh 9.15a). Caïc thanh ghi maìu naìy âæåüc choün nhåì näüi dung 4 bêt tháúp cuía thanh ghi baín maìu, 4 bêt cao cuía byte maî hoïa maìu cho 1 âiãøm choün ra caïc thanh ghi baín maìu coìn 4 bêt tháúp cuía noï âæåüc duìng âãø chè ra âëa chè pháön cao cuía caïc thanh ghi maìu (âëa chè cuía mäüt vuìng caïc thanh ghi maìu). Nhæ váûy, våïi 64 mæïc maìu cho 1 maìu thç ta coï baín maìu gäöm 64 x 64 x 64 = 256K maìu. Trãn hçnh 9.15b laì mäüt vê duû vãö chãú âäü hiãûn thë 640 x 400 âiãøm 16 maìu. Mäùi âiãøm aïnh âæåüc maî hoïa bàòng 4 bêt âãø taûo 4 màût âiãøm, 4 bêt naìy choün ra âæåüc 1 trong 16 thanh ghi baín maìu. Thanh ghi chãú âäü chè cho pheïp 4 bit tháúp cuía thanh ghi baín maìu choün ra 1 thanh ghi maìu trong nhoïm maìu, 4 bêt tháúp cuía thanh ghi choün maìu seî choün 1 trong 16 nhoïm maìu. Nhæ váûy, ta coï thãø chuyãøn ráút nhanh giæîa caïc nhoïm 14 maìu naìy. * Láûp trçnh cho caïc vé phäúi gheïp maìn hçnh Caïc vé phäúi gheïp maìn hçnh vãö màût láûp trçnh laì tæång âæång våïi caïc cäøng coï âëa chè xaïc âënh. Vç váûy âãø âiãöu khiãøn maìn hçnh laìm viãûc ta chè cáön ghi caïc thäng säú cáön thiãút vaìo caïc thanh ghi âiãöu khiãøn, thanh ghi baíng maìu ... laì xong . Trong thæûc tãú coï nhiãöu caïch láûp trçnh âãø âiãöu khiãøn maìn hçnh laìm viãûc, trong âoï coï 2 caïch thäng duûng nháút : + Duìng caïc lãûnh håüp ngæî âãø gi caïc thäng säú cáön thiãút vaìo caïc thanh ghi âiãöu khiãøn cuía vè khäúi gheïp âãø âiãöu khiãøn chãú âäü hiãûn thë vaì ghi træûc tiãúp kê tæû cáön hiãûn thë vaìo RAM âãûm âãø thay âäøi näüi dung. Âáy laì caïch âãø âaût âæåüc chãú âäü hiãûn thë nhanh nháút. + Duìng caïc dëch vuû cuía ngàõt INT 10H cuía BIOS nãúu laìm viãûc våïi caïc maïy kiãøu IBM . Caïch naìy thæåìng cháûm hån caïch trãn nhæng coï låüi laì ta coï thãø sæí duûng caïc dëch vuû coï sàôn cuía BIOS vaì vç váûy coï thãø trao âäøi chæång trçnh giæîa caïc maïy. Vê duû : Âãø minh hoüa cho viãûc láûp trçnh cho maìn hçnh duìng håüp ngæî bàòng caïch ghi træûc tiãúp vaìo vuìng RAM âãûm hiãûn thë, ta láúy mäüt vê duû hiãûn thë mäüt maìn hçnh 80 cäüt vaì 25 haìng kê tæû “S” (tæïc laì 80 x 25 = 2000 kê tæû “S” ) våïi maìu têa trãn nãön xanh da tråìi D4-D7 Bäún màût cuía bäü nhåï RAM âãûm hçnh D0-D3 Thanh ghi Baíng maìu Thanh ghi cuía 18bit R G B 0 15 31 240 a) Hiãûn 320x200 âiãøm våïi 256 maìu Thanh ghi Baíng maìu Thanh ghi cuía 18bit R G B 0 15 31 240 4 màût cuía bäü nhåï Ram âãûm hçnh b) Hiãûn 640x480 âiãøm 16 maìu 255 DAC 6 Bit 255 DAC 6 Bit 0 15 D0 - D3 4 Nhoïm 0 Nhoïm 2 Nhoïm15 I Thanh ghi âiãöu chènh chãú âäü Thaûnh ghi choün maìu Thán cuía chæång trçnh noïi trãn viãút dæåïi daûng thuí tuûc coï thãø nhæ sau : Aïp suáút Nhiãût âäü Âäü áøm Âäü PH mæïc Täúc âäü Råle Âiãûn tæí DAC Kdcs & ccch DAS DAS Cäøng vaìo Cäøng vaìo Hãû vi sæí lyï Maìng hçnh hiãøn thë Baìn phêm Caïc âáöu do RTC Disp Proc MOV AX,OB800H; Cho DS chè vaìo vuìng RAM âãûm MOV DS, AX MOV CX, 2000 ; Säú kê tæû phaíi hiãûn MOV DI, 0 ; Hiãûn tæì kê tæû taûi goïc traïi cao HIEN :MOV {DI , 3524h ; S têa trãn nãön tråìi xanh !!! ADD DI,2 : Hiãûn kê tæû tiãúp LOOP HIEN ; Cho âãún hãút MOV AH, 4CH ; vãö DOS INT 21H Disp Endp 4. Phäúi gheïp våïi thãú giåïi tæång tæû : Viãûc phäúi gheïp hãû vi xæí lê vaì caïc thiãút bë laìm viãûc våïi caïc âaûi læåüng tæång tæû laì mäüt nhu cáöu ráút hay gàûp trong thæûc tãú âåìi säúng cuîng nhæ trong cäng nghiãûp. Caïc pháön tæí maì hãû vi xæí lê cáön phaíi phäúi gheïp thæåìng laì caïc âáöu âo (bäü caím biãún hoàûc bäü biãún âäøi) åí âáöu vaìo vaì caïc cå cáúu kãút thaình åí caïc loaûi åí âáöu ra . âãø gheïp näúi caïc thiãút bë nhæ váûy, thäng thæåìng ta phaíi cáön âãún caïc bäü chuyãøn âäøi tæång tæû säú (analog to digital converter :ADC). Caïc bäü chuyãøn âäøi säú tæång tæû (digital to analog converter: DAC). Trong mäüt säú træåìng håüp cuû thãø ta coìn cáön âãún mäüt säú thiãút bë âiãûn tæí chuyãn duûng khaïc: Bäü khuyãúch âaûi âo, bäü chuyãøn maûch tæång tæû (bäü däön kãnh hoàûc phán kãnh tæång tæû) maûch so saïnh säú, maûch trêch máùu vaì giæî máùu, khuyãúch âaûi cäng suáút ... DAS: hãû thu nháûp dæî liãûu Kdes &ccch: khuãúch âaûi cäng suáút xa cå cáúu cháúp haình Hçnh 9.16. Så âäö khäúi cuía hãû thäúng âiãöu khiãøn duìng vi sæí lyï Caïc thiãút bë trãn thæåìng âæåüc gheïp näúi våïi nhau âãø taûo thaình caïc hãû thu tháûp dæû liãûu (data acquisition system: DAS) caïc bäü âiãöu khiãøn, caïc thiãút âo læåìng cao cáúp, caïc thiãút bë xæí lê dæî liãûu thåìi gian thæûc ... táút caí âæåüc sæí duûng räüng raîi trong cäng nghiãûp cuîng nhæ trong âåìi säúng. Ta seî khäng âi sáu vaìo tæìng maûch phäúi gheïp trong caïc thiãút bë cuû thãø maì chè nãu åí âáy så âäö khäúi cuía mäüt hãû thäúng âiãöu khiãøn dæûa trãn cå såí vi xæí lê nhæ laì mäüt vê duû âaûi diãûn (hçnh 9.16) Hãû thu tháûp dæî liãûu coï nhiãûm vuû phäúi gheïp caïc bäü caím biãún vãö màût diãûn (phäúi håüp tråí khaïng, khuãúch âaûi mæïc tên hiãûu...) vaì biãún caïc tên hiãûu thu âæåüc tæì daûng tæång tæû sang daûng säú âãø CPU coï thãø âoüc vaìo vaì xæí lê. Baìn phêm vaì maìn hçnh laì 2 thiãút bë vaìo /ra truyãön thäúng. Tuìy theo quy mä vaì tênh cháút cäng viãûc, chuïng coï thãø laì caïc thiãút bë ráút âån giaín nhæ baìn phêm hãû 16 vaì caïc âeìn hiãûn thë LED, LCD hoàûc phæïc taûp nhæ baìn phêm vaì maìn hçnh giäúng nhæ trong caïc maïy vi tênh thæûc thuû. Bäü vi xæí lê åí âáy thæåìng laì loaûi chuyãn duûng, âæåüc chãú taûo âàûc biãût cho caïc cäng viãûc trong âiãöu khiãøn. (vê duû : Nhæ caïc vi maûch 8051, 8096 hoàûc 80186 cuía INTEL) chæång trçnh viãút cho CPU thäng thæåìng laì âãø thæûc hiãûn caïc thao taïc âiãöu khiãøn cuía caïc khäúi chæïc nàng theo kiãøu tyí lãû/ têch phán/ vi phán (PID) bàòng phæång phaïp säú. Mäüt âiãøm âàûc biãût næîa laì trong hãû thäúng âiãöu khiãøn thæåìng coï mäüt âäöng häö thåìi gian thæûc (RTC) âãø hãû thäúng coï thãø thæûc hiãûn caïc yãu cáöu âiãöu khiãøn theo thåìi gian thæûc. Caïc cå cáúu cháúp haình thæåìng laì loaûi säú hay tæång tæû . Cå cáúu cháúp haình säú thæåìng laì caïc khoïa âiãûn tæí hoàûc khoïa cå âiãûn duìng âãø âoïng/ ngàõt càõt maûch cuïp âiãûn cho âäúi tæåüng cáön âiãöu khiãøn, vç váûy caïc cå cáúu naìy chè cáön âæåüc cáúp tên hiãûu lägic thêch håüp laì âæåüc. Caïc cå cáúu cháúp haình tæång tæû cáön âæåüc näúi væoïi hãû vi xæí lê qua caïc bäü chuyãøn âäøi DAC vaì keìm theo caïc bäü khuãúch âaûi cäng suáút âãø thæûc hiãûn caïc thao taïc âiãöu khiãøn do bäü vi xæí lyï âæa âãún. 5. Phäúi gheïp CPU våïi maûch âãúm/ âënh thåìi gian 8254 (8253) Maûch âënh thåìi gian láûp trçnh âæåüc 8254/8253 laì mäüt maûch phuû ráút quan troüng tring caïc hãû vi xæí lê cuía Intel. Noï coï thãø dãù âaïp æïng âæåüc caïc yãu cáöu æïng duûng khaïc nhau trong hãû vi xæí lyï : âãúm thåìi gian, âãúm sæû kiãûn, chia táön säú, taûo ra daîy xung ... Så âäö khäúi cuía vi maûch 8254 vaì caïch phäúi gheïp våïi CPU âæåüc thãø hiãûn trãn hçnh 9.17 . Caïc tên hiãûu cuía vi maûch 8254 coï tãn vaì yï nghéa giäúng nhæ cuía 8088 nãn khaï quen thuäüc vaì ta seî khäng cáön giaíi thêch nhiãöu næîa. Chán choün voí cuía vi maûch 8254 phaíi âæåüc näúi våïi âáöu ra cuía mäüt bäü giaíi maî âãø âënh âëa chè cå baín cho maûch . Cuìng våïi âëa chè cå baín, caïc chán âëa chè A1 vaì A0 seî cung cáúp âëa chè cuû thãø cuía caïc thanh ghi åí bãn trong maûch 8254 khi ghi (láûp trçnh) hoàûc doüc thäng tin cuía maûch (xem aính 9.1). Âoï laì 3 thanh ghi cho 3 bäü âãúm vaì 1 thanh ghi cho tæì âiãöu khiãøn . Theo så âäö khäúi ta tháúy trong vi maûch 8254 coï 3 bäü âãúm luìi 16 bit, näüi dung ban âáöu cuía mäùi bäü âãúm âãöu coa thãø láûp trçnh tæì CPU âãø thay âäøi âæåüc. Ngoaìi ra ta coìn coï thãø âiãöu khiãøn âæåüc hoaût âäüng cuía caïc bäü âãúm bàòng tên hiãûu tæì bãn ngoaìi qua caïc chán cæía (GATE) âãø cho pheïp bàõt âáöu âãúm (Gate = 1) hay âãø buäüc kãút thuïc quaï trçnh âãúm (Gate = 0). RD Login WR âiãöu A0 khiãøn A1 ghi/âoüc Clk Gate Out Clk Gate Out Gate Out Clk o 1 2 o o 1 1 2 2 Cx Âãûm Bus Dæî liãûu Bäü âãûm 0 Bäü âãûm 1 Bäü âãûm 2 Thanh ghi tæì Diãöu khiãøn D0-D7 CPU RD WR A0 A1 A2-A15 Hçnh 9.17. Så âäö khäúi vi maûch 8254 Baïnh 9.1. choün caïc thanh ghi bãn trong 8254 A1 A0 Choün ra 0 0 1 1 0 1 0 1 Thanh ghi cho bäü âãúm säú 0 Thanh ghi cho bäü âãúm säú 1 Thanh ghi cho bäü âãúm säú 2 Thanh ghi tæì âiãöu khiãøn * Khåíi âáöu cho 8254 Cuîng nhæ caïc vi maûch láûp trçnh âæåüc khaïc phuû tråü cho CPU âaî noïi tæì træåïc tåïi nay, sau khi báûc âiãûn maûch 8254 phaíi âæåüc khåíi âáöu âãø coï thãø hoaût âäüng theo âuïng yãu cáöu. Mäüt âiãöu cáön chuï yï laì traûng thaïi cuía 8254 sau khi báût âiãûn laì khäng xaïc âënh. Âãø khåíi âáöu cho maûch 8254 ta phaíi ghi tæì âiãöu khiãøn vaìo thanh ghi tæì âiãöu khiãøn cuía noï. Daûng thæïc tæì âiãöu khiãøn cuía 8254 âæåüc biãøu hiãûn trãn hçnh 9.18 Ghi/âoüc : 00: lãûnh chäút bäü âãúm 01: chè âoüc/ ghi byte LSB 10: chè âoüc/ ghi byte MSB 0: bäü âãúm HEX 4 säú 11: âoüc/ghi byte LSB, tiãúp theo laì MSB 1: bäü âãúm BCD 4 säú D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RW1 RW0 M2 M1 M0 BCD Chãú âäü Choün bäü âãúm 000:chãú âäü 0-Taûo yãu cáöu ngàõt khi âãúm hãút 00:âãø choün bäü âãúm 0 001:chãú âäü1-Âa haìi âåüi láûp trçnh âæåüc 01: âãø choün bäü âãúm 1 010: chãú âäü 2 - bäü chia tán säú cho N 10:âãø choün bäü âãúm 2 011:chãú âäü 3- Taûo xung vuäng 11: âãø ra lãûnh âoüc ngæåüc 100:chãú âäü 4-Taûo xung cho pheïp mãöm 101:chãú âäü 5-Taûo xung cho pheïp cæïng Hçnh 9.18.Daûng thæïc thanh ghi tæì âiãöu khiãøn cuía vi maûch 8254. Thanh ghi tæì âiãöu khiãøn duìng âãø chæïa tæì âiãöu khiãøn cho caí 3 bäü âãúm våïi caïc bit SC1 - SC0 (theo maî hãû 2 ) ta coï thãø choün ra bäü âãúm âãø laìm viãûc theo caïch thæïc do tæì âiãöu khiãøn quyãút âënh. Træåìng håüp âàûc biãût khi SC1 - SC0 = 11 ta coï thãø duìng lãûnh âoüc ngæåüc âãø âoüc âæåüc näüi dung hoàûc traûng thaïi cuía bäü âãúm trong thåìi gian hiãûn taûi. Caïc bäü âãúm cuía maûch 8254 âãöu laìm viãûc åí chãú âäü âãúm luìi. Nhæ váûy säú âãúm låïn nháút maì ta coï thãø âæa vaìo âãø bàõt âáöu âãúm laì 10.000H hoàûc 10.000, vç sau khi luìi 1 ta coï näüi dung måïi cuía bäü âãúm laì FFFFH hoàûc 9999 tuìy theo bit BCD = D0 laì 0 hoàûc 1 . Caïc bit M2 M1 M0 seî xaïc âënh caïc chãú âäü laìm viãûc cuía caïc bäü âãúm, trong âoï caïc âáöu vaìo GATE coï nhæîng aïtc âäüng khaïc nhau âãún caïc âáöu ra OUT . Maûch 8254 coï táút caí 6 chãú âäü laìm viãûc vaì caïc chãú âäü naìy âæåüc âaïnh säú tæì 0-5 . Caïc bit RW1 RW0 cho pheïp choün caïch thæïc ghi /âoüc våïi caïc bäü âãúm. Ta coï thãø ghi / âoüc taïch riãng tæìng byte cuía bäü âãúm. Nãúu muäún ghi/âoüc liãn tiãúp 2 Byte cuía bäü âãúm thç ta phaíi tuán theo thæï tæû : Byte tháúp træåïc vaì tiãúp theo laì Byte cao . Caïc chãú âäü laìm viãûc cuía 8254 Caïc chãú âäü laìm viãûc cuía 8254 âæåüc mä taí roî nháút thäng qua caïc biãøu âäö thåìi gian (soaûn theo taìi liãûu tra cæïu cuía Intel) . Trong khi xem caïc biãøu âäö âoï ta chuï yï caïc quy âënh vaì caïc kê hiãûu sau : Caïc bäü âãúm âæåüc láûp trçnh âãø laìm viãûc theo hãû 16 vaì åí chãú âäü chè âoüc/ ghi LSB cuía säú âãúm . CW : Tæì âiãöu khiãøn biãùu diãùn theo hãû 16. Caïc con säú nàòm dæåïi âäö thë thåìi gian - N : säú báút kç - Säú trãn : Cho MSB - Säú dæåïi: cho NSB Chãú âäü 0 - taûo yãu cáöu ngàõt khi âãúm xong (Terminal count: TC) Biãøu âäö thåìi gian cuía chãú âäü 0 âæåüc thãø hiãûn trãn hçnh 9.19 . Taûi âæåìng biãøu diãùn xung WR coï caïc giaï trë CW vaì LSB æïng våïi thåìi âiãøm xung ghi têch cæûc. Âoï chênh laì caïc thåìi âiãøm âãø ghi tæì thåìi âiãøm CW cho maûch vaì Byte tháúp cuía säú âãúm cho bäü âãúm âaî choün. Taûi nhoïm xung thæï nháút, CW = 10H tæïc laì ta muäún âënh nghéa chãú âäü 0, chè âoüc/ghi LSB vaì chãú âäü âãúm theo hãû 16 cho bäü âãúm säú 0. Sau khi ghi tæì âiãöu khiãøn vaìo thanh ghi tæì âiãöu khiãøn thç OUT = 0. Tiãúp theo ta ghi LSB = 4 laì pháön tháúp cuía säú âãúm cho bäü âãúm. Giaï trë naìy seî âæåüc chuyãøn vaìo bäü âãúm åí chu kyì âäöng häö sau. Luïc naìy GATE = 1 nãn tæì âáy laì bàõt âáöu cuía quaï trçnh âãúm ngæåüc. Khi bäü âãúm âaût tåïi 0 thç OUT = 1. Âiãöu âoï coï nghéa laì nãúu ta naûp vaìo LSB = N thç sau N + 1 xung âäöng häö ta coï OUT = 1. Ta cuîng nháûn tháúy ràòng bäü âãúm sau khi âaût 0000H thç seî tiãúp tuûc âãúm luìi tæì FFFFH nãúu nhæ noï khäng naûp giaï trë âãúm måïi. Xung OUT coï thãø âæåüc duûng nhæ laì xung yãu cáöu ngàõt âäúi våïi CPU âãø baïo laì âaî âaût âæåüc säú âãúm (TC) Taûi nhoïm xung thæï 2 ta tháúy âæåüc taïc duûng cuía xung âiãöu khiãøn cæía GATE. Khi bäü âãúm âang laìm viãûc maì GATE = 0 thç näüi dung cuía bäü âãúm âæåüc giæî khäng âäøi cho âãún khi GATE = 1, luïc naìy bäü âãúm laûi tiãúp tuûc âãúm luìi. Taûi nhoïm xung thæï 3 ta tháúy âæåüc hoaût âäüng cuía bäü âãúm khi noï âang âãúm maì ta coï xung âiãöu khiãøn naûp näüi dung säú âãúm måïi. Näüi dung måïi chè âæåüc âæa âãún bäü âãúm taûi xung âäöng häö tiãúp theo. Sau âoï bäü âãúm laûi tiãúp tuûc âãúm luìi våïi säú âãúm måïi. Chãú âäü 1 - Âa haìi âåüi våïi thåìi gian láûp trçnh âæåüc Ta âaî gàûp caïc maûch âa haìi âåüi (âa haìi mäüt traûng thaïi äøn âënh) våïi hàòng säú thåìi gian do chè säú cuía caïc linh kiãûn R vaì C quyãút âënh. Maûch 8254 åí chãú âäü 1 coï khaí nàng laìm viãûc nhæ 1 maûch âa haìi âåüi nhæng våïi hàòng säú thåìi gian láûp trçnh âæåüc tè lãû væoïi chu kyì xung âäöng häö åí âáöu vaìo. Biãøu âäö thåìi gian cuía 8254 åí chãú âäü 1 âæåüc thãø hiãûn trãn hçnh 9.20 Hçnh 9.19. Thê duû biãøu âäö thåìi gian cuía 8254 åí chãú âäü 0 Taûi nhoïm xung thæï nháút CW = 12H tæïc laì ta muäún âënh nghéa chãú âäü chè âoüc/ ghi LSB vaì chãú âäü âãúm theo hãû 16 cho bäü âãúm 0. Sau khi ghi tæì âiãöu khiãøn vaìo thanh ghi tæì âiãöu khiãøn thç OUT = 1. Tiãúp theo ta ghi LSB = 3 laì pháön tháúp cuía säú âãúm cho bäü âãúm. Giaï trë naìy seî âæåüc chuyãøn vaìo bäü âãúm. Luïc naìy GATE = 0 nãn bäü âãúm khäng laìm viãûc . Khi xung kêch GATE = 1 thç bäü âãúm âæåüc xuáút phaït âãø bàõt âáöu laìm viãûc åí chu kyì âäöng häö sau . Tæì âáy OUT = 0 vaì bàõt âáöu quaï trçnh âãúm ngæåüc khi bäü âãúm âaût tåïi 0 thç OUT = 1. Âiãöu âoï coï nghéa laì nãúu ta naûp vaìo LSB = N vaì GATE = 1 thç OUT = 0 trong N xung âäöng häö. Âæåìng dæït neït biãøu hiãûn laì GATE coï thãø coï giaï trë 0 báút kyì luïc naìo trong thåìi âoaûn naìy. Ta cuîng nháûn tháúy ràòng bäü âãúm sau khi âaût 0000H thç seî tiãúp tuûc luìi tæì FFFFH nãúu nhæ noï khäng âæåüc naûp giaï trë âãúm måïi. Vaì mäùi khi coï xung GATE = 1 thç noï laûi taûo ra xung OUT = 0 keïo daìi N xung âäöng häö. Taûi nhoïm xung thæï 2 ta tháúy âæåüc taïc duûng cuía xung âiãöu khiãøn åí cæía GATE âãø taûo ra khaí nàng kêch làûûp laûi âæåüc cuía bäü âãúm. Khi bäü âãúm âang laìm viãûc vaì chæa âaût âæåüc säú âãúm maì coï xung GATE = 1 thç säú âãúm cuî âæåüc naûp laûi cho bäü âãúm åí chu kyì âäöng häöi sau. Tæì luïc naìy bäü âãúm laûi tiãúp tuûc âãúm luìi. OUT = 0 cho tåïi khi âãún hãút . Taûi nhoïm xung thæï 3 ta tháúy âæåüc hoaût âäüng cuía bäü âãúm khi noï âang âãún säú OUT = 0 maì ta coï xung âiãöu khiãøn naûp säú âãúm måïi. Näüi dung måïi chè âæåüc âæa âãún bäü âãúm taûi xung âäöng häö tiãúp theo sau khi coï xung GATE = 1. Chãú âäü 2 - Taûo ra xung coï táön säú Fin /N Biãøu âäö thåìi gian cuía chãú âäü 2 âæåüc biãöu hiãûn trãn hçnh 9.21 Taûi nhoïm xung thæï nháút CW = 14H tæïc laì ta muäún âënh nghéa chãú âäü 2 chè âoüc /ghi LSB vaì chãú âäü âãúm theo hãû 16 cho bäü âãúm säú 0 . Sau khi ghi tæì âiãöu khiãøn vaìo thanh ghi tæì âiãöu khiãøn thç OUT = 1. Tiãúp theo ta ghi LSB = 3 laì pháön tháúp cuía säú âãúm cho 1 bäü âãúm . Giaï trë naìy seî âæåüc chuyãøn vaìo bäü âãúm taûi xung âäöng häö sau. Luïc naìy GATE = 1 nãn bäü âãúm bàõt âáöu laìm viãûc. Tæì âáy bàõt âáöu quaï trçnh âãúm nægåüc. Khi bäü âãúm âaût tåïi 1 thç OUT = 0 trong thåìi gian 1 xung âäöng häö vaì quaï trçnh âãúm laûi âæåüc bàõt âáöu våïi OUT = 1 vaì våïi säú âãúm cuî. Âiãöu âoï coï nghéa laì sau khi ta naûp LSB = N vaìo bäü âãúm thç cæï sau N xung âäöng häö, ta coï åí âáöu ra OUT = 0 trong thåìi gian 1 xung âäöng häö. Taûi nhoïm xung thæï 2 ta tháúy âæåüc taïc duûng cuía xung âiãöu khiãøn cæía GATE âäúi våïi bäü âãúm. Khi bäü âãúm âang laìm viãûc vaì chæa âaût âæåüc säú âãúm maì coï xung GATE = 0 thç giaï trë hiãûn thåìi cuía bäü âãúm cuî âæåüc giæî nguyãn trong suäút thåìi gian GATE = 0. Khi GATE = 1 thç bäü âãúm laûi tiãúp tuûc âãúm luìi. Taûi nhoïm xung thæï 3 ta tháúy âæåüc hoaût âäüng cuía bäü âãúm khi noï âang âãúm vaì chæa âaût säú âãúm maì at coï xung âiãöu khiãøn naûp säú âãúm måïi. Ta tháúy bäü âãúm váùn tiãúp tuûc væoïi säú âãúm cuî, chè tåïïi khi bäü âãúm âaî âãúm âãún 1 thç säú âãúm måïi âæåüc aïp duûng . Chãú âäü 3 - taûo ra daîy xung vuäng Biãöu âäö thåìi gian cuía chãú âäü 3 âæåüc thãø hiãûn trãn hçnh 9.22 Taûi nhoïm xung thæï nháút CW = 16H tæïc laì ta muäún âënh nghéa chãú âäü 3, chè âoüc/ ghi LSB vaì chãú âäü âãúm theo hãû 16 cho bäü âãúm säú 0. Sau khi ghi tæì âiãöu khiãøn vaìo thanh ghi tæì âiãöu khiãøn thç OUT = 1. Tiãúp theo ta ghi LSB = 4 laì pháön tháúp cuía säú âãúm cho bäü âãúm. Giaï trë naìy seî âæåüc chuyãøn vaìo bäü âãúm taûi xung âäöng häö sau. Luïc naìy GATE = 1 nãn bäü âãúm bàõt âáöu ngay quaï trçnh âãúm ngæåüc. Khi bäü âãúm âaût tåïi (4/2) = 2 thç OUT = 0 trong thåìi gian (4/2) = 2 xung âäöng häö coìn laûi vaì quaï trçnh âãúm laûi âæåüc bàõt âáöu våïi OUT = 1 vaì væoïi säú âãúm cuî. Âiãöu âoï coï nghéa laì sau khi ta naûp LSB = N (säú chàôn) vaìo bäü âãúm thç cæï sau N xung häö ta coï OUT = 1 trong N/2 xung âäöng häö vaì OUT = 0 trong N/2 xung âäöng häö coìn laûi. Taûi nhoïm xung thæï 2 ta tháúy caïc bäü âãúm laìm viãûc træåìng håüp säú âãúm N laì säú leí (N = 5). Sau khi ta naûp LSB = N vaìo bäü âãúm thç cæï sau N xung âäöng häö ta coï OUT = 1 trong (N/2)+1 xung âäöng häö vaì OUT = 0 trong N/2 xung âäöng häö coìn laûi. Taûi nhoïm xung thæï 3 ta tháúy âæåüc hoaût âäüng cuía bäü âãúm khi noï âang âãúm maì ta coï xung GATE = 0. Ta tháúy bäü âãúm khäng thay âäøi näüi dung chæìng naìo coìn coï GATE = 0 . Sau khi GATE = 1 noï laûi tiãúp tuûc âãúm luìi tæì giaï trë hiãûn thåìi . Chãú âäü 4 :Taûo ra xung cho pheïp bàòng chæång trçnh Biãøu âäö thåìi gian cuía chãú âäü 4 âæåüc thãø hiãûn trãn hçnh 9.23 Taûi nhoïm xung thæï nháút. CW = 18H tæïc laì ta muäún âënh nghéa chãú âäü 4. Chè âoüc/ghi LSB vaì chãú âäü âãúm theo hãû 16 cho bäü âãúm säú 0. Sau khi ghi tæì âiãöu khiãøn vaìo thanh ghi tæì âiãöu khiãøn thç OUT = 1. Tiãúp theo ta ghi LSB = 3 laì pháön tháúp cuía säú âãúm cho bäü âãúm. Giaï trë naìy seî âæåüc chuyãøn vaìo bäü âãúm taûi xung âäöng häö sau luïc naìy GATE = 1 nãn bäü âãúm bàõt âáöu ngay quaï trçnh âãúm ngæåüc. Khi bäü âãúm âaût tåïi 0 thç OUT = 0 trong thåìi gian 1 xung âäöng häö vaì quaï trçnh âãúm luìi tiãúp tuûc tæì FFFFH våïi OUT = 1. Tæïc laì nãúu ta naûp säú âãúm N thç sau N +1 xung âäöng häö ta seî coï âæåüc xung cho pheïp têch cæûc tháúp keïo daìi 1 xung âäöng häö. Taûi nhoïm xung thæï 2 ta tháúy âæåüc taïc duûng cuía xung âiãöu khiãøn (måí cæía ) cuía GATE âäúi våïi bäü âãúm. Sau khi bäü âãúm âæåüc naûp säú âãúm noï váùn chæa laìm viãûc chæìng naìo chæa coï xung GATE = 1 . Taûi nhoïm xung thæï 3 ta tháúy âæåüc hoaût âäüng cuía bäü âãúm khi noï âang âãúm vaì chæa âaût säú âãúm maì ta coï xung âiãöu khiãøn naûp säú âãúm måïi. Ta tháúy bäü âãúm seî âæåüc naûp säú âãúm måïi vaì noï bàõt âáöu âãúm luìi taûi xung âäöng häö tiãúp ngay sau âoï. Chãú âäü 5 - Taûo ra xung cho pheïp bàòng xung âiãöu khiãøn GATE Biãøu âäö thåìi gian cuía chãú âäü 5 âæåüc thãø hiãûn trãn hçnh 9.24 Taûi nhoïm xung thæï nháút CW = 1 AH tæïc laì at muäún âënh nghéa chãú âäü 5, chè âoüc/ghi LSB vaì chãú âäü âãúm theo hãû 16 cho bäü âãúm säú 0. Sau khi ghi tæì âiãöu khiãøn vaìo thanh ghi tæì âiãöu khiãøn OUT = 1. Tiãúp theo ta ghi LSB = 3 laì pháön tháúp cuía säú âãúm cho bäü âãúm. Luïc naìy GATE = 0 nãn bäü âãúm chæa laìm viãûc. Khi coï xung kêch GATE = 1 Hçnh 9.20. Thê duû biãøu âäö thåìi gian cuía 8254 åí chãú âäü 1 Ghi chuï: Sæû thay âäøi cuía xung GATE phaíi xaíy ra træåïc khi bäü âãúm âaût säú âãúm êt nháút laì 2 xung. Hçnh 9.21. Thê duû biãøu âäö thåìi gian cuía 8254 åí chãú âäü 2 thç åí chu kyì âäöng häö sau :Bäü âãúm âæåüc xuáút phaït âãø bàõt âáöu quaï trçnh âãúm ngæåüc. Khi bäü âãúm âaût tåïi 0 thç OUT = 0 trong thåìi gian mäüt xung âäöng häö vaìo quaï trçnh âãúm luìi tiãúp tuûc tæì FFFFH våïi OUT = 1 Nãúu khäng coï xung GATE = 1 måïi. Tæïc laì, nãúu ta naûp säú âãúm laì N vaì xuáút phaït bäü âãúm bàòng xung GATE = 1 thç sau N + 1 thç xung âäöng häö ta seî coï âæåüc xung cho pheïp têch cæûc tháúp keïo daìi 1 xung âäöng häö. Taûi nhoïm xung thæï 2 ta tháúy âæåüc taïc duûng cuía xung âiãöu khiãøn (måí cæía) cuía GATE âäúi våïi bäü âãúm khi noï âang âãúm luìi vaì chæa âaût säú âãúm. Khi coï xung GATE = 1 bäü âãúm âæåüc naûp laûi säú âãúm cuî vaì noï bàõt âáöu âãúm luìi taûi xung âäöng häö tiãúp theo sau âoï. Taûi nhoïm xung thæï 3 ta tháúy âæåüc hoaût âäüng cuía bäü âãúm khi noï âang âãúm vaì chæa âaût säú âãúm maì ta coï xung âiãöu khiãøn naûp säú âãúm måïi. Luïc âáöu, Xung GATE = 1 seî xuáút phaït hoaût âäüng cuía bäü âãúm nhæ thæåìng lãû. Khi coï lãnhj naûp säú âãúm måïi bäü âãúm váùn tiãúp tuûc âãúm luìi våïi säú âãúm cuî, chè tåïi khi bäü âãúm nháûn âæåüc xung måí cæía måïi GATE = 1 thç säú âãúm måïi måïi âæåüc aïp duûng, táút nhiãn laì våïi thåìi gian trãù laì mäüt xung âäöng häö. Mäüt âiãöu chung nháút cáön noïi thãm laì : Âãø âæa tæì âiãöu khiãøn hoàûc säú âãúm vaìo caïc bäü âãúm ta seî phaíi duìng caïc lãûnh sau : + Lãûnh MOV âãø naûp tæì âiãöu khiãøn vaìo thanh ghi AL + Lãûnh OUT âãø âæa näüi dung thanh ghi AN ra cäøng tæång æïng våïi thanh ghi tæì âiãöu khiãøn hoàûc thanh ghi säú âãúm cuía bäü âãúm. Âoüc säú âãúm trong 8254 Bçnh thæåìng ta coï thãø âoüc âæåüc giaï trë tæïc thåìi cuía caïc bäü âãúm bãn trong maûch 8254 ngay caí khi noï âang hoaût âäüng maì khäng laìm aính hæåíng tåïi näüi dung cuía bäü âãúm. Âiãöu naìy coï âæåüc laì nhåì åí âáöu ra cuía caïc bäü âãúm coï caïc màût chäút vaì ta coï thãø duìng lãûnh âãø chäút näüi dung cuía bäü âãúm laûi räöi sau âoï âoüc ra . Láúy bäü âãúm 0 cuía maûch 8254 våïi âëa chè cå baín FF00H laìm vê duû, caïc lãûnh chênh âãø âoüc näüi dung tæïc thåìi cuía bäü âãúm 0 coï thãø nhæ sau: MOV AL,40H ;CW âãø chäút vaì âoüc bäü âãúm 1 MOV DX,0FF03H ;DX chæïa âëa chè cuía CWR OUT DX,AL ; MOV DX,0FF01H ;DX chæïa âëa chè cuía bäü âãúm 1 IN AL,DX ;Âoüc LSB cuía bäü âãúm MOV AH,AL ;Cáút tam LSB IN AL,DX ; Âoüc MSB cuía bäü âãúm XCHG AH,AL ;AX chæïa giaï trë tæïc thåìi khi bäü âãúm nháûn âæåüc lãûnh chäút thç giaï trë tæïc thåìi cuía noï taûi thåìi âiãøm âoï âæåüc chäút laûi. Sau khi âoüc xong thanh ghi säú âãúm thç maûch chäút seî laûi chæïa giaï trë hiãûn taûi cuía bäü âãúm. Maûch 8254 coìn cho pheïp chãú âäü âoüc ngæåüc (Read-back) âãø láúy âæåüc giaï trë tæïc thåìi cuía säú âãúm vaì mäüt säú thäng säú khaïc. Âáy chênh laì âàûc âiãøm taûo nãn sæû khaïc biãût cå baín giæîa maûch 8254 vaì 8253 hay âæåüc duìng træåïc âáy(åí 8253 ta khäng coï âæåüc khaí nàng naìy) . Daûng thæïc tæì âiãöu khiãøn cuía 8254 âãø âënh chãú âäü âoüc ngæåüc âæåüc thãø hiãûn trãn hçnh 9.25 D7 D6 D5 D4 D3 D2 D1 D0 1 1 COUNT SATUTUS CNT2 CNT1 CNT0 0 1: Choün bäü âãúm tæång æïng 0: Chäút säú âãúm cuía bäü âãúm âaî choün 0: Chäút traûng thaïi cuía bäü âãúm âaî choün Hçnh 9.25. Daûng thæïc cuía thanh ghi âiãöu khiãøn âãø âoüc ngæåüc Coï thãø nháûn tháúy ràòng nãúu duìng chãú âäü âoüc ngæåüc ta coï thãø ra lãûnh chäút caïc thäng tin cáön thiãút cho mäùi bäü âãúm hoàûc cho táút caí caïc bäü âãúm. ClK0 Out Gate0 Clk1 Out Gate1 Clk2 Out Gate2 18.,2 Hz âãún IRQ0 cuía 8259A 66278 Hz âãún DRQ0 cuía 8237A 896 Hz âãún khuyãch âaûi cho loa Cho pheïp loa kãu (tæì 8255A) 1.19318 MHz 5V Hçnh 9.26. Maûch 8254 trong caïc maïy IBM PC. Qua caïc mä taí chãú âäü laìm viãûc cuía maûch 8254 åí trãn ta tháúy æïng duûng cuía 8254 laì ráút âa daûng. Tuìy theo træåìng håüp æïng duûng cuû thãø ta coï choün âæåüc 1 chãú âäü thêch håüp . Mäüt vê duû viãûc æïng duûng maûch 8254 trong caïc maïy IBM PC âæåüc thãø hiãûn trãn hçnh 9.26 Trong maïy IBM PC bäü âãúm säú 0 âæåüc láûp trçnh âãø laìm viãûc åí chãú âäü 3 vaì âæåüc duìng vaìo viãûc taûo ra xung chuáøn cho âäöng häö thåìi gian thæûc. Xung 2.83MHZ cuía 8284 âæåüc chia 2 âãø taûo ra caïc xung âäöng häö cho 8254. Xung naìy âæåüc chia cho 65536 âãø thu âæåüc xung 18.2 Hz åí OUT0 xung OUT0 seî taûo ra yãu cáöu IRQ0 âãø hãû thäúng cáûp nháût dæî lëãu cho bäü pháûn tênh thåìi gian . Bäü âãúm säú 1 âæåüc láûp trçnh åí chãú âäü 2 âãø taûo ra xung yãu cáöu treo CPU thäng qua DMAC khi phaíi laìm tæåi DRAM. Nhæ âaî noïi åí chæång 5 viãûc laìm tæåi 1 pháön tæí nhåï cuía DRAM phaíi âæåüc thæûc hiãûn sau mäùi 15MS mäüt láön hay væoïi táöng säú 66.278HZ. Coï thãø thu âæåüc táöng säú naìy bàòng caïch láúy xung âäöng häö DK1 : 18 Bäü âãúm säú 3 âæåüc láûp trçnh åí chãú âäü 3 âãø taûo ra xung ám táön 896Hz duìng cho loa. Coï thãø thu âæåüc táön säú naìy bàòng caïch láúy xung âäöng häö DK2 : 1331 6. Phäúi gheïp CPU våïi maûch thäng tin näúi tiãúp 8250 vaì 8254 Truyãön thäng näúi tiãúp Træåïc khi noïi vãö viãûc phäúi gheïp CPU våïi caïc maûch thäng tin näúi tiãúp ta phaíi giåïi thiãûu qua xem thäng tin näúi tiãúp laì gç caïc khaïi niãûm cå baín vaì cå chãú hoaût âäüng cuía phæång phaïp thäng tin naìy . Nhæ ta âaî biãút åí caïc chæång træåïc . Viãûc truyãön thäng tin giæîa caïc bäü pháûn nàòm gáön nhau trong hãû thäúng vi xæí lyï coï thãø thæûc hiãûn thäng qua bus song song måí räüng hoàûc qua caïc maûch phäúi gheïp song song trong âoï caïc byte hoàûc âæåüc chuyãøn tæì bäü pháûn naìy sang bäü pháûn khaïc trãn mäüt táûp caïc âæåìng dáùn bàòng maûch in hoàûc dáy caïp trong træåìng håüp cáön phaíi truyãön thäng tin giæîa caïc thiãút bë åí caïch xa nhau, ta khäng thãø duìng caí táûp caïc âæåìng dáy nhæ trãn maì phaíi coï caïch truyãön khaïc âãø laìm sao tiãút kiãûm âæåüc säú âæåìng dáy dáùn cáön thiãút cho viãûc truyãön . Tæì yãu cáöu trãn ra âåìi phæånng phaïp truyãön thäng tin näúi tiãúp, tên hiãûu näúi tiãúp sau âoï âæåüc truyãön âi liãn tiãúp tæìng bit trãn mäüt âæåìng dáy (nhæ âæåìng âiãûn thoaûi chàóng haûn) . ÅÍ âáöu thæ tên hiãûu näúi tiãúp seî âwocj biãún âäøi ngæåüc laûi âãø taïi taûo hiãûu daûng song song thêch håüp cho viãûc xæí lyï tiãúp theo . Trong thæûc tãú coï 2 phæång phaïp truyãön thäng tin kiãøu näúi tiãúp : âäöng bäü vaì khäng âäöng bäü . Trong phæång phaïp truyãön âäöng bäü. Dæî liãûu âæåüc truyãön theo tæìng maíng (khäúi ) vaì mäüt täúc âäü xaïc âënh. Maíng dæî liãûu træåïc khi âæåüc truyãön âi seî âæåüc gàõn thãm åí âáøu maíng vaì åí cuäúi maíng. Caïc Byte (hoàûc mäüt nhoïm bit) âaïnh dáúu âàûc biãût. Hçnh 9.27 biãøu diãùn khuän màût mäüt baín in âãø truyãön âäöng bäü theo giao thæïc BISINC (giao thæïc truyãön thäng tin âäöng bäü, binary synchonous communication protocol). Âáy thæûc cháút laì giao thæïc âiãöu khiãøn theo Byte vç caïc Byte âàûc biãût âæåüc duìng âãø âaïnh dáúu caïc pháön khaïc nhau trong baín tin. SYN SYN SOH HEADER STX TEXT ETXhayETB BCC Chiãöu cuía doìng dæî liãûu SYN: Kyï tæû âäöng häö TEXT:thán vàn baín SOH kyï tæ bàõt âáöu pháönmaìo âáöu ETX: kyï tæû kãút thuïc vàn baín HEADER: pháön maìo âáöu ETB:kyï tæû kãút thuïc khäúi vàn baín STX: Kyï tæû bàõt âáöu vàn baín BCC: Kyï tæû kiãøm tra khäúi. Hçnh 9.27. Khuän daûng cuía baín tin truyãön âäöng bäü Trong caïch truyãön thäng âäöng bäü, dæî liãûu âæåüc truyãön âi theo tæìng kyï tæû . Kyï tæû cáön truyãön âi âæåüc gàõn thãm 1 bit âaïnh dáúu åí âáöu âãø baïo bàõt âáöu kê tæû laì mäüt hoàûc 2 bit âaïnh dáu åí cuäúi âãø baïo kãút thuïc kê tæû . Vç mäùi kê tæû âæåüc nháûn daûng riãng biãût nãn noï coï thãø âæåüc truyãön âi vaìo báút kç luïc naìo tæïc laì giæîa caïc kê tæû truyãön âi coï thãø coï caïc khoaíng caïch vãö thåìi gian. Daûng thæïc cuía dæî liãûu truyãön âi theo phæång phaïp khäng âäöng bä âæåüc thãø ü hiãûn trãn hçnh 9.28 . Chiãöu cuía doìng dæî liãûu Luän åí mæïc tháúp Luän åí mæïc cao Tuìy theo loaûi maì âæåüc choün duìng trong khi truyãön (baudot ASCII, EBÂCIC) âoü daìi cho maî kê tæû coï thãø laì 5.6.7.8 bit. Tuìy theo hãû thäúng truyãön tin bãn caûnh caïc bit maì dæî liãûu coï thãø tuìy choün coï hay khäng coï 1 bit parity âãø kiãøm tra läùi khi truyãön. Coï thãø tuìy choün 1 hoàûc 2 bit STOP. Nhæng bàõt buäüc phaíi coï 1 bit start. Nhæ váûy âãø truãön âi 1 kê tæû theo phæång phaïp khäng âäöng bäü, ngoaìi kê tæû mang tin ta phaíi truyãön thãm êt nháút laì 2 vaì nhiãöu nháút laì 4bit phuû âãø taûo ra khung cho kê tæû âoï .Vç thãú phæång phaïp truyãön naìy tuy âån giaín nhæng coï hiãûu suáút khäng cao. Täúc âäü truyãön dæî liãûu theo phæång phaïp näúi tiãúp âæåüc âo bàòng bit/CT. Ngoaìi ra ngæåìi ta cuîng hay duìng âån vë bout. Âoï laì giaï trë nghëch âaûo cuía thåìi gian giæîa caïc láön thay âäøi mæïc tên hiãûu, våïi dæî liãûu chè co hai mæïc (0vaì1)vaì mäùi thay âäøi mæïc tên hiãûu chè maî hoaï mäüt bit thç coï thãø hiãøu baut=bit/s.caïc giaï trë täúc âäü truyãön thæåìng gàûp trong thæûc tãú laì 110.150.300.600.1.200.2.400.4.800.9.600 19.200 baut Âãø taûo âiãöu kiãûn dãù daìng cho viãûc phäúi gheïp âæåìng truyãön näúi tiãúp våïi hãû vi xæí lyï vaì âãø giaím täúi âa caïc maûch phuû thãm åí ngoaìi . ngæåìi ta âaî chãú taûo ra caïc vi maûch täø håüp cåî låïn láûp trçnh coï khaí nàng hoaìn thaình caïc cäng viãûc cáön thiãút trong khi phäúi gheïp âoï laì caïc maûch thu phaït dë bäü vaûn nàng (N8250/16450 cuía National Semiconductor universal asynchronous receiver - transmitter USART) vaì maûch thu phaït âäöng bäü - dë boí vaûn nàng 8251A cuía Intel (universal synchronous - asynchronous receiver - transmitter USART). Ngay nhæ tãn goüi âaî cho tháúy maûch 8251A vãö màût chæïc nàng âaî bao gäöm caí maûch 8250A bãn trong noï . Våïi caïc maûch phäúi gheïp nhæ trãn, viãûc truyãön tin dë bäü chàóng haûn seî âæåüc thæûc hiãûn nhåì 1URAT åí âáöu phaït vaì 1 URAT khaïc åí âáöu thu. Khi coï kê tæû âãø phaït 8251A taûo ra khung cho kê tæû bàòng caïch gàõn thãm vaìo maî kê tæû caïc bit start , parity vaì stop vaì gæè liãn tiãúp tæìng bit ra âæåìng truyãön. Bãn phêa thu, 1 8521A khaïc seî nháûn kê tæû thaïo boí khung, kiãøm tra parity , räöi chuyãøn sang daûng song song âãø CPU âoüc. Caïc tên hiãûu näúi tiãúp våïi daûng xung nhæ nhæ trãn hçnh 9.27 hoàûc 8.28 coï phäø biãún ráút räüng nãn âãø truyãön âæåüc thäng tin âi xa trãn âæåìng âiãûn thoaûi våïi daîi táöng coï haûn åí âáöu phaït caïc xung 0.1 phaíi âæåüc âiãöu chãú thaình caïc xung ám táön âãø truyãön âi. Coìn âáöu thu caïc xung ám táön phaíi âæåüc giaíi âiãöu chãú âãø âæåüc khäi phuûc laûi tên hiãûu säú ban âáöu. Thiãút bë hoaìn thaình viãûc naìy coï tãn laì modem (viãút tàõc tæì chæî modulator : Bäü âiãöu chãú vaì demodulatdor : Bäü giaíi âiãöu chãú). Vç váûy âãø coï thãø truyãön thäng tin näúi tiãúp giæîa caïc thiãút bë ta cáön näúi chung våïi nhau theo caïch thæïc trãn hçnh 9.29. Caïc tên hiãûu trãn hçnh 2.29 laì mäüt pháön cuía caïc tên hiãûu duìng trong chuáøn phäúi gheïp quäúc tãú trong truyãön dæî liãûu RS 323C. Caïch hoaût âäüng cuía truyãön dæî liãûu theo så âäö nhæ sau : + Luïc bàõt âáöu laìm viãûc DTE1 âæa ra xung DTR=0 âãø baïo cho CDEt biãút laì noï sàông saìng laìm viãûc. DCE1 cuîng váûy, khi bàõt âáöu laìm viãûc noï âæa ra xung DSR=0 âãø baïo cho DTE1 biãút laì noï sàôn saìng thu phaït thäng tin. Sau âoï DCE1 âæåüc âiãöu khiãøn âãø phaït xung goüi sang phêa bãn kia. + Nãúu DTE2 sàôn saìng laìm viãûc noï seî gåíi traí låìi sang phêa DTE1 nhæîng xung ám táöng. DTE : Data terminal equipment (thiãút bë âáöu cuäúi coï dæî liãûu cáön thu/phaït). DCE : Data Communication equipment (thiãút bë thäng tin âãø truyãön dæî liãûu âi xa) RTS : Request to Send (0 : thiãút bë âáöu cuäúi coï kyï tæû cáön truyãön) CTS : Clear to Send (0 : thiãút bë thäng tin sàôn saìng truyãön) DTR : Data terminal ready (0 : thiãút bë âáöu cuäúi sàôn saìng laìm viãûc) DSR : Data Set Ready (0 : thiãút bë thäng tin sàôn saìng laìm viãûc) CD : Carrier Detect (0 : thiãút bë thäng tin tçm tháúy soïng maûng âaî liãn laûc âæåüc våïi phêa bãn kia) RxD : Dæî liãûu thu TxD : Dæî liãûu phaït Hçnh 9.29 Maûch truyãön dæî liãûu bàòng modem trãn âæåìng dáy âiãûn thoaûi. + Khi DTE1 coï kyï tæû cáön gåíi, noï âæa ra RTS=0, DCE1 seî âæa ra CD=0 âãø baïo laì âæåìng truyãön âaî thäng vaì khi noï ssaîn saìng nháûn dæî liãûu âãø chuyãøn âi noï seî âæa ra CTS=0. Nháûn âæåüc thäng tin naìy DTE1 gåíi caïc kyï tæû sang DCE1. Sau khi truyãön xong DTE1 âæa ra RTS=1 âãø kãút thuïc. DCE1 cuîng kãút thuïc cäng viãûc vaì âæa ra CTS=1. Hçnh9.30 Phäúi gheïp UART qua âáöu caïp chuáøn RS 232C. Trong thæûc tãú giæîa TDE vaì DCE thæåìng coï caïc dáy caïp vaì âáöu näúi caïp theo tiãu chuáøn RS 232C. Trãn hçnh 9.30 laì vê duû så âäö näúi âån giaín CPU-UART våïi MODEM qua caïc âáöu caïp chuáøn RS 232C bàòng caïc bäü khuyãúch âaûi âæåìng dáy phaït MC 1488 vaì khuyãúch âaûi âæåìng dáy thu MC 1489. Maûch USART 8251A Trong pháön naìy ta seî giåïi thiãûu maûch 8251A, âoï laì maûch USART coï thãø duìng cho hai kiãøu truyãön thäng tin näúi tiãúp âäöng bäü. Så âäö khäúi cuía maûch 8251A cuía Intel âæåüc biãøu diãùn trãn hçnh 9.31. Caïc tên hiãûu cuía maûch 8251A háöu hãút laì giäúng tên hiãûu cuía 8088 hoàûc caïc tên hiãûu tiãu chuáøn cuía RS 232C âaî nãu træåïc âáy. Chán choün voí cuía 8251A phaíi âæåüc näúi våïi âáöu ra cuía mäüt maûch giaíi maî âëa chè âãø âàût maûch 8251A vaìo mäüt âëa chè cå baín naìo âoï. Caïc tên hiãûu cáön âæåüc giaíi thêch thãm gäöm: + CLK [I] : Chán näúi âãún xung âäöng häö cuía hãû thäúng. + TxRDY [0] : Tên hiãûu baïo âãûm giæî räùng (sàôn saìng nháûn kyï tæû måïi tæì CPU) + RxRDY [0] : Tên hiãûu baïo âãûm thu âáöy ( coï kyï hiãûu nàòm chåì CPU âoüc vaìo) + TxEMPTY [0] : Tên hiãûu baïo caí âãûm thu vaì âãûm phaït âãöu räùng. + C/D [I] : CPU thao taïc våïi thanh ghi lãûnh / thanh ghi dæî liãûu cuía 8251A , khi C/D=1 thç thanh ghi lãûnh âæåüc choün laìm viãûc. Chán naìy thæåìng âæåüc näúi våïi A0 cuía bus âëa chè âãø cuìng våïi caïc tên hiãûu WR vaì RD choün ra 4 thanh ghi bãn trong 8251A. + RxC [I] vaì TxC [I] : Xung âäöng häö cung cáúp cho caïc thanh ghi dëch cuía pháön thu vaì pháön phaït. Thæåìng 2 thanh naìy näúi chung âãø pháön thu vaì pháön phaït laìm viãûc våïi cuìng táöng säú nhëp. Táön säú cuía caïc khung âäöng häö âæa âãún chán RxC vaì TxC âæåüc choün sao cho laì bäü säú ( cuû thãø laì gáúp 1, 16 hoàûc 64 ) cuía täúc âäü thu hay täúc âäü phaït theo yãu cáöu. + SYNDET/BRKDET [O]: khi 8251A laìm viãûc åí chãú âäü khäng âäöng bäü, nãúu R x D = 0 keïo daìi hån thåìi gian cuía 2 kyï tæû thç chán naìy coï mæïc cao âãø baïo laì viãûc truyãön hoàûc âæåìng truyãön bë giaïn âoaûn. Khi 8251A laìm viãûc åí chãú âäü âäöng bäü, nãúu pháön thu tçm tháúy kyï tæû âäöng bäü rong baín tin thu âæåüc thç chán naìy coï mæïc cao. Âãûm åí pháön phaït cuía maûch 8251A laì loaûi âãûm keïp, bao gäöm âãûm giæî vaì âãûm phaït. Trong khi 1 kyï tæû âang âæåüc chuyãøn âi åí âãûm phaït thç mäüt kyï tæû khaïc coï thãø âæa tæì CPU sang âãûm giæî. Caïc tên hiãûu T x RDY vaì T x EMPTY seî cho biãút traûng thaïi cuía caïc âãûm naìy khi maûch 8251A hoaût âäüng. Khi âãûm åí pháön thu âáöy thç seî coï tin shiãûu R x RDY = 1. Nãúu cho âãún khi pháön thu nháûn âæåüc kyï tæû måïi maì CPU khäng këp thåìi âoüc âæåüc kyï tæû cuî seî bë máút do bë âeì båíi kyï tæû måïi nháûn âæåüc. Hiãûn tæåüng naìy goüi laì thu âeì. Caïc thanh ghi bãn trong cuía 8251A Nhæ âaî noïi åí trãn chán C/D (giaíi sæí noï âæåüc näúi vaìo A0 cuía bus âëa chè) cuìng caïc tên hiãûu WR vaì RD seî choün ra 4 thanh ghi bãn trong cuía maûch USART, thanh ghi âãûm dæî liãûu thu, thanh ghi âãûm dæî liãûu phaït, thanh ghi traûng thaïi vaì thanh ghi âiãöu khiãøn (xem baïnh 9.2) Baïnh 9.2 choün caïc thanh ghi bãn trong cuía 8251A A0 RD WR Choün ra 0 0 1 Thanh ghi âãûm dæî liãûu thu 0 1 0 Thanh ghi âãûm dæî liãûu phaït 1 0 1 Thanh ghi traûng thaïi 1 1 0 Thanh ghi âiãöu khiãøn Våïi cuìng mäüt âëa chè cuía thanh ghi âiãöu khiãøn ta coï thãø thám nháûp âæåüc 2 thanh ghi khaïc nhau: thanh ghi chãú âäü vaì thanh ghi lãûnh. Sau khi coï xung reset thç ta phaíi ghi liãn tiãúp tæì chãú âäü räöi theo sau laì tæì lãûnh vaìo âëa chè daình cho thanh ghi âiãöu khiãøn âãø âënh nghéa caïc chãú âäü vaì phæång thæïc laìm viãûc cuía maûch 8251A. Thanh ghi tæì chãú âäü : Daûng thæïc cuía thanh ghi tæì chãú âäü âæåüc biãøu diãùn trãn hçnh 9.32 Trong tæì chãú âäü, âäúi våïi kyï tæû cáön truyãön ta coï thãø choün säú bit (kiãøu maî) cuía kyï tæû, säú bit stop vaì täúc âäü truyãön. Nãúu at coï sàôn táöng säú xung âäöng häö cho pháön thu hoàûc pháön phaït (giaí sæí laì Fdk) vaì ta muäún truyãön (thu/phaït) dæî liãûu væoïi täúc âäü X baud, ta phaíi choün hãû säú nhán täúc âäü truyãön k sao cho thoía maîn biãøu thæïc. Fdk = X.K, trong âoï X laì caïc täúc âäü truyãön tiãu chuáøn. Vê duû : nãúu ta coï táön säú xung âäöng häö phaït laì 19.200Hz vaì ta muäún truyãön dæî liãûu våïi täúc âäü 1.200 baud thç ta phaíi ghi tæì chãú âäü coï 2 bit cuäúi laì 10 âãø choün âæåüc hãû säú nhán täúc âäü truyãön laì 16, vç 1200 x 16 = 19.200. Våïi viãûc duìng táön säú âäöng häö cho pháön thu/ phaït cao hån so våïi täúc âäü truyãön ta seî giaím âæåüc läùi khi truyãön thäng tin. Táút nhiãn khi laìm viãûc åí chãú âäü âäöng bäü thç ta phaíi coï tæì chãú âäü våïi 2 bit cuäúi laì 00. I: taûo/ kiãøm tra parity chàôn 0 0 Khäng håüp lãû 0 1 1 bit 1 0 1 bit 1 1 2 bit 0 0 5 bit 0 1 6 bit 1 0 7 bit 1 1 8 bit 0 0 âäöng bäü 0 1 X1 1 0 X16 1 1 X64 Cho pheïp duìng parity D7 D6 D5 D4 D3 D2 D1 D0 S2 S1 EP PEN L2 L1 B2 B1 Säú bit stop Âäü daìi maî kyï tæû hãû säú nhán täúc âäü Hçnh 9.32 Daûng thæïc thanh ghi chãú âäü cuía 8251A Thanh ghi tæì lãûnh : Daûng thæïc cuía thanh ghi lãûnh âæåüc biãøu diãùn trãn hçnh 9.33

Các file đính kèm theo tài liệu này:

  • docMột số phối ghép cơ bản.doc
Tài liệu liên quan