Cuprins:
- Pasul 1: Hardware / Software
- Pasul 2: Diagrama bloc
- Pasul 3: Diagrama de stat
- Pasul 4: Modul divizor ceas
- Pasul 5: Afișați modulul
- Pasul 6: Modul de legare
- Pasul 7: Constrângeri
- Pasul 8: Gata
Video: Cronometru VHDL: 8 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
Acesta este un tutorial despre cum să faci un cronometru folosind VHDL și o placă de circuit FPGA, cum ar fi o placă Basys3 Atrix-7. Cronometrul poate conta de la 00.00 secunde la 99.99 secunde. Folosește două butoane, unul pentru butonul de pornire / oprire și altul pentru butonul de resetare. Numerele sunt afișate pe afișajul cu șapte segmente al plăcii folosind anodii și catodii săi. Există trei fișiere diferite necesare pentru ca acest cronometru să funcționeze.
Pasul 1: Hardware / Software
- Placa Basys3 Atrix-7 FPGA
- Vivado Design Suite de la Xilinx
- USB 2.0 A tată la Micro-B tată
Pasul 2: Diagrama bloc
Cronometrul general are trei intrări și două ieșiri. Cele trei intrări sunt pornire / oprire, resetare și ceas. Pornirea / oprirea și resetarea sunt butoane, iar ceasul este ceasul de 100 MHz al plăcii. Cele două ieșiri sunt anodii și catodii pentru afișajul cu șapte segmente.
Primul modul (divizor de ceas) are o intrare și două ieșiri. Intrarea este ceasul de 100 MHz al plăcii, iar ieșirile sunt două ceasuri separate, una funcționează la 480Hz și alta rulează 0,5 MHz.
Al doilea modul (afișaj) are cinci intrări și două ieșiri. Intrările sunt ceasul de 100 MHz al plăcii, cele două ceasuri de la modulul divizor de ceas și butoanele de pornire / oprire și resetare. Ieșirile sunt anodii și catodii.
Ultimul modul (modelat de întreaga diagramă bloc) are trei intrări și două ieșiri. Acesta este fișierul care reunește totul. Intrările sunt placa de 100 MHz și butoanele de pornire / oprire și resetare. Ieșirile sunt anodii și catodii care controlează afișajul cu șapte segmente. Toate intrările și ieșirile sunt fizic pe placa pentru modulul final.
Pasul 3: Diagrama de stat
Imaginea de mai sus arată diagrama de stare pentru modul în care funcționează cronometrul. Apăsarea butonului de resetare nu afectează starea cronometruului. Următoarea stare este determinată de butonul de pornire / oprire. Pornirea / oprirea este "HIGH" când este apăsat, dar nu când este ținut apăsat și "LOW" când butonul a revenit înapoi sau a fost ținut apăsat după ce a fost "HIGH" momentan.
Dacă cronometrul se numără și butonul de pornire / oprire trece „HIGH”, atunci se oprește numărarea. În cazul în care cronometrul este oprit și butonul de pornire / oprire devine „HIGH”, atunci începe din nou să se numere. Pentru ambele state, dacă butonul de pornire / oprire este „LOW”, atunci acesta va rămâne în starea în care se află în prezent.
Pasul 4: Modul divizor ceas
Modulul divizor de ceas are o intrare, ceasul de 100 MHz al plăcii și două ieșiri, ceasurile de 480Hz și 0,5MHz. Ceasul de 480Hz este utilizat pentru a menține toate LED-urile de pe afișajul cu șapte segmente „aprins” în același timp prin comutarea rapidă a celor patru. Ceasul de 0,5 MHz este utilizat pentru ca cronometrul să se numere efectiv cu centi-secunde.
Pasul 5: Afișați modulul
Acest modul de afișare are cinci intrări, ceasul de 100 MHz al plăcii, cele două ceasuri de la modulul de ceas și butoanele de pornire / oprire și resetare și două ieșiri, anodii și catodii. Acest modul are, de asemenea, „logica” pentru modul în care cronometrul contează și încorporează mașina cu stări finite.
Pasul 6: Modul de legare
Acest modul final este cel care reunește celelalte două module. Are trei intrări, ceasul de 100 MHz al plăcii și butoanele de pornire / oprire și resetare și două ieșiri, anodii și catodii. Ceasul de 100 MHz merge la modulul divizor de ceas și modulul de afișare, iar butoanele de pornire / oprire și resetare merg la modulul de afișare. Ieșirile modulului divizor de ceas (480Hz și 0,5 MHz) merg la cele două intrări de ceas ale modulului de afișare. Ieșirile modulului de afișare (anodii și catodii) merg la ieșirile modulului final.
Pasul 7: Constrângeri
Cele două intrări pot fi orice butoane de pe placa Basys3 Atrix-7 FPGA, iar ieșirile vor fi cei patru anodi și cei opt catoduri (deoarece doriți și un punct zecimal între secunde și milisecunde) pentru afișajul cu șapte segmente.
Pasul 8: Gata
Încărcați programul pe placa Basys3 Atrix-7 FPGA și apăsați butonul Start / Stop pentru a porni cronometrul!
Recomandat:
Lupta împotriva Coronavirusului: Cronometru simplu pentru spălarea mâinilor: 8 pași (cu imagini)
Lupta împotriva Coronavirusului: Cronometru simplu pentru spălarea mâinilor: Odată cu actuala pandemie din lume, situația pare destul de înfricoșătoare. Virusul Corona ar putea fi oriunde. Din câte știm, s-ar putea transporta virusul timp de câteva zile, fără a prezenta nici măcar simptome. Înfricoșător într-adevăr, dar hei, nu te speria prea mult
Cronometru digital all in one (ceas, temporizator, alarmă, temperatură): 10 pași (cu imagini)
Chronometer digital All in One (Ceas, Cronometru, Alarmă, Temperatură): Plănuiam să facem un Cronometru pentru o altă competiție, dar ulterior am implementat și un ceas (fără RTC). Pe măsură ce am intrat în programare, ne-am interesat să aplicăm mai multe funcționalități dispozitivului și am ajuns să adăugăm DS3231 RTC, ca
Cum să faci un cronometru folosind Arduino: 8 pași (cu imagini)
Cum să faci un cronometru folosind Arduino: Acesta este un cronometru cu afișaj LCD 16 * 2 foarte simplu Arduino ……….. Dacă îți place acest lucru instructabil, te rog să te abonezi la canalul meu https://www.youtube.com / ZenoModiff
Cronometru de bază folosind placa VHDL și Basys3: 9 pași
Cronometru de bază folosind placa VHDL și Basys3: Bine ați venit la instrucțiunile despre cum să construiți un cronometru folosind placa de bază VHDL și Basys 3. Suntem încântați să vă împărtășim proiectul nostru! Acesta a fost un proiect final pentru cursul CPE 133 (Digital Design) la Cal Poly, SLO în toamna anului 2016. Proiectul pe care îl construim
VHDL One Minute Cronometru: 5 pași
VHDL One Minute Cronometru: Acesta este un tutorial despre cum să construiți un cronometru de un minut folosind VHDL și o placă Basys 3. Un astfel de dispozitiv este ideal pentru jocurile în care fiecare jucător are maximum un minut pentru a-și face mișcarea. Cronometrul afișează cu precizie secunde și milisecunde o