Tài liệu Thiết kế thiết bị thực tập vi xử lý 8085 - 2: ... Ebook Thiết kế thiết bị thực tập vi xử lý 8085 - 2
137 trang |
Chia sẻ: huyen82 | Lượt xem: 1559 | Lượt tải: 0
Tóm tắt tài liệu Thiết kế thiết bị thực tập vi xử lý 8085 - 2, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LÔØI MÔÛ ÑAÀU
Söï phaùt trieån maïnh meõ cuûa coâng ngheä ñieän töû noù chung vaø vi xöû lyù noùi rieâng ñaõ ñem laïi nhieàu öùng duïng trong moïi maët. Cuøng vôùi söï phaùt trieån ñoù thì nhu caàu tìm hieåu, hoïc taäp vi xöû lyù ñöôïc ñoøi hoûi ngaøy caøng cao. Caùc boä thí nghieäm vi xöû lyù ñaõ ñöôïc cheá taïo ñeå phuïc vuï cho muïc ñích hoïc taäp vaø thí nghieäm. Döïa treân caùc keát quaû thí nghieäm ñeå cho ra nhöõng öùng duïng thöïc teá laø öu ñieåm maïnh cuûa phöông phaùp hoïc naøy.
Caùc boä thí nghieäm vi xöû lyù ñaõ ñöôïc cheá taïo nhieàu tuy nhieân khoù coù theå ñaùp öùng ñuû nhu caàu tìm hieåu, öùng duïng, vaø hoïc taäp ngaøy caøng cao cuûa giôùi sinh vieân vaø kyõ sö. Do vaäy ñi thöïc hieän ñeà taøi “ Thieát keá thieát bò thöïc taäp vi xöû lyù 8085” ngoaøi muïc ñích boå sung theâm nhöõng vaán ñeà maø caùc thieát bò thöïc taäp tröôùc chöa ñaùp öùng ñöôïc thì thöïc hieän ñeà taøi naøy nhö laø moät caùch ñeå ngöôøi thöïc hieän coù dòp tieáp thu theâm moät löôïng lieán thöùc môùi boå ích cuõng nhö töï khaúng ñònh giaù trò moät phaàn trong nhöõng kieán thöùc tieáp thu ñöôïc sau 5 naêm hoïc taäp.
Nhöõng thieáu soùt trong khi thöïc hieän ñeà taøi laø ñieàu khoù coù theå traùnh khoûi, raát mong nhaän ñöôïc yù kieán ñoùng goùp cuûa caùc quyù thaày coâ, caùc anh chò vaø caùc baïn.
TP. Hoà Chí Minh ngaøy 20/ 2/2000
Sinh vieân thöïc hieän : Leâ Hoàng Vieät
Chöông I
DAÃN NHAÄP
ÑAËT VAÁN ÑEÀ:
Töø nhöõng maïch IC quy moâ nhoû xuaát hieän vaøo nhöõng naêm 50 trong lòch söû cuûa kyõ thuaät ñieän töû cho ñeán nhöõng maïch tích hôïp sieâu lôùn ôû nhöõng naêm gaàn ñaây thöïc söï khaúng ñònh raèng vi ñieän töû ñaõ taïo ra moät cuoäc caùch maïng lôùn cuûa theá kyû naøy. Ñaëc bieät söï ra ñôøi cuûa caùc boä vi xöû lyù ñaõ ñöa laïi nhöõng öùng duïng quan troïng trong coâng taùc nghieân cöùu khoa hoïc vaø trong cuoäc soáng.
Töø khi haõng Intel® cho ra ñôøi boä vi xöû lyù ñaàu tieân laø 4004 thì vi xöû lyù ñaõ khoâng ngöøng caûi tieán vaø phaùt trieån vöôït baäc. Cuøng vôùi caùc haõng khaùc nhö Motorala, ZiLog… vieäc caûi tieán vi xöû lyù chaéc chaén seõ khoâng ngöøng vaø seõ phaùt trieån maïnh hôn nöõa ôû theá kyû tôùi.
Song song vôùi söï phaùt trieån nhö vuõ baõo cuûa vi xöû lyù thì vieäc hoïc taäp vaø tieáp caän vôùi coâng ngheä kyû thuaät cao naøy laø ñieàu khoâng theå thieáu. ÔÛ caùc nöôùc coâng nghieäp vieäc hoïc taäp vaø tieáp thu nhöõng coâng ngheä môùi haàu nhö laø baét buoäc ñoái vôùi moãi sinh vieân chuyeân ngaønh. Vôùi söï trang bò phöông tieän hoïc taäp cuõng nhö taøi lieäu ñaày ñuû veà coâng ngheä môùi noùi chung vaø vi xöû lyù noùi rieâng ñaõ giuùp hoï deã daøng hôn trong vieäc tieáp caän nhöõng tri thöùc môùi cuûa nhaân loaïi.
ÔÛ nöôùc ta do ñieàu kieän chöa cho pheùp neân ñoái vôùi sinh vieân vaø moät soá kyõsö chuyeân ngaønh ñieän – ñieän töû thì vi xöû lyù coøn laø moät ñeà taøi chöa ñöôïc nghieân cöùu chuyeân saâu thaäm chí coøn coù ngöôøi coøn cho ñoù laø vaán ñeà môùi laï.
Qua thöïc teá tìm hieåu chính töø nhöõng ngöôøi yeâu thích vi xöû lyù vaø ngoaïi vi cuõng nhö boäc phaùt töø chính baûn thaân bieát ñöôïc raèng raèng : vieäc hoïc taäp vaø tìm hieåu öùng duïng cuûa vi xöû lyù vaø ngoaïi vi raát ñöôïc caùc baïn sinh vieân chuyeân ngaønh veà laõnh vöïc ñieän noùi chung quan taâm vaø coù nhu caàu tìm hieåu raát cao. Tuy nhieân vaán ñeà ñöôïc ñaët ra laø : ngoaøi taøi lieäu, linh kieän chöa theå ñaùp öùng nhu caàu thì vaán ñeà chính laø thieáu thieát bò hoïc taäp vi xöû lyù vaø ngoaïi vi. Vieäc hoïc vi xöû lyù vaø IC ngoaïi vi thuoäc loaïi thöïc nghieäm. Ngoaøi vieäc hoïc lyù thuyeát sinh vieân caàn phaûi thöïc teá kieåm nghieäm môùi coù theå hieåu roõ hôn töø ñoù môùi cho ra nhöõng saùng taïo, tö duy cuûa mình toát hôn.
Böùc xuùc veà vaán ñeà treân vaø thoâng qua gôïi yù cuûa nhöõng ngöôøi chuyeân saâu veà laõnh vöïc vi xöû lyù vaø ngoaïi vi cuõng nhö nhaän bieát ñöôïc laø : Caùc boä vi xöû lyù tuy cuûa nhieàu haõng khaùc nhau vaø noù ñöôïc söû duïng trong nhieàu lónh vöïc khaùc nhau nhöng ñeàu coù nhieàu ñaëc ñieåm chung vaø ñaëc bieät noù mang tính keá thöøa. Veà goùc ñoä sö phaïm thì vôùi boä vi xöû lyù ñôn giaûn thì vieäc hieåu noù laø töông ñoái deã ñoái vôùi nhöõng ngöôøi baét ñaàu thaâm nhaäp vaøo laõnh vöïc naøy cho neân ngöôøi thöïc hieän ñeà taøi ñaõ baét tay vaøo thöïc hieän ñeà taøi nghieân cöùu : “Thieát keá thieát bò thöïc taäp VXL 8085”.
TAÀM QUAN TROÏNG CUÛA VAÁN ÑEÀ.
Neàn coâng nghieäp ñieän töû cuûa nöôùc ta noùi chung coøn thua keùm caùc nöôùc phaùt trieån vaø ñang phaùt trieån treân theá giôùi cuõng nhö trong khu vöïc. Hieän taïi do ñieàu kieän cô sôû vaät chaát vaø kyõ thuaät chöa cho pheùp neân caùc saûn phaåm nhö linh kieän ñieän töû vaãn chuõ yeáu nhaäp ôû nöôùc ngoaøi. Vieäc nhaäp nhöõng saûn phaåm môùi hay phoå bieán ôû caùc nöôùc coù neàn coâng nghieäp ñieän töû phaùt trieån nay coù theå ñaõ thöïc hieän ñöôïc nhöng raát khoù khaên vaø raát toán nhieàu thôøi gian vaø tieàn baïc. Do vaäy, vieäc taän duïng caùc linh kieän, thieát bò ñieän, ñieän töû coù saün treân thò tröôøng Vieät Nam ñeå thieát keá thaønh nhöõng saûn phaåm cuï theå phuïc vuï cho cuoäc soáng, cho hoïc taäp, cho xaõ hoäi ñaõ, ñang vaø seõ laø moät giaûi phaùp höõu hieäu cho caùc sinh vieân vaø kyõ sö chuùng ta.
Ñeà taøi “Thieát keá thieát bò thöïc taäp vi xöû lyù 8085” seõ ñöôïc thöïc hieän trong boái caûnh treân. Vaán ñeà quan troïng laø vieäc khaûo saùt lyù thuyeát vaø thöïc teá cuï theå töø nhöõng IC ngoaïi vi, vi xöû lyù ñaõ vaø seõ ñöôïc öùng duïng vaøo caùc yeâu caàu cuï theå trong xaõ hoäi.
GIÔÙI HAÏN VAÁN ÑEÀ:
Noùi ñeán vi xöû lyù laø chuùng ta bieát ngay ñeán nhöõng haõng noåi tieáng chuyeân saûn xuaát chuùng nhö Intel, Motorola, Zilog… cuõng nhö tuy môùi ñöôïc cheá taïo töø vaøi thaäp nieân trôû laïi ñaây, song noù ñaõ khoâng ngöøng ñöôïc caûi tieán vaø phaùt trieån vöôït baäc. Do ñoù coù theå noùi vi xöû lyù raát ña daïng veà nguoàn goác vaø chuûng loaïi.
Baét tay vaøo thöïc hieän ñeà taøi naøy trong nhöõng ñieàu kieän khoâng thuaän lôïi nhö :
Ngoaøi caùc moân hoïc coù kieán thöùc lieân heä nhö: kyõ thuaät ñieän töû, kyõ thuaät xung soá, vi maïch…thì thôøi gian hoïc vi xöû lyù ôû tröôøng laø quaù ít. Vôùi 15 tieát chuyeân ñeà veà vi xöû lyù neân duø raát coá gaéng ngöôøi hoïc chæ coù theå naém baét ñöôïc caùc khaùi nieäm cô baûn veà caáu taïo vaø boä leänh cuûa moät vi xöû lyù cuï theå naøo ñoù, coøn veà IC ngoaïi vi haàu nhö laø töï tìm hieåu qua taøi lieäu. Trong khi ôû tröôøng khaùc vi xöû lyù vaø ngoaïi vi laø moät moân hoïc chuyeân saâu hay moät chuyeân ngaønh cuï theå.
Thôøi gian thöïc hieän ñeà taøi chæ goùi goïn trong gaàn hai thaùng
Kinh nghieäm vaø kieán thöùc thöïc teá chöa nhieàu.
Taøi lieäu veà VXL vaø ngoaïi vi veà tieáng Vieät thaät söï khan hieám vaø raát khoù khaên ñeå tìm ñöôïc nhöõng taøi lieäu lieân quan VXL vaø ngoaïi vi coù treân thò tröôøng Vieät Nam.
Vieäc thöïc hieän ñeà taøi baét buoäc phaûi goùi goïn trong ñieàu kieän laø nhöõng linh kieän khaûo saùt phaûi coù treân thò tröôøng Vieät Nam vaø coù öùng duïng cuï theå vaøo hoïc taäp vaø ñôøi soáng.
Qua thöïc teá khaûo saùt cuõng nhö qua tham khaûo yù kieán cuûa caùc thaày, coâ vaø caùc ngöôøi coù lieân quan ñeán chuyeân ngaønh vi xöû lyù vaø ngoaïi vi ñeà taøi “Thieát keá thieát bò thöïc taäp VXL 8085” chæ thöïc hieän nhöõng ñaëc ñieåm chính sau:
Duøng vi xöû lyù 8 bit 8085A cho khoái xöû lyù trung taâm.
- Ma traän phím goàm 31 phím vaø 3 phím cöùng, coù theå môû roäng toái ña laø 64 phím ôû ngoaøi nhôø ñaàu noái.
Vuøng nhôù EPROM söû duïng 16K byte, RAM 16K byte vaø 1 socket duøng ñeå môû roäng boä nhôù 8K byte theå laø RAM hay ROM heä thoáng ngoaøi.
- 16 Led 7 ñoaïn duøng ñeå hieån thò döõ lieäu vaø ñòa chæ boä nhôù hay ngoaïi vi, 10 led ñôn duøng cho hieån döõ lieäu soá nhò phaân. 16 led ñôn baùo traïng thaùi logic cuûa coâng taéc maûng.
Taàn soá xung clock cuûa heä thoáng 6MHZ.
Cho pheùp khaûo saùt vaø öùng duïng caùc ngoaïi vi treân testboard vaø treân thieát bò thöïc taäp:
- 8225A : Maïch phoái gheùp vaøo/ra song song laäp trình ñöôïc.
Boä ñònh thôøi gian coù theå laäp trình ñöôïc 8253
Laäp trình queùt phím vaø hieån thò 8279
Ñieàu khieån ngaét öu tieân laäp trình ñöôïc 8259
Truyeàn döõ lieäu noái tieáp 8251
Chuyeån ñoåi töông töï sang soá 8 bit ADC 0809
Chuyeån ñoåi soá 8 bit sang töông töï DAC 0808
Duøng IC choát 74LS573, IC giaûi maõ 3 ñöôøng sang 8 ñöôøng 74LS138. IC ñeäm hai chieàu 74LS245, moät chieàu 74LS244 cho thieát keá heä thoáng.
- Cho pheùp thaâm nhaäp vaøo phaàn cöùng cuûa vi xöû vaø ngoaïi vi ñeå coù theå hieåu roõ chöùc naêng vaø nguyeân lyù hoaït ñoäng cuûa töøng ngoaïi vi vaø vi xöû lyù.
Coù thieát keá saün phaàn cöùng giao tieáp vôùi maùy tính qua coång maùy in LPT vaø qua coång COM theo chuaån RS232 cuõng nhö phaàn cöùng naøy cuõng cho pheùp giao tieáp giöõa hai thieát bò thöïc taäp vôùi nhau.
Coù thieát keá caùc maïch taïo tín hieäu thöû nhö maïch ñôn oån, coâng taéc gaït taïo möùc logic phuïc vuï cho phaàn thí nghieäm maïch treân testboard.
Do thôøi gian coù haïn neân phaàn meàm ñieàu khieån heä thoáng seõ do baïn khaùc thöïc hieän döïa treân phaàn cöùng maø ñeà taøi naøy thieát keá.
MUÏC ÑÍCH NGHIEÂN CÖÙU :
Ñeà taøi vi xöû lyù 8085 khoâng laø moät ñeà taøi môùi laï maø thöïc teá noù ñaõ ñöôïc khaûo saùt töø laâu ôû nöôùc ngoaøi cuõng nhö trong nöôùc. Ngoaøi ra caùc öùng duïng cuûa vi xöû lyù 8085 vaø caùc IC phoå duïng vaøo caùc laõnh vöïc nhö ñieàu khieån, thoâng tin… ñaõ ñöôïc ñeà caäp nhieàu, thieát bò thöïc taäp vi xöû lyù 8085 cuõng ñaõ ñöôïc cheá taïo. Vì vaäy caâu hoûi ñöôïc ñaët ra laø: ñeà taøi naøy seõ ñi nghieân cöùu nhaèm muïc ñích gì khi maø caùc thoâng tin vaø öùng duïng cuûa vi xöû lyù 8085 ñaõ ñöôïc khaûo saùt töø tröôùc?
Ñoàng yù laø moät trong nhöõng ñaëc ñieåm chính cuûa moät ñeà taøi coù giaù trò laø noù phaûi mang tính chaát môùi meû. Tuy nhieân tính môùi meû ôû ñaây ñöôïc hieåu theo nghóa töông ñoái nghóa laø ñeà taøi môùi khoâng phaûi töø tröôùc ñeán giôø chöa ai nghieân cöùu. Quan ñieåm keá thöøa vaø phaùt trieån laø moät quan ñieåm chuû yeáu trong tình hình khoa hoïc phaùt trieån hieän nay. Vôùi quan ñieåm naøy seõ laø kim chæ nam cho vieäc thöïc hieän ñeà taøi.
Qua khaûo saùt moät vaøi thieát bò thöïc taäp vi xöû lyù 8085 cuûa caùc khoùa tröôùc hay qua caùc taøi lieäu nhaän thaáy raèng : Maëc duø ñaõ khaù hoaøn thieän tuy nhieân vaãn coøn nhieàu vaán ñeà naûy sinh maø tröôùc ñoù chöa ñöôïc ñeà caäp hay chöa ñeà caäp tôùi (ÔÛ ñaây muïc ñích cuûa ñeà taøi laø thöïc hieän veà phaàn cöùng neân nhöõng giôùi haïn cuûa phaàn meàm seõ khoâng ñöôïc ñeà caäp).
Moät ñieàu khoù coù theå phuû nhaän laø ñeå laäp trình ñieàu khieån moät thieát bò ñöôïc toát thì phaûi hieåu roõ phaàn cöùng thieát bò ñoù. Tuy nhieân caùc thieát bò ñaõ thöïc hieän raát ít khi cho pheùp ngöôøi söû duïng thaâm nhaäp vaøo phaàn cöùng vaø neáu coù cuõng raát khoù khaên.
Ngoaïi vi laø moät thieát bò ñöôïc cheá taïo gaén lieàn vôùi vi xöû lyù moãi ngoaïi vi ñieàu mang caùc chöùc naêng chuyeân saâu vaø ñöôïc öùng duïng raát maïnh meõ trong nhieàu coâng vieäc. Thöïc teá nhaän thaáy raèng caùc thieát bò ñaõ khaûo saùt thì caùc IC ngoaïi vi haàu nhö chæ phuïc vuï cho phaàn cöùng cuûa heä thoáng ngöôøi söõ duïng haàu nhö khoù coù theå thaâm nhaäp öùng duïng chuùng vôùi muïc ñích khaùc. Ngoaøi ra raát nhieàu ñeà taøi coøn thöïc hieän ôû nhieàu laõnh vöïc khaùc nhau vôùi nhieàu nhu caàu nhö : giao tieáp vôùi theá giôùi töông töï, giao tieáp vôùi maùy tính nhöng khi thöïc hieän gaëp raát nhieàu khoù haên trong vaán ñeà thöû nghieäm do caùc thieát bò thí nghieäm khoâng ñaùp öùng ñuû nhu caàu neân phaûi toán nhieàu thôøi gian ñeå boå sung nhöõng maïch thöû nhöng cuõng raát khoâng thuaän tieän.
Vì vaäy thöïc hieän ñeà taøi naøy ngoaøi muïc ñích giuùp cho ngöôøi thöïc hieän ñeà taøi tìm hieåu kyõ caáu taïo, chöùc naêng, nguyeân lyù hoaït ñoäng cuõng nhö taäp leänh cuûa vi xöû lyù8085 vaø caùc ngoaïi vi ñang ñöôïc söû duïng phoå bieán thì saûn phaåm cuûa ñeà taøi coù theå ñöôïc öùng duïng tröôùc maét laø phuïc vuï cho nhöõng thí nghieäm öùng duïng thöïc teá cuûa vi xöû lyù vaø ngoaïi vi ñang ñöôïc söû duïng khaù phoå bieán treân thò tröôøng Vieät Nam. Neáu tieáp tuïc phaùt trieån hôn nöõa hy voïng noù seõ ñaùp öùng ñuû nhu caàu thí nghieäm vaø öùng duïng cuûa giôùi yeâu thích vi xöû lyù vaø ngoaïi vi vaø coù khaû naêng thay theá caùc thieát bò thöïc taäp 8085 nhaäp ôû nöôùc ngoaøi vì noù phuø hôïp vôùi thò tröôøng ñieän töû ôû nöôùc ta vaø ñaëc bieät hôn nöõa ñeà taøi seõ cung caáp moät caùi nhìn cuï theå veà caáu taïo, caùc nguyeân taéc hoaït ñoäng xaûy ra ñoái vôùi vi xöû lyù 8085 vaø ngoaïi vi.
CHÖÔNG II
CÔ SÔÛ LYÙ LUAÄN
2.1 DAØN YÙ NGHIEÂN CÖÙU :
Giôùi thieäu toång quaùt veà vi xöû lyù.
Theát keá caáu truùc sô ñoà khoái cuûa thieát bò.
Thieát keá phaàn baøn phím vaø hieån thò.
Thíeât keá khoái xöû lyù trung taâm CPU vaø ngoaïi vi.
Thi coâng phaàn cöùng thieát bò.
Höôùng daãn söû duïng phaàn cöùng cuûa thieát bò.
2.2 ÑOÁI TÖÔÏNG NGHIEÂN CÖÙU :
Ñoái töôïng nghieân cöùu chuû yeáu laø thieát bò thöïc taäp vi xöû lyù 8085 Profi – 5E cuûa Ñöùc.
2.3 PHÖÔNG PHAÙP VAØ PHÖÔNG TIEÄN NGHIEÂN CÖÙU :
2.3.1 Phöông phaùp :
Tham khaûo taøi lieäu: Chuû yeáu laø caùc taøi lieäu coù kieán thöùc lieân heä ñeán kyõ thuaät soá, kyõ thuaät ñieän töû, ngoaïi vi vaø vi xöû lyù.
Thöïc nghieäm : Keát noái phaàn cöùng cuûa caùc ngoaïi vi treân testboard vaø keát noái vôùi kit VXL 8085. Vieát chöông trình ñeå thöû nghieäm caùch hoaït ñoäng cuûa töøng ngoaïi vi.
2.3.2 Phöông tieän :
Ngoaøi thieát bò thöïc taäp VXL 8085 cuûa tröôøng ÑHSP Kyõ Thuaät TP.Hoà Chí Minh, caùc duïng cuï ño ñaïc nhö dao ñoäng kyù, maøy phaùt soùng, ñoàng hoà VOM… ñeå thöïc hieän ñeà taøi naøy coøn phaûi thieát keá moät soá maïch phuï hay duøng testboard ñeå thöû nghieäm caùc ngoaïi vi khaûo saùt nhö 8279, 8251, 8253, 8255, 8259, ADC 0809, DAC 0808.
2.4 THÔØI GIAN NGHIEÂN CÖÙU :
Töø ngaøy 18/12/1999 ñeán ngaøy 28/2/2000.
CHÖÔNG III
GIÔÙI THIEÄU TOÅNG QUAÙT VEÀ VI XÖÛ LYÙ & NGOAÏI VI
3.1 SÔ LÖÔÏC VEÀ LÒCH SÖÛ PHAÙT TRIEÅN & CAÁU TRUÙC CUÛA VI XÖÛ LYÙ.
3.1.1 Sô löôïc veà lòch söû phaùt trieån cuûa caùc boä vi xöû lyù :
Trong quaù trình hình thaønh vaø phaùt trieån cuûa VXL coù theå chia thaønh caùc gia ñoaïn sau:
Giai ñoaïn 1 (1971 - 1973) ñaây laø giai ñoaïn khôûi ñaàu cuûa vi xöû lyù. Caùc vi xöû lyù naøy ñeàu coù ñoä daøi töø döõ lieäu ngaén, toác ñoä laøm vieäc thaáp, taäp leänh ñôn giaûn nhö 4004, 8008.
Giai ñoaïn 2 (1974 - 1977) caùc boä vi xöû lyù giai ñoaïn naøy coù taäp leänh phong phuù hôn vaø thöôøng coù khaû naêng phaân bieät ñòa chæ boä nhôù vaø ñung löôïng ñeán 64 K byte, toác ñoä xöû lyù cuõng ñaõ ñöôïc taêng leân vaøi Mhz. Caùc vi xöû lyù ñaïi dieän cho giai ñoaïn naøy nhö 6800, 6809 cuûa Motorola; 8085, 8080 cuûa Intel vaø Z80 cuûa Zilog.
Giai ñoaïn 3 (1978 - 1982) ñaïi dieän caùc boä vi xöû lyù giai ñoaïn naøy laø caùc vi xöû lyù 16 Bit toác oä laøm vieäc coù theå leân ñeán 10 Mhz.
Giai ñoaïn 4 (1984 ñeán nay)
Caùc boä VXL ñaïi dieän cho gia ñoaïn naøy laø caùc VXL 32 bit 80386/80486 vaø 64 bit Pentium/ Pentium II / Pentium III cuûa Intel, caùc VXL 32 bit 68020/ 68030/ 68040/ 68060 cuûa Motorola. Ñaëc ñieåm cuûa VXL trong giai ñoaïn naøy laø bus ñòa chæ ñeàu laø 32 bit (coù khaû naêng phaân bieät ñöôïc 4 GB boä nhôù) vaø coù khaû naêng laøm vieäc vôùi boä nhôù aûo.
Ngöôøi ta coøn aùp duïng caùc cô cheá hoaëc caùc caáu truùc ñaõ ñöôïc aùp duïng trong maøy tính lôùn vaøo caùc VXL nhö : Cô cheá xöû lyù xen keõ lieân tuïc doøng maõ leänh (Pipeline), boä nhôù cache (boä nhôù aån), boä nhôù aûo. Caùc boä VXL naøy ñeàu coù boä quaûn lyù boä nhôù (MMV) vaø nhieàu khi caû boä ñoàng xöû lyù toaùn hoïc ôû beân trong.
Toác ñoä VXL cuõng ñaõ ñöôïc caûi tieán lieân tuïc nhö hieän nay laø 600MHZ ñoái vôùi CPU Intel Pentium III, chính nhôø caùc caûi tieán ñoù maø caùc boä VXL ngaøy nay ñöôïc duøng raát roäng raõi trong raát nhieàu laõnh vöïc. Phaàn lôùn caùc boä VXL theá heä naøy ñeàu ñöôïc saûn xuaát baèng coâng ngheä HCMOS.
3.1.2 Caáu truùc Vi Xöû Lyù:
Vi xöû lyù laø moät vi maïch coù maät ñoä tích hôïp cao, trong ñoù goàm coù khaû naêng nhaän, xöû lyù vaø xuaát döõ lieäu: Ñaëc bieät laø quaù trình xöû lyù ñöôïc ñieàu khieån theo moät chöông trình goàm taäp caùc leänh maø ngöôøi söû duïng coù theå thay ñoåi moät caùch ñeå daøng. Moät vi xöû lyù coù theå hieåu ñöôïc töø moät vaøi traêm cho ñeán haøng ngaøn leänh. Vì vaäy, noù coù khaû naêng thöïc hieän ñöôïc raát nhieàu yeâu caàu ñieàu khieån khaùc nhau.
Caáu taïo cuûa vi xöû lyù thöôøng ñöôïc bieåu dieãn döôùi daïng ñoà khoái. Qua ñoù, ngöôøi söû duïng coù theå thaáy ñöôïc caùc ñaëc ñieåm caàn thieát ñeå phuïc vuï cho vieäc laäp trình, caáu taïo cô baûn cuûa vi xöû lyù veà cô baûn coù theå chia laøm 3 khoái chính:
Ñôn vò soá hoïc – Logic.
Cô sôû cuûa ñôn vò soá hoïc – logic laø moät maïch coäng n.bit, maïch coäng naøy coøn ñöôïc môû roäng theâm ñeå thöïc hieän caùc pheùp xöû lyù khaùc nhö : Tính soá buø baäc 2, pheùp tröø, caùc haøm logic…
Caùc thanh ghi.
Thanh ghi gioáng nhö oâ nhôù beân trong vi xöû lyù, ñieåm khaùc bieät ôû choå laø thanh ghi ñöôïc phaân bieät baèng teân thay vì baèng ñòa chæ nhö oâ nhôù. Thanh ghi duøng ñeå chöùa döõ lieäu, caùc keát quaû trung gian cuûa pheùp tính, tính soá löôïng thanh ghi aûnh höôûng raát lôùn ñeán toác ñoä xöû lyù vì taàn soá truy xuaát boä nhôù seõ ít ñi.Vì vaäy, caùc vi xöû lyù hieän ñaïi thöôøng coù nhieàu thanh ghi (oâ nhôù döïa treân vò trí cuûa boä nhôù).
Ñôn vò ñieàu khieån .
Laø phaàn quan troïng nhaát trong vi xöû lyù, moïi hoaït ñoäng cuûa maùy tính ñöôïc phoái hôïp moät caùch chaëc cheû bôûi caùc tín hieäu taïo ra töø caùc ñôn vò ñieàu khieån.
Maùy tính thi haønh tuaàn töï töøng chæ thò cuûa chöông trình cho ñeán khi coù leänh döøng hoaëc thao taùc voøng laëp. Chöông trình ñieàu khieån ñöôïc chöùa trong boä nhôù döôùi daïng toå hôïp caùc bit goïi laø maõ ñoái töôïng. Nhöng ñeå vieát chöông trình moät chæ thò thöôøng ñöôïc vieát döôùi daïng gôïi nhôù .
3.2 PHAÂN LOAÏI VAØ ÖÙNG DUÏNG CUÛA VI XÖÛ LYÙ VAØ NGOAÏI VI :
Ñoái vôùi vi xöû lyù ngoaøi vieäc phaân loaïi döïa vaøo nhaõn hieäu cheá taïo cuûa caùc haõng ngöôøi ta coøn caên cöù vaøo khaû naêng xöû lyù döõ lieäu cuûa vi xöû lyù. Ba thoâng soá cho pheùp ñaùng giaù khaû naêng xöû lyù cuûa vi xöû lyù ñoù laø:
Ñoä daøi töø döõ lieäu cuûa vi xöû lyù : Ñaây laø ñaëc ñieåm quan troïng cuûa vi xöû lyù noùi leân khaû naêng trao ñoåi döõ lieäu giöõa vi xöû lyù vaø caùc thieát bò khaùc. Hieän nay coù nhieàu vi xöû lyù vôùi ñoä daøi töø döõ lieäu: 8 bit, 16 bit, 32 bit vaø 64 bit. Vôùi boä vi xöû lyù nhieàu bit thì coù öu ñieåm laø:
Cuøng thôøi gian truy xuaát boä nhôù thì löôïng thoâng tin truyeàn ñi nhieàu hôn.
Ñoä chính xaùc cuõng taêng maø khoâng laøm taêng laøm thôøi gian tính toaùn.
Ñoä daøi töø döõ lieäu taêng thì cuõng laøm taêng soá löôïng daây daãn trong bus döõ lieäu. Do ñoù soá chaân cuûa vi xöû lyù cuõng phaûi nhieàu. Ñieàu naøy ñöôïc giaûi quyeát baèng phöông phaùp ña loä thôøi gian tuy nhieân phöông phaùp naøy seõ laøm giaûm vaän toác truyeàn döõ lieäu.
Ñoä daøi töø ñòa chæ: Cho bieát soá löôïng oâ nhôù maø vi xöû lyù coù theå lieân heä tröïc tieáp. Vi xöû lyù coù dung löôïng boä nhôù caøng lôùn thì khaû naêng caøng cao.
Toác ñoä maø vi xöû lyù coù theå thöïc hieän moät leänh.
Thoâng soá naøy ñöôïc ñaùnh giaù thoâng qua taàn soá xung clock caáp cho vi xöû lyù laøm vieäc vi xöû lyù coù taàn soá caøng lôùn thì toác ñoä xöû lyù caøng nhanh.
Ngaøy nay vi xöû lyù ñöôïc öùng duïng raát roäng raõi trong moïi laõnh vöïc nhö: Maùy tính, vieãn thoâng, ñieàu khieån töï ñoäng, trong caùc thieát bò phuïc vuï nghieân cöùu, khoa hoïc, quaân söï, y teá… Söï phaùt trieån maïnh meõ cuûa vi xöû lyù vôùi toác ñoä choùng maët, tuy nhieân caùc vi xöû lyù 8 bit vaãn coù choå ñöùng thöïc söï trong laõnh vöïc ñieàu khieån töï ñoäng vôùi heä thoáng vöøa vaø nhoû. Ngöôøi ta cuõng coù theå söû duïng vi xöû lyù 8 bit vaøo coâng vieäc khaùc do nhöõng öu ñieåm cuûa noù nhö giaù thaønh, ñôn giaûn deå söû duïng.
Vôùiù IC ngoaïi vi söï ra ñôøi cuûa noù chaúng qua ñeå trôï giuùp vôùi vi xöû lyù thöïc hieän moät chöùc naêng naøo ñoù tuøy thuoäc vaøo yeâu caàu cuï theå. Tuøy vaøo caùc haõng cheá taïo, tuøy vaøo chöùc naêng cuï theå cuûa töøng ngoaïi vi maø ta phaân bieät chuùng. Caùc IC ngoaïi vi laø coâng cuï ñaéc löïc giuùp vi xöû lyù giao tieáp vôùi theá giôùi töông töï, ñieàu khieån thieát bò…
3.3 XAÙC ÑÒNH GIAÛI PHAÙP CHO VIEÄC THIEÁT KEÁ PHAÀN CÖÙNG:
Moãi thieát bò thöïc taäp vi xöû lyù tuøy theo yeâu caàu khaùc nhau maø seõ ñöa ra nhöõng giaûi phaùp thieát keá khaùc nhau. Tuy nhieân caáu truùc phaàn cöùng cuûa moät thieát bò thöïc taäp vi xöû lyù noùi chung laø khoâng coù söï thay ñoåi nhieàu vaø khoâng naèm ngoaøi hai phaàn chính khoái xöû lyù trung taâm vaø caùc Mudul vaøo/ra.
Döïa treân phöông chaâm laø vieäc hoïc taäp ñeàu baét ñaàu töø nhöõng ñieàu cô baûn, deå hieåu nhaát nhaèm giuùp ngöôøi hoïc ñeå daøng lónh hoäi ñöôïc nhöõng kieán thöùc cô baûn vaø töø ñoù coù theå töï xaây döïng cho mình moät kieán thöùc vöõng chaéc. Do vaäy ñeà taøi naøy seõ ñi thöïc hieän phaàn cöùng döïa treân quan ñieåm treân. Theo quan ñieåm ñoù thì caùc vi xöû lyù vaø caùc ngoaïi vi seõ ñöôïc choïn vaø phuïc vuï cho hoïc taäp vaø öùng duïng seõ mang nhöõng neùt nhö cô baûn, deã tìm hieåu vaø öùng duïng vaø quan troïng hôn heát laø noù phoå bieán treân thò tröôøng Vieät Nam. Ngoaøi ra vieäc thieát keá seõ tìm ra moät phöông phaùp hôïp lyù nhaát cho pheùp ngöôøi söû duïng coù theå laøm chuû ñöôïc thieát bò thöïc taäp.
CHÖÔNG IV
XAÂY DÖÏNG SÔ ÑOÀ KHOÁI CHO THIEÁT BÒ THÖÏC TAÄP VXL 8085
4.1 KIEÁN THÖÙC LIEÂN QUAN ÑEÁN ÑEÀ TAØI:
Ngoaøi caùc kieán thöùc cô sôû vaø chuyeân ngaønh ñaõ hoïc ôû tröôøng nhö : Kyõ thuaät xung soá, kyõ thuaät maïch ñieän töû, vi maïch… ñeà taøi naøy coøn ñoøi hoûi caùc kieán thöùc chuyeân saâu veà vi xöû lyù noùi chung vaø vi xöû lyù 8085 noùi rieâng cuõng nhö caáu taïo, nguyeân taéc hoaït ñoäng, caùch thöùc khôûi taïo vaø laäp trình ñieàu khieån caùc ngoaïi vi.
Ñeå thöïc hieän ñeà taøi naøy ngoaøi vieäc khaûo saùt caùc linh kieän coøn phaûi naém vöõng moät soá kieán thöùc chính nhö :
Caáu taïo, nguyeân taéc hoaït ñoäng cuûa VXL 8085.
Vaán ñeà giao tieáp giöõa VXL vôùi boä nhôù, giöõa VXL vaø caùc IC ngoaïi vi.
Nguyeân taéc thöïc hieän queùt phím, queùt hieån thò led 7 ñoaïn.
Phöông phaùp giaûi maõ ñòa chæ.
Ngaét trong VXL laø gì? Söï caàn thieát cuûa ngaét vaø vaán ñeà ngaét öu tieân.
Caùc boä ñònh thôøi vaø öùng duïng.
Vaán ñeà truyeàn döõ lieäu ñoàng boä vaø baát ñoàng boä noái tieáp theo chuaån RS 232 duøng vi maïch chuyeân duøng 8251.
Vaán ñeà truyeàn döõ lieäu song song duøng vi maïch ñieàu khieån vaøo ra song song 8255.
Phöông phaùp chuyeån ñoåi töông töï sang soá vaø soá xung töông töï vaø khaûo saùt öùng duïng cuï theå ñoái vôùi vi maïch ADC 0809, DAC 0808.
Caùc kieán thöùc treân seõ ñöôïc öùng duïng ñeå trình baøy ôû phaàn thieát keá cuï theå vaø ñöôïc giôùi thieäu chi tieát ôû phaàn phuï luïc.
4.2 XAÂY DÖÏNG SÔ ÑOÀ KHOÁI & XAÙC ÑÒNH YEÂU CAÀU CUÏ THEÅ CUÛA CAÙC KHOÁI
4.2.1 Xaây döïng sô ñoà khoái:
Döïa treân yeâu caàu cuï theå cuûa ñeà taøi ta coù theå chia thieát bò thöïc taäp thaønh caùc khoái chính sau:
Khoái vi xöû lyù trung taâm 8085.
Khoái ñeäm.
Khoái boä nhôù ROM & RAM.
Khoái queùt phím vaø hieån thò.
Khoái truyeàn döõ lieäu noái tieáp.
Khoái truyeàn döõ lieäu song song.
Khoái ñònh thôøi vaø taïo xung.
Khoái chuyeån ñoåi töông töï sang soá.
Khoái chuyeån ñoåi soá sang töông töï.
Khoái giaûi maõ ñòa chæ.
Khoái choát.
Khoái ñieàu khieån ngaét öu tieân.
ÔÛ ñaây khoái xöû lyù trung taâm seõ nhaän döõ lieäu ñieàu khieån töø khoái baøn phím hay caùc thieát bò ñieàu khieån beân ngoaøi ñeå xöû lyù vaø cho ra tín hieäu ñeå ñieàu khieån hoaït ñoäng cuûa caùc khoái khaùc nhö hieån thò, ñieàu khieån ghi/ñoïc töø khoái boä nhôù hay ñieàu khieån truyeàn döõ lieäu… Nhö vaäy khoái naøy seõ caáp bus ñòa chæ ñeå xaùc ñònh vò trí maø VXL seõ lieân heä ñeán, bus döõ lieäu ñeå ñoïc hay xuaát döõ lieäu ra heä thoáng, bus ñieàu khieån ñeå cho caùc tín hieäu ñieàu khieån heä thoáng. Noùi chung nhieäm vuï cuûa khoái naøy laø xöû lyù döõ lieäu heä thoáng.
Muoán naâng cao khaû naêng taûi cuûa caùc bus ñeå ñaûm baûo vieäc nuoâi caùc maïch beân ngoaøi, caùc tín hieäu vaøo ra cuûa khoái xöû lyù trung taâm CPU caàn phaûi ñöôïc khueách ñaïi thoâng qua khoái ñeäm moät chieàu hay hai chieàu. Ngoõ ra cuûa caùc khoái ñeäm thöôøng laø ngoõ 3 ba traïng thaùi.
Vi xöû lyù laø IC chuyeân xöû lyù veà döõ lieäu, ñieàu khieån theo moät chöông trình. Muoán vi xöû lyù laøm moät coâng vieäc gì thì ngöôøi söû duïng phaûi laäp trình cho noù. Chöông trình laø taäp hôïp caùc leänh ñöôïc caáu taïo töø nhöõng soá nhò phaân. Chöông trình phaûi ñöôïc löu tröõ ôû ñaâu ñeå vi xöû lyù nhaän leänh vaø thi haønh, ñoâi khi trong luùc xöû lyù chöông trình vi xöû lyù caàn nôi ñeå löu tröõ taïm thôøi caùc döõ lieäu sau ñoù laáy ra ñeå tieáp tuïc xöû lyù. Nôi löu tröõ cho chöông trình vi xöû lyù thöïc hieän vaø nôi löu tröõ döõ lieäu taïm thôøi döõ lieäu chính laø boä nhôù. Coù theå noùi boä nhôù ñoái vôùi vi xöû lyù raát quan troïng, vi xöû lyù seõ khoâng thöïc hieän ñöôïc chöùc naêng cuûa mình neáu thieáu boä nhôù. Khoái boä nhôù cuûa vi xöû lyù laø caùc IC coù theå ñoïc döõ lieäu ra, ghi döõ lieäu vaøo hay chæ ñoïc döõ lieäu ra. Khoái boä nhôù seõ nhaän ñòa chæ ñöôïc chæ ñònh töø vi xöû lyù ñeå choïn oâ nhôù caàn truy xuaát , nhaän leänh ñieàu khieån töø vi xöû lyù ñeå ñöa döõ lieäu ra bus döõ lieäu hay ghi döõ lieäu töø bus döõ lieäu vaøo. Tuyø theo khaû naêng quaûn lyù boä nhôù cuûa vi xöû lyù maø khoái boä nhôù seõ coù dung löôïng khaùc nhau.
Ñöa döõ lieäu vaøo hieån thò laø moät phaàn khoâng theå thieáu trong vieäc thieát keá moät heä thoáng vi xöû lyù. Baøn phím laø moät thieát bò vaøo raát thoâng duïng trong caùc heä vi xöû lyù. Trong tröôøng hôïp ñôn giaûn nhaát ñoù coù theå chæ laø moät coâng taéc gaén phím (maø ta thöôøng chæ quan taâm ñeán kyù hieäu treân maët phím) noái vaøo hai chaân naøo ñoù cuûa vi xöû lyù. ÔÛ möùc ñoä phöùc taïp hôn khoái naøy coù theå bao goàm haøng chuïc coâng taéc coù gaén phím ñöôïc toå chöùc theo moät ma traän; phöùc taïp hôn nöõa khoái seõ chöùa moät vi xöû lyù chuyeân duøng quaûn lyù caû traêm coâng taéc coù gaén phím vôùi nhieäm vuï nhaän ra phím ñöôïc goõ vaø taïo maõ ñöa ñeán cho heä vi xöû lyù. Duø ñôn leû hay laø taäp hôïp caùc phím, khi gheùp noái chuùng vôùi boä vi xöû lyù ta cuõng phaûi thoûa maõn moät soá yeâu caàu ñaëc bieät ñeå ñaûm baûo caû heä thoáng hoaït ñoäng ñuùng.
Hieån thò laø thieát bò ñöa tin töùc ra thoâng baùo cho ngöôøi söû duïng. Trong tröôøng hôïp ñôn giaûn ñoù coù theå chæ laø moät vaøi Led ñôn leû ñeå baùo hieäu moät vaøi traïng thaùi naøo ñoù. Phöùc taïp hôn, ñoù laø caùc ñeøn Led ñöôïc toå chöùc thaønh ñeøn chæ thò baûy ñoaïn hoaëc nhieàu hôn ñeå hieån thò caùc thoâng tin döôùi daïng soá hoaëc chöõ. Ngoaøi ra CPU coù theå phoái gheùp vôùi khoái hieån thò baèng tinh theå loûng, maøn hình baèng oáng tia ñieän töû hay ñeøn hình.
Khoái hieån thò coù theå hieån thò ôû cheá ñoä hieån thò tónh vôùi ñaëc ñieåm khaù ñôn giaûn veà keát caáu nhöng raát toán naêng löôïng: ñeå thaép saùng caùc neùt cuûa ñeøn thì ñoøi hoûi phaûi coù doøng ñieän lieân tuïc ñi qua. Ñeå khaéc phuïc nhöôïc ñeåm naøy ta thöôøng söû duïng maïch phoái gheùp hieån thò ñoäng laøm theo nguyeân taéc doàn keânh: Caùc Led seõ thay nhau saùng theo moät chu kyø nhaát ñònh vôùi cuøng döõ lieäu ñieàu khieån. Coâng xuaát tieâu thuï nhôø theá maø giaûm ñi raát nhieàu maø vaãn ñaït ñöôïc hieäu quaû hieån thò. Trong thöïc teá coù nhieàu maïch tích hôïp ñaõ ñöôïc cheá taïo ñeå phoái hôïp vôùi vi xöû lyù ñaûm nhaän nhieäm vuï queùt phím vaø hieån thò ôû khoái baøn phím vaø hieån thò. Coù nhöõng maïch keát hôïp caùc phoái gheùp baøn phím – hieån thò ñeøn Led trong moät vi maïch ñeå taïo thuaän lôïi cho ngöôøi söû duïng khi xaây döïng caùc kit vi xöû lyù.
Trong moät heä thoáng vi xöû lyù, ngoaøi caùc phaàn töû nhôù (ROM,RAM) vi xöû lyù coøn phaûi thoâng tin vôùi caùc ngoaïi vi (8253, 8255, 8251… ). Caùc phaàn töû nhôù vaø caùc phaàn töû vaøo ra do vi xöû lyù quaûn lyù ñeàu duøng chung bus ñòa chæ, bus döõ lieäu vaø moät vaøi tín hieäu ñieàu khieån töø vi xöû lyù. Do vaäy ñeå vi xöû lyù xaùc ñònh noù ñang caàn giao tieáp vôùi phaàn töû naøo taïi nhöõng thôøi ñieåm khaùc nhau thì ñoøi hoûi phaûi coù moät thieát bò chæ ra cho vi xöû lyù bieát ñieàu ñoù. Thieát bò thöïc hieän ñieàu naøy naèm trong khoái giaûi maõ ñòa chæ. Maïch giaõi maõ laø moät trong nhöõng khaâu gaây ra vieäc treã thôøi gian cuûa tín hieäu töø CPU tôùi boä nhôù hoaëc ngoaïi vi do ñoù trong khi choïn maïch nhôù vaø ngoaïi vi ta phaûi tính ñeán. Coù nhieàu maïch tích hôïp cuõng ñaõ ñöôïc cheá taïo ñeå thöïc hieän chöùc naêng giaûi maõ. Tuøy theo quy moâ cuûa khoái giaûi maõ maø ta coù theå coù ôû ñaàu ra moät hay nhieàu tín hieäu choïn voû.
Trong thöïc teá maïch ñònh thôøi (Timer) hay maïch treã vaø maïch taïo xung raát ñöôïc söû duïng vôùi nhieàu muïc ñích khaùc nhau, vaø laø maïch phuï raát quan troïng trong caùc heä vi xöû lyù. Trong moät heä thoáng vi xöû lyù khoái ñònh thôøi vaø taïo xung coù theå ñöôïc thöïc hieän baèng phaàm meàm nhöng khaù phöùc taïp. Ñeå giaûm nheï coâng vieäc naøy ngöôøi ta ñaõ tích hôïp nhöõng ngoaïi vi coù theå thöïc hieän chöùc naêng treân.
Ñeå giaûm bôùt khoù khaên veà maët coâng ngheä do vieäc phaûi cheá taïo nhieàu chaân cho caùc tín hieäu cuûa vi maïch xöû lyù trung taâm CPU, ngöôøi ta ñaõ tìm caùch haïn cheá soá chaân cuûa caùc vi maïch naøy baèng caùch doàn keânh nhieàu tín hieäu treân cuøng moät chaân. Do ñoù yeâu caàu ñöôïc ñaët ra laø phaûi taùch caùc tín hieäu naøy nhö theá naøo? Vieäc naøy ñöôïc thöïc hieän baèng caùch söû duïng moät khoái coù chöùa caùc vi maïch coù chöùc naêng thích hôïp beân ngoaøi( thoâng thöôøng thì ñoù laø caùc maïch choát). Ngoaøi ra khoái choát coøn coù nhieäm vuï giöõ laïi döõ lieäu ñeå ñieàu khieån moät thieát bò hay moät linh kieän naøo ñoù. Ñeå hoã trôï cho vieäc taùch thoâng tin ña hôïp hay ñieàu khieån caùc vi maïch trong khoái choát vi xöû lyù seõ ñöa ra caùc tín hieäu ñieàu khieån phuø hôïp.
Vieäc phoái gheùp heä vi xöû lyù vaø caùc thieát bò laøm vieäc vôùi caùc ñaïi löôïng töông töï laø moät nhu caàu raát hay gaët trong thöïc teá ñôøi soáng cuõng nhö trong coâng nghieäp. Caùc phaàn töû maø heä vi xöû lyù caàn phaûi phoái gheùp thöôøng laø caùc ñaàu ño ( boä caûm bieán hoaëc boä bieán ñoåi ) ôû ñaàu vaøo vaø caùc cô caáu chaáp haønh ôû ñaàu ra. Cô caáu ch._.aáp haønh thöôøng laø loaïi soá hay töông töï . Cô caáu chaáp haønh soá thöôøng laø caùc khoùa ñieän töû duøng ñeå ñoùng ngaét caùc maïch caáp ñieän cho phaàn töû caàn ñieàu khieån, vì vaäy cô caáu naøy chæ caà caáp tín hieäu logic thích hôïp laø ñöôïc. Coøn caùc cô caáu chaáp haønh töông töï thì caàn phaûi ñöôïc noái vôùi vi xöû lyù thoâng qua caùc boä chuyeån ñoåi soá sanh töông töï DAC vaø maïch khueách ñaïi coâng suaát ñeå thöïc hieân caùc thao taùc do vi xöû lyù ñöa ñeán. Ñeå gheùp noái vôùi caùc thieát bò nhö vaäy vi xöû lyù caàn phaûi thoâng qua caùc khoái chuyeån ñoåi soá sang töông töï vaø töông töï sang soá.
Ngöôøi ta raát muoán taän duïng khaû naêng cuûa vi xöû lyù ñeå thöïc hieän nhieàu coâng vieäc. Do ñoù daõ cheá taïo caùc ñöôøng tín hieäu ñieàu khieån yeâu caàu vi xöû lyù taïm döøng coâng vieäc ñang thöïc hieän ñeå thöïc hieän moät coâng vieäc khaùc.khi coâng vieäc naøy thöïc hieän xong thì môùi quay veà thöïc hieän tieáp coâng vieäc ñang giaùn ñoaïn, caùch laøm vieäc theo kieåu naøy goïi laø ngaét vi xöû lyù ñeå trao ñoå döõ lieäu. Thoâng thöôøng caùc tín hieäu ñeå xaùc ñònh vi xöû lyù laøm vieäc theo kieåu naøy ñaõ ñöôïc thieát keá tích hôïp beân trong vi xöû lyù. Tuøy theo khaû naêng cuûa töøng boä xöû lyù trung taâm maø cho caùc yeâu caàu ngaét nhieàu hay ít. Ñoâi khi ñeå môû roäng theâm caùc yeâu caàu ngaét khoái xöû lyù trung taâm coøn phaûi gheùp noái vôùi khoái môû roäng öu tieân ngaét beân ngoaøi thoâng qua caùc tín hieäu ñieàu khieån.
Vaán ñeà truyeàn döõ lieäu cuõng ñöôïc ñeà caäp nhieàu trong heä vi xöû lyù. Hai phöông phaùp truyeàn döõ lieäu raát thöôøng gaëp trong thöïc teá laø phöông phaùp truyeàn döõ lieäu noái tieáp vaø phöông phaùp truyeàn döõ lieäu song song. Öu ñieåm cuûa vieäc truyeàn song song laø toác ñoä truyeàn nhanh do truyeàn taát caû caùc bit cuûa moät kyù töï cuøng moät luùc. Tuy nhieân ñoøi hoûi nhieàu ñöôøng truyeàn vaø khoaûng caùch truyeàn gaàn. Ñeå khaéc phuïc vaán ñeà naøy phöông thöùc truyeàn noái tieáp ra ñôøi. Phöông phaùp naøy ñoøi hoûi ñöôøng truyeàn ít hôn vaø truyeån ñi ñöôïc xa hôn; tuy nhieân toác ñoä chaäm hôn do phaûi truyeàn tuaàn töï töøng bit cuûa moät kyù töï. Ñeå phuïc vuï cho khoái truyeàn döõ lieäu ngöôøi ta ñaõ cheá taïo nhieàu maïch tích hôïp chuyeân duøng. Caùc maïch tích hôïp naøy seõ keát hôïp vôùi vi xöû lyù giaûi quyeát caùc vaán ñeà phoái gheùp truyeàn thoâng tin raát hieäu quaû.
4.2.2 Yeâu caàu cuï theå cuûa caùc khoái:
Nhieäm vuï cuûa khoái xöû lyù döõ lieäu heä thoáng seõ do vi xöû lyù 8 bit 8085 ñaûm nhaän. Vi xöû lyù 8085 seõ ñöôïc keát noái sao cho coù theå cho pheùp ngöôøi söû duïng thöïc hieän ñöôïc caùc chöùc naêng xöû lyù döõ lieäu cuûa mình ñoái vôùi heä thoáng .
Khoái ñeäm döõ lieäu phaûi ñaûm baûo ñuû naêng löôïng ñeå cung caáp cho caùc taûi logic cuûa heä thoáng. Yeâu caàu cuûa heä thoáng ñoái vôùi khoái naøy laø phaûi ñaûm baûo khaû naêng laùi cuûa tuyeán döõ lieäu, tuyeán ñòa chæ vaø caùc tín hieäu ñieàu khieån töø khoái xöû lyù trung taâm cuõng nhö caùc tín hieäu ñieàu khieån khaùc lieân quan. Tuyeán döõ lieäu phaûi ñeäm hai chieàu coøn caùc tín hieäu khaùc chæ caàn ñeäm moät chieàu.
Khoái boä nhôù ñöôïc yeâu caàu dung löôïng nhôù laø: 16 K Byte cho ROM heä thoáng vaø chöa caùc chöông trình tieän ích, 16K byte cho RAM ñeå löu tröõ taïm döõ lieäu xöû lyù, moät socket môû roäng boä nhôù 8 K coù theå laø RAM hay ROM heä thoáng.
Khoái baøn phím vaø hieån thò phaûi cung caáp ñuû moät ma traän goàm 31 phím vaø 16 led hieån thò 7 ñoaïn Anode chung. Ngoaøi ra coù theå môû roäng soá löôïng phím leân 64 phím ôû beân ngoaøi. Vieäc queùt baøn phím coù theå thöïc hieän theo kieåu ngaét hay hoûi voøng (polling), vieäc hieån thò coù theå thöïc hieän nhieàu kieåu hieån thò nhö vaøo traùi hay vaøo phaûi coù hay khoâng taêng töï ñoäng hieån thò. IC ngoaïi vi thöïc hieän caùc chöùc naêng treân cho khoái naøy laø 8279.
Khoái truyeàn döõ lieäu noái tieáp thì phaûi cho pheùp ngöôøi söû duïng truyeàn ñöôïc döõ lieäu ñoàng boä hay baát ñoàng boä, coù theå khoáng cheá ñöôïc toác ñoä truyeàn baèng caùch laäp trình xung nhòp truyeàn döõ lieäu, coù khaû naêng giao tieáp vôùi maùy tính qua coång COM theo tieâu chuaån RS 232. Ngoaïi vi thöïc hieän khoái naêng seõ laø 8251A cuûa Intel vaø IC kích phaùt thu theo chuaån RS 232 laø MC 1488 vaø MC 1489. Khoái truyeàn döõ lieäu song song cuõng theo tieâu chuaån RS 232 coù theå giao tieáp vôùi maùy tính qua coång maùy in hay giao tieáp vôùi thieát bò thöïc taäp khaùc. Ngoaïi vi söû duïng laø 8255 ngoaøi chöùc naêng giao tieáp coøn cho pheùp söû duïng caùc chöùc naêng khaùc nhö: chuyeån ñoåi töông töï sang soá, queùt phím, queùt hieån thò…
Khoái ñònh thôøi vaø taïo xung cho pheùp laäp trình ñieàu khieån ñöôïc phaàm meàm ñeå cho xung nhòp chuaån cho khoái truyeàn döõ lieäu noái tieáp, cuõng nhö xung clock söû duïng cho muïc ñích thí nghieäm khaùc. Khoái naøy söû duïng hai ngoaïi vi 8253. Moät söû duïng ñeå thöïc hieän cho phaàn cöùng heä thoáng vaø moät cho pheùp ngöôøi söû duïng can thieäp vaøo tìm hieåu.
Khoái chuyeån ñoåi töông töï sang soá vôùi yeâu caàu laø chuyeån ñoåi ñöôïc tín hieäu töông töï thaønh soá 8 bit, coù 8 ngoõ vaøo töông töï coù theå löïa choïn ñöôïc. Khoái naøy söû duïng vi maïch chuyeån ñoåi 8 bit ADC 0809 ñöôïc keát noái tröïc tieáp vôùi khoái xöû lyù trung taâm.
Khoái chuyeån ñoåi soá sang töông töï duøng vi maïch chuyeån ñoåi 8 bit DAC 0808 sao cho coù theå chuyeån ñoåi tín hieäu soá 8 bit thaønh tín hieäu töông töï ôû ngoõ ra vôùi ñieän aùp nhoû hôn 5v.
Khoái giaûi maõ ñòa chæ caàn thieát phaûi ñuû ñaàu ra ñeå choïn boä nhôù vaø caùc IC ngoaïi vi. ÔÛ ñaây noù phaûi ñaùp öùng ñöôïc 8 ngoõ ra cho IC ngoaïi vi vaø 6 ñaàu ra theo kieåu boä nhôù.
Khoái choát phaûi taùch ñöôïc ñòa chæ vaø döõ lieäu ña hôïp thaønh ñòa chæ thaáp vaø döõ lieäu, cuõng nhö choát döõ lieäu ñeå ñieàu khieån khoái chuyeån ñoåi soá sang töông töï. Töø caùc yeâu caàu treân ta coù theå ñöa ra sô ñoà keát noái caùc khoái chi tieát nhö hình 4.1.
Hình 4.1 : Caáu truùc sô ñoà khoái cuûa thieát bò thöïc taäp vi xöû lyù 8085.
CHÖÔNG V
THIEÁT KEÁ CUÏ THEÅ
Döïa treân yeâu vaàu ñeà ra cuûa ñeà taøi vaø caáu truùc sô ñoà khoái chi tieát ñaõ ñöôïc xaùc ñònh ôû chöông IV ta seõ ñi thieát keá cuï theå cho töøng khoái.
5.1 THIEÁT KEÁ KHOÁI XÖÛ LYÙ TRUNG TAÂM.
Vi xöû lyù (microprocessor) laø moät thieát bò baùn daãn chöùa caùc maïch logic ñieän töû ñöôïc cheá taïo theo coâng ngheä LSI hoaëc VLSI. Vi xöû lyù coù khaû naêng thöïc hieän caùc chöùc naêng tính toaùn vaø taïo ra caùc quyeát ñònh laøm thay ñoåi trình töï thi haønh chöông trình. Vi xöû lyù laø moät thieát bò logic laäp trình ñöôïc, ñöôïc thieát keá baèng caùc thanh ghi, caùc flip-flop vaø caùc phaàn töû ñònh thôøi. Vi xöû lyù coù moät taäp leänh ñöôïc thieát keá beân trong, ñeå xöû lyù döõ lieäu vaø truyeàn thoâng vôùi caùc thieát bò ngoaïi vi. Coù nhieàu loaïi vi xöû lyù vaø cuõng coù nhieàu haõng cheá taïo vi xöû lyù.
Nhö ñaõ ñeà caäp töø ñaàu khoái xöû lyù trung taâm maø ñeà taøi naøy thöïc hieän seõ laø vi xöû lyù 8085. 8085 laø moät boä vi xöû lyù 8 bit do Intel saûn xuaát, ñaàu tieân vaøo naêm 1977. Noù coù khaû naêng ñònh ñòa chæ cho boä nhôù tôùi 64 Kbyte. Thieát bò naøy coù 40 chaân, daïng Dip, ñoøi hoûi nguoàn ñôn + 5VDC. Toaøn boä caùc tính hieäu cuûa 8085 coù theå ñuôïc phaân thaønh 6 nhoùm:
1. Tuyeán ñòa chæ.
2. Tuyeán döõ lieäu.
3. Caùc tín hieäu traïng thaùi vaø ñieàu khieån.
4. Nguoàn cung caáp vaø caùc tín hieäu taàn soá.
5. Caùc ngaét vaø caùc tín hieäu khôûi taïo ngoaïi vi.
6. Caùc coång I/O noái tieáp.
Hình 5.1 trình baøy caùc tín hieäu cuûa 8085.
Hình 5.1 : Sô ñoà caùc tín hieäu cuûa 8085
G Tuyeán ñòa chæ.
8085 coù 8 ñöôøng tín hieäu, A15 -A8, laø caùc tín hieäu moät chieàu, ñöôïc söû duïng nhö tuyeán ñòa chæ cao.
G Tuyeán ña hôïp ñòa chæ vaø döõ lieäu.
Caùc ñöôøng tín hieäu AD7 - AD0 laø caùc ñöôøng hai chieàu, chuùng phuïc vuï moät muïc ñích keùp. Caùc ñöôøng naøy ñöôïc söû duïng luùc thì thöïc hieän chöùc naêng nhö tuyeán ñòa chæ thaáp, luùc thì nhö laø tuyeán döõ lieäu. Khi thi haønh moät leänh, trong moät phaàn ñaàu cuûa chu kyø, caùc ñöôøng naøy ñöôïc söû duïng nhö laø tuyeán ñòa chæ thaáp. Suoát phaàn coøn laïi cuûa chu kyø, caùc ñöôøng naøy ñöôïc duøng nhö tuyeán döõ lieäu. Ñieàu naøy cuõng ñöôïc goïi laø tuyeán ña hôïp (multiplexing the bus). Tuy nhieân, coù theå taùch tuyeán ñòa chæ thaáp töø caùc tín hieäu ña hôïp naøy nhôø söû duïng moät maïch choát .
G Caùc tín hieäu ñieàu khieån vaø traïng thaùi
Nhoùm caùc tín hieäu naøy bao goàm 2 tín hieäu ñieàu khieån (RD vaø WR), 3 tín hieäu traïng thaùi (IO / M, S1 vaø So) ñeå xaùc ñònh loaïi hoaït ñoäng, vaø 1 tín hieäu ñaëc bieät ALE ñeå chæ thò söï baét ñaàu cuûa hoaït ñoäng.
* ALE - Address Latch Enable : Cho pheùp choát ñòa chæ. Ngoõ ra cuûa tín hieäu naøy seõ cho moät xung döông taùc ñoäng caïnh leân ñöôïc phaùt ra moãi laàn 8085 baét ñaàu moät chu kyø maùy, noù chæ thò raèng caùc bit AD7 - ADO laø caùc bit ñòa chæ. Cho neân tín hieäu naøy veà cô baûn ñöôïc söû duïng ñeå choát caùc ñòa chæ thaáp töø tuyeán ña hôïp ñòa chæ vaø döõ lieäu.
* RD - Read : Ñoïc. Ñaây laø tín hieäu ñieàu khieån Ñoïc taùc ñoäng möùc thaáp. Tín hieäu naøy chæ thò ñoïc I/O hoaëïc boä nhôù vaø döõ lieäu coù khaû duïng treân tuyeán döõ lieäu.
* WR- Write : Ghi. Ñaây laø tín hieäu ñieàu khieån Ghi taùc ñoäng möùc thaáp. Tín hieäu naøy chæ thò raèng döõ lieäu treân tuyeán döõ lieäu ñöôïc ghi vaøo moät oâ nhôù hoaëc I/O ñaõ choïn.
* IO/M : Ñaây laø tín hieäu traïng thaùi ñöôïc söû duïng ñeå phaân bieät giöõa caùc hoaït ñoäng I/O vaø boä nhôù. khi noù ôû möùc thaáp, noù chæ thò moät hoaït ñoäng lieân quan ñeán boä nhôù. Tín hieäu naøy seõ ñöôïc keát hôïp vôùi RD\ vaø WR\ ñeå taïo ra caùc tín hieäu ñieàu khieån I/O vaø boä nhôù.
* S1 vaø S0 : Status. Ñaây laø caùc tín hieäu traïng thaùi, töông töï IO/M, coù theå xaùc ñònh caùc traïng thaùi hoaït ñoäng khaùc nhau cuûa vi xöû lyù, nhöng chuùng khoâng ñöôïc söû duïng trong heä thoáng naøy.
G Nguoàn cung caáp vaø taàn soá xung ñoàng hoà.
*VCC : Nguoàn cung caáp + 5v DC.
*VSS : noái 0v.
* X1 vaø X2 : Moät thaïch anh hoaëc moät maïch dao ñoäng RC, LC ñöôïc noái taïi hai chaân naøy. Moãi chuûng loaïi 8085 ñeàu coù taàn soá toái ña cho pheùp ñöa vaøo:
6 MHz ñoái vôùi 8085A
10 MHz ñoái vôùi 8085A- 2
12 MHz ñoái vôùi 8085A- 1
Vi xöû lyù ñöôïc choïn thieát keá laø loaïi 8085A neân taàn soá thaïch anh ñöôïc choïn laø 6 Mhz.
* CLK _ OUT - Clock Output : Ngoõ ra xung ñoàng hoà ñoàng boä vôùi xung clk cuûa heä thoáng vaø coù taàn soá baèng phaân nöûa ngoõ vaøo xung clock caáp cho vi xöû lyù. Noù seõ ñöôïc duøng ñeå cung caáp caùc tín hieäu xung ñoàng hoà cho caùc thaønh phaàn khaùc thuoäc heä thoáng.
G Caùc ngaét vaø caùc hoaït ñoäng khôûi taïo beân ngoaøi.
Vi xöû lyù 8085 coù naêm tín hieäu ngaét vôùi möùc öu tieân vaø taùc ñoäng khaùc nhau coù theå ñöôïc söû duïng ñeå ngaét moät söï thi haønh chöông trình vaø moät tín hieäu traû lôøi ngaét INTA (Interrupt Acknowledge). Ngoaøi tín hieäu ngaét INTR vaø tín hieäu traû lôøi ngaét INTA duøng cho maïch ñieàu khieån öu tieân ngaét 8259, caùc tín hieäu ngaét khaùc ñeàu ñöôïc ñöa ra cho pheùp ngöôøi söû duïng thöïc hieän caùc yeâu caàu khaùc.
Ngoaøi caùc ngaét, ba chaân - RESET, HOLD vaø READY - tieáp nhaän caùc tín hieäu khôûi taïo beân ngoaøi nhö laø caùc ngoõ vaøo. Ñeå ñaùp öùng yeâu caàu HOLD, vi xöû lyù coù moät tín hieäu goïi laø HLDA (Hold Acknowledge). Ñeå heä thoáng hoaït ñoäng bình thöôøng thì READY phaûi ôû möùc cao vaø HOLD phaûi ôû möùc thaáp. Neáu READY ôû möùc cao thì vi xöû lyù seõ chôø cho ñeán khi noù xuoáng laïi möùc thaáp, coøn khi HOLD ñöôïc yeâu caàu baèng moät tín hieäu möùc thaáp thì vi xöû lyù seõ chaáp thuaän baèng caùch göûi tín hieäu HLDA. Hai tín hieäu naøy seõ ñöôïc ñöa ra cho pheùp söû duïng.
* RESET IN : Khi tín hieäu treân chaân naøy xuoáng logic thaáp, boä ñeán chöông trình ñöôïc ñaët veà khoâng, caùc tuyeán ôû traïng thaùi toång trôû cao vaø vi xöû lyù bò ñaët laïi. Tín hieäu ngoõ vaøo naøy ñöôïc keát noái vôùi phím reset cöùng beân phaàn baøn phím vaø hieån thò.
* RESET OUT : Tín hieäu naøy chæ thò raèng vi xöû lyù ñang ñöôïc ñaët laïi. Tín hieäu naøy coù theå söû duïng ñeå ñaët laïi caùc thieát bò khaùc.
G Caùc coång I/O noái tieáp
Vi xöû lyù 8085 coù hai tín hieäu ñeå thöïc hieän vieäc truyeàn döõ lieäu noái tieáp.
* SID : Serial Input Data. Döõ lieäu vaøo noái tieáp. Tín hieäu naøy naïp vaøo bit D7 cuûa thanh ghi A trong möùc leänh RIM
* SOD : Serial Output Data. Döõ lieäu ra noái tieáp. Ngoõ ra naøy ñöôïc neâu roõ bôûi leänh SIM.
Hai tín hieäu naøy chæ ñöa ra cho pheùp söû duïng maø khoâng ñöôïc söû duïng trong heä thoáng. Caùc vaán ñeà cuï theå ñoái vôùi caùc tín hieäu ngaét cuûa 8085 cuõng nhö caáu truùc beân trong, hoaït ñoäng vaø taäp leänh seõ ñöôïc trình baøy chi tieát ôû phaàn phuï luïc. Sô ñoà keát noái chi tieát cuûa vi xöû lyù 8085 ñöôïc cho ôû sô ñoà nguyeân lyù cuûa CPU.
5.2 CHOÁT, ÑEÄM TUYEÁN ÑÒA CHÆ, TUYEÁN ÑIEÀU KHIEÅN VAØ DÖÕ LIEÄU CHO 8085.
5.2.1 Choát tuyeán ñòa chæ thaáp.
Do trong heä thoáng vi xöû lyù 8085 tuyeán döõ lieäu vaø ñòa chæ thaáp ñöôïc cheá taïo ña hôïp neân baét buoäc phaûi choát tuyeán ñòa chæ thaáp ñeå giaûi ña hôïp (demultiplex) tuyeán AD7 _ AD0 thaønh 2 tuyeán rieâng bieät : tuyeán ñòa chæ thaáp A7 _ A0 vaø tuyeán döõ lieäu D7 _ D0.
ÔÛ chu kyø T1 ñaàu tieân, tín hieäu ALE taïo ra moät xung baùo cho bieát AD0 – AD7 laø caùc ñöôøng ñòa chæ. Ñeå oån ñònh caùc ñöôøng ñòa chæ naøy phaûi duøng IC choát nhö 74LS373 hay 74LS573. Chöùc naêng cuûa hai IC naøy gioáng nhau nhöng caáu taïo cuûa 74LS573 cho pheùp thi coâng thuaän tieän hôn. Hình 5.2 trình baøy vieäc taùch tuyeán ñòa chæ thaáp vaø döõ lieäu duøng maïch choát 74LS573.
Tuyeán AD7 _ AD0 ñöôïc keát noái nhö laø ngoõ vaøo ñeán maïch choát 74LS573. Tín hieäu ALE ñöôïc noái ñeán chaân cho pheùp (G) cuûa maïch choát, tín hieäu ñieàu khieån ngoõ ra (OC) cuûa maïch choát ñöôïc noái ñaát (luoân ñöôïc chaáp nhaän).
Hình 5.2 : Sô ñoà maïch choát tuyeán ñòa chæ thaáp.
ALE ôû möùc cao trong moãi chu kyø T1. Khi ALE ôû möùc cao, ngoõ ra cuûa maïch choát thay ñoåi tuøy theo döõ lieäu vaøo. Khi ALE xuoáng thaáp döõ lieäu ngoõ vaøo khoâng ñöôïc ñöa ñeán ngoõ ra, döõ lieäu xuaát hieän ôû ngoõ ra chính laø döõ lieäu tröôùc ñoù. Taïi thôøi ñieåm naøy döõ lieäu ngoõ vaøo thay ñoåi cuõng khoâng laøm aûnh höôûng ñeán döõ lieäu ngoõ ra. Vaäy vi xöû lyù 8085 keát hôïp vôùi IC choát 74LS573 ñeå taùch caùc ñöôøng ñòa chæ vaø döõ lieäu taïo thaønh caùc bus ñòa chæ thaÁp vaø bus döõ lieäu taùch rôøi, keát hôïp vôùi bus ñieàu khieån ñeå thieát keá heä thoáng. Ngoaøi chöùc naêng choát ngoõ ra cuûa moãi ngoõ ra cuûa 74LS573 coøn coù khaû naêng taûi ñeán 30 taûi logic TTL_LS.
5.2.2 Ñeäm tuyeán ñòa chæ cao
Maïch ñeäm (buffer) laø moät maïch logic ñeå khueách ñaïi doøng ñieän hoaëc coâng suaát. Maïch ñeäm veà cô baûn ñöôïc söû duïng ñeå laøm taêng khaû naêng laùi (drive) cuûa moät maïch logic.
Hình 5.3 trình baøy moät maïch ñieän duøng IC ñeäm moät chieàu ñöôïc caáu taïo bôû ngoõ ra ba traïng thaùi 74LS244 (vì tuyeán ñòa chæ laø tuyeán moät chieàu, höôùng töø vi xöû lyù ñeán caùc thieát bò beân ngoaøi) ñeå laøm taêng khaû naêng laùi cuûa tuyeán ñòa chæ cao. Veà cô baûn, caùc tuyeán cuûa 8085 coù theå caáp doøng 400mA (IOH = - 400mA) vaø ruùt doøng 2mA (IOL = 2mA) : chuùng chæ coù theå laùi moät taûi logic TTL. Maëc duø beân trong 8085 ñaõ coù caùc maïch ñeäm döõ lieäu vaø ñòa chæ, nhöng theo höôùng daãn cuûa caùc nhaø cheá taïo, moät heä thoáng vi xöû lyù coù töø 10 thaønh phaàn trôû leân neân duøng caùc maïch ñeäm.
Maïch ñeäm 74LS244 coù khaû naêng caáp doøng 15mA vaø ruùt doøng 24mA.
Hình 5.3 : Sô ñoà maïch ñeäm tuyeán ñòa chæ cao, tuyeán ñieàu khieån vaø tuyeán döõ lieäu
5.2.3 Ñeäm tuyeán döõ lieäu VAØ CAÙC TÍN HIEÄU ÑIEÀU KHIEÅN.
Trong heä thoáng caùc ñöôøng döõ lieäu duøng ñeå cung caáp döõ lieäu cho boä nhôù vaø caùc IC ngoaïi vi. ñeå taêng khaû naêng taûi cuûa caùc ñöôøng döõ lieäu khoái ñeäm döõ lieäu seõ duøng IC ñeäm 2 chieàu 74LS245 ñeå laøm taêng khaû naêng laùi cuûa tuyeán döõ lieäu. 74LS245 coù theå ruùt doøng 24mA vaø caáp doøng 15mA. 74LS245 coù 8 ñöôøng döõ lieäu hai chieàu: höôùng cuûa doøng döõ lieäu ñöôïc xaùc ñònh bôûi chaân ñieàu khieån höôùng DIR. Hình 5.3 chöùng toû raèng maïch ñeäm luoân ñöôïc cho pheùp nhôø noái ñaát tín hieäu G. Höôùng cuûa doøng döõ lieäu ñöôïc xaùc ñònh baèng caùch noái tín hieäu RD\ töø vi xöû lyù ñeán tín hieäu DIR. Khi vi xöû lyù ghi (Write) vaøo caùc ngoaïi vi, RD\ leân cao vaø doøng döõ lieäu töø vi xöû lyù ñeán caùc ngoaïi vi. Khi vi xöû lyù ñang ñoïc (Read) töø caùc ngoaïi vi, RD\ xuoáng thaáp vaø doøng döõ lieäu höôùng ñeán vi xöû lyù, tuyeán ñòa chæ thaáp khoâng caàn thieát phaûi duøng theâm IC ñeäm trong heä thoáng naøy vì trong baûn thaân maïch choát 74LS573, döõ lieäu ñòa chæ ñaõ ñöôïc ñeäm roài.
Caùc tín hieäu ñieàu khieån caàn ñöôïc cung caáp ñeå ñieàu khieån cho nhieàu thieát bò trong heä thoáng do ñoù noù caàn phaûi ñöôïc ñeäm ñeå taêng khaû naêng taûi. Nguyeân taéc ñeäm ñöôïc thöïc hieän töông töï nhö vieäc ñeäm tuyeán ñòa chæ cao, sô ñoà cuï theå ñöôïc trình baøy ôû sô ñoà nguyeân lyù. Caùc tín hieäu ñöôïc ñeäm bao goàm RD\, WR\, CLOCK_OUT, RESET_OUT.
Trong heä thoáng vi xöû lyù, caùc ngoaïi vi ñöôïc keát noái ôû daïng song song giöõa tuyeát ñòa chæ vaø tuyeán döõ lieäu. Vi xöû lyù chæ thoâng tin vôùi moät thieát bò taïi moät thôøi ñieåm, khi ñoù phaûi caùch ly taát caû caùc thieát bò coøn laïi. Vieäc söû duïng caùc maïch 3 traïng thaùi (Tri_state) seõ giaûi quyeát ñöôïc vaán ñeà treân vaø laøm giaûm doøng taûi khi thieát bò khoâng ñöôïc choïn.
5.3 GIAÛI MAÕ ÑÒA CHÆ .
Trong moät heä thoáng vi xöû lyù caùc phaàn töû nhôù (Rom, Ram) vaØ caùc I/O ngoaïi vi (8251, 8253, 8255, 8279 ..) duøng chung tuyeán ñiaï chæ, tuyeán döõ lieäu vaø caùc tín hieäu ñieàu khieån nhö : RD\, WR\. Ñeå vi xöû lyù hieåu raèng, noù ñang hay caàn thoâng tin vôùi boä nhôù naøo (Rom hay Ram), hoaëc vôùi I/O naøo (8251, 8253, hay 8255 ...) vaø vôùi phaàn töû naøo trong moät thieát bò (oâ nhôù naøo, thanh ghi naøo: traïng thaùi, ñieàu khieån hay thanh ghi döõ lieäu). Baét buoäc vaán ñeà giaûi maõ ñòa chæ phaûi ñöôïc söû duïng.
5.3.1 Caùc phöông phaùp giaûi maõ ñòa chæ
Coù taát caû 3 phöông phaùp ñeå giaûi maõ ñòa chæ :
Giaûi maõ ñòa chæ töøng phaàn .
Giaûi maõ ñòa chæ toaøn phaàn .
Giaûi maõ ñòa chæ theo khoái .
Coù nhieàu kyõ thuaät khaùc nhau ñeå thöïc hieän 3 phöông phaùp treân, ñoù laø :
Giaûi maõ ñòa chæ duøng logic ngaãu nhieân.
Giaûi maõ ñòa chæ duøng caùc boä giaûi maõ m ñöôøng sang n ñöôøng .
Giaûi maõ ñòa chæ baèng Prom .
Giaûi maõ ñòa chæ duøng maûng logic laäp trình PLA(Programmable Logic Array).
Caùc kyõ thuaät giaûi maõ neâu treân ñeàu coù öu ñieåm vaø nhöõng haïn cheá cuûa noù. Tuøy theo ñieàu kieän thöïc teá maø ta seõ choïn phöông phaùp giaûi maõ thích hôïp.Caùc kyõ thuaät naøy ñeàu coù theå aùp duïng boä nhôù vaø I/O ngoaïi vi. Nhöng ñoái vôùi I/O ngoaïi vi, cho pheùp choïn löïa moät trong hai phöông phaùp :
a> Giaûi maõ I/O ngoaïi vi (Puripheral I/O) hay coøn goïi laø I/O caùch ly (Isolated I/O)
b > Giaûi maõ I/O coù laäp baûn ñoà nhôù (Memory - Mapped I/O)
Baûng 5.1 cho moät pheùp so saùnh veà hai phöông phaùp naøy.
Baûng 5.1 So saùnh I/O coù laäp baûn ñoà nhôù vaø I/O ngoaïi vi.
Caùc ñaëc tính
I/O coù laäp baûn ñoà nhôù
I/O ngoaïi vi
Ñòa chæ thieát bò
16 bit
8 bit
Caùc tín hieäu ñieàu khieån vaøo/ ra
MEMR, MEMW
IOR, IOW
Caùc leänh coù khaû duïng
Caùc leänh lieân quan ñeán boä nhôù nhö : STA; LDA; STAX; LDAX; MOV M,R; ADD M; SUM M; ANA M; ...
IN vaø OUT
Truyeàn döõ lieäu
Giöõa baát kyø thanh ghi naøo vaø I/O
Chæ giöõa I/O vaø thanh ghi A
Soá I/O toái ña ñöôïc pheùp
Baûn ñoà nhôù (64K) ñöôïc chia seõ giöõa caùc I/O vaø boä nhôù heä thoáng
baûn ñoà I/O ñoäc laäp vôùi baûn ñoà boä nhôù coù theå keát noái 256 thieát bò vaøo, 256 thieát bò ra
Toác ñoä thi haønh
13-T (STA, LDA)
7-T (MOV M, R)
10-T
yeâu caàu phaàn cöùng
Nhieàu phaàn cöùng hôn ñöôïc caàn ñeå giaûi maõ ñòa chæ 16 bit
Ít phaàn cöùng hôn ñöôïc caàn ñeå giaûi maõ ñòa chæ 8 bit
Caùc ñaëc ñieåm khaùc
Caùc pheùp toaùn soá hoïc vaø haït ñoäng logic coù theå ñöôïc tröïc tieáp thöïc hieän vôùi döõ lieäu I/O
Khoâng theå aùp duïng
5.3.2 THIEÁT KEÁ KHOÁI Giaûi maõ ñòa chæ cho CPU.
Ñeå giaûi maõ cho caùc phaàn töû nhôù vaø caùc IC ngoaïi vi cuûa ñeà taøi ta choïn caùc phöông phaùp sau:
Giaûi maõ ñòa chæ duøng caùc boä giaûi maõ m ñöôøng sang n ñöôøng.
Giaûi maõ I/O ngoaïi vi.
G Giaûi maõ ñòa chæ cho heä thoáng boä nhôù.
Cô sôû ñeå choïn löïa kích côõ boä nhôù chính laø dung löôïng phaàn meàm. Phaàn meàm ôû ñaây bao goàm chöông trình heä thoáng (chöông trình monitor) vaø chöông trình cuûa ngöôøi duøng. Ngoaøi ra ngöôøi ta coøn caên cöù vaøo khaû naêng quaûn lyù vuøng nhôù cuûa vi xöû lyù. Ñoái vôùi vi xöû lyù 8085 dung löôïng boä nhôù maø noù quaûn lyù laø 64K byte.
Heä thoáng boä nhôù ñöôïc yeâu caàu trong thieát bò thöïc taäp naøy bao goàm :
Boä nhôù EPROM coù dung löôïng 16K x 8 bit.
Boä nhôù RAM coù dung löôïng 16K x 8bit.
Socket môû roäng boä nhôù theâm 8K byte ôû ngoaøi coù theå cho pheùp choïn duøng boä nhôù RAM hay EPROM heä thoáng ngoaøi. Neáu duøng boä nhôù RAM thì EPROM chöùa chöông trình heä thoáng seõ naèm treân board chính vaø ñòa chæ cuûa RAM seõ chieám moät vuøng nhôù 8K trong vuøng nhôù maø vi xöû lyù quaûn lyù, coøn neáu duøng EPROM thì EPROM heä thoáng seõ laø EPROM môû roäng boä nhôù. Ngoaøi ra boä nhôù RAM seõ ñöôïc thieát keá coù nguoàn döï phoøng, coøn ñoái vôùi vieäc duøng RAM môû roäng cho pheùp coù hay khoâng duøng nguoàn döï phoøng. Ñieàu naøy cho pheùp ngöôøi söû duïng coù theå thöû chöông trình Monitor deã daøng.
Boä nhôù EPROM (Erasable Programmable ROM) coù nhieäm vuï löu giöõ thöôøng xuyeân chöông trình quaûn lyù heä thoáng cuûa thieát bò thöïc taäp vaø caùc chöông trình tieän ích khaùc coù lieân quan ñeán thieát bò thöïc taäp.
Boä nhôù RAM ( Random Access Memory ) seõ löu giöõ taïm thôøi caùc thoâng soá caàn thieát cho chöông trình vaø caû chöông trình ñieàu khieån cuûa ngöôøi duøng thieát bò thöïc taäp. Vieäc thieát keá vuøng nhôù RAM 16K nhaèm muïc ñích cho pheùp ngöôøi thöïc taäp söû duïng chung thieát bò deã daøng quaûn lyù vuøng nhôù RAM maø mình söû duïng.
Ñoái vôùi boä nhôù EPROM hay RAM khi thieát keá ta hay quan taâm ñeán thôøi gian truy xuaát cuûa noù. Thôøi gian truy boä nhôù (tACC) laø khoaûng thôøi gian töø luùc aùp ñaët ñòa chæ tôùi caùc ngoõ vaøo ñòa chæ cuûa EPROM hay RAM cho ñeán khi döõ lieäu xuaát hieän ôû ngoõ ra.
Khoaûng thôøi gian maø ñòa chæ coù giaù trò treân bus ñòa chæ cuûa 8085A laø tAD = 575ns, sau khoaûng thôøi gian naøy vi xöû lyù seõ baét ñaàu ñoïc döõ lieäu. Do ñoù ñeå döõ lieäu khoâng bò maát thì thôøi gian truy xuaát boä nhôù phaûi nhoû hôn 575ns.
Ngoaøi ra ta cuõng phaûi tính ñeán thôøi gian bò trì hoaõn ôû khoái giaûi maõ vaø khoái ñeäm. Neáu thôøi gian truy xuaát boä nhôù vaø thôøi gian trì hoaõn ôû khoái giaõi maõ vaø khoái ñeäm lôùn hôn thôøi gian maø ñòa chæ coù giaù trò treân bus ñòa chæ thì döõ lieäu seõ bò sai vaø ta seõ khaéc phuïc baèng caùch khoáng cheá chaân READY cuûa vi xöû lyù vaø caùc chu kyø ñôïi.
Ta coù :
tAD cuûa 8085A = tACC(Memory) + t Decoding Delay + t Driver Delay.
Vôùi : tAD (8085A): A0 – A15 coù giaù trò treân bus ñòa chæ = 575ns.
Thôøi gian choát vaø ñeäm tuyeán ñòa chæ duøng IC choát 74LS573 vaø IC ñeäm moät chieàu 74LS244 coù thôøi gian trì hoaõn nhoû hôn 20 ns, nhö vaäy ta phaûi choïn IC nhôù coù thôø gian thaâm nhaäp nhoû hôn 535ns. Ñeà taøi seõ choïn IC nhôù 2764 coù thôøi gian truy xuaát boä nhôù nhoû hôn 200ns cho boä nhôù EPROM vaø choïn IC nhôù RAM 6264A coù thôøi gian truy xuaát nhoû hôn 150ns. Baûng 5.2 trình baøy baûn ñoà nhôù vaø baûng ñòa chæ cuûa heä thoáng. ÔÛ ñaây ngoaøi caùc phaàn töû nhôù thì ngoaïi vi 8279 cuõng ñöôïc giaûi maõ theo kieåu boä nhôù ñeå giaûm bôùt giaù thaønh trong vieäc choïn IC giaûi maõ. 8279 coù moät chaân ñòa chæ A0 duøng ñeå choïn thanh ghi ñieàu khieån / traïng thaùi hay thanh ghi döõ lieäu. 8279 cuõng ñöôïc giaûi maõ quy ñoàng 8K byte theo kieåu boä nhôù neân trong vuøng nhôù maø noù ñöôïc choïn khi A0 = 0 thì noù hieåu thanh ghi döõ lieäu ñöôïc choïn coøn khi A0 = 1 noù seõ hieåu laø thanh ghi ñieàu khieån hay traïng thaùi.
Baûng 5.2 - Baûn ñoà nhôù vaø baûng ñòa chæ boä nhôù cuûa heä thoáng.
BAÛN ÑOÀ NHÔÙ
0000H
EPROM 1
8 K
1FFFH
2000H
EPROM 2
8 K
3FFFH
4000H
RAM1
8K
5FFFH
6000H
RAM 2
8K
7FFFH
8000H
RAM3
8K
9FFF H
A000 H
8279
8K
BFFFH
C000 H
KHOÂNG SÖÛ DUÏNG
FFFFH
BAÛNG ÑÒA CHÆ BOÄ NHÔÙ CUÛA HEÄ THOÁNG
Boä nhôù
A15
A14
A13
A12 A0
Vuøng ñòa chæ
ROM 1
0
0
0
0
0
0
0 0
1 1
0000H
1FFFH
ROM 2
0
0
0
0
1
1
0 0
1 1
2000H
3FFFH
RAM1
0
0
1
1
0
0
0 0
1 1
4000H
5FFFH
RAM2
0
0
1
1
1
1
0 0
1 1
6000H
7FFFH
RAM3
1
1
0
0
0
0
0 0
1 1
8000H
9FFFH
8279
1
1
0
0
1
1
0 0
1 1
A000H
BFFFH
Qua baûng treân, chuùng ta thaáy raèng : Vuøng nhôù 48K = [0000H ¸ BFFFH] ñöôïc chia thaønh 6 khoái baèng nhau, moãi khoái coù dung löôïng 8K.
Neáu muoán giaûi maõ ñòa chæ cho heä thoáng naøy baèng kyõ thuaät duøng boä giaûi maõ thì yeâu caàu ñaët ra laø : Boä giaûi maõ phaûi coù ít nhaát 6 ngoõ ra. Do ñoù coù theå choïn boä giaûi maõ 74LS138 : laø IC giaûi maõ 3 ñöôøng sang 8 ñöôøng vôùi ngoõ ra ñöôïc choïn taùc ñoäng ôû möùc thaáp. Hai ngoõ ra coøn laïi cuûa khoái giaûi maõ seõ ñöôïc ñöa ra cho pheùp ngöôøi söû ñuïng choïn voû thieát bò khaùc theo kieåu boä nhôù. Khi ñoù moãi thieát bò seõ chieám moät vuøng nhôù 8K byte keå töø ñòa chæ C000H . Caáu taïo vaø chöùc naêng hoaït ñoäng cuûa IC giaûi maõ 74LS138 cho bôûi saùch tra cöùu, sô ñoà nguyeân lyù cuûa boä giaûi maõ kieåu boä nhôù ñöôïc cho ôû hình 5.4.
Hình 5.4 : Sô ñoà nguyeân lyù maïch giaûi maõ ñòa chæ.
G Giaûi maõ ñòa chæ cho heä thoáng ngoaïi vi.
Moãi ñòa chæ giuùp vi xöû lyù ñònh vò moät thanh ghi töông öùng trong moät ngoaïi vi naøo ñoù. Soá löôïng thanh ghi caàn ñöôïc ñònh vò trong moãi ngoaïi vi thöôøng laø khaùc nhau. Chaúng haïn 8251, 8259 coù hai thanh ghi caàn ñöôïc ñònh vò, trong khi 8253, 8255 coù tôùi boán thanh ghi caàn ñònh vò, coøn ADC0809 coù tôùi 3 ñöôøng ñòa chæ ñeå choïn löïa 1 trong 8 ngoõ vaøo caàn duøng . Muoán thöïc hieän ñöôïc phöông phaùp giaûi maõ theo khoái, baét buoäc phaûi qui ñeàu soá löôïng thanh ghi trong moãi khoái baèng soá löôïng thanh ghi toái ña caàn ñònh vò trong moät ngoaïi vi. Töùc laø, ñoái vôùi heä thoáng naøy, moãi khoái coù 8 thanh ghi. Xem baûng 5.3.
Baûng 5.3 baûn ñoà I/O vaø baûng ñòa chæ ngoaïi vi
BAÛN ÑOÀ I/O
00H
8255A
07H
08H
8255B
OFH
10H
8253A
17H
18H
8253B
1FH
20H
8259
27H
28H
8251
2FH
30H
ADC0809
37H
38H
DAC0808
3FH
40H
Khoâng söû duïng
.
.
.
.
FFH
BAÛNG ÑÒA CHÆ NGOAÏI VI CUÛA HEÄ THOÁNG
Ngoaïi vi
A7
A6
A5
A4
A3
A2
A1
A0
Vuøng ñòa chæ
8255A
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
00H
07H
8255B
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
08H
0FH
8253A
0
0
0
0
0
0
1
1
0
0
0
1
0
1
0
1
10H
17H
8253B
0
0
0
0
0
0
1
1
1
1
0
1
0
1
0
1
18H
1FH
8259
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
1
20H
27H
8251
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
28H
2FH
ADC0809
0
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
30H
37H
DAC0808
0
0
0
0
1
1
1
1
1
1
0
1
0
1
0
1
38H
3FH
Baûng treân coù 8 khoái, moãi khoái coù toái ña 8 thanh ghi. Boä giaûi maõ ñòa chæ theo kieåu ngoaïi vi caàn soá ngoõ ra ít nhaát phaûi laø 8. Vaäy coù theå choïn 74LS138 laøm boä giaûi maõ ñòa chæ cho heä thoáng ngoaïi vi. Hình 5.4 cuõng trình baøy sô ñoà nguyeân lyù cuï theå maïch giaûi maõ ñòa chæ cho heä thoáng ngoaïi vi.
Khi IO/ M = logic 1 , vi xöû lyù seõ choïn thanh ghi naøo trong ngoaïi vi naøo tuøy thuoäc vaøo traïng thaùi toå hôïp cuûa 3 ñöôøng A3, A4, vaø A5.
Khi IO/ M = logic 0, oâ nhôù naøo trong boä nhôù naøo seõ ñöôïc choïn phuï thuoäc vaøo traïng thaùi toå hôïp cuûa A15, A14 vaø A13 vaø cuûa A12 ñeán A0.
5.4 KEÁT NOÁI KHOÁI BOÄ NHÔÙ.
Nhö ñaõ ñeà caäp ôû treân khoái boä nhôù seõ bao goàm 16K byte duøng 2 IC nhôù EPROM 8Kx8bit 2764, 16 K byte duøng IC nhôù RAM 8Kx8bit vaø moät socket môû roäng boä nhôù 8K. Sô ñoà keát noái cuï theå ñöôïc cho ôû hình 5.5, caáu taïo vaø nguyeân taéc hoaït ñoäng cuûa caùc IC nhôù RAM 6264 vaø EPROM 2764 ñöôïc cho ôû saùch tra cöùu.
Hình 5.5 Sô ñoà nguyeân lyù cuûa khoái boä nhôù.
Caùc ñòa chæ cuûa IC nhôù seõ ñöôïc noái ñeán bus ñòa chæ ñeå nhaän ñòa chæ töø vi xöû lyù choïn ñuùng oâ nhôù caàn truy xuaát. Caùc ngoõ vaøo tín hieäu ñieàu khieån choïn voû thieát bò maø vi xöû lyù caàn xöû lyù seõ noái vôùi ngoõ ra cuûa boä giaûi maõ ñòa chæ boä nhôù ñeå choïn thieát bò thöïc hieän chöùc naêng xuaát hay ghi döõ lieäu.
Caùc boä nhôù RAM ñöôïc thieát keá duøng boä nguoàn döï phoøng ñeå giöõ laïi döõ lieäu khi maát nguoàn chính. Ñeå döõ lieäu trong RAM khoâng bò sai ngay khi nguoàn ñöôïc caáp laïi (do RAM seõ ghi giaù trò döõ lieäu ngaãu nhieân luùc maïch reset thöïc hieän chöùc naêng reset heä thoáng) ta seõ khoáng cheá chaân cho pheùp ghi cuûa RAM baèng caùc coång logic ñöôïc thöïc hieän nhö hình 5.5.
Khi ñoùng ñieän ngoõ ra chaân 4 cuûa coång ñaûo giaû söû seõ ôû möùc cao qua coång OR caáp bôûi 7432 seõ khieán ngoõ vaøo WR\ ôû möùc cao khoáng cheá ghi döõ lieäu. Neáu socket môû roäng ñöôïc duøng laøm boä nhôù ROM nhôø coâng taéc gaït SW1 thì noù seõ chieám vuøng nhôù cuûa ROM1 coù ñòa chæ töø 0000H ñeán 1FFFH vaø vuøng nhôù coù ñòa chæ cuûa RAM3 seõ khoâng ñöôïc söû duïng, coøn neáu SW1 cho pheùp söû duïng ROM1 thì socket môû roäng seõ quaûn lyù vuøng nhôù RAM3. RAM môû roäng coù theå ñuøng nguoàn döï phoøng hay khoâng nhôø SW2.
5.5 THIEÁT KEÁ KHOÁI ÑÒNH THÔØI VAØ TAÏO XUNG.
Ñeå cung caáp xung clock cho ngoaïi vi truyeàn döõ lieäu noái tieáp 8251, cuõng nhö caáp xung clock hay caùc tín hieäu thöû cho hoaït ñoäng thí nghieäm vaø nhaèm giaûm nheï tính phöùc taïp cuûa coâng vieäc vieát phaàn meàm khi phaûi xaây döïng caùc chöông trìn._.nterrupt ) hoaëc duøng kyõ thuaät hoûi voøng ( polling ).
Khi moät phím ñöôïc aán xuoáng, chaân IRQ cuûa 8279 taïo ra moät möùc logic cao, neáu duøng ngaét cuûa vi xöû lyù. Chöông trình con phuïc vuï ngaét seõ ñoïc maõ cuûa phím aán.
PHUÏ LUÏC C : KHAÛO SAÙT NGOAÏI VI 8253
Giôùi thieäu 8253
8253 laø moät boä ñeám/ñònh thôøi khoaûng laäp trình ñöôïc (Programmable interval timer/counter) coù chöùc naêng töông töï nhö caùc boä ñeám vaø boä ñònh thôøi ñöôïc thieát keá baèng phaàn meàm.
8253 laø moät thieát bò coù 24 chaân, daïng DIP, do Intel cheá taïo, ñoøi hoûi nguoàn ñôn+ 5V. Noù phaùt ra nhöõng trì hoaõn thôøi gian chính xaùc vaø coù theå ñöôïc söû duïng cho caùc öùng duïng nhö laø ñoàng hoà thôøi gian thöïc (real time clock) , boä ñeám söï kieän (event counter) , maïch dao ñoäng ñôn oån, maùy phaùt soùng vuoâng (square wave generator) vaø maùy phaùt daïng soùng phöùc taïp (complex waveform generator ).
8253 chöùa ba boä ñeám 16 bit coù theå hoaït ñoäng ñoäc laäp ôû baát kyø moät trong saùu moát. Ñeå kích hoaït moät boä ñeám, töø ñieàu khieån vaø moät soá ñeám 16 bit ñöôïc naïp vaøo caùc thanh ghi cuûa noù, boä ñeám baét ñaàu giaûm soá ñeám cho ñeán khi soá ñeám baèng 0, khi ñoù noù phaùt ra moät xung, xung naøy coù theå ñöôïc söû duïng ñeå ngaét vi xöû lí. Moãi boä ñeám coù theå ñeám hoaëc ôû daïng nhò phaân hoaëc ôû daïng BCD. Ngoaøi ra, moät soá ñeám coù theå ñöôïc ñoïc bôûi vi xöû lí trong khi boä ñeám ñang giaûm.
Caáu truùc 8253
Hình C.1 trình baøy sô ñoà khoái cuûa 8253. Noù chöùa ba boä ñeám (0, 1 vaø 2), moät boä ñeäm tuyeán döõ lieäu, logic ñieàu khieån ñoïc / ghi, vaø moät thanh ghi ñieàu khieån. Moãi boä ñeám coù hai tín hieäu vaøo - Xung ñoàng hoà CLK vaø coång kích GATE - vaø moät tín hieäu ra - OUT.
Boä ñeäm tuyeán döõ lieäu
Ñaây laø moät boä ñeäm hai chieàu, 8 bit, 3 traïng thaùi ñöôïc noái ñeán tuyeán döõ lieäu cuûa vi xöû lí.
Logic ñieàu khieån
Phaàn logic ñieàu khieån coù naêm tín hieäu : RD\ , WR\ , CS\ vaø caùc ñöôøng ñòa chæ A0 vaø A1 . Caùc ñöôøng ñòa chæ A0, A1 cuûa vi xöû lí thöôøng ñöôïc noái caùc ñöôøng A0 vaø A1 cuûa 8253, moät caùch töông öùng, vaø CS\ ñöôïc keùo ñeán moät ñòa chæ giaûi maõ.
Thanh ghi töø ñieàu khieån vaø caùc boä ñeám ñöôïc choïn tuøy theo caùc tín hieäu treân caùc ñöôøng A0 vaø A1 nhö trình baøy döôùi ñaây :
A1 A0 Choïn löïa
0 0 Boä ñeám 0
0 1 Boä ñeám 1
1 0 Boä ñeám 2
1 1 Thanh ghi ñieàu khieån
Hình C.1 : Sô ñoà khoái cuûa 8253
Thanh ghi töø ñieàu khieån
Thanh ghi naøy ñöôïc xaâm nhaäp khi caùc ñöôøng A0 vaø A1 ôû logic 1. Noù ñöôïc söû duïng ñeå ghi moät töø leänh, töø naøy neâu roû boä ñeám naøo ñöôïc duøng, moát cuûa noù, vaø moät hoaït ñoäng ñoïc hoaëc ghi. Tuy nhieân, thanh ghi töø ñieàu khieån khoâng khaû duïng ñoái vôùi hoaït ñoäng ñoïc.
Caùc moát hoaït ñoäng
8253 coù theå hoaït ñoäng ôû 6 moát khaùc nhau nhö trình baøy treân Hình 5.14. Coång kích GATE cuûa moät boä ñeám ñöôïc söû duïng hoaëc ñeå caám hoaëc ñeå cho pheùp ñeám.
Moát 0 : cho pheùp ñoä ñeám 8253 ñöôïc söû duïng nhö moät boä ñeám söï kieän. ÔÛ moát naøy, ngoõ ra trôû thaønh logic 0 khi töø ñieàu khieån ñöôïc ghi vaøo vaø ôû laïi ñoù ñeán khi N coäng vôùi soá ñeám ñöôïc laäp trình. Chuù yù raèng ngoõ vaøo G phaûi ôû logic 1 ñeå cho pheùp boä ñeám ñeám. Neáu G trôû thaønh logic 0 ôû giöõa cuûa soá ñeám, boä ñeám seõ döøng laïi cho ñeán khi G trôû laïi logic 1.
Moát 1 : Boä ñeám hoaït ñoäng nhö laø moät maïch dao ñoäng ña haøi ñôn oån coù theå taùi kích hoaït ( retriggerable monostable multivibrator ). ÔÛ moát naøy, ngoõ vaøo G
Hình C.2 : Minh hoïa daïng soùng ngoõ ra ôû caùc moát hoaït ñoäng
cuûa 8253
kích hoaït boä ñeám sao cho noù phaùt trieån moät xung taïi chaân OUT trôû thaønh logic 0 trong suoát thôøi gian cuûa soá ñeám. Neáu ngoõ vaøo G xaûy ra trong luùc coù xung ôû ngoõ ra, boä ñeám ñöôïc naïp laïi giaù trò soá ñeám vaø chaân OUT tieáp tuïc trong thôøi gian baèng toång ñoä daøi cuûa soá ñeám.
Moát 2 : cho pheùp boä ñeám phaùt ra moät chuoãi caùc xung lieân tuïc coù beà roäng moät chu kyø xung ñoàng hoà. Söï phaân bieät giöõa caùc xung ñöôïc xaùc ñònh bôûi soá ñeám N. Khi ñoù ngoõ ra OUT seõ ôû logic 1 trong (N - 1) chu kyø vaø ôû möùc logic 0 trong 1 chu kyø xung ñoàng hoà coøn laïi. Chu kyø naøy ñöôïc laëp laïi cho ñeán khi boä ñeám ñöôïc laäp trình vôùi moät soá ñeám môùi hoaëc ñeán khi chaân G ñöôïc ñaët ôû logic 0. Chaân G phaûi ôû logic 1 ñoái vôùi moát naøy ñeå phaùt ra moät chuoãi noái tieáp caùc xung.
Moát 3 : Phaùt ra moät soùng vuoâng lieân tuïc taïi chaân OUT, khi chaân G ôû logic 1. Neáu soá ñeám N laø chaün, ngoõ ra seõ ôû möùc cao trong (N/2) vaø ôû möùc thaáp trong (N/2) coøn laïi. Neáu soá ñeám N laø leû, ngoõ ra seõ ôû möùc cao trong [(N + 1)/2] vaø ôû möùc thaáp trong [(N - 1)/2] chu kyø xung ñoàng hoà coøn laïi.
Moát 4 : Cho pheùp boä ñeám taïo ra moät xung ñôn ôû ngoõ ra. Neáu soá ñeám laø N, ngoõ ra seõ ôû möùc cao trong N chu kyø vaø ôû möùc thaáp trong 1 chu kyø xung ñoàng hoà tieáp theo. Chu kyø khoâng baét ñaàu cho ñeán khi boä ñeám ñöôïc naïp vôùi moät soá ñeám ñaày ñuû cuûa noù. Moát naøy hoaït ñoäng gioáng nhö moät maïch one-shot kích hoaït baèng phaàn meàm. Cuõng nhö moát 2 vaø 3, moát naøy cuõng söû duïng chaân G ñeå cho pheùp boä ñeám. Chaân G phaûi ôû logic 1 ñeå boä ñeám hoaït ñoäng ñoái vôùi 3 moát naøy.
Moát 5 : laø moät maïch one-shot kích hoaït baèng phaàn cöùng, noù gioáng nhö moát 4 ngoaïi tröø noù ñöôïc khôûi ñoäng baèng moät xung kích hoaït treân chaân G thay vì baèng phaàn meàm. Moát naøy cuõng coù theå ñöôïc xem töông töï moát 1 vì noù coù theå taùi kích hoaït.
Laäp trình cho 8253
Moãi boä ñeám coù theå ñöôïc laäp trình rieâng bieät baèng caùch ghi töø ñieàu khieån tröôùc, theo sau laø soá ñeám ban ñaàu.
Hình C.3 lieät keâ töø ñieàu khieån laäp trình cho 8253 vaø chöùc naêng cuûa moãi bit.
Töø ñieàu khieån cho pheùp ngöôøi laäp trình choïn löïa boä ñeám, moát hoaït ñoäng, vaø daïng cuûa hoaït ñoäng (ñoïc / ghi). Töø ñieàu khieån cuõng ñöôïc söû duïng ñeå choïn hoaëc soá ñeám nhò phaân hoaëc soá ñeám BCD. Moãi boä ñeám coù theå ñöôïc laäp trình vôùi soá ñeám töø 1 ñeán FFFFH. Soá ñeám 0 baèng vôùi (FFFFH + 1) ( töùc laø 65.536 ) hoaëc 10.000 ôû BCD. Moát 2 vaø moát 3 coù soá ñeám nhoû nhaát laø 2 , caùc moát coøn laïi coù soá ñeám nhoû nhaát laø 1.
Moãi boä ñeám coù moät töø ñieàu khieån ñöôïc söû duïng ñeå choïn caùch maø boä ñeám hoaït ñoäng. Neáu 2 byte ñöôïc laäp trình vaøo boä ñeám thì byte ñaàu tieân ( LSB ) seõ laøm döøng soá ñeám vaø byte thöù hai ( MSB ) seõ khôûi ñoäng boä ñeám vôùi soá ñeám môùi. Thöù töï cuûa vieäc laäp trình thì raát quan toïng ñoái vôùi moãi boä ñeám, nhöng vieäc laäp trình cho caùc boä ñeám khaùc nhau coù theå ñöôïc xen keû vôùi nhau.
D3 D2 D1 Mode #
0 0 0 Mode 0
0 0 1 Mode 1
X 1 0 Mode 2
X 1 1 Mode 3
1 0 0 Mode 4
1 0 1 Mode 5
D5 D4 Read/Latch
0 0 Latch counter
0 1 LSB only
1 0 MSB only
1 1 LSB First
MSB Next
D7 D6 Select
counter
0 0 0
0 1 1
1 0 2
1 1 Illegal
D7 D6 D5 D4 D3 D2 D1 D0
M
R/L
C
SC
Code
0 = Binary
1 = BCD
Hình C.3 : Daïng töø ñieàu khieån cuûa 8253
8253 coù theå ñöôïc laäp trình ñeå cung caáp caùc ngoõ ra khaùc nhau thoâng qua hoaït ñoäng ghi hoaëc ñeå kieåm tra moät soá ñeám trong khi ñeám thoâng qua hoaït ñoäng ñoïc.
¨ Hoaït ñoäng ghi
Ñeå khôûi taïo cho boä ñeám, caàn thieát phaûi theo caùc böôùc sau :
1. Ghi moät töø ñieàu khieån vaøo thanh ghi ñieàu khieån
2. Naïp byte thaáp cuûa soá ñeám vaøo thanh ghi boä ñeám
3. Naïp byte cao cuûa soá ñeám vaøo thanh ghi boä ñeám
Neáu chæ söû duïng LSB hoaëc MSB, 8253 seõ töï ñoäng hieåu byte khoâng duøng coù giaù trò 00H .
Muoán khôûi taïo ñoàng thôøi nhieàu boä ñeám, chaúng haïn hai boä ñeám, coù theå theo moät trong hai phöông phaùp sau ñaây :
* Phöông phaùp 1 :
laäp trình töø ñieàu khieån 1 ; khôûi taïo boä ñeám 1
laäp trình töø ñieàu khieån 2 ; khôûi taïo boä ñeám 2
laäp trình lsb1 ; döøng boä ñeám 1 vaø laäp trình lsb1
laäp trình lsb2 ; döøng boä ñeám 2 vaø laäp trình lsb1
laäp trình msb1 ; laäp trình msb1 vaø khôûi ñoäng boä ñeám 1
laäp trình msb2 ; laäp trình msb2 vaø khôûi ñoäng boä ñeám 2
* Phöông phaùp 2
laäp trình töø ñieàu khieån 1 ; khôûi taïo boä ñeám 1
laäp trình lsb1 ; döøng boä ñeám 1 vaø laäp trình lsb1
laäp trình msb1 ; laäp trình msb1vaø khôûi ñoäng boä ñeám 1
laäp trình töø ñieàu khieån 2 ; khôûi taïo boä ñeám 2
laäp trình lsb2 ; döøng boä ñeám 2 vaø laäp trình lsb2
laäp trình msb2 ; laäp trình msb2 vaø khôûi ñoäng boä ñeám 2
¨ Hoaït ñoäng ñoïc
Trong moät soá öùng duïng, ñaëc bieät laø trong caùc boä ñeám söï vieäc, caàn thieát phaûi ñoïc giaù trò cuûa boä ñeám trong luùc boä ñeám ñang ñeám. Ñieàu naøy coù theå thöïc hieän baèng moät trong hai phöông phaùp. Phöông phaùp thöù nhaát lieân quan ñeán vieäc ñoïc moät soá ñeám sau khi ñaõ laøm döøng boä ñeám caàn ñoïc. Phöông phaùp thöù hai lieân quan tôùi vieäc ñoïc moät soá ñeám khi soá ñeám ñang thay ñoåi.
ÔÛ phöông phaùp thöù nhaát, vieäc ñeám bò döøng laïi baèng caùch ñieàu khieån ngoõ vaøo kích hoaït (gate) hoaëc ngoõ vaøo xung ñoàng hoà (clock) cuûa boä ñeám ñöôïc choïn, vaø hai hoaït ñoäng ñoïc I/O ñöôïc thöïc hieän bôûi vi xöû lyù. Hoaït ñoäng I/O thöù nhaát ñoïc byte thaáp, vaø hoaït ñoäng thöù hai ñoïc byte cao.
ÔÛ phöông phaùp thöù hai, moät töø ñieàu khieån töông öùng ñöôïc ghi vaøo thanh ghi ñieàu khieån ñeå choát soá ñeám taïi maïch choát ngoõ ra, vaø hoaït ñoäng ñoïc I/O ñöôïc thöïc hieän bôûi vi xöû lyù.
PHUÏ LUÏC D: GIÔÙI THIEÄU CHUAÅN RS -232C
Vaøo naêm 1960, cuøng vôùi söï phaùt trieån maïnh cuûa caùc thieát bò ñaàu cuoái maùy tính chia xeû thôøi gian, caùc Modem ñaõ ñöôïc tung ra ngaøy caøng nhieàu nhaèm ñaûm baûo cho caùc thieát bò ñaàu cuoái coù theå duøng caùc ñöôøng ñieän thoaïi ñeå thoâng tin giöõ caùc maùy tính vôùi nhau ôû nhöõng khoaûng caùch xa. Modem vaø caùc thieât bò ñöôïc duøng ñeå göûi soá lieäu noái tieáp thöôøng ñöôïc goïi laø thieát bò thoâng tin soá lieäu DCE (Data Communication Equipment). Caùc thieát bò ñaàu cuoái hoaëc maùy tính ñang göûi hay nhaän soá lieäu ñöôïc goïi laø caùc thieát bò ñaàu soá lieäu DTE (Data Terminal Equipment). Nhaèm ñaùp öùng vôùi nhu caàu veà tín hieäu vaø caùc chuaån baét tay (handshake standards) giöõa DTE vaø DCE, hieäp hoäi kyõ thuaät ñieän töû EIA ñaõ ñöa ra chuaån RS-232C. Chuaån naøy moâ taû chöùc naêng 25 chaân tín hieäu vaø baét tay cho vieäc chuyeån döõ lieäu noái tieáp. Noù cuõng moâ taû caùc möùc ñieän aùp, trôû khaùng, toác ñoä truyeàn cöïc ñaïi vaø ñieän dung cöïc ñaïi cho caùc ñöôøng tín hieäu naøy.
ÑAËC ÑIEÅM KYÕ THUAÄT VEÀ ÑIEÄN CUÛA RS232C
Möùc ñieän aùp logic cuûa RS232C laø khoaûng ñieän aùp giöõa +15V vaø –15V. Caùc ñöôøng döõ lieäu söû duïng möùc logic aâm: logic 1 coù ñieän theá giöõa –5V vaø –15V, logic 0 coù ñieän theá giöõa +5V vaø +15V. tuy nhieân caùc ñöôøng ñieàn khieån (ngoaïi tröø ñöôøng TDATA vaø RDATA) söû duïng logic döông: gía trò TRUE =+5V ñeán +15V.vaø FALSE =-5V vaø –15.
ÔÛ chuaån giao tieáp naøy, giöõa ngoõ ra boä kích phaùt vaø ngoõ vaøo boä thu coù möùc nhieãu ñöôïc giôùi haïn laø 2V. Do vaäy ngöôõng lôùn nhaát cuûa ngoõ vaøo laø ±3V traùi laïi möùc ± 5V laø ngöôõng nhoû nhaát vôùi ngoõ ra. Ngoõ ra boä kích phaùt khi khoâng taûi coù ñieän aùp laø ±25V.
CAÙC ÑÖÔØNG DÖÕ LIEÄU VAØ ÑIEÀU KHIEÅN CUÛA RS232
TxD: Döõ lieäu ñöôïc truyeàn ñi töø Modem treân maïng ñieän thoaïi.
RxD: Döõ lieäu ñöôïc thu bôûi Modem treân maïng ñieän thoaïi.
Caùc ñöôøng baùo thieát bò saün saøng:
DSR : Ñeå baùo raèng Modem ñaõ saün saøng.
DTR : Ñeå baùo raèng thieát bò ñaàu cuoái ñaõ saün saøng
Caùc ñöôøng baét tay baùn song coâng.
RTS : Ñeå baùo raèng thieát bò ñaàu cuoái yeâu caàu phaùt döõ lieäu.
CTS : Modem ñaùp öùng nhu caáu caàu göûi döõ lieäu cuûa thieát bò ñaàu cuoái cho thieát bò ñaàu cuoái coù theå söû duïng keâng truyeàn döõ lieäu. Caùc ñöôøng traïng thaùi soùng mang vaø tín hieäu ñieän thoaïi:
CD : Modem baùo cho thieát bò ñaàu cuoái bieát raèng ñaõ nhaän ñöôïc moät soùng mang hôïp leä töø maïng ñieän thoaïi.
RI : Caùc Modem töï ñoäng traû lôøi baùo raèng ñaõ phaùt hieän chuoâng töø maïng ñieän thoaïïi ñòa chæ ñaàu tieân coù theå tôùi ñöôïc cuûa coång noái tieáp ñöôïc goïi laø ñòa chæ cô baûn (Basic Address). Caùc ñòa chæ ghi tieáp theo ñöôïc ñaët tôùi baèng vieäc coäng theâm soá thanh ghi ñaõ gaëp cuûa boä UART vaøo ñòa chæ cô baûn.
Möùc tín hieäu treân chaân ra RxD tuøy thuoäc vaøo ñöôøng daãn TxD vaø thoâng thöôøng naèm trong khoaûng –12 ñeán +12. Caùc bit döõ lieäu ñöôïc göûi ñaûo ngöôïc laïi. Möùc ñieän aùp ñoái vôùi möùc High naèm giöõa –3V vaø –12V vaø möùc Low naèm giöõa +3V
vaø +12V.
CAÙC IC KÍCH PHAÙT VAØ THU CUÛA RS232C
Nhôø tính phoå bieán cuûa giao tieáp, ngöôiø ta ñaõ cheá taïo caùc IC kích phaùt vaø thu. Hai vi maïch nhö vaäy ñöôïc Motorola saûn xuaát laø IC kích phaùt MC 1488 coù daïng voû vuoâng. Vaø MC 1489.
Moãi IC kích phaùt 1488 nhaän moät tín hieäu möùc TTL vaø chuyeån thaønh tín hieäu ôû ngoõ ra töông thích vôùi möùc ñieän aùp cuûa RS232C. IC 1489 phaùt hieän caùc möùc vaøo cuûa RS232C vaø chuyeån chuùng thaønh caùc ngoõ ra coù möùc TTL.
PHUÏ LUÏC E : KHAÛO SAÙT NGOAÏI VI 8255
Trong heä thoáng vi xöû lyù hay maùy vi tính neáu chæ giao tieáp vôùi boä nhôù trong ROM, RAM thì chöa ñuû, maùy tính coøn phaûi giao tieáp vôùi caùc thieát bò ngoaïi vi nhö baøn phím, maøn hình, maùy in, ... ñeå con ngöôøi coù theå ñoái thoaïi ñöôïc maùy tính cuõng nhö duøng maùy tính ñeå ñieàu khieån caùc thieát bò khaùc. Ñeå giao tieáp vôùi nhieàu thieát bò nhö vaäy, maùy tính coù theå giao tieáp qua nhieàu ñöôøng vaø giao tieáp vôùi nhieàu hình thöùc khaùc nhau nhö giao tieáp noái tieáp, giao tieáp song song.
Vì vaäy vai troø cuûa caùc coång nhaäp xuaát ñeå giao tieáp giöõa maùy tính vôùi thieát bò ngoaøi laø moät ñieàu caàn thieát giuùp maùy coù theå môû roäng khaû naêng laøm vieäc.
Vi maïch 8255A laø vi maïch giao tieáp ngoaïi vi laäp trình ñöôïc (PPI). Noù ñöôïc duøng keát ñeå noái giao tieáp song song giöõa vi xöû lyù vaø thieát bò ñieàu khieån beân ngoaøi.
Sô ñoà chaân vaø sô ñoà logic
Nguyeân lyù hoaït ñoäng tính linh hoaït cuûa vi maïch theå hieän ôû khaû naêng laäp trình. Qua moät thanh ghi ñieàu khieån, ngöôøi söû duïng xaùc ñònh cheá ñoä hoaït ñoäng vaø coång naøo caàn ñöôïc söû duïng nhö laø loái vaøo hoaëc loái ra. Caùc chaân ra D0 ñeán D7 taïo neân bus döõ lieäu hai chieàu coù ñoä roäng laø 8 bit. 8255 ñöôïc choïn bôûi tín hieäu möùc thaáp ôû ngoõ vaøo choïn chíp CS\. Khi 8255 khoâng ñöôïc choïn, boä ñeäm bus döõ lieäu noái 8255 vôùi heä thoáng ñöôïc thaû noåi. Khi ñöôïc choïn, caùc ngoõ vaøo A0 vaø A1 ñöôïc duøng ñeå choïn thanh ghi ñieàu khieån hoaëc moät trong caùc coång vaøo/ra ñeå trao ñoåi döõ lieäu. Caùc hoaït ñoäng cô baûn cuûa 8255 ñöôïc toùm taét trong baûng sau:
A1
A0
RD\
WR\
CS\
Hoaït ñoäng
L
L
L
H
L
Port A à Bus döõ lieäu
L
H
L
H
L
Port Bà Bus döõ lieäu
H
L
L
H
L
Port Cà Bus döõ lieäu
L
L
H
L
L
Bus döõ lieäu à Port A
L
H
H
L
L
Bus döõ lieäu à Port B
H
L
H
L
L
Bus döõ lieäu à Port C
H
H
H
L
L
Bus döõ lieäu à Töø ñieàu khieån
x
x
x
x
H
Bus döõ lieäu ôû traïng thaùi Hi-Z
H
H
L
H
L
Caám
x
x
H
H
L
Bus döõ lieäu ôû traïng thaùi Hi-Z
CAÙC TRAÏNG THAÙI LAØM VIEÄC CUÛA 8255:
Qua baûng traïng thaùi cuûa 8255, ta thaáy thanh ghi ñieàu khieån ñaët döôùi ñòa chæ beân trong laø A1 = [1], A0 = [1]. Trong moät chu kyø ghi leân thanh ghi ñieàu khieån, xaùc ñònh coång vaøo/ra cuõng nhö cheá ñoä hoaït ñoäng. Khi chaân RESET ôû möùc [H], thanh ghi ñieàu khieån seõ ñöôïc ñaët laïi vaø ñònh nghóa toaøn boä 24 ñöôøng daãn nhö laø caùc ngoõ vaøo.Traïng thaùi naøy keùo daøi tôùi khi chöông trình öùng duïng vieát töø ñieàu khieån vaøo thanh ghi ñieàu khieån ñeå xaùc ñònh cheá ñoä laøm vieäc cuûa 8255.
Caùc coång A, B, C ñöôïc phaân thaønh hai nhoùm. Nhoùm A goàm coång A vaø nöûa cao cuûa coång C, nhoùm B goàm coång B vaø nöûa thaáp coøn laïi cuûa coång C. Coù 3 cheá ñoä hoaït ñoäng khaùc nhau:
- Cheá ñoä 0: vaøo/ra thoâng thöôøng.
- Cheá ñoä 1: choát vaøo/ra.
- Cheá ñoä 2: bus hai chieàu.
Cheá ñoä 0:
Töø ñieàu khieån:
1
0
0
D4
D3
0
D1
D00
Cheá ñoä 0 xaùc laäp hai coång 8 bit (A vaø B) vaø hai coång 4 bit (nöûa cao vaø nöûa thaáp cuûa C). Baát kyø coång naøo cuõng coù theå nhaäp hoaëc xuaát döõ lieäu moät caùch ñoäc laäp tuøy theo caùc bit D4, D3, D1 vaø D0. Coù 24 = 16 khaû naêng vaøo/ra trong cheá ñoä naøy.
Caáu truùc töø ñieàu khieån cuûa 8255A:
Nhoùm B
Port C (thaáp)
1 = nhaäp
0 = xuaát
Port B
1 = nhaäp
0 = xuaát
Choïn cheá ñoä
0 = cheá ñoä 0
1 = cheá ñoä 1
Côø laäp cheá ñoä
1 = tích cöïïc
Nhoùm A
Port C (cao)
1 = nhaäp
0 = xuaát
Port A
1 = nhaäp
0 = xuaát
Choïn cheá ñoä
00 = cheá ñoä 0
01 = cheá ñoä 1
1x = cheá ñoä 2
D7 D6 D5 D4 D3 D2 D1 D0
PHUÏ LUÏC F : LAÄP TRÌNH CHO 8251A
Ñeå thöïc hieän vieäc truyeàn tin noái tieáp, vi xöû lí phaûi thoâng tin cho 8251A taát caû caùc chi tieát nhö laø moát hoaït ñoäng,toác ñoä band, caùc bit döøng, bit chaún leû... Do ñoù, tröôùc khi truyeàn döõ lieäu, moät taäp caùc töø ñieàu khieån ñöôïc taûi vaøo thanh ghi ñieàu khieån 16 bit cuûa 8251A. Ngoaøi ra, vi xöû lí phaûi kieåm tra söï saün saøng cuûa moät ngoaïi vi baèng caùch ñoïc thanh ghi traïng thaùi. Töø ñieàu khieån ñöôïc chia thaønh hai daïng : caùc töø choïn moát vaø caùc töø leänh. Töø choïn moát neâu roõ caùc ñaëc tính chung cuûa hoaït ñoäng (Nhö toác ñoä band, chaún leû, soá löôïng caùc bit döøng), töø taäp leänh cho pheùp vieäc truyeàn vaø / hoaëc nhaän döõ lieäu, vaø töø traïng thaùi cung caáp thoâng tin lieân quan ñeán traïng thaùi thanh ghi vaø caùc loãi trong vieäc truyeàn.
Ñeå khôûi taïo 8251A ôû moát baát ñoàng boä, moät trình töï naøo ñoù cuûa caùc töø ñieàu khieån phaûi ñöôïc tuaân theo. Sau hoaït ñoäng Reset (Reset heâï thoáng hoaëc thoâng qua leänh), moät töø choïn moát phaûi ñöôïc ghi vaøo thanh ghi ñieàu khieån, theo sau töø leänh. Baát kì töø ñieàu khieån naøo ñöôïc ghi vaøo thanh ghi ñieàu khieån ngay sau moät töø choïn moát seõ ñöôïc hieåu nhö laø moät töø leänh, ñieàu ñoù coù nghóa laø moät töø leänh coù theå ñöôïc thay ñoåi baát kyø luùc naøo trong moát quaù trình hoaït ñoäng. Tuy nhieân, 8251A seõ ñöôïc ñaët laïi tröôùc luùc ghi moät töø choïn moát môùi, vaø coù theå ñöôïc ñaët laïi nhôø söû duïng bit Reset beân trong (D6) trong töø leänh.
G Phaùt moät kí töï
Ñeå phaùt moät kí töï, bit TxEN trong thanh ghi leänh phaûi ôû logic 1 vaø chaân CTS phaûi ôû möùc LOW
- Ñôïi cho ñeán khi chaân TxRDY ôû môùc HIGH hoaëc cho ñeán khi bit TxRDY trong thanh ghi traïng thaùi laø 1.
- Ghi kí töï caàn phaùt vaø thanh ghi ñeäm phaùt.
G Thu moät kí töï
Ñeå thu moät kí töï vaø kieåm tra traïng thaùi loãi cuûa kí töï naøy, ta caàn ñöôïc thöïc hieän caùc böôùc sau :
- Ñôïi cho ñeán khi chaân RxRDY ôû möùc HIGH hoaëc cho ñeán khi bit RxRDY trong thanh ghi traïng thaùi laø 1.
- Ñoïc traïng thaùi loãi töø thanh ghi traïng thaùi (coù theå keát hôïp töøng böôùc tröôùc _khi ñoïc bit RxRDY).
- Ñoïc kí töï töø thanh ghi ñeäm thu.
- Ñaët traïng thaùi loãi baèng caùch ghi bit ER = 1 trong thanh ghi leänh.
Toác ñoä phaùt vaø thu bit ñöôïc quyeát ñònh bôûi taàn soá cuûa xung ñoàng hoà ñöa vaøo chaân RxC / TxC chia theo heä soá (1 : 16 hoaëc 64) ñaï choïn trong töø choïn moát.
PHUÏ LUÏC G : KHAÛO SAÙT NGOAÏI VI 8259
Maïch xöû lyù ngaét öu tieân do haõng Intel cheá taïo. Coù hai loaïi :
8259 cho VXL 8080, 8085.
8259 A cho caùc hoï VXL IAP 86.
Rieâng 8259A cuõng coù hai loaïi hình chöõ nhaät vaø hình vuoâng ñeàu coù 28 chaân.
Caùc chaân :
IR0¸IR7 ( chaân 18- 25 ) : Caùc loái vaøo yeâu caàu ngaét.
D0¸ D7 ( chaân 11- 4 ) : Caùc bit soá lieäu ( hai chieàu )
A0 ( chaân 27 ) : : Ñòa chæ choïn thanh ghi leänh
CS\ ( chaân 1 ) : Choïn vi maïch ( chip select
WR\ ( chaân 2 ) : Loái vaøo cuûa leänh ghi .
RD\ ( chaân 3 ) : Loái vaøo cuûa leänh ñoïc .
CAS0 ( chaân 12 ), CAS1 ( chaân 13 ) CAS2 ( chaân 15 ) Loái vaøo maéc noái taàng . Moät PIC chuû naøy coù theå choïn moät trong 8 PIC tôù qua 3 ñöôøng daây naøy .
( chaân 16 ) :Trong cheá ñoä khoâng ñieäm , neáu SP= 1 thì 8259 laø chuû
SP = 0 laø tôù
( chaân 26 ) Loái vaøo xaùc nhaän ngaét
( chaân 17 ) loái ra yeâu caàu ngaét chöông trình .
caáu truùc sô ñoà khoái 8259 bao goàm :
Thanh ghi yeâu caàu ngaét IRR (Interrupt Request Rigister) :ñeå ghi 8 möùc ngaét ( IR0 ¸IR7 ) töø TBN.
Thanh ghi “ Ngaét ñang phuïc vuï “ ISR ( In- Service Register ) : ghi möùc ngaét ñang söû duïng
Thanh ghi maët naï ngaét IMR ( Interrupt Mask Register ).
Maïch logic giaûi quyeát öu tieân PR ( Priority Resolver ).
Khoái logic ñieàu khieån : xöû lyù ngaét ñöa yeâu caàu ( INT ) vaø nhaän xaùc nhaän ngaét ().
Boä ñieäm ñöôøng daây soá lieäu : ñeå ñeäm ghi vaøo caùc thanh ghi vaø ñieäm ñoïc caùc soá lieäu töø caùc thanh ghi .
Logic ñieàu khieån ñoïc /ghi : taïo caùc tín hieäu ghi vaø ñoïc caùc thanh ghi ñeäm .
Boä ñeäm noái taàng/ so saùnh : ñeå choïn caùc vi maïch 8259A tôù trong moät vi maïch 8259A chuû
Baûng 2.1 Caùc giaù trò ñoïc cuûa caùc möùc öu tieân
D7
D6
D5
D4
D3
D2
D1
D0
Yeâu caàu öu tieân
RST
1
1
A2
A1
A0
1
1
1
Thaáp nhaát
Cao nhaát
0
7
1
1
1
1
1
1
1
1
1
6
1
1
1
1
0
1
1
1
2
5
1
1
1
0
1
1
1
1
3
4
1
1
1
0
0
1
1
1
4
3
1
1
0
1
1
1
1
1
5
2
1
1
0
1
0
1
1
1
6
1
1
1
0
0
1
1
1
1
7
1
1
1
0
0
0
1
1
1
Caùc haønh ñoäng cô baûn : nhö baûn 2.2 .
MVT ñoïc (= 0 ).
+ Caùc thanh ghi IRR , ISR hay möùc ngaét ( ñòa chæ A0= 0 ) tuøy theo vieäc ghi lôøi OCW3 tröôùc khi ñoïc
+ Thanh ghi IMR ( ñòa chæ A0= 1 ).
Baûng 2.2: caùc leänh cho 8259.
Baûng 2.2 Caùc leänh cho 259
A0
D4
D3
Haønh ñoäng ñoïc vaøo MVT
0
0
0
0
1
0
IRR, ISR hoaëc möùc ngaétÕ Data bus
1
0
0
0
1
0
IMRÕData bus
Haønh ñoäng ghi töø MVT ra 8259A
0
0
0
1
0
0
Data busÕ OCW2
0
0
1
1
0
0
Data busÕ OCW3
0
1
1-möùc trigo
0- Font
1
0
0
Data busÕ OCW1
1
x
x
1
0
0
Data busÕ OCW1, ICW2,ICW2,ICW3,ICW4*
Caùc chöùc naêng caám
x
x
x
1
1
0
Data bus® traïng thaùi ñieän trôû cao
x
x
x
x
x
1
Data bus® traïng thaùi ñieän trôû cao
MVT ghi (= 0 ):
+ Vaøo thanh ghi OCW2 ( D3= 0, D4= 0 ), vaøo thanh ghi OCW3 ( D3= 1, D4= 0 ) vôùi ñòa chæ A0= 0.
+ Vaøo thanh ghi OCW3 vôùi D3= 1, D4= 0, A0 = 0
+ Vaøo thanh ghi OCW1, OCW2, OCW3 vôùi ñòa chæ A0 = 1
Khôûi ñoäng : 8259A Ñöôïc khôûi ñoäng ñeå hoaït ñoäng bôûi vieäc ghi caùc lôøi khôûi ñoäng ICW1, ICW2, IWC3( Initialization control word ) coù daïng nhö hình 2.9A vaø löu ñoà ghi nhö hình 2.9b .
Trong ñoù :
ICW1 : chæ moät ( bit D1= S= 1 ) hay nhieàu ( D1= S= 0 ) vi maïch 8259A vaØ caùc ñöôøng daây ñòa chæ A5 ¸A7 cuûa chöông trình con söû lyù ngaét .
ICW2 : Chæ caùc ñòa chæ A6 ¸A15 vaø A0= 1 Cuûa chöông trình con söû lyù ngaét ( ñòa chæ ñeå MVT seõ nhaûy tôùi ñeå thöïc hieän chöông trình con töông öùng vôùi möùc ngaét IRi ñaõ cho ).
ICW3:
+ Cho 8259A chuû .
Neáu caùc bit S0¸S7 ( hay D0¸D7 )= 1 chæ ñaàu vaøo IR coù moät 8259 tôù ( A0= 1)
Neáu caùc bit S0¸S7 ( hay D0¸D7 )= 0 chæ ñaàu vaøo IR khoâng coù moät 8259 tôù ( A0= 1)
+ Cho 8259 tôù thì ID0 ¸ ID2 ( D0 ¸D2 ) ghi teân cuûa 8259A tôù ( töø 0 tôùi 8 )
Hoaït ñoäng : Ghi caùc lôøi hoaït ñoäng OCW1, OCW2, OCW3 coù daïng nhö hình 2.10 trong ñoù :
OCW1 : coù A0 = 1 , ñeå ghi 8 bit chaéc ngaét M0 ¸ M7 cho caùc loái vaøo ngaét IR0 ¸ IR7 vôùi Mi= 1 xaùc laäp chaén vaø M1= 0 xoùa chaén .
OCW2 : ghi söï phuïc vuï ngaét theo öu tieân voøng vôùi A0= 0 .
OCW3 : ghi söï che ngaét ñaëc bieät cho caùc cheá ñoä ñaëc bieät SMM vaø ESMM vôùi A0= 0, D3= 1
Caùc bit RIS ( D0 ) vaø ERIS ( D1) xaùc ñònh ñoïc traïng thaùi cuûa caùc thanh ghi IRR vaø ISR nhö sau :
RRIS RIS
1 0 Xoùa chaén ñaëc bieät
1 1 Xaùc laäp chaén ñaëc bieät
Coøn caùc bit SMM ( D5 ) ESMM ( D6 ) Xaùc ñònh xoùa vaø xaùc laäp caùc chaén ñaëc bieät theo toå hôïp caùc giaù trò cuûa chuùng laø :
ESMM ( D6 ) SMM ( D5 )
1 0 Xoùa chaén ñaëc bieät
1 1 Xaùc laäp chaén ñaëc bieät
Coøn caùc toå hôïp caùc giaù trò khaùc cuûa chuùng khoâng aûnh höôûng tôùi chaén ñaëc bieät .
Caùc cheá ñoä öu tieân : Coù 4 cheá ñoä öu tieân cho moãi 8259A tuøy theo noäi dung cuûa caùc lôøi khôûi ñoäng ICWi vaø lôøi haønh ñoäng OCWi .
Cheá ñoä öu tieân coá ñònh ( full nested) : Moãi laàn ngaét ñöôïc gaùn möùc öu tieân coá ñònh möùc khoâng laø cao nhaát , möùc 7 laø thaáp nhaát , cheá ñoä naøy coù ñöôïc sau khi 8259A nhaän nhöõng lôøi khôûi ñoäng ICWI vaø khoâng nhaän baát kyø lôøi haønh ñoäng OCWi naøo . Khi coù moät yeâu caàu ngaét IRi ñöôïc ghi nhaän , bit töông öùng trong ISRi ñöôïc xaùc laäp vaø taát caû caùc yeâu caàu ngaét khaùc ( töø caùc IRj - vôùi j khaùc i ) bò caám cho tôùi khi:
8259A nhaän leänh” keát thuùc ngaét – EOI “ ( End Of Interrup ) bôûi lôøi OCW2 göûi ñeán khi keát thuùc chöông trình con phuïc vuï ngaét .
VXL thöïc hieän leänh cho pheùp ngaét EI ( Enable Interupt ) .
Neáu khi ñang thöïc hieän chöông trình con phuïc vuï möùc Iri naøo ñoù maø coù yeâu caàu töø möùc j coù öu tieân cao hôn möùc i , 8259A cuõng vaãn phaûi ñôïi sau khi VXL thöïc hieän leänh cho pheùp ngaét EI hay EOI coù saün khi thöïc hieän xong chöông trình con phuïc vuï möùc i.
Cheá ñoä öu tieân voøng : cheá ñoä naøy coù ñöôïc sau khi ghi lôøi haønh ñoäng OCW2 vaøo 8259A ( H2.10 ) do giaù trò cuûa caùc bit EOI (D5) , SL ( D6 ) vaø R( D7 ) . Coù hai cheá ñoä öu tieân voøng :
+ Öu tieân voøng quay töï ñoäng ( autorotating ) ; möùc ngaét vöøa ñöôïc söû lyù xuoáng möùc öu tieân thaáp nhaát trong voøng quay cuûa möùc öu tieân cao nhaát – thaáp nhaát ban ñaàu cuûa IR0 ¸ IR7 . Noùi khaùc ñi, caùc möùc öu tieân laø ñoàng ñieàu , möùc tröôûng thaømh öu tieân nhaát ñeå ñöôïc söû lyù khi tôùi löôïc ñöôïc hoûi voøng ( polling )
+ Öu tieân voøng coù quy ñònh ( specific rotating ) theo EOI : Loaïi öu tieân naøy cho pheùp ta xoùa bit ISR ñöôïc quy ñònh ngay trong leänh vaø ñöa ñaàu ngaét öùng vôùi bit ISR ñoù xuoáng möùc öu tieân thaáp nhaát .
Baûng caùc leänh cuûa OCW2 sau minh hoïa caùc cheá ñoä öu tieân voøng treân . Ngoaøi caùc leänh öu tieân voøng , coøn coù caùc leänh khaùc nhö : leänh laäp thöù töï öu tieân ( Set Priority ) leänh keát thuùc ngaét ñöôïc ghi roõ ( Specific- EOI ).
Leänh
A0
Bus soá lieäu
Chöùc naêng
D7
D6
D5
D4
D3
D2
D1
D0
EOI khoâng quy ñònh
(non- specificcEOI )
EOI coù quy ñònh
( Specific EOI )
Quay töï ñoäng theo EOI
(Rotater at EOI-pecific )
Quay coù quy ñònh theo EOI
(Rotate at EOI – Specific )
Laäp thöù töï öu tieân
( set prioty )
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
L2
0
L2
L2
0
L1
0
L1
L1
0
L0
0
L0
L0
Xoùa bit ISR cao nhaát
Xoùa bit ISR qui ñònh bôûi L2,L1,L0
Xoùa bit ISR cao nhaát vaø ñöa IR töông öùng xuoáng möùc thaáp nhaát
Xoùa bit ISR quy ñònh bôùi L2,L1,L0
Ñaëc IR quy ñònh bôûi L2,L1,L0 xuoáng möùc öu tieân thaáp nhaát
Cheá ñoä che ngaét ñaëc bieät: SMM ( Special Mask Mode )
Cheá ñoä naøy coù ñöôïc khi ghi lôøi OCW3 vôùi caùc bit ESMM ( D6 ) , SMM ( D5 ) ñeå :
Laäp SMM vôùi D6= D5= 1
Xoùa SMM VÔÙI D6= 1, D5= 0
Cheá ñoä naøy ñöôïc söû duïng khi moät giai ñoaïn naøo ñoù trong chöông trình con , ta muoán cho pheùp ngaét taát caû caùc yeâu caàn ngaét , töùc laø caùc yeâu caàu ngaét ôû möùc öu tieân thaáp hôn so vôùi möùc öu tieân ñang ñöôïc phuïc vuï , cuõng ñöôïc 8259A chaáp nhaän ñeå gôûi yeâu caàu ngaét tôùi VXL.
Cheá ñoä hoûi voøng ngaét (polling).
Cheá ñoä naøy coù ñöôïc khi ghi lôøi haønh ñoäng OCW3 vôùi bit P(D3) =1 .ÔÛ cheá ñoä naøy VXL phaûi hoûi voøng hay ñoïc traïng thaùi bôûi leänh ñoïc RD cuûa VXL . Taát nhieân laø khi xeùt traïng thaùi naøy VXL phaûi ñöa leänh caám caùc ngaét IRi vaøo . Khi coù IF= 1, Töùc coù yeâu caàu ngaét , VXK ñöa lôøi OCW3 ñeå ñoïc caùc thanh ghi IRR vaø ISR ( H.2.10 ) ñeå xaùc ñònh ngaét naøo Iri coù yeâu caàu ngaét . Ngaét coù öu tieân cao nhaát ñöôïc xaùc ñònh bôûi caùc bit L0¸L2 cuûa lôøi haønh ñoäng OCW2. Sau ñoù vieäc hoûi voøng ñöôïc tieáp tuïc cho möùc öu tieân giaûm daàn theo thöù töï keå töø möùc öu tieân cao nhaát .
Baûng 2.4 : toùm taét caùc leänh cuûa lôøi OCW3 .
Leänh
A0
Bus soá lieäu
Chöùc naêng
D7
D6
D5
D4
D3
D2
D1
D0
Cheá doä hoûi voøng ngaét
Ñoïc ISR
Ñoïc IRR
Laäp SMM
Xoùa SMM
0
0
0
0
0
´
´
´
´
´
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
1
0
0
0
1
0
0
0
Hoûi voøng ngaét ôû xung RD tieáp theo
Ñoïc ISRôû xung RD tieáp theo
Ñoïc IRR ôû xung RD tieáp theo
Laäp cheá ñoä che ngaét ñaëc bieät
Xoùa cheá ñoä che ngaét ñaëc bieät
Cheá ñoä hoûi voøng ngaét naøy toán thôøi gian cuûa VXL ñeå xaùc ñònh coù ngaét vaø nguoàn gaây ngaét . Cheá ñoä naøy chæ söû duïng khi vi maïch VXL vaø PIC 8259A ôû treân hai taám maïch in khaùc nhau vaø treân bus heä thoáng khoâng coù ñöôøng tín hieäu xaùc nhaän ngaét INTA.
PHUÏ LUÏC H : KHAÛO SAÙT CAÙC LINH KIEÄN KHAÙC
2. Vi maïch choát 74373:
Vcc
Q7
D7
D6
Q6
Q5
D5
D4
Q4
E
OC\
Q0
D0
D1
Q1
Q2
D2
D3
Q3
GND
74373
D0-D7
Q0-Q7
OC \
E
Sô ñoà chaân vaø sô ñoà logic
OUTPUT
CONTROL
ENABLE
G
D
OUTPUT
L
H
H
H
L
H
L
L
L
L
x
Q0
H
x
x
HI-Z
3.Caùc IC kích phaùt vaø thu.
Vcc
InputD1
InputD2
OutputD
InputC1
InputC2
OutputC
Vee
InputA
OutputA
InputB1
InputB2
OutputB
GND
MC1488
Vcc
InputD
Respond control D
Output D
InputC
Respond control C
OutputC
InputA
Respond control A
OutputA
InputB
Respond control B
OutputB
GND
MC1489
4.IC chuyeån ñoåi töø soá sang töông töï DAC 0808.
COMP
Vref-
Vref+
Vcc
A8(LSB)
A7
A6
A5
NC
GND
Vee
Io
A1(MSB)
A2
A3
A4
DAC0808
A0
..
A7
Io
4
COM
6.IC khueách ñaïi thuaät toaùn vaø coång ñaûo.
7414
Vcc
6A
6Y
5A
5Y
4A44Y
1A
1Y
2A
2Y
3A
3Y
GND
V+
OUTB
-InputB
+InputB
OUTA
-InputA
+InputA
V-
LF358N
7.Boä chuyeån ñoåi töø töông töï sang soá.
IN2
IN1
IN0
A
B
C
ALE
A0(MSB)
A1
A2
A3
A7(LSB)
REF-
A5
IN3
IN4
IN5
IN5
IN7
START
EOC
A4
OE
CLK
Vcc
REF+
GND
A6
ADC 0809
Hình : Sô ñoà khoái vaø giaûn ñoà thôøi gian cuûa ADC 0809.
._.
Các file đính kèm theo tài liệu này:
- DO51.DOC