
Sommario:
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-23 14:50

Questo è un tutorial su come realizzare un cronometro utilizzando VHDL e un circuito stampato FPGA, come una scheda Basys3 Atrix-7. Il cronometro è in grado di contare da 00.00 secondi a 99,99 secondi. Utilizza due pulsanti, uno per il pulsante di avvio/arresto e l'altro per il pulsante di ripristino. I numeri vengono visualizzati sul display a sette segmenti della scheda utilizzando i suoi anodi e catodi. Sono necessari tre diversi file per far funzionare questo cronometro.
Passaggio 1: hardware/software
- Scheda FPGA Basys3 Atrix-7
- Vivado Design Suite di Xilinx
- USB 2.0 A maschio a Micro-B maschio
Passaggio 2: diagramma a blocchi

Il cronometro complessivo ha tre ingressi e due uscite. I tre ingressi sono start/stop, reset e clock. L'avvio/arresto e il ripristino sono pulsanti e l'orologio è l'orologio a 100 MHz della scheda. Le due uscite sono anodi e catodi per il display a sette segmenti.
Il primo modulo (divisore di clock) ha un ingresso e due uscite. L'ingresso è il clock a 100 MHz della scheda e le uscite sono due clock separati, uno a 480 Hz e l'altro a 0,5 MHz.
Il secondo modulo (display) dispone di cinque ingressi e due uscite. Gli ingressi sono il clock a 100MHz della scheda, i due clock dal modulo divisore di clock ei pulsanti di avvio/arresto e reset. Le uscite sono gli anodi e i catodi.
L'ultimo modulo (modellato dall'intero schema a blocchi) ha tre ingressi e due uscite. Questo è il file che riunisce tutto. Gli ingressi sono i 100MHz della scheda ei pulsanti start/stop e reset. Le uscite sono gli anodi ei catodi che controllano il display a sette segmenti. Tutti gli ingressi e le uscite sono fisicamente sulla scheda per il modulo finale.
Passaggio 3: diagramma di stato

L'immagine sopra mostra il diagramma di stato per il funzionamento del cronometro. La pressione del pulsante di ripristino non ha alcun effetto sullo stato del cronometro. Lo stato successivo è determinato dal pulsante di avvio/arresto. L'avvio/arresto è "HIGH" quando viene premuto, ma non quando viene tenuto premuto e "LOW" quando il pulsante è tornato indietro o è stato tenuto premuto dopo essere stato momentaneamente "HIGH".
Se il cronometro sta contando e il pulsante di avvio/arresto diventa "ALTO", allora smette di contare. Se il cronometro è fermo e il pulsante di avvio/arresto diventa "ALTO", ricomincia il conteggio. Per entrambi gli stati, se il pulsante di avvio/arresto è "LOW", rimarrà nello stato in cui si trova attualmente.
Passaggio 4: modulo divisore orologio
Il modulo divisore di clock ha un ingresso, il clock a 100 MHz della scheda e due uscite, i clock a 480 Hz e 0,5 MHz. L'orologio a 480Hz viene utilizzato per mantenere "accesi" tutti i LED del display a sette segmenti contemporaneamente, commutando rapidamente tra i quattro. L'orologio da 0,5 MHz viene utilizzato per il conteggio effettivo del cronometro per centi-secondi.
Passaggio 5: modulo display
Questo modulo display ha cinque ingressi, il clock a 100MHz della scheda, i due clock dal modulo clock, i pulsanti di avvio/arresto e reset, e due uscite, gli anodi e i catodi. Questo modulo ha anche la "logica" per come conta il cronometro e incorpora la macchina a stati finiti.
Passaggio 6: modulo di associazione
Questo modulo finale è quello che riunisce gli altri due moduli. Ha tre ingressi, il clock da 100MHz della scheda e i pulsanti start/stop e reset, e due uscite, gli anodi e i catodi. L'orologio da 100 MHz va al modulo divisore dell'orologio e al modulo display, mentre i pulsanti di avvio/arresto e reset vanno al modulo display. Le uscite del modulo divisore di clock (480Hz e 0.5MHz) vanno ai due ingressi di clock del modulo display. Le uscite del modulo display (anodi e catodi) vanno alle uscite del modulo finale.
Passaggio 7: vincoli

I due ingressi possono essere qualsiasi pulsante sulla scheda FPGA Basys3 Atrix-7 e le uscite saranno i quattro anodi e gli otto catodi (perché si desidera anche un punto decimale tra secondi e millisecondi) per il display a sette segmenti.
Passaggio 8: fatto
Carica il programma sulla tua scheda FPGA Basys3 Atrix-7 e premi il pulsante start/stop per far partire il cronometro!
Consigliato:
Come Creare un Cronometro Usando Arduino: 8 Passaggi (con Immagini)

Come creare un cronometro usando Arduino: questo è un cronometro con display LCD 16 * 2 Arduino molto semplice……….. Se ti piace questo tutorial, iscriviti al mio canale https://www.youtube.com /ZenoModiff
Cronometro di base utilizzando VHDL e Basys3 Board: 9 passaggi

Cronometro di base utilizzando la scheda VHDL e Basys3: benvenuto nelle istruzioni su come costruire un cronometro utilizzando la scheda VHDL e Basys 3 di base. Siamo entusiasti di condividere con voi il nostro progetto! Questo era un progetto finale per il corso CPE 133 (Digital Design) a Cal Poly, SLO nell'autunno 2016. Il progetto che abbiamo costruito
Cronometro Arduino: 4 passaggi (con immagini)

Arduino Stopwatch: questo Instructable ti mostrerà come creare un cronometro da un Arduino
Orologio / cronometro Arduino semplice: 6 passaggi (con immagini)

Semplice orologio / cronometro Arduino: questo "istrutbile" ti mostrerà e ti insegnerà come realizzare un semplice orologio Arduino Uno che funge anche da cronometro in pochi, semplici passaggi
Cronometro VHDL a un minuto: 5 passaggi

Cronometro da un minuto VHDL: questo è un tutorial su come costruire un cronometro da un minuto usando VHDL e una scheda Basys 3. Tale dispositivo è ideale per i giochi in cui ogni giocatore ha un massimo di un minuto per fare la propria mossa. Il cronometro mostra con precisione secondi e millisecondi o