Xem mẫu
- Luaän vaên toát nghieäp
Nguyeân lí hoaït ñoäng toång quaùt:
Heä thoáng baùo giôø töï ñoäng laø moät heä vi xöû lí neân hoaït ñoäng cuûa heä thoáng laø
söï keát hôïp chaët cheõ giöõa phaàn cöùng vaø phaàn meàm.
Vi xöû lí ñöôïc ñaët ôû cheá ñoä “auto reset” neân khi môùi môû ñieän vi xöû lí seõ baét
ñaàu ñoïc boä nhôù taïi ñòa chæ 0000h. Ñaây cuõng laø ñòa chæ baét ñaàu cuûa chöông trình
heä thoáng. Ngoaøi ra, maïch kieåm soaùt ngaét seõ caám tín hieäu Timer taùc ñoäng vaøo
ngaét NMI cuûa Z80 nhaèm muïc ñích traùnh vieäc taïo thôøi gian thöïc sai da ãn ñeán heä
thoáng baùo giôø sai.
Veà maët phaàn meàm:
Khi môùi môû ñieän chöông trình heä thoáng seõ khôûi ñoäng maïch hieån thò (khôûi taïo
8279) ñeå maïch hieån thò saün saøng hieån thò döõ lieäu thôøi gian thöïc töø vi xöû lí gôûi tôùi.
Ngoaøi ra, chöông trình heä thoáng coøn reset maïch baùo chuoâng …
Maïch baøn phím hoaït ñoäng khi chöông trình con Keypro ñöôïc goïi ñeå phuïc vuï
cho Settime, Hottime hay Skiptime.
Phaàn “caáu taïo vaø nguyeân taét hoaït ñoäng cuûa caùc khoái maïch” seõ giuùp chuùng ta
hieåu roõ hôn hoaït ñoäng cuûa Heä Thoáng. Böôùc ñaàu tieân trong vieäc thieát keá Heä
Thoáng laø phaân boá boä nhôù vaø thöïc hieän giaûi maõ ñòa chæ cho caùc boä phaän cuûa Heä
Thoáng.
Heä thoáng baùo giôø töï ñoäng
- Luaän vaên toát nghieäp
2.2_Boä nhôù Heä Thoáng vaø giaûi maõ ñòa chæ:
2.2.1_Boä nhôù Heä Thoáng:
Heä Thoáng baùo giôø töï ñoäng laø moät heä vi xöû lí neân vieäc phaân boá boä nhôù
Heä Thoáng laø heát söùc caàn thieát. Ngoaøi boä nhôù ROM, RAM Heä Thoáng coøn coù caùc
boä phaän: baøn phím, maïch hieån thò vaø maïch ñieàu khieån baùo hieäu. Caùc boä phaän
naøy ñöôïc xem nhö boä nhôù. Boä vi xöû lí seõ truy xuaát caùc khoái maïch naøy gioáng nhö
truy xuaát boä nhôù (phöông phaùp aùnh xaï boä nhôù).
Do yeâu caàu hoaït ñoäng vôùi vuøng nhôù nhoû. Heä Thoáng chæ söû duïng 20KB
ñaàu tieân (0000h – 4FFFh) trong khoâng gian 64KB maø Z80 quaûn lí. Vôùi yeâu caàu
treân boä nhôù seõ ñöôïc phaân chia thaønh caùc vuøng nhôù daønh cho ROM, RAM, vuøng
nhôù daønh cho maïch hieån thò, maïch baùo hieäu vaø baøn phím.
Ñeå ñôn giaûn, boä nhôù Heä Thoáng seõ chia thaønh 5 vuøng vôùi dung löôïng
4KB/vuøng ñöôïc phaân boá nhö sau:
4FFFh
MAÏCH BAØN PHÍM 4KB
4000h
3FFFh
MAÏCH BAÙO HIEÄU 4KB
3000h
2FFFh
MAÏCH HIEÅN THÒ 4KB
2000h
1FFFh
CHÖA DUØNG 2KB
1800h
17FFh
RAM 2KB
1000h
0FFFh
ROM 4KB
0000h
Hình 2: BAÛN ÑOÀ BOÄ NHÔÙ HEÄ THOÁNG
Vuøng nhôù töø ñòa chæ 0000h ñeán 0FFFh daønh cho IC ROM chöùa phaàn
meàm Heä Thoáng vaø löu tröõõ caùc Restime. IC ROM ñöôïc duøng laø 2732 (4KBx8).
Baûng moâ taû hoaït ñoäng vaø sô ñoà chaân chöùc naêng nhö sau:
Heä thoáng baùo giôø töï ñoäng
- Luaän vaên toát nghieäp
CHEÁ ÑOÄ Vcc OUTPUT
OE \Vpp
CE
Read VIL VIL Vcc Dout
Stand by VIH X Vcc High Z
Program VIL Vpp Vcc Din
Program verify VIL VIL Vcc Dout
Program Inhibit VIH Vpp Vcc High Z
Baûng 1 : BAÛNG MOÂ TAÛ HOAÏT ÑOÄNG CUÛA IC – ROM 2732
Hình 3: SÔ ÑOÀ CHAÂN CHÖÙC NAÊNG CUÛA IC-ROM 2732
Vuøng nhôù töø 1000h ñeán 1FFFh laø vuøng nhôù RAM duøng ñeå laøm ngaên xeáp
(Stack), vuøng ñeäm, baûng Hottime vaø baûng Skiptime. Vôùi yeâu caàu hieän taïi, Heä
Thoáng chæ söû duïng 2KB töø 1000h ñeán 17FFh khi coù yeâu caàu môû roäng 2KB coøn
laïi seõ ñöôïc duøng ñeán. IC- RAM ñöôïc choïn laø loaïi RAM tónh (Static Ram) 6116
(2KBx8). IC 6116 coù baûng moâ taû hoaït ñoäng vaø sô ñoà chaân chöùc naêng nhö sau:
Heä thoáng baùo giôø töï ñoäng
- Luaän vaên toát nghieäp
CHEÁ ÑOÄ DATA
CE OE WE
Khoâng choïn H X X High Z
Caám xuaát L H H High Z
Ñoïc (Read) L L H Dout
Ghi (Write) L H L Din
Baûng 2 : BAÛNG MOÂ TAÛ HOAÏT ÑOÄNG CUÛA IC – RAM 6116
Hình 4: SÔ ÑOÀ CHAÂN CHÖÙC NAÊNG CUÛA RAM 6116
Vuøng nhôù coøn laïi ñöôïc daønh cho caùc boä phaän: baøn phím, hieån thò, ñieàu
khieån baùo hieäu.
2.2.2_ Maïch giaûi maõ ñòa chæ:
Nhieäm vuï maïch giaûi maõ ñòa chæ laø thöïc hieän hoaït ñoäng giaûi maõ ñeå taïo ra
caùc tín hieäu : choïn IC nhôù ROM , RAM ( CS chip select) vaø caùc tín hieäu ñieàu
khieån choïn caùc boä phaän baøn phím, hieån thò, ñieàu khieån baùo hieäu.
Maïch giaûi maõ ñòa chæ laø moät maïch giaûi maõ töø 3 ra 8 ñöôøng söû duïng 3
ñöôøng ñòa chæ A12, A13, A14 ñeå giaûi maõ taïo 8 ñöôøng tín hieäu ñieàu khieån vaø choïn
chip.
Baûng giaûi maõ ñòa chæ chi tieát cuøng caùc tín hieäu ñieàu khieån nhö sau:
Heä thoáng baùo giôø töï ñoäng
- Luaän vaên toát nghieäp
A15 A14 A13 A12 A 11 A10 ……A0 VUØNG NHÔÙ TÍN CHÖÙC
HIEÄU NAÊNG
0 00 0 x x …… x 0000h – 0FFFh Choïn IC ROM
CS1
0 00 1 0 x …… x 1000h - 17FFh Choïn IC RAM
CS 2
0 00 1 1 x …… x 1800h – 1FFFh Chöa duøng
0 01 0 x x ….. x 2000h – 2FFFh Hieån thò
DPL
0 01 1 x x ….. x 3000h - 3FFFh Baùo hieäu
BDR
0 10 0 x x …… x 4000h - 4FFFh Ñoïc baøn phím
KBD
Baûng 3 : BAÛNG GIAÛI MAÕ ÑÒA CHÆ BOÄ NHÔÙ.
Maïch giaûi maõ ñòa chæ duøng IC 74LS138 coù 8 ngoõ ra taùc ñoäng möùc thaáp.
Tín hieäu MERQ töø P taùc ñoäng vaøo 2 ngoõ vaøo ñieàu kieän G2A vaø G2B ñeå ñieàu
khieån vieäc giaûi maõ choïn chip.
Hình 5: SÔ ÑOÀ CHI TIEÁT MAÏCH GIAÛI MAÕ ÑÒA CHÆ.
2.2.3_Toùm taét:
Maïch ñieän boä nhôù Heä Thoáng coù caáu taïo nhö sau:
Heä thoáng baùo giôø töï ñoäng
- Luaän vaên toát nghieäp
Hình 6: SÔ ÑOÀ CHI TIEÁT MAÏCH BOÄ NHÔÙ
Caùc tín hieäu CS1, CS 2 thöïc hieän choïn IC ROM vaø IC RAM. Tín hieäu
RD töø P ñieàu khieån vieäc ñoïc döõ lieäu trong ROM vaø RAM, tín hieäu WR cho
pheùp P ghi döõ lieäu vaøo RAM.
Giaûn ñoà thôøi gian caùc chu kì P ñoïc vaø ghi boä nhôù nhö hình 7:
Heä thoáng baùo giôø töï ñoäng
- Luaän vaên toát nghieäp
CLOCK
A0-A15 VALID ADDRESS
MERQ
RD
D0-D7 DATA IN
WR
D0-D7 DATA OUT
Hình 7: CHU KÌ P ÑOÏC VAØ GHI BOÄ NHÔÙ.
Hoaït ñoäng ñoïc, ghi boä nhôù cuûa P nhö sau:
HOAÏT ÑOÄNG CUÛA P CS RD WR
MERQ
Ñoïc boä nhôù L L L H
Ghi boä nhôù L L H L
Caùc boä phaän baøn phím, hieån thò vaø ñieàu khieån baùo hieäu thieát keá theo
nguyeân taét aùnh xaï boä nhôù. Hoaït ñoäng cuûa P truy xuaát caùc boä phaän naøy nhö sau:
TÍN HIEÄU
HOAÏT ÑOÄNG CUÛA P ÑÒA CHÆ MERQ
ÑIEÀU KHIEÅN
Hieån thò 2000h – 2FFFh L DPL = L
Ñieàu khieån baùo hieäu 3000h – 3FFFh L BDR = L
Ñoïc baøn phím 4000h – 4FFFh L KBD = L
Heä thoáng baùo giôø töï ñoäng
- Luaän vaên toát nghieäp
2.3_ Khaûo saùt tính chaát ngaét NMI :
(NON_ MASKABLE INTERRUPT)
Ngaét NMI (ngaét khoâng theå che baèng phaàn meàm) cuûa Z80 laø ngaét coù ñoä öu
tieân tuyeät ñoái. Khi coù ngaét NMI taùc ñoäng, chöông trình Heä Thoáng seõ taïm döøng
coâng vieäc hieän taïi ñeå thöïc hieän chöông trình phuïc vuï ngaét NMI baét ñaàu taïi ñòa
chæ 0066h.
Vôùi yeâu caàu ñaët ra laø Heä Thoáng laøm vieäc vôùi thôøi gian thöïc, neân ñoøi hoûi vieäc
ñeám thôøi gian phaûi thöïc hieän chính xaùc vaø ñöôïc öu tieân haøng ñaàu. Do ñoù, ngaét
NMI daønh cho vieäc ñeám thôøi gian thöïc. Tuy nhieân, ngoaøi hoaït ñoäng ñeám thôøi
gian thöïc chöông trình Heä Thoáng coøn phaûi thöïc hieän caùc coâng vieäc khaùc nhö:
phuïc vuï baøn phím, phuïc vuï vieäc baùo hieäu cuõng nhö hieån thò. Ngaét NMI khoâng
ñöôïc laøm aûnh höôûng ñeán caùc hoaït ñoäng treân .
Coâng vieäc thaêm doø ngaét INT vaø NMI ñöôïc Z80 thöïc hieän taïi chu kì ñoàng hoà
cuoái cuøng ôû chu kì maùy cuoái cuøng cuûa moät chu kì leänh (goïi laø caùc thôøi ñieåm to).
Chu kì maùy cuoái Chu kì maùy leänh keá
to
Hình 8: GIAÛN ÑOÀ NHAÄN NGAÉT NMI
Theo hình 8, neáu coù tín hieäu goïi ngaét NMI (hoaëc ngaét INT ) xuaát hieän taïi caùc
thôøi ñieåm khaùc vôùi caùc thôøi ñieåm to thì chöông trình Heä Thoáng seõ khoâng nhaän
ñöôïc ngaét NMI vaø chöông trình phuïc vuï ngaét ñeå taïo thôøi gian thöïc seõ khoâng
ñöôïc thöïc hieän.
Phaàn meàm Heä Thoáng bao goàm nhieàu loaïi leänh vaø caùc leänh naøy ñöôïc thöïc
hieän vôùi soá chu kì ñoàng hoà khaùc nhau. Do vaäy, xung goïi ngaét NMI phaûi ñuû roäng
ñeå vieäc thaêm doø ngaét NMI ñöôïc thöïc hieän moät caùch hoaøn haûo. Neáu xung goïi
ngaét NMI coù ñoä roäng lôùn hôn möùc caàn thieát thì ñieàu gì xaûy ra ?
Qua thöû nghieäm ngöôøi vieát nhaän thaáy, khi coù ngaét NMI chöông trình Heä
Thoáng taïm döøng coâng vieäc hieän taïi vaø thöïc hieän chöông trình phuïc vuï ngaét NMI ,
neáu tín hieäu ngaét NMI tieáp tuïc ñöôïc giöõ ôû möùc logic thaáp thì sau khi chöông
trình phuïc vuï ngaét NMI thöïc hieän xong, P seõ trôû veà thöïc hieän coâng vieäc dôû
dang tröôùc khi phuïc vuï ngaét maø khoâng baän taâm ñeán tín hieäu ngaét NMI duø luùc
Heä thoáng baùo giôø töï ñoäng
- Luaän vaên toát nghieäp
naøy vaãn ñang ôû möùc tích cöïc thaáp. Ñeå nhaän ngaét trôû laïi, chaân NMI cuûa Z80 phaûi
ñöôïc keùo leân möùc logic cao tröôùc khi coù tín hieäu ngaét keá tieáp.
Nhö vaäy coù theå noùi raèng, khi tín hieäu NMI ôû möùc thaáp vaø P nhaän ngaét thì
vieäc thaêm doø ngaét seõ khoâng ñöôïc thöïc hieän cho ñeán khi tín hieäu NMI leân möùc
cao. Vieäc cho tín hieäu NMI leân möùc cao tröôùc khi coù tín hieäu ngaét keá tieáp töông
ñöông vôùi vieäc khoâi phuïc hoaït ñoäng thaêm doø ngaét cuûa P .
Toùm laïi, ñeå hoaït ñoäng ñeám thôøi gian thöïc khoâng aûnh höôûng ñeán caùc hoaït
ñoäng khaùc cuûa Heä Thoáng (trong ñoù coù vieäc P nhaän ngaét INT ) thì ñoä roäng xung
goïi ngaét goïi ngaét NMI (ñeám thôøi gian) phaûi ñöôïc choïn thích hôïp vaø chöông trình
phuïc vuï ngaét NMI phaûi khoâng ñöôïc quaù daøi. Ñaây laø yeâu caàu quan troïng ñoái vôùi
hoaït ñoäng cuûa Heä Thoáng .
2.4_Caáu taïo vaø nguyeân taét hoaït ñoäng caùc khoái maïch:
2.4.1_Maïch taïo xung ñoàng hoà:
Maïch taïo xung ñoàng hoà coù vai troø nhö quaû tim ñaäp nhòp cho hoaït ñoäng cuûa
Heä Thoáng. Vieâäc taïo thôøi gian thöïc seõ caøng chính xaùc neáu taàn soá xung clock caáp
cho P caøng cao. Tuy nhieân, Heä Thoáng seõ hoaït ñoäng khoù oån ñònh ôû taàn soá cao do
nhieãu xuaát hieän treân ñöôøng maïch in. Do vaäy, taàn soá xung clock ñöôïc choïn sau
cho giaûm thieåu sai soá trong vieäc taïo thôøi gian thöïc vaø traùnh ñöôïc nhieãu xuaát hieän
treân maïch in ñeå Heä Thoáng hoaït ñoäng oån ñònh. Taàn soá xung clock ñöôïc choïn laø
500KHz.
Caên cöù vaøo taàn soá xung clock ñaõ choïn vaø tính chaát ngaét NMI cuûa P laø seõ
nhaän ngaét khi phaûi thöïc hieän xong leänh coøn ñang dang dôû ta tính ñöôïc sai soá veà
thôøi gian cöïc ñaïi do vieäc taïo thôøi gian thöïc nhö sau:
Thôøi gian thöïc hieän leänh daøi nhaát t = 23x1/fck
= 23/500000
= 0.46s
Sai soá trong 1 phuùt = 60 x t
= 60 x 0.46
= 27,6S
Tính töông töï ta coù sai soá cöïc ñaïi trong moät naêm = 365 x 24 x 60 x 60 x t
= 365 x 24 x 60x 60 x27,6
= 870s
Heä thoáng baùo giôø töï ñoäng
- Luaän vaên toát nghieäp
Sai soá naøy laø sai soá max, thöïc teá khoâng phaûi luùc naøo tín hieäu goïi ngaét
NMI cuõng ngay vöøa luùc P nhaän moät leänh daøi nhaát neân taàn soá hoaït ñoäng cuûa Heä
Thoáng = 500KHz laø chaáp nhaän ñöôïc.
Taàn soá xung clock naøy cuõng ñöôïc caáp cho IC 8279 ñeå hieån thò.
Ñeå taän duïng soá löôïng coång logic treân maïch cuõng nhö ñôn giaûn trong thieát keá,
maïch dao ñoäng ñöôïc thieát keá nhö sau:
Hình 9: SÔ ÑOÀ MAÏCH TAÏO XUNG ÑOÀNG HOÀ
2.4.2_Maïch ñònh thôøi.
Maïch ñònh thôøi coù nhieäm vuï taïo ra xung nhòp tuaàn hoaøn phuïc vuï cho vieäc
ñeám thôøi gian thöïc. Vieäc ñeám thôøi gian thöïc ñoøi hoûi phaûi thöïc hieän moät caùch
chính xaùc vaø oån ñònh. Do ñoù, maïch ñònh thôøi phaûi taïo ra tín hieäu ñònh thôøi coù taàn
soá thaät chính xaùc vaø coù tính oån ñònh cao.
Tín hieäu ñònh thôøi taùc ñoäng vaøo ngaét NMI . Khi coù ngaét NMI chöông trình
taïo thôøi gian thöïc seõ taêng leân 1 ñôn vò thôøi gian (1 giaây).
Ñeå coù ñöôïc tín hieäu ñònh thôøi taàn soá 1Hz coù ñoä chính xaùc vaø tính oån ñònh cao
maëc nhieân khoâng theå söû duïng maïch dao ñoäng RC vì giaù trò R,C khoâng oån ñònh
theo thôøi gian cuõng nhö nhieät ñoä.
Coù theå duøng maïch dao ñoäng thaïch anh ñeå coù ñöôïc tín hieäu ñònh thôøi oån ñònh
vaø chính xaùc. Tuy nhieân, giaù trò thaïch anh baùn ngoaøi thò tröôøng ít nhaát cuõng vaøi
traêm KHz, cho neân phaûi toán theâm maïch chia taàn soá thì môùi coù ñöôïc tín hieäu ñònh
thôøi taàn soá 1Hz.
Chính vì vaäy ngöôøi vieát choïn maïch dao ñoäng trong ñoàng hoà GIMIKO, ñaây laø
maïch chuyeân duøng neân ñaûm baûo ñöôïc tính oån ñònh vaø chính xaùc cuûa tín hieäu
ñònh thôøi.
Heä thoáng baùo giôø töï ñoäng
nguon tai.lieu . vn