CHÆÅNG 9 MÄÜ T SÄÚ PHÄÚ I GHEÏ P CÅ BAÍ N 1. Phäú i gheï p våï i baì n phêm Baì n phêm laì mäü t thiãú t bë vaì o ráú t thäng duû ng trong caï c hãû vi xæí lyï . Trong træåì ng håü p dån giaí n nháú t âoï coï thãø laì mäü t cäng tàõ c coï gàõ n phêm ( maì ta chè thæåì ng quan tám âãú n kê hiãû u trãn baì n phêm) näú i vaì o moü t chán naì o âoï cuí a bäü vi xæí lyï : åí mæï c phæï c taû p hån âoï coï thãø laì haì ng chuû c cäng tàõ c coï gàõ n phêm âæåü c täø chæï c theo mäü t ma tráû n: phæï c taû p hån næî a, âoï laì mäü t hãû vi xæí lyï chuyãn duû ng quaí n lyï caí tràm cäng tàõ c coï gàõ n phêm våï i nhiãm vuû h nháû n ra phêm âæåü c goî vaì taû o maî âæa âãú n hãû vi xæí lyï . Duì âån giaí n hay mäü t täø håü p phêm, khi phäú i gheï p chuï ng våï i bäü vi xæí lyï ta cuî ng phaí i thoí a maî n mäü t säú yãu cáö u âàû c biãû t âãø âaí m baí o hãû thäú ng laì m viãû c âuï ng . Coï ráú t nhiãö u cäng tàõ c âæåü c duì ng trong phäú i gheï p våï i bäü vi xæí lyï nhæng coï thãø xãú p chuï ng vaì o hai nhoï m chênh: + cäng tàõ c coï tiãú p xuï c ccå khê ( kiãø u âiãû n tråí : âiãû n tråí thay âäø i khi áú n vaì khi nhaí phêm) + cäng tàõ c khäng coï tiãú p xuï c cå khê kiãø u âiãû n dung: âiãû n dung thay âäø i khi áú n vaì khi nhaí phêm hoàû c kiãø u hiãû u æï ng Hall: âiãû n aï p thay âäø i khi áú n vaì khi nhaí phêm). Trong caï c loaû i cäng tàõ c âoï , loaû i cäng tàõ c âiãû n tråí dæû trãn tiãú p xuï c cå khê laì ráú t thäng duû ng rong thæû c tãú . Trãn hçnh 9.1 laì caï c näú i cäng tàõ c vaì o maû ch âiãû n vaì âaï p æï ng cuí a noï khik coï læû c taï c âäü ng vaì o phêm (áú n phêm). F 1mN
+5V F Ura
t
Ura 20ms
.. t 20ms
Hçnh 9.1 Aí nh hæåí ng âäü rung cuí a cäng tàõ c
20ms
Nhçn vaì o âaï p æï ng vãö màû t cå- âiãû n cuí a cäng tàõ c trãn hçnh 9.1. ta nháû n tháú y: vç cäng tàõ c laì mäü t hãû thäú ng coï quaï n tênh, do âoï khi ta áú n phêm vaì nhaí phêm, xugn âiãû n thu âæåü c åí âáö u ra cuí a noï khäng phaí i liãn tuû c maì bë ngàõ t quaî ng taû i caï c giai âoaû n quaï âäü ( luï c bàõ t âáö u áú n phêm vaì luï c bàõ t âáö u nhaí phêm). Âiãö u naì y xaí y ra laì do trong kãú t cáú u cuí a cäng tàõ c coï caï c bäü pháû n âaì n häö i, khi bë taï c däü ng cuí a læû c bãn ngoaì i caï c kãú t cáú u âäü ng cuí a cäng tàõ c bë dao âäü ng laì m cho bãö màû t tiãú p xuï c cuí a cäng tàõ c bë biãú n âäø i. Trong thæû c tãú thç mäù i quï a trçnh quaï âäü trãn keï o daì i khoaí ng 10 -20 ms. Nãú u trong thåì i kç quaï âäü ta âoü c thäng tin tæì caï c cäng tàõ c thç ráú t dãù nháû n âæåü c thäng tin sai lãû ch traû ng thaï i cuí a cäng tàõ c, vç váû y ngæåì i ta thæåì ng chåì khoaí ng 10-20 ms sau khi cängt tàõ c bë áú n hay nhaí âãø âoü c traû ng thaï i cuí a cäng tàõ c trong giai âoaû n xaï c láû p. Khi mäü t cäng tàõ c âæåü c näú i træû c tiãú p vaì mäü t chán naì o âoï cuí a bäü vi xæí lyï hoàû c caï c maû ch phuû tråü , coï mäü t caï ch khaï c âãø traï nh caï c hiãû u æï ng khäng mong muäú n coï thãø taï c âäü ng lãn hoaû t âäü ng cuí a bäü vi xæí lyï do cäng tàõ c bë rung gáy laì duì ng caï c maû ch têch phán näú i bãn caû nh cäng tàõ c nhæ trong træåì ng håü p taû o tên hiãû u cho âáö u vaì o RESET cuí a hãû vi xæí lyï ( xem hçnh 5.6). Tiãú p theo ta xeï t truåì ng håü p mäü t säú cäng tàõ c nháú t âënh âæåü c täø chæï c theo ma tráû n gäö m caï c haì ng vaì caï c cäü t âãø taû o thaì nh baì n phêm cho mäü t hãû vi xæí lyï . Våï i täø ng säú phêm khoí ang 20-30 ( baì n phêm HEXA) thç âoï laì truåì ng håü p thæåì ng tháú y trong caï c hãû thäú ng nhoí : caï c maï y vi tênh tr ãn mäü t baí ng maû ch in hoàû c caï c baí ng maû ch âiãö u khiãø n nhoí (hay âæåü c goü i laì “ kit” ). Trong caï c maï y tênh caï nhán nhæ IBM PC chàó ng haû n thç säú phêm coï thãø laì tæì 80-101 phêm tuì y theo thãú hãû maï y. Âãø nháû n âæåü c thäng tin chênh xaï c vãö traû ng thaï i cuí a mäü t phêm trong caï c hãû thäú ng nhæ váû y ta phaí i thæåì ng laì m 3 khäú i cäng viãû c sau: +Phaï t hiãû n coï áú n phêm. + Chåì cäng tàõ c åí traû ng thaï i äø n âënh( chäú ng rung). +Tçm phêm âæåü c áú n vaì taû o maî cho phêm âoï . Vaì âãø coï âæåü c mäü t phäú i gheï p baì n phêm våï i bäü vi xæí lyï thæû c hiãû n caï c chæï c nàng âaî nãu åí trãn trong thæû c tãú ngæåì i ta coï thãø laì m theo 2 caï ch: + duì ng bäü vi xæí lyï âãø quaí n lyï træû c tiãú p baì n phêm gheï p qua mäü t säú maû ch cäø ng. Coï thãø nháû n tháú y ràò ng åí dáy CPU laì m viãû c theo chãú âäü thàm doì . Bàò ng caï ch naì y CPU phaí i âãø mäü t pháö n thåì i gian âãø quaí n lyï baì n phêm nhæng ta laû i âaû t âæåü c sæû âån giaí n vãö pháö n cæï ng.
+ duì ng mäü t maû ch quaí n lyï baì n phêm chuyãn duû ng âãø phäú i gheï p våï i baì n phêm. ÅÍ âáy CPU laì m viãû c våï i bäü quaí n lyï baì n phêm qua yãu cáö u ngàõ t. Bàò ng caï ch naì y ta coï thãø giaí i phoï ng CPU âãø noï daì nh thåì i gian cho caï c viãû c khaï c quan troü ng hån.
Cäø ng ra 00
10K C D E F
D0 D1
CPU
+5V
D2 D3
0
1
2
3
D7 D6 D5 D4 D3 D2 D1 D0
Cäø ng vaì o 01
Hçnh 9.2. Maû ch phäú i gheï p baì n phêm • CPU træû c tiãú p quaí n lyï baì n phêm Trong caï ch laì m naì y, âãø âån giaí n trong trçnh baì y, ta giaí thiãú t baì n phêm hãû 16 gäö m 16 cäng tàõ c- phêm âaï nh dáú u tæì 0 - FH gheï p våï i bäü vi xæí lyï thäng qua caï c maû ch cäø ng nhæ trãn hçnh 9.2. Caï c maû hc cäø ng coï thãø laì caï c maû ch IC nhæ 74LS373 hoàû c mäü t pháö nn cuí a PPI 8255A âæåü c láû p trçnh thêch håü p. Thuáû t toaï n cuí a chæång trçnh âiãö u khiãø n viãû c phäú i gheï p CPU - baì n phêm theo så âäö pháö n cæï ng noï i trãn âæåü c trçnh baì y bàò ng læu âäö trãn hçnh 9.3.
Âáö u tiãn ta phaí i kiãø m tra tçnh traû ng (täú t, xáú u) cuí a baì n phêm khi noï chæa âæåü c áú n ( âuï ng ra laì khi ta chæa këp áú n phêm naì o hoàû c chæa këp áú n phêm tiãú p theo) xem coï phêm naì o bë keû p ( dênh ) khäng bàò ng caï ch âæa ra caï c haì ng vaì doü c caï c cäü t âãø queï t toaì n bäü caï c phêm.
Bàõ t âáö u
Âæa 0 ra mäü t haì ng Âoü c caï c cäü t
Âæa 0 ra mäü t haì ng Âoü c caï c cäü t
Phêm täú t Tçm tháú y Âoü c caï c cäü t Taû o maî phêm Coï phêm áú n Kãú t thuï c Chåì 20ms Âoü c caï c cäü t
Coï phêm áú n
Hçnh 9.3. Læu âäö thuáû t toaï n chæång trçnh phäú i gheï p baì n phêm. Nãú u coï mäü t cäng tàõ c naì o âoï näú i haì ng vaì cäü t, mæï c âiãû n aï p 0 åí haì ng seî truyãö n sang cäü t vaì ta seî âoü c âæåü c åí cäü t tæång æï ng mæï c âiãn aï p 0. Mäü t baì n phêm täú t seî khäng coï caï c tiãú p âiãø m cuí a mäü t cäng tàõ c naì âæåü c näú i trong luï c naì y vaì ta seí âoü c âæåü c mæï c 1 åí táú t caí caï c cäü t. Chæång trçnh cuí a læu âäö trãn seî bë quáø n nãú u baì n phêm cuí a ta bë dênh. Mäü t caí i tiãú n coï thãø âæåü c thãm vaì o chæång trçnh trãn âãø thoaï t ra khoí i voì ng quáø n âoï vaì thäng baï o baì n phêm bë hoí ng. Nãú u baì n phêm khäng bë hoí ng thç ta måï i âi vaì o pháö n phaï t hiãû n xem liãû u coï mäü t phêm naì o âoï bë áú n khäng. Nãú u phaï t hiãû n ra coï mäü t phêm bë áú n ta seî phaí i chåì cåî 10 ms âãø cho cäng tàõ c coï thåì i gian äø n âënh hãû thäú ng. Tiãú p theo laì ta phaí i xaï c âënh laû i xem coï âuï ng laì coï mäü t phêm naì o âoï bë áú n khäng, nãú u coï thç ta måï i tiãú n haì nh xaï c âënh cuû thãø xem âoï laì phêm naì o trong säú caï c phêm. Ta laì m viãû c naì y bàò ng caï ch âæa 0 vaì o láö n læåü t caï c haì ng vaì doü c caï c cäü t. Khi âaî biãú t toü a âäü haì ng vaì ccäü t cuí a mäü t phêm bë áú n thç cäng viãû c tiãú p theo laì taû o maî cho phêm âoï . Trong så âäö âån giaí n nhæ så âäö trãn hçnh 9.3 thç viãû c taû o maî cho phêm væì a tçm tháú y âæåü c thæû c hiãû n bàò ng caï ch âoü c 8 bêt tæì cäø ng vaì o ( 4 bit cao chæï a thäng tin vãö toü a âäü haì ng vaì 4 bit tháú p chæï a thäng tin vãö toü a âäü cäü t) räö i chuyãø n thaì nh maî hãû 16 tæång æï ng våï i phêm bàò ng caï ch tra mäü t baí ng thêch håü p. Sau âáy laì vàn baí n chæång trçnh thæû c hiãû n thuáû t toaï n âaî nãu dæû a trãn så âäö trãn hçnh 9.2 bàò ng caï ch duì ng maû ch PPI 8255A våï i âëa chè cå baí n laì 60H. Cáö n chuï yï ràò ng âáy chè laì chæång trçnh duì ng âãø mä taí thuáû t toaï n.
• Chæång trçnh 8.1. CPU- HexKeyboard cpu_kbd.asm . Model Small . Stack 100 . Data ;0 1 2 3 4 5 6 7 Key DB 77H 7BH 7DH 7EH 0B7H 0BBH 0BDH 0BEH ;8 9 A B C D E F DB 0D7H 0DBH 0D0H 0DEH 0E7H 0EBH 0EDH 0EEH PA EQU 60H PB EQU 61H
CWR EQU CW EQU .Code Main Proc MOV MOW MOW OUT CALL Xuly:...
63H 68H
;Chãú âäü 0, PA : ra ; PB & PC : vaì o
AX , @Data DS , AX AL , CW CRW, AL RD_KBD
;khåí i âáö u DS ;khåí i âáö u 8255A ;goü i chæång trçnh âoü c phêm ; caï c xæí lyï tiãú p theo
Main Endp RD_KBD Proc ; thuí tuû c âoü c vaì taû o maî cho phêm bë áú n ; Ra : AL : maî phêm, ; AH=00H khi khäng coï läù i ; AH=01 khi coï läù i PUSHF ;cáú t caï c thanh ghi PUSH BX PUSH CX PUSH DX MOV AL,00 ;âæa 0 ra moü i haì ng OUT PA, LA MOV CX, 3 ;säú láö n kiãø m tra dênh Wait_Open: IN AL, PB ;âoü c cäü t âãø kiãø m tra dênh AND AL, 0FH ;che caï c bit cao CMP AL, 0FH ;coï phêm dênh? LOOPNE Wait_Open ;âuï ng, chåì khoí i dênh JCXZ Sai ;”quaï tam ba báû n” : phêm bë keû t Wait_Pres: IN AL,PB ;âoü c cäü t âeí kiãø m tra áú n phêm AND AL, 0FH ; che caï c bit cao CMP AL, 0FH ;coï phêm áú n? JE Wait_Pres ;khäng, chåì áú n phêm MOV CX, 5880 ;Coï , trãù 20ms âãø chäú ng rung
Tre: LOOP Tre ;âoü c âãø kiãø m tra laû i phêm bë áú n IN AL, PB AND AL, 0FH ;che caï c bit cao CMP AL, 0FH ;coï phêm áú n? JE Wait_Pres ;khäng, chåì áú n phêm ; tçm phêm bë áú n MOV AL, 0FEH ;máù u bit âãø âæa 0 ra tæì ng haì ng MOV CL,AL Hgsau: OUT PA, AL AND AL, 0FH CMP AL, 0FH JNE taoma ROL CL,1 MOV AL, CL JMP Hgsau Taoma: MOV BX, 000FH IN AL, PB Tiep: CMP AL, Key[ BX] JE Thoi DEC BX JNS Tiep Thoi: MOV AL, BL MOV AH, 00 Ra: POP DX POP CX POP BX POPF RET RD_KBD Endp END Main
;cáú t máù u ;âoü c caï c cäü t vaì kiãø m tra ;âaî tçm tháú y phêm bë áú n ;âuï ng, taû o maî ;khäng tháú y, âäù i máù u ;laì m tiãú p våï i haì ng sau ;BX chè vaì o maî cuí a phêm F ;âoü c toü a âäü haì ng vaì cäü t ;âuï ng våï i maî chuáø n ;âuï ng, maî cuí a phêm trong BX ;sai, chè vaì o maî khaï c ;tçm tiãú p ;maî cuí a phêm hãû 16 trong AL ;AH âãø baï o khäng coï läù i ;láú y laû i caï c thanh ghi
;tråí vãö chæång trçnh chênh
• Duì ng maû ch chuyuãn duû ng âãø quaí n lyï baì n phên Thê duû trãn cho tháú y mäü t caï ch phäú i gheï p âån giaí n giæî a CPU vaì baì n phêm. Trong træåì ng håü p CPU coì n daì nh thåì i gian âãø laì m nhiãö u cäng viãû c
khaï c cuí a hãû thäú ng hoàû c säú læû ong phêm nhiãö u, thæåì ng ngæåì i taï æí duû ng nhæî ng maû ch quaí n lyï coï sàô n âãø laì m caï c cäng viãû c âaî nãu liãn quan âãú n baì n phêm.. Nhæ váû y bäü vi xæí lyï âæåü c giaí i phoï ng khoí i cäng viãû c queï t baì n phêm khi cáö n thiãú t noï chè viãû c âoü c maî cuí a phêm bë áú n do maû ch quaí n lyï chyãn duû ng âæa âãú n. Maû cd AY5-2376 cuí a Genneral Instrument laì mäü t vi maû ch chuyãn duû ng nhæ váû y. Noï laì m viãû c âuï ng theo caï ch cuí a mäü t chæång trçnh queï t baì n phêm maì ta âaî mä taí åí thê duû trãn vaì khi âaî taû o xong maî xho phêm bë áú n, noï âæa ra xung STB (xung cho pheï p chäú t dæî liãû u) âãø baï o cho bäü vi xæí lyï biãú t. Bäü vi xæí lyï coï thãø nháû n biãú t xung STB khi laì m viãû c theo kiãø u thàm doì (polling) hoàû c coï thãø âaï p æï ng theo xung STB theo kiãø u ngàõ t nãú u xung naì y âæåü c sæí duû ng nhæ mäü t xung taï c âäü ng âãú n âáö u vaì o yãui cáö u ngàõ t che âæåü c INTR. Maû ch AY5-2376 coì n coï khaí nàng quaí n lyï khäng nháö m láù n âäú i våï i baì n phêm ngay caí træåì ng håü p coï 2 phêm âæåü c áú n gáö n nhæ âäö ng thåì i. Mäü t træåì ng håü p âàû c biãû t cuí a viãû c quaí n lyï baì n phêm duì ng vi maû ch chuyãn duû ng laì baì n phêm cho caï c maï y IBM PC vaì caï c thiãú t bë âáö u cuäú i. Taû i âáy ngæåì i ta sæí duû ng mäü t hãû vi xæí lyï chuyãn duû ng cho cäng viãû c quaí n lyï baì n phêm. Htaû nhán cuí a hãû naì y laì vi maû ch 8048 - maï y vi tênh tr ong 1 voî , bao gäö m CPU 8 bit. ROM, RAM, cäø ng I/O vaì mäü t boü âãú m/âënh thåì i gian láû p trçnh âæåü c. Chæång trçnh trong ROM cuí a 8048 âiãö u khiãø n viãû c kiãø m tra caï c maû ch âiãû n tæí cuí a baì n phêm khi noï âæåü c näú i våï i nguäö n âiãû n vaì thæû c hiãû n viãû c queï t baì n phêm theo 3 cäng âoaû n âaî nãu åí trãn. Khi coï mäü t phêm âæåü c áú n âãú n CPU. Maî naì y âæåü c truyãö n âi dæåï i daû ng dæî liãû u näú i tiãú p âãø giaí m båï t säú âæåì ng dáy cáö n duì ng cho viãû c truyãö n tên hiãû u. Trong thæû c tãú coì n täö n taû i nhæî ng maû ch kãú t håü p caï c phoï i gheï p - âeì n LED trong mäü t vi maû ch âãø taû o thuáû n låü i cho ngæåì i sæí duû ng khi xáy dæû ng cac kit vi xæí lyï . Âoï laì træåì ng håü p maû ch 8279 cuí a Intel, mäü t vi maû ch täø håü p cåî låï n láû p trçnh âæåü c. Sau khi CPU láû p trçnh (ghi tæì âiãö u khiãø n), maû ch 8279 coï khaí nàng quaí n lyï baì n phêm theo 3 cäng âoaû n kinh diãø n âaî nãu vaì âäö ng thåì i coï khaí nàng âiãö u khiãø n bäü pháû n hiãø n thë coï nhiãö u nháú t 16 âeì n LEN 7 neï t åí chãú âäü âäü ng. 2. Phäú i gheï p våï i âeì n hiãø n thë LED ( âiäú t phaï t saï ng) Âiäú t phaï t saï ng - LED laì mäü t pháö n tæí phäú i gheï p våï i bäü vi xæí lyï åí âáö u ra ráú t thäng dung. Trong træåì ng håü p âån giaí n, âoï coï thãø laì mäü vaì i âeì n
LED âån leí âãø baï o hiãû u mäü t vaì i traû ng thaï i naì o âoï . Phæï c taû p hån âoï laì caï c âeì n LED âæåü c täø håü p thaì nh âeì n chè thë 7 neï t hoàû c nhiãö u hån âãø hiãø n thë caï c thäng tin dæåï i daû ng säú hoàû c chæí . Âãø âiãö u khiãø n âæåü c caï c âeì n LED naì y saï ng, bäü vi xæí lyï hoàû c caï c maû ch cäø ng cuí a noï cáö n âæåü c tàng khaí nàng taí i bàò ng caï c maû ch khuãú ch âaû i âãû m ( bàò ng transitor, bàò ng maû ch SN7400hay SN7406) hoàû c caï c maû ch âiãö u khiãø n âeì n LED 7 neï t chuyãn duû ng ( nhæ SN7447) âãø âaí m baí o âæa ra âæåü c tên hiãû u våï i cäng suáú t nháú t âënh cáö n thiãú t cho âeì n LED. • CPU - SN7447 - LED 7 neï t åí chãú âäü tènh Mäü t trong caï c phäú i gheï p giæî a vi xæí lyï vaì âeì n LED 7 neï t thæåì ng tháú y laì duì ng maû ch SN7447 âãø giaí i maî säú BCD ra 7 neï t vaì âãø âiãö u khiãø n bäü âeì n chè thë (xem hçnh 9.4). Âáy laì kiãø u âiãö u khiãø n âeì n LED åí chãú âäü hiãø n thë ténh våï i âàû c âiãø m laì khaï âån giaí n vãö kãú t cáú u nhæng laû i ráú t täú n nàng læåü ng: âãø thàõ p saï ng caï c neï t cuí a âeì n LED thç phaí i coï doì ng âiãû n liãn tuû c âi qua.
µP
D0-D3
MAN7 a f b g e c d
a B b B c C ’47 d D e LT f RBI BI g 150Ώ
Hçnh 9.4. Phäú i gheï p vi xæí lyï våï i LED 7 neï t thäng qua maû ch SN7447. Ta coï thãø tênh så bäü âãø coï thãø tháú y sæû tiãu täú n nàng læåü ng cuí a viãû c hiãø n thë theo caï ch naì y. Mäü t âeì n LED 7 neï t tiãu täú n nàng læåü ng nhiãö u nháú t khi noï phaí i hiãû n ra säú 8 vaì luï c naì y noï tiãu thuû doing âiãû n khoaí ng 140 mA (khoaí ng 20mA/neï t tuyì theo chuí ng loaû i0. Baí n than mäü t maû ch SN7447 khi hoaû t âoü ng cuî ng tiãu thuû doing âiãû n khoaí ng 14mA.
Nãú u tá duì ng âeì n LED naì y âãø hiãø n thë 8 chæí säú (âëa chè vaì dæî liãû u) thç riãng maû ch chè thë ta phaí i cung cáú p khoaí ng 1.5mA. • CPU 7447 - LED 7 neï t åí chãú âäü âäü ng - däö n kãnh
+5V
PA7
8255A PortA
PA2 PA1 PA0
T1
T2
MAN7 a f b g e c d
MAN7 a f b g e c d
abc
T3
T8
MAN7 a f b g e c d
MAN7 a f b g e c d
bef
g
7447
LT RBI BI
+5V
PB – PB6 8255A – Port B Bus D µP8088
Hçnh 9.5. Phäú i gheï p hiãø n thë åí chãú âäü âäü ng vaì däö n kãnh Âãø khàõ c phuû c nhæåü c âiãø m cuí a maû ch phäú i gheï p hiãø n thë tènh nhæ âaî âæåü c nãu åí trãn, ngæåì i ta thæåì ng sæí dung maû ch phäú i gheï p hiãø n thë âäü ng laì m
viãû c theo nguyãn tàõ c däö n kãnh: toaì n bäü caï âeì n hiãø n thë duì ng chung mäü t bäü âiãö u khiãø n SN7447 vaì caï c âeì n LED khäng âæåü c thàõ p saï ng liãn tuû c maì luán phiãn nhau saï ng theo mäü t chu kyì nháú t âënh. Cäng suáú t tiãu thuû nhåì thãú maì giaí m âi ráú t nhiãö u maì váù n âaû t âæåü c hiãû u quaí hiãø n thë. Så âäö maû ch phäú i gheï p naì y âæåü c thãø hiãû n trãn hçnh 9.5. Nguyãn tàõ c hoaû t âäü ng Giaï trë säú cáö n hiãø n thë cuí a mäù i con säú âæåü c gæí i âãú n cäø ng PB cuí a 8255A tæì CPU dæåï i daû ng maî BCD. Tæì âáy BCD âæåü c maû ch SN7447 giaí i maî vaì taû o ra caï c tên hiãû u âiãö u khiãø n thêch håü p âæa âãú n caï c chán catäú t a.b,... g cuí a LED. Mäù i giaï trë cáö n hiãø n thë âæåü c âæa âãú n cäø ng PB cæï mäù i 2ms mäü t láö n cho mäü t âeì n. Giaï trë säú noï i trãn âæåü c hiãû n ra trãn chæí säú tháû p phán naì o laû i laì do caï c bit cuí a byte dæî liãû u tæì CPU âæa âãú n cäø ng PA cuí a maû ch 8255A quyãú t âënh. Nhæ váû y cæï mäù i 2ms thç ta phaí i âæa dæî liãû u ra PB räö i PA vaì cho hiãû n ra mäü t giaï trë säú trãn mäü t âeì n. Nãú u caí thaí y coï 8 LED 7 neï t thç ta máú t 16ms âãø cho hiãû n säú ra caí daî y âeì n. Quaï trçnh trãn làû p âi làû p laû i (1 láö n haut 16s hay 60 láö n trong 1s) laì m cho ta coï caí m giaï c laì âeì n saï ng liãn tuû c màû c duì trong thæû c tãú chuï ng âæåü c âiãö u khiãø n âãø saï ng khäng liãn tuû c. Mäü t phæång phaï p phäú i gheï p giäú ng nhæ trãn nhæng khäng duì ng maû ch giaí i maî SN7447 cuî ng ráú t hay âæåü c sæí dung. Thay vç maû ch SN7447 nhæ trãn, taû i âáy ta duì ng mäü t bäü khuãú ch âaû i âãû m chè âãø náng cao khaí nàng taí i cuí a cäø ng PB. Vç thãú trong træåì ng håü p naì y CPU phaí i âæa âãú n PB khäng phaí i laì 4 bit maî BCD cuí a giaï trë säú hiãø n thë maì laì caï c máù u 7 bit âãø laì m saï ng caï c neï t tæång æï ng våï i giaï trë säú âoï . Nhæ váû y CPU phaí i âãø thç giåì âãø chuyãø n âäø i tæì giaï trë säú hãû 16 sang máù u bit daì nh cho caï c net cuí a LED vaì ta coï khaí nàng hiãø n thë caï c säú tæì 0 - FH . Âãø giaí phoï ng hoaì n toaì n boü vi xæí lyï khoí i cäng viãû c âiãö u khiãø n âeì n LED ta coï thãø duì ng maû ch âiãö u khiãø n 8279 âaî âæåü c noï i âãú n trong muû c træåï c. 3. Phäú i gheï p våï i maì n hçnh Trong giai âoaû n hiãû n nay, maì n hiãø n thë bàò ng tinh thãø loí ng (liquid crystal display, LCD) vaì maì n hçnh bàò ng äú ng tia âiãû n tæí hay âeì n hçnh (cathode ray tube, CRT) laì caï c thiãú t bë hiãø n thë ráú t thäng duû ng âäú i våï i maï y
vi tênh loaû i xaï ch tay hoàû c loaû i âãø baì n. Trong pháö n naì y ta chè giåï i thiãû u caï c thäng säú vaì caï c phäú i gheï p maì n hçnh loaû i CRT vaì CPU. Maû ch duì ng cho caï ch phäú i gheï p naì y coin âæåü c goü i laì bäü âiãö u khiãø n maì n hçnh (CT controller, CRTC) • Maì n hçnh hiãû n chæí (chãú âäü vàn baí n) QUEÏ T MAÌ NH VAÌ QUEÏ T DOÌ NG Âeì n hçnh thæû c cháú t laì mäü t âeì n âiãû n tæí coï hai âáö u, trong âoï mäü t âáö u coï bãö màû t loe räü ng ra âãø laì m chäø quan saï t hçnh aí nh cuí a caï c tia âiãû n tæí vaì bãn caû nh laì læåï i kim loaû i näú i våï i âiãû n aï p ráú t cao âãø gia täú c cho caï c tia âiãû n tæí phaï t ra tæì mäü t suing âàû t åí âáö u bãn kia cuí a âeì n. Bãö màû t phêa trong âáö u loe cuí a âeì n âæåü c phuí mäü t låï p hoaï cháú t( låï p huyì nh quang) coï khaí nàng phaï t saï ng khi coï âiãn tæí âáû p vaì o, maì u cuí a âeì n saï ng phaï t ra phuû thuäü c vaì o thaì nh pháö n hoaï hoü c cuí a låï p huyì nh quang. Nãú u maì n hçnh laì loaû i mäü t maì u thç trãn bãö màû t naì y chè coï mäü t cháú t huyì nh quang duy nháú t, coì n nãú u laì maì n hçnh maì u thç låï p huyì nh quang âæåü c hçnh thaì nh tæì ráú nhiãö u pháö n tæí cuí a 3 loaû i hoaï cháú t khaï c nhau, khi oï c âiãû n tæí âáû p vaì o mäù i cháú t liãû u coï thãø phaï t ra mäü t trong 3 maì u cå baí n: âoí (red,R), xanh lå hoàû c laì xanh næåï c biãø n (blue, B), vaì xanh laï cáy (green, G). Âiãû n tæí phaí i âi qua mäü t màû t naû gäö m ráú t nhiãö u läù âãø âæåü c âënh hæåï ng chênh xaï c vaì o caï c pháö n tæí phaï t maì u. Khoaí ng caï ch giæî a caï c läù trãn màû t naû (hay kêch thæåï c cuí a caï c âiãø m aí nh( pitch) trãn maì n hçnh quyãú âënh âoü phán giaí i cuí a mäü t maì n hçnh. Muäú n thãø hiãû n hçnh aí nh trãn maì n hçnh ta phaí i âiãö u khiãø n tia âiãû n tæí , âæåü c phaï t xaû ra tæì mäü t catäú t bë nung noï ng åí âuäi âeì n, di chuyãø n tæì traï i sang phaí i ( taû o ra doì ng) vaì tæì cao xuäú ng tháú p (taû o ra maì nh), âäö ng thåì i ta phaí i âiãö u chãú cæåì ng âäü cuí a tia âiãû n tæí theo âäü saï ng cuí a hçnh aí nh muäú n hiãû n trong suäú t thåì i gian tia âiãû n tæí di chuyãø n âãú n pháö n loe ra cuí a âeì n. Nhæî ng luï c tia âiãû n tæí gàû p âáö u muï t bãn phaí i cuing nhæ bãn dæåï i cuí a maì n hçnh noï seî bë tàõ t vaì âæåü c laï i ráú t nhanh theo hæåï ng ngæåü c laû i âãø laû i bàõ t âáö u quaï trçnh “ queï t “ taû o ra doì ng måï i vaì maì nh måï i. Tuyì theo caï ch thæû c hiãû n viãû c queï t ta coï thãø coï caï ch queï t 1 maì nh hay 2 maì nh xen keî . Tuyì theo caï c tiãu chuáø n khaï c nhau taï cuî ng coï caï c thäng säú vãö doì ng queï t cho mäü t maì nh, táö n säú queï t doì ng hoàû c táö n säú queï t maì nh våï i caï c trë säú khaï c nhau. Cho duì coï caï c thäng säú khaï c nhau, mäü t maì n hçnh cho maï y vi tênh thäng thæåì ng phaí i bao gäö m caï c maû ch dao âäü ng âãø taû o ra xung queï t doì ng,
xung queï t maì nh duì ng vaì o viãû c âiãö u khiãø n chuyãø n âäü ng cuí a tia âiãû n tæí vaì maû ch khuãú ch âaû i tên hiãû u hçnh âãø âiãö u khiãø n ccæåì ng âäü saï ng cuí a tia âiãû n tæí âoï . Âãø maì n hçnh naì y hiãø n thë âæåü c thäng tin, ta phaí i cung cáú p caï c tên hiãû u âäö ng bäü cho caï c bäü taû o dao âäü ng noï i trãn vaì cung cáú p tên hiãû u chæï a thäng tin vãö âäú i tæåü ng cáö n hiãø n thë (tên hiãû u hçnh) cho bäü khuãú ch âaû i aí nh . Caí 3 tên hiãû u âiãö u khiãø n naì y phaí i âæåü c âäö ng bäü våï i nhau âãø taû o ra âiãø m aí nh cuí a hçnh âæåü c hiãû n ra taû i cuì ng mäü t vë rê trãn maì n trong mäù i maì nh. CAÏ CH HIÃØ N THË KÊ TÆÛ Kê tæû hoàû c hçnh veî âæåü c hieenr thë lãn maì n hçnh bàò ng caï ch táû p håü p caï c âiãø m (âiäú t) saï ng hay täú i. Trong chãú âäü vàn baí n (text mode) Caï c âiãø m naì y âæåü c hçnh thaì nh bàò ng viãû c coï cho tia âiãû n tæí coï âáû p hay khäng âáû p vaì o maì n huyì nh quang theo mäü t khuän máù u coï sàô n, trong âoï caï c âiãø m âæåü c täø chæï c theo ma tráû n. Trãn hçnh 9.6 laì ts duû caï c ma tr áû n âiãø m duì ng laì m máù u chæï phuû c vuû cho viãû c hiãø n thë chæî E vaì chæí H trãn maì n hçnh. Cháú m âen âãø biãø u hiãû n cho nhæî ng chäø coï âiãû n tæì âáû p vaì o maì n, cháú m tràõ ng âãø biãø u hiãû n cho nhæî ng chäù khäng coï âiãû n tæí âáû p vaì o maì n hçnh (chæî tràõ ng tren nãö n âen). Âáy laì ma trán âiãø m 5x7 cho caï c kê tæû . Caï c kêch thæåï c ma trán khaï c hay âæåü c duì ng trong thæû c tãú laì 7x9, 7x12 hay 9x14. Caï c máù u nhæ váû y thæåì ng âæåü c taû o sàô n cho mäù i kê tæû ASCII vaì âæåü c chæï a trong mäü t vi maû ch nhåï ROM coï tãn laì
ROM taû o chæî .
Hçnh 9.6. Hiãn chæî E vaì H lãn maì n hçnh
Bäü chia 80*: bäü âãú m kyï tæû (80 kyï tæû /haì ng+ thåì i gian queï t ngæåü c doì ng) Bäü chia 14: bäü âãú m doì ng queï t (14 doì ng / kyï tæû ) Bäü ü chia 25*: bäü âãú m haì ng chæî (25 haì ng/maì nh + thåì i gian queï t ngæåü c maì nh) Trãn hçnh 9.7 laì så âäö khäú i cuí a mäü t maû ch âãø hiãø n thë âæåü c mäü t tang maì n hçnh vàn baí n bao gäö n 80 kyï tæû theo chiãö u ngang vaì 25 kyï tæû theo chiãö u doü c (80x25).
Taû o xung 16.257 MHz
Bäü ghi dëch
÷9 RAM âãû m ÷80
D0-D8
A0-A6
A0-A7 ROM taû o chæî
A7-11
R0-R3
÷25
÷14
Hçnh 9.7. Så âäö khäú i maû ch hiãû n chæí theo ma rán 9x14 trãn maì n hçnh Maî ASCII cuí a caï c kyï tæû thuäü c mäù i trang maì n hçnh cáö n hiãø n thë âæåü c chæï a sàô n trong mäü t bäü nhåï RAM âãû m maì n hçnh ( mäù i kyï tæû cáö n 1 byte âãø ghi nhåï maî cuí a noï ). Nãú u ta cáö n hiãø n thë mäü t trang maì n hçnh gäö m 80x25=
2000 kyï tæû thç ta cáö n duì ng âãú n mäü t bäü nhåï RAM âãû m coï dung læåü ng cåî 2KB. Näü i dung cuí a bäü nhåï RAM âãû m naì y âæåü c boü âiãö u khiãø n maì n hçnh âæa ra âënh kyì âãø laì m tæåi maì n hçnh sau 1 khoaí ng thåì i gian nháú t âënh ( nhæ váû y maì n hçnh hiãû n thë thäng tin laì m viãû c åí chãú âäü âäü ng). Trong thæû c tãú bäü nhåï RAM âãû m naì y coì n phait thám nháû p âæåü c bàò ng bäü vi xæí lyï âãø ta coì n coï 0 0 0 0 0 0 0 0 0 0 0 0 0khaí nàng thay âäø i âæåü c näü i dung cáö n thë. Caï c âëa chè A0-A6 seî xaï c âënh vë trê 0 0n 01 1 1 1 1 1 1 1 0 hiãø 1 0 tæû cáö n hiãø n thë trong 1 haì ng coì n caï c 0 1 0 0 0 0 0 1 0 cuí0 a0 kyï 0 0chè 1 1tæí A7 - A11 seî xaï c âënh toaû âäü theo cäü t 0 1 0 0 0 0 0 1 0 âëa 0 0 mäü t haì ng cáö n hiãø n thë. Noï i caï ch khaï c 0 1 0 0 0 0 0 1 0 cuí0 a1 caí 0101 0 1 1 1 1 1 1 1 0 täø håü p caï c bit âëa chè tæì A0 - A11 cuí a RAM 0110 0 1 0 0 0 0 0 0 0 âãû m seî quyãú t âënh toaû âäü cuû thãø cuí a mäü t kyï 0111 maì n hçnh. 0 1 0 0 0 0 0 0 0 tæû1 trãn 000 Trong thæû c tãú ma trán âiãø m 9x14 cuí a bäü 0 1 0 0 0 0 0 0 0 1001 ROM taû o chæî coï daû ng nhæ trãn hçnh 9.8. 0 1 0 0 0 0 0 0 0 nhåï 1010 1 c0 1doì1 ng âiãø m thæì a ra åí 4 phêa laì âãø taû o ra 0 0 0 0 0 0 0 0 0 Caï 1 1n 0caï 0 ch chæî trong haì ng vaì giaî n caï ch giæî a 0 0 0 0 0 0 0 0 0 giaî caï1c1haì 0 1ng våï i nhau. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 1 1 1 1 0 0
0 0 0 0 0 1 0 0 1 0 0 0 0 0
0 0 0 0 1 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0 1 0 0 0 0
Hçnh 9.8. Ma tráû n âiãø m 9x14 cho chæî P vaì chæî p
0 0 0 0 1 0 0 0 0 1 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
Khi ROM taû o chæî nháû n âuåü c tên hiãû u âëa chè tæì RAM âãû m thç âoï chênh laì maî ASCII cuí a kyï tæû cáö n hiãø n thëvaì mäü t ma tráû n âiãø m tæång æï ng cuí a kyï tæû âæåü c choü n âãø âæa ra maì n hçnh. Viãû c queï t caï c doì ng âiãø m trong ma trán âiãø m laì do caï c tên hiãû u queï t doì ng R3 - R0 quyãú t âënh. Giaí sæí näü i dung cuí a bäü âãú m kyï tæû luï c naì y laì 0. Kyï tæû âáö u tiãn åí goï c traï i maì n hçnh âæåü c choü n âãø hiãø n thë. Maî ASCII cuí a noï âæåü c âæa âãú n bäü nhåï RPM taû o chæí . Giaí thiãú t luï c âáö u bäü âãú m doì ng queï t coï R3 R2 R1 R0 =0000. ÅÍ âáö u ra cuí a bäü nhåï Rom taû o chæí coï doì ng âiãø m âáö u tiãn (9 âiãø m cho 1 kyï tæû ) âæåü c âæa ra bäü ghi dëch, åí âáy dæî liãû u tæì daû ng song song âæåü c biãú n thaì nh daû ng näú i tiãú p räö i âæa âãú n bäü khuãú ch âaû i våï i täú c âäü 16.257.000âiãø m/s âãø âiãö u chãú cæåì ng âäü cuí a tia âiãû n tæí phaï t ra tæì catäú t âeì n hçnh. Nãn nhåï ràò ng khi queï t doì ng queï t cho mäü t kyï tæû væì a xong thç bäü âãú m kyï tæû tæû âäü ng tàng thãm âãø ta coï thãø láú y ra doì ng âiãø m cuí a kyï tæû tiãú p theo cáö n hiãø n thë åí trong cuing mäü t haì ng. Cäng viãû c cæï tiãú p tuû c nhæ váû y cho âãú n khi thao taï c xong våï i kyï tæû 80, luï c naì y tia âiãû n tæí bë laï i ngæåü c laû i âãø bàõ t âáö u laû i quaï trçnh trãn âäú i våï i doì ng queï t tiãú p theo. Khi âaî queï t xong âæåü c 14 doì ng âiãø m cho 80 kyï tæû nhæ trãn (tæï c laì cho mäü t haì ng kyï tæû ) thç bäü âãú m kyï tæû tæû âäü ng tæng thãm 1 vaì haì ng kyï tæû tiãú p theo laû i âæåü c queï t nhæ âäú i våï i haì ng kyï tæû træåï c âoï . Quaï rçnh seî tiãú p diãù n cho âãú n khi thao taï c xong våï i haì ng kyï tæû thæï 25. Luï c naì y tia âiãû n tæí bë laï i ngæåü c laû i âãø coï thãø bàõ t âáö u laû i quaï trçnh laì m tæåi maì n hçnh tæì kyï tæû âáö u tiãn trãn goï c traï i cuí a haì ng kyï tæû thæï nháú t trãn maì n hçnh.
Bus A
ðơn kênh ñịa chỉ
CPU ñịa chỉ làm tươi
2KB RAM mã kí tự
2KB RAM mã kí tự
Bus D ðệm vào chốt ra cho bus D
tần số kí tự Chốt 8 bit
Chốt 8 bit
Bus A A0 CRTC 6845
CS
chọn dòng ñiểm
ROM tạo chữ
Ghi dịch
tần số ñiểm
Giải mã thuộc tính
Logic xử lý tín hiệu hình
Hçnh 9.9.Så âäö khäú i bäü phäú i gheï p maì n hçnh mäü t maì u cuí a IBM
MAÌ N HÇNH MÄÜ T MAÌ U CUÍ A IBM Trãn hçnh 9.9 laì så âäö khäú i cuí a vi âiãö u khiãø n maì n hçnh mäü t maì u (monochr ome display adapter , MDA ) cuí a IBM . Nhçn vaì o så âäö khäú i naì y ta coï thãø nháû n ra mäü t säú khäú i chæï c nàng âaî âæåü c giåï i thiãû u trãn hçnh 9.7. Táö n säú âiãø m 16,257 MHz âæåü c chia cho 9 åí bãn trong khäú i logic xæí lyï tên hiãû u hçnh âãø taû o r táö n säú kyï tæû 1,787,904 MHz, táö n säú naì y âæåü c âæa âãú n maû ch âiãö u khiãø n maì n hçnh CRTC 6845 âãø taû o ra caï c xung âäö ng bäü vaì caï c xung khaï c cáö n thiãú t cho viãû c laì m tæåi maì n hçnh. Maû ch CRTC coï chæï c nàng bao truì m chæï c nàng chæï c nàng cuí a caï c bäü âãú m kyï tæû , bäü âãú m säú doì ng queï t vaì bäü âãú m säú haì ng kyï tæû cuí a hçnh 9.7 cuì ng mäü t säú chæï c nàng khaï c, nhæng våï i khaí nàng hoaû t âäü ng linh hoaû t hån nhiãö u vç noï laì mäü t vi maû ch ráú t phæï c taû p láû p trçnh âæåü c. Khäú i logic xæí lyï tên hiãû u hçnh seî âæåü c xæí lyï caï c tên hiãû u tæì bäü ghi dëch cuing våï i caï c tên hiãû u âiãö u khiãø n hçnh ( âäö ng bäü dong, âäö ng bäü maì nh) âãø taû o ra tên hiãû u hçnh cuäú i cuing âæa ra âiãö u khiãø n træû c tiãú p maì n hçnh. Trong hçnh 9.9 bãn caû nh 2KB RAM âãû m chæï a caï c byte laì maî ASCII cuí a caï c kyï tæû cáö n hiãø n thë ta coì n tháú y coï 2 KB RAM âãû m khaï c duì ng âãø chæï a caï c byte thuäü c tênh cuí a caï c kyï tæû âoï .
Byte thuäü c tênh (xem hçnh 9.10. )quy âënh caï ch thæï c hiãø n thë kyï tæû âaî cho trãn maì n hçnh: âäü saï ng cuí a kyï tæû , kyï tæû hiãû n liãn tuû c hay nháú p nhaï y, quan hãû giæî a maì u nãö n vaì maì u chæî ( vê duû hiãû n bçnh thæåì ng thç chæí tràõ ng trãn nãö n âen coì n ngæåü c thç chæî âen trãn nãö n tràõ ng). Trong bäü nhåï thæû c, byte maî kyï tæû âàû t âëa chè chàô n coì n byte thuäü c tênh âaû t taû i âëa chè leí . Mäù i maî ng nhåï 2KB RAM naì y âãö u thám nháû p âæåü c tæì CPU hoàû c tæì CRTC. Âãø khäng xaí y ra xung âäü t giæî a CPU vaì CRTC trong khi thám nháû p bäü nhåï , thäng thæåì ng CPU chè âæåü c quyãö n thám nháû p vaì o caï c RAM âãû m trong thåì i gian cuí a caï c xung queï t ngæåü c hoàû c caí CRTC vaì CPU âãö u chia 1/2 thåid gian liãn tiãú p cuí a xung kyï tæû âãø thám nhaû p vaì o RAM âãû m. Âãø laì m tæåi maì n hçnh. CRTC liãn tuû c âæa âëa chè âeï n caï c ä cuí a bäü nhåï maî kyï tæû vaì bäü nhåï thuäü c tênh. Mäù i xung kyï tæû seî cho pheï p chäú t 1 byte maî kyï tæû vaì 1 byte thuäü c tênh âãø âæa âãú n bäü ROM taû o chæî vaì bäü giaí i maî thuäü c tênh. Quaï trçnh naì y seî tiãú p tuû c cho caï c kyï tæû khaï c trong trang maì n hçnh vaì cæï làû p âi làû p laû i maî i. Byte mã Byte thuộc tí nh ASCII 7 6 5 4 3 7 6 5 4 3 2 1 2 1 0 0 a) Dữ liệu trong bộ nhớ RAM ñệm Thuộc tí nh
Các bit của byte thuộc tí nh 7 65 3 21 4 0 Bì nh thường BL(chữ) Nền I Chữ ðảo BL 00 I 11 Màn ñen khô ng 0 1 chữ BL 11 I 00 Màn trắng 1 0 khô ng chữ BL 00 I 00 0 0 BL 11 I 11
1
1
b) dạng thức của byte thuộc tí nh I=1: chữ hiện ra sáng hơn BL=1:chữ nhấp nháy Hçnh 9.10. Byte maî kyï tæû vaì byte thuäü c tênh
CAÏ C XUNG NHËP VAÌ XUNG ÂÄÖ NG BÄÜ Caï c bäü phäú i gheï p maì n hçnh khaï c nhau coï táö n säú xung âäö ng bäü doì ng. Xung âäö ng bäü maì nh vaì táö n säú âiãø m khaï c nhau âeí phuì håü p våï i caï c loaû i maì n hçnh maì noï phaí i âiãö u khiãø n. Noï i chung caï c bäü phäú i gheï p maì n hçnh thäng thæåì ng coï táö n säú xung queï t doì ng maì n hçnhdaì i 15,50KHz, táö n säú xung queï t maì nh nàò m trong daî i 50 - 60 Hz vaì táö n säú âiãø m nàò m trong daî i 10 - 100 MHz Ta láú y laû i vê duû bäü âiãö u khiãø n maì n hçnh mäü t maì u cuí a IBM âãø phán têch caï c xung chênh. Hçnh 9.11 biãø u diãù n sæû phán chia thåì i gian cuí a 2 loaû i xung queï t. thời gian quét trội
Màn hình
Khung hình làm việc ( Tích cực )
thời gian quét trội
thời gian quét dòng tích cực
thời gian quét mành tích cực
thời gian quét trội và quét ngược
Hçnh 9.11. Phán chia thåì i gian caï c xung queï t doì ng vaì queï t maì nh.
Giaí thiãú t ta phaí i hiãø n thë mäü t trang maì n hçnh gäö m 80x25 kyï tæû våï i ma tráû n âiãø m 9x14. Nhæ váû y trãn khung hçnh laì m viãû c cuí a maì n hçnh ta phaí i coï 80x9=720 âiãø m/doì ng queï t vaì ta phaí i coï táú t caí 25x14=350 voì ng queï t. Nãú u ta sæí dung táö n säú âiãø m laì 16,257 MHz (16,257,000 âiãø m/s) thç våï i táö n säú doì ng 18,432 KHz (hoàû c doì ng queï t/s) ta seî coï (16,257,000âiãø m/s)/(18,432 doì ng queï t/s)=882 âiãø m/doì ng queï t. Nhæ thãú ta coï 162 âiãø m däi r, nghéa laì tæång æï ng vãö màû t thåì i gian ta coï thãm thåì i gian âãø buì vaì o caï c âoaû n queï t tr äü i (ngoaì i vuì ng laì m viãû c cuí a maì n hçnh) vaì thåì i gian queï t ngæåü c cuí a tia âiãû n tæí theo chiãö u ngang. Tæång tæû ta cuî ng coï táö n säú xung queï t màû t laì 50Hz (50 maì nh/s), våï i táö n säú doì ng 18,432 kHz (hay doì ng queï t/s) ta seî coï (18,432 doì ng queï t/s)/(50 maì nh/s)=369 doì ng queï t/maì nh. Træåï c âay ta âaî tênh âæåü c khung hçnh laì m viãû c ta chè cáö n 350 doì ng queï t/maì nh, tæï c laì coï däi thãm ra 19 doì ng queï t/maì nh. Våï i säú doì ng queï t däi ra naì y, tæång æï ng vãö màû t thåì i gian ta seî coï thãm thåì i gian âãø buì vaì o caï c âoaû n queï t tr äü i (ngoaì i vuì ng laì m viãû c cuí a maì n hçnh) vaì thåì i gian queï t ngæåü c cuí a tia âiãû n tæí theo chiãö u doü c. • Maì n hçnh âoì hoaû ( chãú âäü âäö hoaû ) MAÌ N HÇNH ÂÄÖ HOAÛ MÄÜ T MAÌ U Trong chãú âäü vàn baí n, caï c cháú m åí âáö u ra cuí a bäü ghi dëch laì hçnh aí nh cuí a caï c doì ng âiãø m cuí a caï c kyï tæû âæåü c ghi sàô n trong ROM taû o chæî . Tæång tæû nhæ váû y, âãø thãø hiãû n mäü t hçnh aí nh báú t kyì (trong âoï coï caí chæî , nhæng khäng tuán theo mäü t khuän máù u sàô n coï naì o) ta coï thãø âæa vaì o thanh ghi dëch caï c âiãø m thaì nh pháö n cuí a hçnh âoï . Âãø laì m âæåü c âiãö u naì y ta khäng cáö n âãú n bäü ROM taû o chæî næî a vaì bäü nhåï RAM âãû m luï c naì y, thay vç chæï a maî ASCII cuí a kyï tæû , ta phaí i chæï a caï c âiãø m aí nh (pixel hay pel) maì täø håü p cuí a chuï ng chênh laì hçnh aí nh cáö n phaí i thãø hiãû n. Chãú âäü laì m viãû c kiãø u naì y cuí a maì n hçnh goü i laì chãú âäü âäö hoaû , maì n hçnh hiãø n thë hçnh aí nh theo baí n âäö âiãø m
aí nh (bit-map)
Giaí thiãú t ta phaí i thãø hiãû n trãn khung hçnh laì m viãû c 640 âiãø m aí nh theo chiãö u ngang vvaì 400 âiãø m theo chiãö u doü c thç caí khung hçnh laì m viãû c naì y tæång âæång våï i mäü t ma tráû n våï i 256000 âiãø m aí nh. Nãú u âãø ghi nhåï mäù i âiãø m aí nh nhæ váû y ta cáö n 1 bit trong bäü nhåï RAM âãû m thç våï i toaì n bäü khung hçnh laì m viãû c ta cáö n âãú n bäü nhåï våï i dung læåü ng cåí 32KB. Tæì âáy ta cuî ng
nháû n tháú y ràò ng nãú u phaí i ghi nhåï thäng säú cho mäü t âiiãø m aí nh maì u thç ta phaí i täú n thãm nhiãö u ä nhåï hån so våï i cho træoì ng håü p âiãø m aí nh mäü t maì u. MAÌ N HÇNH ÂÄÖ HOAÛ MAÌ U Nhæ træåï c âáy âaî noï i, maì n hçnh (nhiãö u) maì u khaï c maì n hçnh mäü t maì u båí i sæû coï màû t cuí a caï c cum 3 pháö n tæí trong låï p huyì nh quang phuí lãn bãö màû t phêa tong cuí a âeì n hçnh, mäù i tpháö n tæí coï khaí nàng phaï t ra 1 trong caï c maì u R, B vaì G. Maì u cuí a mäü t âiãø m aí nh trãn maì n hçnh maì u laì cuí a 3 âiãø m saï ng phaï t ra tæì 3 pháö n tæí maì u âoï khi chuï ng bë 3 tia âiãû n tæí âi ra tæì 3 suï ng catäú t âeì n hçnh bàõ n vaì o. Nhæ váû y, âãø âiãö u khiãø n 1 âiãø m aí nh cuí a maì n hçnh maì u ta phaí i coï 3 tên hiãû u âãø âiãö u khiãø n 3 tia R,B vaì G. keì m thãm 1 tên hiãû u âãø âiãö u khãø n cæåì ng âäü saï ng (I) cuí a âiãø m aí nh. Maì n hçnh maì u loaû i naì y vç váû y coì n âæåü c goü i laì maì n hçnh RBG hoàû c maì n hçnh RBGI. Chuï ng thæåì ng âæåü c thiãú t kãú âãø coï thãø laì m viãû c âæåü c våï i caï c khuän hçnh hiãø n thë khaï c nhauvaì våï i caï c táö n säú cuí a caï c xung âäö ng bäü doì ng vaì maì nh nàò m trong moü t daî i nháú t âënh. Ta tháú y ngay ràò ng âãø ghi nhåï thäng tin cho mäü t âiãø m saï ng trãn maì n hçnh maì u nàò m trong bäü nhåï RAM âãû m theo kiãø u âaî laì m cho maì n hçnh mäü t maì u. A phaí i täú n tåï i 4 bit (thay vç 1 bit nhæ trong træåì ng håü p maì n hçnh 1 maì u) vaì nãú u ta phaí i hiãø n thë trãn khung hçnh laì mviãû c 640x400 âiãø m aí nh thç bäü nhåï RAM âãû m cho maì n hçnh maì u phaí i coï dung læåü ng cåî 32KBx4=96KB. I 0 0 0 0 0 0 0 0 1 1
R 0 0 0 0 1 1 1 1 0 0
G 0 0 1 1 0 0 1 1 0 0
B 0 1 0 1 0 1 0 1 0 1
Màu ðen Xanh biển Xanh lá cây Xanh da trời ðỏ Tí a Nâu Trắng Ghi. Xám Xanh biển nhạt
1 0
1
1 0
1
1 1 1 1
0 0 1 1
1 1 1 1
0 Xanh lá cây nhạt 1 Xanh da trời nhạt 0 ðỏ nhạt 1 Tí a nhạt 0 Vàng 1 Trắng chó i
Hçnh 9.12. 16maì u cuí a maì n hçnh maì u âäö hoaû CGA Våï i 4 bit âãø chæï a thäng tin vãö maì u cho mäü t âiãø m aí nh tacoï khaí nàng thãø hiãû n âæåü c âiãø m aí nh âoï våï i 16 maì u (xem hçnh 9.12) Âãø coï thãø hiãû n mäü t âiãø m aí nh våï i caï c gam maì u liãn tuû c hån ngæåì i ta âaî âæa vaì o sæí duû ng caï c maì n hçnh tæång tæû .Caï c maì n hçnh naì y âæåü c näú i qua caï c maû ch biãú n âäø i säú _tæång tæû (DAC) åí âáö u vaì o vaì caï c bäü biãú n âäø i naì y âæåü c näú i âãú n caï c vi âiãö u khiãø n maì n hçnh laì m viãû c våï i tên hiãû u hçnh åí daû ng säú âaî coï sàô n.Vê duû :nãú u ta duì ng 2 bit âãø maî hoaï caï c gam khaï c nhau cho 1 maì u cå baí n vaì nãú u ta duì ng mäü t bäü DAC 2 bit cho mäù i maì u, ta coï thãø hiãø n thë mäü t âiãø m aí nh våï i 4x4x4=64 loaû i maì u khaï c nhau. BAÍ NG MAÌ U VAÌ MAÛ T ÂIÃØ M AÍ NH Nhæ âaî noï i åí trãn, nãú u ta duì ng mäü t bt trong bäü nhåï RAM âãû m âãø nhåï thäng tin cho mäü t âiãø m aí nh mäü t maì u thç ta phaí i duì ng nhiãö u bit hån âãø chæï a thäng tin cho mäü t âiãø m aí nh maì u, vç caï c thäng tin cho caï c maì u R,B vaì G cuî ng phaí i âæåü c læu træî . Vê duû , âãø hiãû n mäü t âiãø m aí nh maì u våï i 256 maì u khaï c nhau ta phaí i duì ng âãú n 8 bit læu træî thäng tin vãö âiãø m âoï . Nãú u ta láú y træåì ng håü p phaí i hiãø n thë 640x400 âiãø m, mäù i âiãø m våï i 256 maì u khaï c nhau ta seî phaí i cáö n bäü nhåï dung læåü ng 256.000 byte. Âiãö u naì y gáy khoï khan trong viãû c thæû c hiãû n bäü nhåï RAM âãû m vãö màû t giaï caí cuî ng nhæ vãö khäng gian âëa chè daì nh cho pháö n hiãø n thë trong caï c hãû vi xæí lyï 16 bit. Âãø haû n chãú 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æí dung viãû c maî hoaï thäng tin theo baí ng maì u (palãtt). Âiãö u naì y coï nghéa laì trong mäü t thåì i âiãø m
chuï ng ta chè âæåü c sæí dung mäú säú maì u trong mäü t baí ng maì u chæï a taut 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 320x200 âiãø m våï i 4 maì u choü n trong baí ng maì u 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 træî thäng tin cho mäü t âiãø m aí nh ta chè cáö n 2 bit. Vê duû khaï c, nãú u taû i mäü t thåì i âiãø m ta væì a loì ng våï i viãû c hiãø n thë 640x400 âiãø m aí nh våï i 16 maì u trong baí ng maì u gäö m 256 maì u, chæï khäng phaí i laì våï i 256 maì u cuing mäü t luï c, ta seî chè cáö n âãú n 4 bit âãø læu giæî thäng tin cho mäü t âiãø m aí nh våï i 1 rong 16 maì u. Bäü nhåï RAM âãû m seî nhoí âi âæåü c mäü t næí a so våï i træåì ng håü p hiãû n âuí 256 maì u, lyï do laì mäü t 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 mäü t 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 maì u coï âfäü 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åï DRAM âãû m khi laì m tæåi maì n hçnh. Mäü t biãû n phaï p khaï c âãø laì m giaí m táö n säú 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 nhæ 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ã3f 1 maì u âæåü c âãø trong mäü t 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ç coï âæåü c caí thaí y thäng tin cuí a 8 âiãø m aí nh. Trong khi 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 mäü t â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 maì u â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 thë âiãø m maì u cuí a vi â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 hçnh thäng duû ng trong thæû c tãú vaì caï c thäng säú kyî thuáû t chênh cuí a chuï ng. Hinh 9.14 cuî ng giåï i thiãû u máù u hiãø n të 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î nh IBM hoàû c tæång thêch. Âiãø m 0
Âiãø m 1
P1 P0 Bäü nhåï âãû m hçnh
R
G
B
I
R
G
B
I
a) Chæï a thäng tin theo âiãø m aí nh
0
I B G Bäü nhåï âãû m hçnh
R
Màû t 1 D0 Màû t 1 D0 Màû t 1 D0 Màû t 1 D0
5
15
Âãú n maì n hçnh RBGI b) Chæï a thäng tin theo kiãø u âiãø m aí nh Hçnh 9.13. Caï ch chæï a thäng tin trong bäü nhåï RAM âãû m hçnh. Caï c maï y tênh caï nhán cuí a IBM hoàû c caï c maï y tæång thêch thæåì ng khäng coï sàó n khaí nàng âäö hoaû gàõ n trãn baí ng meû . Ngæåì i duì ng 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 âiãö u khiãø n phuì håü p våï i bäü âiãö u khiãø n âoï . Do váû y tãn cuí a bäü âiãö u khãø n maì n hçnh cuî ng duì ng âãø goü i luän cho loaû i maì n hçnh tæong thêch âi keì m våï i noï . Bộ phối ghép
Chãú
ðộ phân giải
Màu/bộ màu
Loại tí n hiệu
Có trong máy
CGA
Văn bản p.g. thấp p.g. vừa p.g. cao
80x25 4/16 160x100 4/16 320x200 4/16 640x200 2 (ñen.trắng)
số số số số
PC,XT,AT PC,XT,AT PC,XT,AT PC,XT,AT
Hercules
một màu màu
720x348 720x348
2 16/64
số số
PC,XT,AT PC,XT,AT
640x350
16/64
số
PC,XT,AT
p.g vừa
320x200
256
PS2-25,80
p.g cao
640x480
2
Tương tự Tương tự
11H
640x480
2
12H
640x480
16/256K
13H
640x200
256/256K
Super VGA
640x480
256/256K
Tương tự
PS2-25,80
8514/A
1024x768
256/256K
Tương tự
PS2-25,80
EGA MCGA
VGA
Tương tự Tương tự Tương tự
PS2-25,80
PS2-25,80 PS2-25,80 PS2-25,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 hinhgf maì u âäö hoaû (color graphics adapter, CGA) mäü t thåì i laì mäü t loaû i vè phäú i gheï p maì n hçnh 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è naì y váù n laì vi maû ch chuyãn duû ng CRTC 6845 näù i tiãú ng cuí a Motorola. Maû ch 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 maì u 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 âæowcj âiãö u chãú cao táö n cho 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è 0B800H. ÅÍ chãú âäü vàn baí n, maì n hçnh hiãø n htë âæåü 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ãö 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 b2 b1 b0 tæong æï ng våï i caï c maì u RGB cho chæî vaì b6 b5 b4 tæång æï ng våï i caï c maì u RGB cho nãö n). Âãø hiãø n thë kê 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 thë chæî nháú p nhaï y I=1 laì âãø hiãø n thë chæî våï i cæåì ng âäü saï ng låï n hån. Nhæ váû y, âãø læu giæî thäng tin cuí a mäü t trang maì n hçnh vàn baí n ta duì ng haut $KB bäü nhåï vaì våï i 16KB 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 suing â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È IGA CUÍ A IBM Vè 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 nhæ vè CGA, ngoaì i ra noï 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 biãø u diãù n chãú âäü hiãø n thë 640x350 âiãø m våï i 16 maì u trong baí ng maì u gäö m 64 maì u. Bäü nhåï DRAM âãû m âæåü c sàõ p xãú p thaì nh 4 màû t naì y chæï a 1 bit mä táø thäng tin vãö maì u cuí a 1 âiãø m. Mäü t nhoï m 4 bit âoü c âæåü c tæì 4 màû t naì yâæåü c duì ng âãø choü n ra 1 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 rra 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ë âæåü c hteo caï c giaï trë cuû thãø coï trong thanh ghi baí ng maì u. BBÄÜ MCGA CUÍ A IBM Bäü phäú i gheï p MCGA (multicolor graphics ar r ay) cuí a IBM âæåü c cáú y ngay trãn baí ng meû cuí a maï y 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 âen tràõ ng. VÈ VGA CUÍ A IBM Trong vè phäú i gheï p VGA (vidio gate ar r ay ) 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 vè CGA vaì EGA cuing nhiãö u chãú âäü riãng biãû t khaï c. Vê duû vè VGA våï i 8 bit âãø maî hoaï maì u cho mäü t âiãø m aí nh coï thãø âiãö u khiãø n hiãû n thë 256 maí utong 1 baí ng maì u gäö m 262.144 (256K) maì u. Âãø laì m âæåü c âiãö u nhæ váû y, bäü nhåï cuí a vè VGA âæåü c täø chæï c thaì nh 4 màû t, mäù i maû t chæï a 8 bit maî hoaï maì u cho 1 âiãø m. Âáö u ra cuí a vè VGA laì tên hiãû u tæång tæû cho caï c maì u RGB. Coï 3 bäü DAC cho 6 bit âæåü c näú i vaì o 6 bit tæång æï ng cho mäù i maì u cuí a 1 trong 256 thanh ghi maì u 18 bit (hçnh 9.15a). Caï c thanh ghi maì u naì y âæåü c choü n nhåì näü i dung 4 bit tháú p cuí a thanh ghi baí ng maì u , 4 bit cao cuí a byte maî hoaï maì u cho 1 âiãø m choü n ra caï c thanh ghi baí ng maì u,
coì n 4 bit 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í ng maì u gäö m 64x64x64=256K maì u. Trãn hçnh 9.15b laì mäü t vê duû vãö chãú âäü hiãø n thë 640x400 âiãø m 16 maì u. Mäù i âiãø m aí nh âæåü c maî hoaï bàò ng 4 bit âãø taû i 4 màû t âiãø m, 4 bit naì y choü n ra âæåü c 1 trong 16 thanh ghi baí ng maì u. Thanh ghi chãú âäü chè cho pheï p 4 bit tháú p cuí a thanh ghi baí ng maì u choü n ra 1 thanh ghi maì u trong nhoï m maì u., 4 bit htáú 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 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æî âãø ghi caï c thäng säú cáö n thiãú t vaì o caï c thanh ghi âiãö u khiãø n cuí a vè phäú i gheï p âãø âiãö u khiãø n chãú âäü hiãø n thë vaì âãø ghi træû c tiãú p kyï tæû cáö n hiãø n thë vaì o RAM âãû m âãø thay âäø i näü i dung. Âáy thæåì ng laì caï ch âãø âaû t âæåü c täú c âäü hiãø n thë nhanh nháú t. + Duì ng caï c dikchj vuû 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 hoaû 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 kyï tæû ‘$’ (tæï c 80x25 = 2000 kyï tæû ‘$’) våï i maì u têa trãn nãö n xanh da tråì i. 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: Disp Proc MOV AX, 0B800H ;cho DS chè vaì o vuì ng RAM âãû m MOV DS, AX MOV CX, 2000 ;säú kyï tæû phaí i hiãû n
MOV DI, 0 HIEN: MOV [DI] , 3524H ADD DI, 2 LOOP HIEN MOV AH, 4CH INT 21H Disp Endp
;hiãø n thë kyï tæû taû i goï c traï i cao ;$ têa trãn neì n tråì i xanh!!! ;hiãû n kyï tæû tiãú p ;cho âãú n haut ;vãö DOS
Thanh ghi maì u 18 bit
Thanh ghi baí ng maì u 4 màû t cuí a bäü nhåï RAM âãû m hçnh
0
Nhoï m1 D3- D0
15 31
Nhoï m2
4
Nhoï m 15
240 255
4 1111
1
6
Thanh ghi âiãö u Thanh ghi choü n maì u khiãø n chãú âäü
DAC 6 bit R G
6
B
6
a) Hiãû n 320x200 âiãø m våï i 256 maì u Thanh ghi baí ng maì u D4-D7 4 màû t cuí a Adr bäü nhåï RAM âãû m hçnh D0-D3
Thanh ghi maì u 18 bit 0
0
15 31
D0- D3 15 4 6
240 255
4 6 6 6
DAC 6 bit R G B
b) Hiãû n 640x480 âiãø m 16 maì u Hçnh 9.15 hiãø n thë âiãø m maì u trong vè VGA. 4. Phäú i gheï p våï i thãú giåï i tæång tæû Viãû c phäú i gheï p hãû vi xæí lyï 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ãú cuî ng nhæ trong cäng nghiãû p. Caï c pháö n tæí maì hãû vi xæí lyï 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 cháú p haì nh caï c loaû i åí âáö u ra. Âãø gheï p näú i våï i caï c thiãú t bë nhæ váû y, thäng thæåì ng 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 moü t säú thiãú t bë âiãû n tæí chuyãn duû ng khaï c bäü khãú ch âaû i âo, bäü chuyãø n maû ch tæång tæû (bäü däö n kãnh hoàû c bäü phán kãnh tæång tæû ), maû ch so saï nh säú , maû ch trêch máù u vaì giæî máù u. Khuãú ch âaû i cäng suáú t...
Hçnh 9.16. Så âäö khäú i cuí a hãû thäú ng âiãö u khiãø n duì ng vi xæí 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ãû tu tháû p dæî liãû u (data acquisition system, ADS), caï c bäü âiãö u khiãø n, caï c thiãú t bë âo læåì ng cao cáú p , caï c thiãú t bë xæí lyï 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æí lyï 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 våï i caï c bäü caí m biãú n vãö màû t âiãû n (phäú i håü p tråí khaï ng, khuãú ch âë mæï c tên hiãû u...) vaì biãú n caï c tên hiãû u thu âæåü c tæì daû ng tæång tæû ssang daû ng säú âãø CPU coï thãø âoü c vaì o vaì xæí lyï . Baì n phêm vaì maì n hçnh laì hai thiãú t bë vaì o/ra truyãö n thäú ng. Tuyì 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 hån 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æí lyï åí âá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 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 diãö 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 khoaï âiãû n tæí hoàû c khoaï cå âiãû n duì ng âãø âoï ng/ngàõ t caï c maû ch cáú 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 logic thêch håü p laì âæåü c.Caï c cå cáú u cháú p haì nh tæång tæû cáö n âæåü c näú i våï i hãû vi xæí lyï qua caï 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û hh phuû ráú t quan troü ng trong caï c hãû ü vi xæí lyï cuí a Intel. Noï coï thãø â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 phaí i 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 âoü c thäng tin cuí a maû ch (xem baí ng 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 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
Âãû m bus dæî liãû u
CPU
RD Lägic WR diãö u A0 khiãø n A1 ghi/âoü c
RD WR A0 A1 A2-A15
cs
Bäü âãú m 0
Clk0 Gate0 Out0
Bäü âãú m 1
Clk1 Gate1 Out1
Bäü âãú m 2
Clk2 Gate2 Out2
Thanh ghi tæì âiãö u khiãø n
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 Thanh ghi cho bäü âãû m säú 0 1 0 1 0 Thanh ghi cho bäü âãû m säú 1 1 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 11: âoü c/ghi byte LSB, tiãú p theo laì MSB
D7
D6
D5
D4
0: Bäü âãú m HEX 4 säú 1: Bäü âãú m BCD 4 säú
D3 D2
D1
D0
SC1 SC0 RW1 RW0 M2 M1 M0 BCD
Choü n bäü âãú m 00: âãø choü n bäü âãú m 0 ngàõ t khi âãú m hãú t 01: âãø choü n bäü âãú m 1 âæåü c 10: âãø choü n bäü âãú m 2 säú cho N 11: âãø ra lãû nh âãú m ngæåü c
Chãú âäü 000: chãú âäü 0 - Taû o yãu cáö u 001: chãú âäü 1 - Âa haì i âåü i láû p trçnh 010: chãú âäü 2 - Bäü chia táö n 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 .
D7
D0
P1
P0
R
âiãø m 1 G B
I
R
âiãø m 0 G B
Bäü nhåï âãû m hçnh
a) chæï a thäng tin theo âiãø m aí nh
I
D7
Thanh ghi baí ng maì u
D0
xxRIGIBIRGB
0
I Màû t 1 D0 D1 Màû t B Màû t G D2
B
Màû t R
D3
5
G
R Bäü nhåï âãû m hçnh
Âiãø m 1 Âiãø m 0 15 Âãú n maì n hçnh RBGI
RI.GI.BI.R.BG
b) 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ï . Bäü phäú i gheï p
Chãú âäü
Âäü phán giaí i
Maì u / bäü maì u
Loaû i tên hiãû u
Coï trong maï y
CAG
Vàn baí n p.g tháú p p.g væì a p.g cao
80x25 4/16 160x100 4/16 320x200 4/16 640x200 2(âen , tràõ ng)
säú säú säú säú
PC.XT.AT
säú säú
PC.XT.AT PC.XT.AT
PC.XT.AT PC.XT.AT PC.XT.AT
Hercules mäü t maì u 720x348 maì u 720x348
2 16/64
EGA MCGA p.g væì a p.g cao
640x350 320x200 640x480
16/64 256 2
VGA
640x480 2 640x480 16/256K 640x200 256/256K
tæång tæû PS2-50.80 tæång tæû PS2-50.80 tæång tæû PS2-50.80
640x480 256/256K
tæång tæû
11H 12H 13H
Super VGA
säú PC.XT.AT tæång tæû PS2-25.80 tæång tæû PS2-25.80
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 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 :
D4-D7 Bäú n màû t cuí a bäü nhåï RAM âãû m hçnh D0-D3
Thanh ghi Thanh ghi cuí a Baí ng maì u 18bit 0 0 D0 - D3
15 15
31 240
4
255 DAC 6 Bit
R G B a) Hiãû n 320x200 âiãø m våï i 256 maì u Thanh ghi Thanh ghi cuí a Baí ng maì u 18bit Nhoï m 0 0
4 màû t cuí a bäü nhåï Ram âãû m hçnh
Nhoï m 2 15 Nhoï m15 31
240 255 DAC 6 Bit
R G
I Thanh ghi âiãö u Thaû nh ghi choü n chènh chãú âäü maì u
b) Hiãû n 640x480 âiãø m 16 maì u
B
Aï p suáú t
Disp Proc DAS Nhiãû t âäü MOV AX,OB800H; Cho DS chè vaì o vuì ng RAM âãû m Âäü áø m MOV DS, AX Caï c âáö u do MOV CX, 2000 ; Säú kê tæû phaí i hiãû n Âäü PH mæï c MOV DI, 0 ; Hiãû n tæì kê tæû taû i goï c traï i cao DAS Täú c âäü 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 ...
Cä vaì
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).
Âãû m Bus Dæî liãû u
D0-D7 CPU
RD WR A0 A1 A2-A15
RD Login WR âiãö u A0 khiãø n A1
Bäü âãû m0
Bäü âãû m 1
Cx Thanh ghi tæì Diãö u khiãø n
Bäü âãû m 2
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 Choü n ra A1 A0 0 0 Thanh ghi cho bäü âãú m säú 0
Clko Gateo Outo
Clk1 Gate1 Out1 Clk2 Gate2 Out2
0 1 1
1 0 1
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
Choü n bäü âãú m 00:âãø choü n bäü âãú m 0 01: âãø choü n bäü âãú m 1 10:âãø choü n bäü âãú m 2 11: âãø ra lãû nh âoü c ngæåü c
Chãú âäü 000:chãú âäü 0-Taû o yãu cáö u ngàõ t khi âãú m hãú t 001:chãú âäü 1-Âa haì i âåü i láû p trçnh âæåü c 010: chãú âäü 2 - bäü chia tán säú cho N 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 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 : 1. 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 . 2. CW : Tæì âiãö u khiãø n biãù u diãù n theo hãû 16. 3. 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
CW=10
CLB=4
WR
Clk GATE OUT
N N N N 0 4
CW=10
0
0
0
0
FF FF
3
2
1
0
FF FF
CLB=4
WR
Clk GATE OUT
N N N N 0 4
0
0
0
0
FF FF
3
2
1
0
FF FF
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
CW=10
CLB=4
WR
Clk GATE OUT
N N N N 0 4
CW=12
0
0
0
0
FF FF
3
2
1
0
FF FF
CLB=3
CLB=4
WR
Clk GATE OUT
N N N N N
CW=12
0
0
0
FF FF
0
0
2
1
0
FF FF
4
3
CLB=3
CLB=4
WR
Clk GATE OUT
N N N N N
0
0
0
FF FF
0
0
2
1
0
FF FF
4
3
Hçnh 9.20. Thê duû biãø u âäö thåì i gian cuí a 8254 åí chãú âäü 1 CW=14
CLB=3
WR
Clk GATE
OUT
N N N N 0
0
0
0
0
0
0
0
3
2
2
3
2
1
3
2
CW=14
WR
Clk GATE
CLB=3
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 1 1 COUNT SATUTUS
D3 D2 D1 D0 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 Gate0 Clk1
1.19318 MHz Cho pheï p loa kãu
5V
Gate1 Clk2 Gate2
Out
18.,2 Hz âãú n IRQ0 cuí a 8259A
Out
66278 Hz âãú n DRQ0 cuí a 8237A
Out
896 Hz âãú n khuyãch âaû i cho loa
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. Chiãö u cuí a doì ng dæî liãû u SYN
SYN
SOH
HEADER
STX TEXT ETXhayETB BCC
SYN: Kyï tæû âäö ng häö TEXT:thán vàn baí n SOH kyï tæ bàõ t âáö u pháö nmaì o âáö uETX: 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 0 0 1 1
RD WR Choü n ra 0 1 Thanh ghi âãû m dæî liãû u thu 1 0 Thanh ghi âãû m dæî liãû u phaï t 0 1 Thanh ghi traû ng thaï i 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 Cho pheï p duì ng parity D7 D6 S2 S1 Säú bit stop 0 0 1 1
0 1 0 1
Khäng håü p lãû 1 bit 1 bit 2 bit
D5 D4 D3 D2 D1 D0 EP PEN L2 L1 B2 B1 Âäü daì i maî kyï tæû 0 0 1 1
0 1 0 1
5 bit 6 bit 7 bit 8 bit
hãû säú nhán täú c âäü 0 0 1 1
0 1 0 1
âäö ng bäü X1 X16 X64
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