Mündəricat:
- Addım 1: Hardware/Software əldə edin
- Addım 2: Blok Şeması
- Addım 3: Layihə Modulu
- Addım 4: Məhdudiyyətlər
- Addım 5: Test edin
Video: VHDL Bir dəqiqəlik saniyəölçən: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Bu, VHDL və Basys 3 lövhəsindən istifadə edərək bir dəqiqəlik saniyəölçənin necə qurulacağına dair bir dərsdir. Belə bir cihaz, hər bir oyunçunun hərəkət etmək üçün maksimum bir dəqiqəyə sahib olduğu oyunlar üçün idealdır. Saniyəölçən yeddi seqmentli ekranda saniyələri və milisaniyələri dəqiq göstərir, 0 saniyə və 0 millisaniyədən başlayaraq 60 saniyə və 0 milisaniyəyə qədər. İki düymə də istifadə olunur: taymeri işə salmaq, dayandırmaq və davam etdirmək üçün istifadə olunan mərkəzi düymə və taymeri yenidən başlatmaq üçün istifadə olunan sağ düymə. Cihaz ağıllı telefonun quraşdırılmış saniyəölçəniylə yan-yana müqayisə edildikdə, saatın dəqiqliyi nəzərə çarpır.
Addım 1: Hardware/Software əldə edin
1. Micro-USB ilə Digilent-dən USB Kabelə qədər Basys 3 Artix-7 FPGA Təlimat Kartı
2. Xilinx -dən Vivado 2016.2 Design Suite
Addım 2: Blok Şeması
Bu sxem davranışa görə qurulmuşdur və quraşdırılmış Xilinx komponentlərindən istifadə edir, lakin yuxarıdakı ümumi struktur diaqramında göstərildiyi kimi struktur olaraq da təsvir edilə bilər. Diaqramdan, dövrə iki tezlik bölücü tərəfindən idarə olunduğunu görmək olar. Tezlik bölücülərdən biri 1 saniyədə işləyir və yeddi seqmentli ekranda göstərilən nömrələr kimi istifadə olunan katod sayğacını idarə edir. İkinci tezlik bölücü 240Hz-də işləyir və bütün ədədlərin yeddi seqmentli ekranda düzgün göstərilməsi üçün anodlardan fırlanan anod sayğacını idarə etmək üçün istifadə olunur. Kodlayıcı, katod məntiqini katod sayğacından və anod sayğacından anod məntiqini götürür və onu yeddi seqmentli ekranı işlədən çıxışın katotu və anoduna kodlaşdırır. Bu kodlayıcının funksiyası, anod çıxışı hər dəfə dəyişəndə katod çıxışının dəyişməsidir. Katod çıxışı sayğacdan müstəqil olaraq işləyə bilməz, çünki anodlar 4 ayrı rəqəmdən fırlanmalıdır.
Addım 3: Layihə Modulu
Birincisi, CEN üçün bir proses bloku edilir ki, bir Button Press algılandığında ENABLE keçər. Bu, katod sayğacının dayanması/başlaması kimi xidmət edir.
Növbəti proses blokunda, saniyəlik və 240Hz saat siqnalları, hər 100mHz daxili saat yüksələn bir həddə çatdıqda müvafiq sayğacların 1 artırılması üçün qurulur. Saniyəlik sayğac 500000 -ə çatdıqda, sıfıra sıfırlanır. Eyni zamanda, say 41667 -ə çatanda 240Hz sayğac sıfırlanır.
Kodun katod bölməsi üçün, ENABLE '0' olarsa, katod sayımı dayandırılacaq. Bu müddət ərzində sıfırlama düyməsinə basıldığı təqdirdə, bütün saymalar "0000" ə sıfırlanır. Eyni zamanda, ENABLE '1' olarsa, katot sayımı, katot sayımının 60.00 -a çatana qədər davam edəcək və burada stop siqnalının '1' olmasını tetikler. Dayanma siqnalı CEN proses blokuna qayıdır və dayandırma siqnalı '1' olarkən ENABLE -in '0' olmasına səbəb olur və sıfırlama düyməsinə basılana qədər dəyişməyəcək.
Nəhayət, yeddi seqmentli ekran, eyni anda 0-9-dan müvafiq rəqəmləri göstərmək üçün 8 katodunun hər biri ilə 4 anodun düzgün bağlanması ilə qurulur.
Addım 4: Məhdudiyyətlər
Bu məhdudiyyətlər faylı, VHDL -dən göstərilən giriş və çıxışları Basys lövhəsinin zəruri, fiziki hissələrinə birləşdirir. Bu layihə üçün komponentlərə yeddi seqmentli ekran üçün dörd anod və hər birinin səkkiz katodu, daxili 100 mHz saat, orta düymə və sağ düymə daxildir.
Addım 5: Test edin
Kodu tamamladıqdan sonra FPGA -nı USB kabel vasitəsilə proqramlaşdıra bilərsiniz. Yeddi seqmentli ekran 0.00 göstərməlidir. Taymeri 60.00 -a çatana qədər dayandırmaq üçün mərkəzi düyməni basaraq düymələrin işlədiyini yoxlayın; arada istədiyiniz zaman fasilə vermək üçün yenidən mərkəzi düyməni basa bilərsiniz. Dayandırıldıqdan sonra taymeri yenidən 0.00 -a qaytarmaq üçün sağ düyməni basa bilərsiniz. Hər şey düzgün işləyirsə, təbrik edirəm, bir dəqiqəlik taymer qurmusunuz!
Tövsiyə:
30 dəqiqəlik Zəngli Saat: 3 addım (şəkillərlə)
30 dəqiqəlik Zəngli Saat: Bir dost, 30 dəqiqəlik bir vaxt üçün bir qaynaq kirayəyə götürən kiçik bir işə başlayır. Hər 30 dəqiqədə (saat yarımda) xoş bir gong səsi ilə həyəcan verə biləcək bir taymer axtardı. heç nə tapa bilmədim
VHDL və Basys3 Board istifadə edərək əsas Saniyəölçən: 9 addım
VHDL və Basys3 lövhəsindən istifadə edərək əsas saniyəölçən: Əsas VHDL və Basys 3 lövhəsindən istifadə edərək saniyəölçən qurmağın yollarını öyrənin. Layihəmizi sizinlə bölüşməkdən məmnunuq! Bu, 2016 -cı ilin payızında Cal Poly, SLO -da CPE 133 (Rəqəmsal Dizayn) kursu üçün son bir layihə idi. Satın aldığımız layihə
5 dəqiqəlik USB Bilək Soyuducu: 3 addım
5 Dəqiqə USB Bilək Soyuducu: Məşq etmənin ən sevmədiyim hissəsi (amma qaçmaq üçün ən sevimli bəhanəm) tərləmədir. Bu, xüsusilə yaz aylarında Böyük Amerika Cənubunda açıq havada doğrudur. Hal -hazırda axşam 8 -dir və hələ də burada 93 dərəcədir. Bu səbəbdən kiçik bir rahatlıq olaraq mən
VHDL Saniyəölçən: 8 Addım (Şəkillərlə birlikdə)
VHDL Saniyəölçən: Bu, Basys3 Atrix-7 lövhəsi kimi VHDL və FPGA dövrə lövhəsindən istifadə edərək saniyəölçən düzəltmək üçün bir təlimatdır. Saniyəölçən 00.00 saniyədən 99.99 saniyəyə qədər saya bilir. İki düymədən istifadə edir, biri başlanğıc/dayandırma düyməsi üçün, digəri isə
30 dəqiqəlik USB mikroskopu: 5 addım (şəkillərlə birlikdə)
30 Dəqiqə USB Mikroskopu: bu gün yeni bir rəqəmsal kamera aldım və bir şey göndərmək istədim .. 100 dollardan aşağı qiymətə hazırladığım orta ölçülü bir usb mikroskopu (əgər onları yenisindən alsanız), bunların çoxunu artıq hazırlamışıq yeni bir vasitə :) hissələri: 1 radioşak cib