Stap 8: Module: klok regeling Array
Deze module geeft een reeks van arrays met de elementen van genoemde arrays worden signalen van rechthoekige golfvorm met frequenties die muzieknoten geven. Deze module maakt gebruik van meerdere fase lock lussen (PLL) te wijzigen van het ingangssignaal van 50MHz klok in verschillende signalen van specifieke frequentie. De individuele signalen van specifieke frequentie van de PLLS kunnen vervolgens worden gedeeld door de bevoegdheden van twee met behulp van een teller te geven van de frequentie van een gewenste notitie. Dit gebeurt dan eenmaal voor elke verschillende muzikale noot. De specifieke frequenties kunnen worden gevonden met de volgende formule.
Deze formule is afgeleid van de volgende vergelijking hierboven.
Waar 'n' is een integer-waarde. De waarde van de "n" is zo gekozen dat de Output van de PLL dicht bij de frequentie van de input klok is. De gegeven code heeft PLL uitgangen dicht bij 10 MHZ. De frequentie van de gewenste notitie kunnen de frequentie van elke noot. De volgende tabel hierboven wordt geïllustreerd van de frequentie gebruikt in de opgegeven code.
De PLL kan worden geïmplementeerd met behulp van de bibliotheek die worden geleverd bij de Quartus II software. Elke PLL aan boord kunnen maximaal dat vijf output signalen van de klok. Als u wilt splitsen de klok signalen door twee is een 32-bits counter module geïmplementeerd. Verschillen in octaven zijn gewoon machten van twee in frequentie, dus het is alleen nodig voor de uitvoering van een uitgang van een PLL per muzikale noot, zelfs als u zou willen gebruiken octaven van deze nota.
In de gegeven code de 32-bits matrices clkarray0 – clkarray5 zijn uitgangen die matrices bevatten met elk element wordt een rechthoekige golfvorm. Elke array is voor een enkele muzikale noot met elk element wordt de frequentie voor een verschillende octaaf van die opmerking.
Om deze module vinden implementeren verschillende muzikale notities de frequenties van de muzieknoten die moeten worden gespeeld. De hierboven genoemde formules gebruiken voor het vinden van uitvoer frequenties van de PLLs voor de geselecteerde muzieknoten. De IP-catalogus die wordt geleverd met de Quartus II software-omgeving kan worden gebruikt voor het implementeren van een PLL met de frequentie van de output van de geselecteerde muzieknoten. Ga in de code en vervang één van de huidige PLL module oproepen door een module oproep voor uw PLL. De code wellicht enigszins worden gewijzigd als u niet hetzelfde aantal uitvoer klokken als de huidige PLL-modules hoeft.
Opgemerkt moet worden dat de PLL werd ontworpen met de Raad en niet door ons.