Innehållsförteckning:
Video: CPE 133 metronom: 3 steg
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
För vårt slutprojekt på Cal Poly skapade vi en tempobehållare som kallas en metronom, vi valde detta projekt på grund av ett intresse för musik och digital design. Vi använde tidigare laboratorier i CPE 133 för att hjälpa till att utforma vår kod och onlinehandledning för att hjälpa till med att bygga LED -kretsen på brödbrädet.
Steg 1: Systemarkitektur
Vi implementerade denna design med ett Basys 3 FPGA -kort, brödbräda, lysdioder, motstånd och hoppare för anslutning.
Syftet med denna design är att öka och minska den hastighet med vilken lysdioderna blinkar fram och tillbaka. Den takt som de blinkar kallas ett tempo. Det önskade tempot uppnåddes genom att använda knapparna på Basys 3 FPGA -kortet för att öka eller minska ljusets tempo.
Om du trycker på upp -knappen ökade lamporna i hastighet, om ned -knappen trycktes ned skulle hastigheten minska.
Steg 2: Kretsarkitektur
Systemarkitektur: Knappavstängning: Vi implementerade en knappavstängning i kretsen för att säkerställa att när vi klickade på en knapp för att öka tempot med ett intervall. Utan avstoppningen skulle ett enda tryck på knappen öka med klockans frekvens.
Tempoväxlare: Tempoväxlare användes för att öka eller minska MAX_COUNT -värdet som används av klockavdelaren för att styra klockutgången som driver lysdioden.
Register: Ett register användes för att hålla värdena för vårt nya MAX_COUNT som matades ut från tempoväxlaren. En CLR lades till i registret för att återställa MAX_COUNT till ett värde som motsvarar en 1-sekunders klockfrekvens.
Clock Divider: En klockdelare används för att sakta ner BASYS 3 -kortets klockpulser, detta görs genom att dividera klockans frekvens med MAX_COUNT -värdet som har ändrats i tempoväxlaren.
Skiftregister: ett modifierat 4-bitars skiftregister användes för att mata ut ett '1' eller högt värde till vår LED-krets på brödbrädan på klockpulsens stigande kant. Med 4 lysdioder på brödbrädan kunde vi mata ut till endast 1 av de 4 lysdioderna i taget, i följd, vilket gjorde en repeterande 4-takts sekvens. Skiftregistret modifierades så att 4-bitarsutmatningen endast innehöll 1 högt värde, dvs "0001" eller "0100."