Sommario:

Cronometro VHDL: 8 passaggi (con immagini)
Cronometro VHDL: 8 passaggi (con immagini)

Video: Cronometro VHDL: 8 passaggi (con immagini)

Video: Cronometro VHDL: 8 passaggi (con immagini)
Video: Micro -GT Codifica BCD 1/2(Display 7 segments) 2024, Dicembre
Anonim
Cronometro VHDL
Cronometro VHDL

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

Diagramma a blocchi
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

Diagramma di stato
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

vincoli
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: