Thiết kế và thi côn hệ thống báo giờ tự động ứng dụng CPU Z80, chương 4

Chia sẻ: Nguyen Van Dau | Ngày: | Loại File: PDF | Số trang:11

0
143
lượt xem
53
download

Thiết kế và thi côn hệ thống báo giờ tự động ứng dụng CPU Z80, chương 4

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mạch tạo xung đồng hồ có vai trò như quả tim đập nhịp cho hoạt động của Hệ Thống. việc tạo thời gian thực sẽ càng chính xác nếu tần số xung clock cấp cho FP càng cao. Tuy nhiên, Hệ Thống sẽ hoạt động khó ổn định ở tần số cao do nhiễu xuất hiện trên đường mạch in. Do vậy, tần số xung clock được chọn sau cho giảm thiểu sai số trong việc tạo thời gian thực và tránh được nhiễu xuất hiện trên mạch in để Hệ Thống hoạt động ổn định. Tần số xung clock...

Chủ đề:
Lưu

Nội dung Text: Thiết kế và thi côn hệ thống báo giờ tự động ứng dụng CPU Z80, chương 4

  1. chương 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.46s Sai soá trong 1 phuùt = 60 x t = 60 x 0.46 = 27,6S 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
  2. 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ä.
  3. 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. Hình 10: SÔ ÑOÀ MAÏCH ÑÒNH THÔØI. Do maïch dao ñoäng söû duïng nguoàn 1,5V neân tín hieäu ñònh thôøi ôû ngoõ ra seõ ñöôïc khuyeách ñaïi leân cho phuø hôïp vôùi möùc logic cuûa maïch soá. Sau ñoù, tín hieäu ñònh thôøi seõ ñöôïc giôùi haïn ñoä roäng xung tröôùc khi ñöa ñeán chaân NMI cuûa Z80 baèng moät maïch ñôn oån (Mono Multivibrator). Ñoä roäng xung goïi ngaét NMI ñöôïc choïn phuï thuoäc vaøo thôøi gian thöïc hieän leänh daøi nhaát trong chöông trình Heä Thoáng. Thôøi gian thöïc hieän leänh daøi nhaát cuûa Z80 laø 23x1/fck (giaây) ñeå baûo ñaûm P nhaän ñöôïc ngaét moãi khi coù tín hieäu ngaét NMI = 0. Ñoä roäng xung goïi ngaét phaûi thoûa:  > 23x1/fck = 0.46s
  4. IC 74LS123 coù coâng thöùc tính ñoä roäng xung nhö sau:  = 0,45xRxC Vôùi R = 1K, C = 0.047f Ta coù  = 0,45x 1000x0.047x10-6 = 21,1s  xaáp xæ 45.1 laàn thôøi gian thöïc hieän leänh daøi nhaát cuûa P, giaù trò naøy cuûa  thoûa maõn yeâu caàu ñaët ra. 2.4.3_Maïch baøn phím (Keyboard): Ngöôøi söû duïng duøng baøn phím ñeå ñieàu chænh thôøi gian (Settime), ñaët caùc thôøi ñieåm baùo hieäu ñoät xuaát (Hottime), ñaët caùc thôøi ñieåm caám baùo hieäu (Skiptime), xem hoaëc xoùa noäi dung baûng Hotime/Skiptime. Ñeå ñaùp öùng caùc yeâu caàu treân, baøn phím seõ coù 5 phím vôùi teân goïi nhö sau : Ins, +, -, Del/Date vaø Ok chöùc naêng töøng phím do phaàn meàm qui ñònh. Caùch söû duïng baøn phím ñöôïc moâ taû chi tieát ôû phaàn “Moâ taû Heä Thoáng vaø höôùng daãn söû duïng”. Baøn phím ñöôïc thieát keá theo nguyeân taéc aùnh xaï boä nhôù, P seõ xem baøn phím nhö 1 byte nhôù. Baøn phím coù ñòa chæ thuoäc vuøng nhôù töø 4000h ñeán 4FFFh. P duøng tín hieäu ñieàu khieån ñeå truy xuaát baøn phím. Caùc phím aán khaùc nhau seõ laøm cho byte nhôù coù noäi dung khaùc nhau töông öùng vôùi chöùc naêng khaùc nhau cuûa moãi phím. Chu kì P ñoïc baøn phím nhö hình 11. CLOCK A0-A15 MERQ
  5. D0-D7 Hình 11: CHU KÌ P ÑOÏC BAØN PHÍM. Tín hieäu MERQ töø P seõ hieäu löïc hoùa vieäc giaûi maõ ñòa chæ taïo ra tín hieäu ñeå P ñoïc baøn phím. Baøn phím coù caáu taïo goàm moät IC ñeäm 8 bit 3 traïng thaùi vaø 5 Switch nhö sau: Hình 12: SÔ ÑOÀ CHI TIEÁT MAÏCH BAØN PHÍM . IC 74LS245 ñöôïc duøng laøm maïch ñeäm 8 bit 3 traïng thaùi neân baøn phím coù toái ña 8 phím. Hieän taïi baøn phím goàm 5 phím, P duøng tín hieäu ñieàu khieån KBD taùc ñoäng vaøo chaân G cuûa IC 74LS245 ñeå ñoïc baøn phím. Khi khoâng coù phím naøo ñöôïc aán, döõ lieäu ñoïc vaøo coù noäi dung laø 0FFh. Khi coù 1 phím ñöôïc aán, bit töông öùng seõ coù möùc logic thaáp. Ví duï, khi phím OK ñöôïc aán, döõ lieäu ñoïc ñöôïc seõ coù noäi dung laø 0F7h. Nhö vaäy, moãi phím töông öùng vôùi moät maõ sau: PHÍM AÁN MAÕ
  6. Ins 0FEh Ins_+ 0FCh Ins_- 0FAh + 0FDh - 0FBh Del 0EFh Ok 0F7h Del/Date _ 0EDh + 0EBh Del/Date_ - Baûng 4: BAÛNG MAÕ BAØN PHÍM Chöông trình xöû lí baøn phím seõ thöïc hieän caùc coâng vieäc phuø hôïp vôùi caùc maõ ñöôïc nhaän . Khi khoâng coù nhu caàu söû duïng baøn phím, ngoõ ra cuûa maïch ñeäm 8 bit ôû traïng thaùi toång trôû cao, baøn phím ñöôïc caùch ly khoûi bus döõ lieäu. Chöông trình phaàn meàm phaûi ñoïc phím sau moãi 200ms nhaèm muïc ñích: Choáng hieän töôïng naûy cuûa phím vaø ñeå ngöôøi söû duïng theo doõi ñöôïc söï thay ñoåi cuûa caùc con soá treân ñeøn hieån thò khi aán caùc phím. 2.4.4_Maïch kieåm soaùt ngaét (interupt controller). Heä Thoáng baùo giôø töï ñoäng coù 3 chöùc naêng: Setime, Hotime vaø Skiptime. Ñeå thöïc hieän caùc khaû naêng naøy, ngöôøi söû duïng seõ duøng tín hieäu ngaét INT ñeå baùo cho P bieát coâng vieäc caàn thöïc hieän ñeå phuïc vuï ngöôøi söû duïng. Taïi moãi thôøi ñieåm, ngöôøi söû
  7. duïng chæ coù theå laøm vieäc ôû 1 chöùc naêng hoaëc Setime hoaëc Hotime hoaëc Skiptime. Ngaét INT cuûa Z80 goàm 8 vectô ngaét, nhöng chæ coù 3 vectô ngaét ñöôïc duøng ñeå taïo neân 3 chöùc naêng treân. Nhieäm vuï cuûa maïch kieåm soaùt ngaét laø taïo ra 3 vectô ngaét khaùc nhau P seõ caên cöù vaøo vectô ngaét ñeå goïi chöông trình phuïc vuï töông öùng. Ñeå thuaän tieän trong söû duïng, Heä Thoáng seõ coù 3 led chæ thò töông öùng vôùi 3 chöùc naêng: Setime, Hottime vaø Skiptime maïch kieåm soaùt ngaét goàm caùc thaønh phaàn nhö sau: Töø timer NMI Z80 CHOÁT 8 BIT 3 GIAÛI MAÕ VAØ TAÏO VECTÔ SETTIME CHÆ THÒ NGAÉT TRAÏNG THAÙI HOTTIME DATA BUS SKIPTIME SELECT SW MAÏCH GOÏI NGAÉT ACCECPT INT IORQ M1 SW Hình 13: SÔ ÑOÀ KHOÁI MAÏCH KIEÅM SOAÙT NGAÉT. Maïch taïo vectô ngaét laø maïch ñeám modulo 4 ñoàng boä, seõ taïo ra 4 vectô ngaét (vectô ngaét goàm 8 bit coù daïng 11ttt111). Moãi vectô ngaét taïo ra töông öùng vôùi 1 chöùc naêng cuûa Heä Thoáng. Hieän taïi Heä Thoáng chæ söû duïng 3 vectô ngaét, caùc vectô ngaét coøn
  8. laïi daønh cho caùc yeâu caàu môû roäng chöùc naêng khi caàn. Baûng 5 trình baøy caùc vectô ngaét vaø chöùc naêng cuûa chuùng: VECTÔ ÑÒA CHÆ CHÖÙC NAÊNG NGAÉT NGAÉT 11001111 0008h Setime 11011111 0018h Phuïc vuï 11101111 0028h hotime 11111111 0038h Phuïc vuï Skiptime Chöa söû duïng Baûng 5: CHÖÙC NAÊNG VAØ ÑÒA CHÆ CAÙC VECTÔ NGAÉT. Khi coù tín hieäu goïi ngaét, P seõ phaùt ra 2 tín hieäu IORQ vaø M 1 ñeå ñoïc vectô ngaét ñang hieän dieän treân ñeäm 8 bit vaø thöïc hieän chöông trình phuïc vuï ngaét töông öùng vôùi vectô ngaét ñoù. Maïch giaûi maõ vaø chæ thò seõ laøm saùng led töông öùng vôùi vectô ngaét ñöôïc choïn. Ngöôøi söû duïng seõ duøng switch “select” ñeå löïa choïn vectô ngaét vaø aán switch “accept” ñeå goïi ngaét INT . Khi ôû chöùc naêng Setime, maïch kieåm soaùt ngaét seõ taïo ra tín hieäu ñieàu khieån döøng vieäc ñeám thôøi gian thöïc. Tín hieäu naøy seõ ñieàu khieån vieäc cho hoaëc caám tín hieäu Timer taùc ñoäng vaøo ngaét NMI . Khi khôûi ñoäng hoaëc tröôùc ñoù bò maát ñieän, Heä Thoáng seõ töï ñoäng ñaët ôû cheá ñoä Setime vaø ngöøng vieäc ñeám thôøi gian thöïc, luùc ñoù maïch taïo vectô ngaét töï ñoäng taïo ra vectô ngaét 11001111 vaø tín hieäu ngöøng ñeám thôøi gian. Coâng vieäc treân nhaèm traùnh cho Heä Thoáng baùo giôø sai, ñoàng thôøi ngöôøi söû duïng seõ bieát ñöôïc caàn
  9. phaûi ñaët laïi thôøi gian khi nhìn thaáy ñeøn chæ thò chöùc naêng Setime saùng leân. Maïch kieåm soaùt ngaét coù caáu taïo nhö sau: Hình 14: SÔ ÑOÀ CHI TIEÁT MAÏCH KIEÅM SOAÙT NGAÉT. IC 74LS245 ñöôïc duøng laøm ñeäm 8 bit 3 traïng thaùi, IC 74LS112 laøm maïch ñeám modulo 4, ñöôïc ñaët ôû cheá ñoä töï ñoäng reset khi môùi caáp ñieän. IC 4093 laøm nhieäm vuï giaûi maõ vaø thuùc caùc led chæ thò. IC 74LS123 laøm nhieäm vuï giôùi haïn xung goïi ngaét INT . Caùc switch aán ñeàu ñöôïc choáng doäi. Caùc chaân Q1, Q2 cuûa IC 74LS112 keát hôïp vôùi caùc chaân A1, A2, A3, A4, A5, A6,A7, A8 ñöôïc noái leân möùc cao cuûa IC 74LS245 ñeå taïo thaønh caùc vectô ngaét. P duøng tín hieäu IORQ vaø M 1 taùc ñoäng vaøo chaân G cuûa 74LS245 ñeå ñoïc noäi dung vectô ngaét.
  10. 2.4.5_Maïch hieån thò (Display). Maïch hieån thò coù nhieäm vuï thoâng baùo thôøi gian thöïc vaø cho pheùp ngöôøi söû duïng theo doõi ñöôïc coâng vieäc ñang thöïc hieän khi duøng baøn phím. Noäi dung hieån thò laø caùc con soá chæ thôøi gian (thöù, giôø, phuùt, giaây). Ñeøn hieån thò goàm 7 led 7 ñoaïn, moät led hieån thò thöù, hai led hieån thò giôø, hai led hieån thò phuùt vaø 2 led hieån thò giaây. Do ñaëc ñieåm cuûa Heä Thoáng laø phaàn queùt hieån thò caàn phaûi ñöôïc thöïc hieän ñoäc laäp vôùi vi xöû lí neân ngöôøi vieát söû duïng IC chuyeân queùt phím vaø hieån thò. Ñoù laø IC 8279 ñeå hieån thò. Caáu truùc phaàn cöùng 8279 Hình 15: SÔ ÑOÀ CHAÂN CHÖÙC NAÊNG IC 8279 Teân caùc chaân : TEÂN I/O CHÖÙC NAÊNG DB7 – I/O Data bus DB0 I Clock input CLK I Reset input RESET I Chip Select
  11. CS\ I Read input RD\ I Write input WR\ I Address Ao O Interrupt request IRQ O input Sl0 - SL3 I Scan lines RL0 – RL3 I Return lines SHIFT I Shift input CNTL/STB O Control/Strobe OUT A3 – O input 0 O Display (A) output OUT B3 – Display (B) output 0 Blank Display BD output

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản