Cuprins:
- Pasul 1: Obțineți hardware / software
- Pasul 2: Diagrama bloc
- Pasul 3: Modulul de proiect
- Pasul 4: Constrângeri
- Pasul 5: Testați
Video: VHDL One Minute Cronometru: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
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 pe afișajul de șapte segmente, începând de la 0 secunde și 0 milisecunde, până la 60 de secunde și 0 milisecunde. De asemenea, sunt utilizate două butoane: butonul central, utilizat pentru a porni, opri și continua cronometrul și butonul din dreapta, folosit pentru a reporni cronometrul. Când dispozitivul este comparat unul lângă altul cu cronometrul încorporat al unui telefon inteligent, precizia ceasului este vizibilă.
Pasul 1: Obțineți hardware / software
1. Baza 3 Artix-7 FPGA Trainer Board de la Digilent cu cablu Micro-USB la USB
2. Vivado 2016.2 Design Suite de la Xilinx
Pasul 2: Diagrama bloc
Acest circuit este construit comportamental și folosește componente Xilinx încorporate, dar poate fi descris și structural, așa cum se arată în diagrama structurală generală de mai sus. Din diagramă, se poate observa că circuitul este condus de două divizoare de frecvență. Unul dintre divizoarele de frecvență rulează la 1 centisecundă și acționează contorul de catod care este folosit ca numerele afișate pe afișajul cu șapte segmente. Al doilea divizor de frecvență rulează la 240Hz și este utilizat pentru a conduce contorul de anod care se rotește prin anodi, astfel încât toate numerele să fie afișate corect pe afișajul cu șapte segmente. Codificatorul preia logica catodică de la contorul catodului și logica anodică de la contorul anodului și o codifică la catodul și anodul de ieșire care rulează afișajul cu șapte segmente. Funcția acestui codificator este ca ieșirea catodului să se schimbe de fiecare dată când ieșirea anodică se schimbă. Ieșirea catodului nu poate fi rulată independent de contor, deoarece anodii trebuie să se rotească prin cele 4 cifre separate.
Pasul 3: Modulul de proiect
În primul rând, se face un bloc de proces pentru CEN astfel încât atunci când este detectată o apăsare de buton, ENABLE va comuta. Aceasta servește ca oprire / pornire a contorului catodului.
În următorul bloc de proces, semnalele de ceas de centisecundă și 240Hz sunt setate astfel încât contoare respective să crească cu 1 de fiecare dată când ceasul intern de 100mHz ajunge la o margine ascendentă. Odată ce contorul de centisecundă ajunge la 500000, acesta va reveni la 0. Între timp, contorul de 240Hz s-ar reseta odată ce numărul va ajunge la 41667.
Pentru secțiunea catodică a codului, dacă ENABLE este „0”, numărarea catodului se va întrerupe. Dacă butonul de resetare este apăsat în acest timp, atunci toate conturile se resetează la „0000”. Între timp, dacă ENABLE este „1”, numărarea catodului va continua până când numărul catodului ajunge la 60,00, în care declanșează semnalul de oprire să fie „1”. Semnalul de oprire se întoarce înapoi către blocul de proces CEN și face ca ENABLE să fie „0” în timp ce semnalul de oprire este „1” și nu se va modifica până când butonul de resetare nu este apăsat.
În cele din urmă, afișajul cu șapte segmente este configurat având cei 4 anodi conectați corect cu fiecare dintre cei 8 catoduri pentru a afișa cifrele respective 0-9 simultan.
Pasul 4: Constrângeri
Acest fișier de constrângeri conectează intrările și ieșirile specificate din VHDL în părțile fizice necesare ale plăcii Basys. Pentru acest proiect, componentele includ cei patru anodi și fiecare dintre cei opt catoduri pentru afișajul cu șapte segmente, ceasul intern de 100 mHz, butonul central și butonul din dreapta.
Pasul 5: Testați
Odată ce ați completat codul, puteți programa acum FPGA prin cablul USB. Afișajul cu șapte segmente ar trebui să afișeze 0,00. Testați pentru a vedea dacă butoanele funcționează apăsând butonul central pentru a porni cronometrul până când ajunge la 60,00 și se oprește; oricând, puteți apăsa din nou butonul central pentru a-l întrerupe. Odată ce acesta este întrerupt, puteți apăsa butonul din dreapta pentru a reseta temporizatorul înapoi la 0,00. Dacă totul funcționează corect, felicitări tocmai ai construit un cronometru de un minut!
Recomandat:
Cronometru perie de dinți: 4 pași
Cronometru periuță de dinți: ideea este să creez un cronometru pentru 2 persoane pentru periajul de dinți, pentru asta, am folosit un microbit V1.Ajută copiii mei să se spele pe dinți pe durata recomandată. Dacă aveți copii și un micr: bit și doriți să vă asigurați au dintii curati; nu ezita
Cronometru Arduino Leonardo: 3 pași
Arduino Leonardo Cronometru: Credit: https://www.instructables.com/id/Arduino-Stopwatch … Acest design al cronometrului a provenit de la linkul de mai sus, care este un cronometru care contează de la 1, în timp ce acesta numără în jos de la 60 de secunde . Majoritatea codului pe care l-am folosit urmează originalul
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
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
Cronometru VHDL: 8 pași (cu imagini)
VHDL Cronometru: Acesta este un tutorial despre cum să faceți 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