Video: CPE 133 metronoom: 3 sammu
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Viimase projekti jaoks Cal Poly'is lõime tempo hoidmise seadme, mida nimetatakse metronoomiks, valisime selle projekti muusika ja digitaalse disaini huvides. Kasutasime CPE 133 varasemaid laboreid, et aidata kujundada meie koodi ja veebipõhiseid õpetusi, et aidata LED -ahelat leivaplaadil üles ehitada.
Samm: süsteemi ülesehitus
Rakendasime selle disaini, kasutades ühendamiseks Basys 3 FPGA plaati, paneeli, LED -e, takistit ja džemprit.
Selle disaini eesmärk on suurendada ja vähendada kiirust, millega LED -id edasi -tagasi vilguvad. Nende vilkumise tempot nimetatakse tempoks. Soovitud tempo saavutati Basys 3 FPGA tahvli nuppude abil valguse tempo suurendamiseks või vähendamiseks.
Ülesnupu vajutamisel suurenes tulede kiirus, alla vajutamise korral kiirus vähenes.
2. etapp: vooluahela arhitektuur
Süsteemi ülesehitus: nuppude tagasilöök: rakendasime vooluringis nuppude tagasilöögi, tagamaks, et kui klõpsame nuppu, et tõsta tempot ühe intervalliga. Ilma tagasipõrkamiseta suureneks ühe nupuvajutusega kella sagedus.
Tempo vahetaja: Tempo vahetajat kasutati MAX_COUNT väärtuse suurendamiseks või vähendamiseks, mida kellajagur kasutas LED -väljundi juhtimiseks.
Register: Registrit kasutati meie uue MAX_COUNT väärtuste hoidmiseks, mis väljastati tempomuutjast. Registrisse lisati CLR, et lähtestada MAX_COUNT väärtusele, mis vastab 1-sekundilisele taktsagedusele.
Kellajagur: BASYS 3 tahvli kellaimpulsside aeglustamiseks kasutatakse kellajagurit, selleks jagatakse kella sagedus tempo muutjas muudetud väärtusega MAX_COUNT.
Nihkeregister: modifitseeritud 4-bitist nihkeregistrit kasutati kella 1 impulsi tõusva serva leivalaual oleva LED-ahela '1' või kõrge väärtuse väljastamiseks. Kui leivaplaadil oli 4 LED-i, suutsime järjestikku väljastada ainult ühte 4-st LED-ist, tehes korduva 4-taktilise jada. Nihkeregistrit muudeti nii, et 4-bitine väljund sisaldas ainult ühte suurt väärtust, st "0001" või "0100".