Video: Metronom CPE 133: 3 koraki
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Za naš končni projekt v Cal Polyu smo ustvarili napravo za ohranjanje tempa, imenovano metronom, za ta projekt smo se odločili zaradi zanimanja za glasbo in digitalno obliko. V CPE 133 smo uporabili pretekle laboratorije za oblikovanje kode in spletne vadnice za gradnjo LED vezja na plošči.
Korak: Arhitektura sistema
To zasnovo smo izvedli z uporabo plošče Basys 3 FPGA, Breadboard, LED, uporov in mostičkov za povezavo.
Namen te zasnove je povečati in zmanjšati hitrost, s katero LED utripa naprej in nazaj. Hitrost, s katero utripajo, se imenuje tempo. Želeni tempo je bil dosežen z gumbi na plošči Basys 3 FPGA za povečanje ali zmanjšanje tempa svetlobe.
Če bi pritisnili gumb navzgor, bi se luči povečale, če bi pritisnili gumb navzdol, bi se hitrost zmanjšala.
2. korak: Arhitektura vezja
Sistemska arhitektura: Button De-bounce: Izvedli smo gumb za odklon v vezju, da zagotovimo, da s klikom na gumb povečamo tempo za en interval. Brez odklona bi se en sam pritisk na gumb povečal s frekvenco ure.
Tempo Changer: Tempo changer je bil uporabljen za povečanje ali zmanjšanje vrednosti MAX_COUNT, ki jo delilnik ure uporablja za nadzor izhoda ure, ki poganja LED.
Register: Register je bil uporabljen za shranjevanje vrednosti našega novega MAX_COUNT, ki je bil izhod iz tempomata. V register je bil dodan CLR za ponastavitev MAX_COUNT na vrednost, ki ustreza 1-sekundni taktni frekvenci.
Razdeljevalnik ure: delilnik ure se uporablja za upočasnitev taktnih impulzov plošče BASYS 3, to se naredi tako, da se frekvenca ure deli z vrednostjo MAX_COUNT, ki je bila spremenjena v časovniku.
Premični register: spremenjen 4-bitni premični register je bil uporabljen za izhod '1' ali visoko vrednost v naše LED vezje na plošči na vzpenjanju ročnega impulza. S štirimi LED diodami na plošči smo lahko hkrati oddajali le eno od štirih LED, kar je pomenilo ponavljajoče se 4-bitno zaporedje. Premični register je bil spremenjen tako, da je 4-bitni izhod vseboval le 1 visoko vrednost, to je "0001" ali "0100".