Mundarija:
- 1 -qadam: Uskuna/dasturiy ta'minotni oling
- 2 -qadam: Blok diagrammasi
- 3 -qadam: Loyiha moduli
- 4 -qadam: cheklovlar
- 5 -qadam: Sinov
Video: VHDL bir daqiqali sekundomer: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Bu VHDL va Basys 3 taxtasi yordamida bir daqiqali sekundomerni yaratish bo'yicha qo'llanma. Bunday qurilma har bir o'yinchi o'z harakatini amalga oshirish uchun maksimal bir daqiqaga ega bo'lgan o'yinlar uchun juda mos keladi. Sekundomer etti segmentli displeyda 0 soniya va 0 millisekunddan boshlab 60 soniya va 0 millisekundgacha aniq soniya va millisekundlarni ko'rsatadi. Ikkita tugma ham ishlatiladi: taymerni ishga tushirish, to'xtatish va davom ettirish uchun ishlatiladigan markaziy tugma va taymerni qayta ishga tushirish uchun o'ng tugma. Qurilmani aqlli telefonning o'rnatilgan sekundomeri bilan yonma-yon taqqoslaganda, soat aniqligi seziladi.
1 -qadam: Uskuna/dasturiy ta'minotni oling
1. Micro-USB bilan Digilent-dan USB-kabelgacha bo'lgan Basys 3 Artix-7 FPGA murabbiylar kengashi.
2. Xilinxdan Vivado 2016.2 Design Suite
2 -qadam: Blok diagrammasi
Ushbu sxema xulq-atvor asosida qurilgan va o'rnatilgan Xilinx komponentlaridan foydalaniladi, lekin yuqoridagi umumiy strukturaviy diagrammada ko'rsatilgandek, tizimli ravishda tasvirlanishi mumkin. Diagrammadan ko'rinib turibdiki, kontaktlarning zanglashiga ikkita chastotali bo'luvchi olib keladi. Chastotani ajratgichlardan biri 1 sentisaniyada ishlaydi va etti segmentli displeyda ko'rsatilgan raqamlar sifatida ishlatiladigan katod hisoblagichini boshqaradi. Ikkinchi chastota ajratuvchi 240 Gts chastotada ishlaydi va anodlar bo'ylab aylanadigan anod hisoblagichini haydash uchun ishlatiladi, shunda barcha raqamlar etti segmentli displeyda to'g'ri ko'rsatiladi. Kodlovchi katod mantig'ini katod hisoblagichidan, anod hisoblagichidan esa anod mantig'ini oladi va uni etti segmentli displeyda ishlaydigan chiquvchi katod va anodga kodlaydi. Bu kodlovchining vazifasi, har safar anod chiqishi o'zgarganda, katod chiqishi o'zgaradi. Katod chiqishini hisoblagichdan mustaqil ravishda bajarish mumkin emas, chunki anodlar 4 ta alohida raqam orqali aylanishi kerak.
3 -qadam: Loyiha moduli
Birinchidan, CEN uchun jarayon bloki shunday tuzilganki, tugmani bosish aniqlansa, ENABLE yoqiladi. Bu katod hisoblagichining to'xtashi/boshlanishi bo'lib xizmat qiladi.
Keyingi texnologik blokda, sentisekund va 240Hz chastotali signallar shunday o'rnatiladiki, har 100MGts ichki soat ko'tarilish chegarasiga yetganda, ularning hisoblagichlari 1 taga ko'payadi. Bir sentisekundli hisoblagich 500000 ga yetganda, u 0 ga qaytadi. Shu bilan birga, 240Hz chastotali hisoblagich 41667 ga yetganda qayta tiklanadi.
Kodning katod bo'limi uchun, ENABLE '0' bo'lsa, katodni hisoblash to'xtatiladi. Agar bu vaqt ichida reset tugmasi bosilsa, barcha hisoblar "0000" ga qaytariladi. Shu bilan birga, agar ENABLE '1' bo'lsa, katodni hisoblash 60.00 ga yetguncha davom etadi, bunda to'xtash signalini '1' qiladi. To'xtash signali CEN texnologik blokiga qaytadi va "0" qiymatini yoqishga olib keladi, to'xtash signali esa "1" bo'ladi va reset tugmasi bosilmaguncha o'zgarmaydi.
Nihoyat, etti segmentli displey 4 ta anodni har biri 8 ta katod bilan to'g'ri bog'langan holda o'rnatiladi, ular bir vaqtning o'zida 0-9 raqamlarini ko'rsatadi.
4 -qadam: cheklovlar
Ushbu cheklovlar fayli VHDL -dan ko'rsatilgan kirish va chiqishlarni Basys platasining kerakli, jismoniy qismlariga bog'laydi. Ushbu loyiha uchun komponentlar to'rtta anodni va ularning har biri ettita segmentli displey uchun sakkizta katodni, 100 MGts ichki soatni, markaziy tugmani va o'ng tugmani o'z ichiga oladi.
5 -qadam: Sinov
Kodni to'ldirgandan so'ng, endi FPGA -ni USB kabeli orqali dasturlashingiz mumkin. Etti segmentli displeyda 0.00 ko'rsatilishi kerak. Taymerni ishga tushirish uchun markaziy tugmani bosib, tugmalar ishlayaptimi yoki yo'qligini tekshiring, soat 60.00 ga yetguncha va to'xtaydi; istalgan vaqtda, uni to'xtatish uchun markaziy tugmani yana bosishingiz mumkin. To'xtatilgandan so'ng, taymerni 0.00 ga qaytarish uchun o'ng tugmani bosishingiz mumkin. Agar hamma narsa to'g'ri ishlayotgan bo'lsa, tabriklaymiz, siz bir daqiqali taymer qurdingiz!
Tavsiya:
Oddiy CloudX M633 raqamli sekundomer: 4 qadam
Oddiy CloudX M633 raqamli soniya hisoblagichi: Ushbu loyihada biz mobil telefoningizdagi soniya hisoblagichi kabi soat, daqiqa va soniyani qayd etadigan raqamli soatning versiyasini tayyorlamoqchimiz! Vaqtni ko'rsatish uchun biz LCD displeydan foydalanamiz
Avtomatik sekundomer: 9 qadam
Avtomatik sekundomer: Bu ko'rsatma sizga avtomatik sekundomerni qanday qurishni ko'rsatib beradi. Chunki yugurish qiziqarli, lekin ba'zida yoningizda vaqtingizni ajrata oladigan hech kim yo'q. Men buni iloji boricha sodda, arzon va aniq saqlashga harakat qildim. Sizga masofadan boshqarish pulti kerak emas
4 -raqamli 7 segmentli sekundomer: 3 qadam
4-raqamli 7 segmentli sekundomer: Bu ko'rsatma sizga 4-raqamli etti segmentli displeydan real vaqt rejimida to'liq ishlaydigan sekundomerni yaratishni ko'rsatib beradi
Ulangan sekundomer: 5 qadam
Ulangan sekundomer: Salom! Ushbu qo'llanmada siz WiFi bilan jihozlangan Arduino -ga mos keladigan har qanday qurilmani REST API -ga qanday ulashni bilib olasiz! Bu taxtalar yaratish uchun GitKraken Glo Board veb -ilovasidan foydalanadi, ustunlar & narsalarni tartibga solish uchun kartalar! Ommaviylik haqida ba'zi ma'lumotlar
VHDL va Basys3 taxtasi yordamida asosiy sekundomer: 9 qadam
VHDL va Basys3 taxtasidan foydalanadigan asosiy sekundomer: Asosiy VHDL va Basys 3 taxtasi yordamida sekundomerni yaratish bo'yicha ko'rsatmaga xush kelibsiz. Siz bilan loyihamizni bo'lishishdan xursandmiz! Bu 2016 yilning kuzida, Cal Poly, SLOda o'tkaziladigan CPE 133 (Raqamli dizayn) kursining yakuniy loyihasi edi. Biz qurayotgan loyiha