Sisukord:

CPE 133 metronoom: 3 sammu
CPE 133 metronoom: 3 sammu

Video: CPE 133 metronoom: 3 sammu

Video: CPE 133 metronoom: 3 sammu
Video: CPE 133 Project: Square Muse Sequencer 2024, Detsember
Anonim
CPE 133 Metronoom
CPE 133 Metronoom

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

Süsteemi arhitektuur
Süsteemi arhitektuur
Süsteemi arhitektuur
Süsteemi arhitektuur
Süsteemi arhitektuur
Süsteemi arhitektuur

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

Vooluahela arhitektuur
Vooluahela arhitektuur
Vooluahela arhitektuur
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".

Soovitan: