Stap 3: Het toevoegen van GPIO blokken
Nu gaan we enkele blokken "GPIO" toevoegen aan het systeem. GPIO is leuk, want het laat ons toe om kleine hoeveelheden informatie gemakkelijk te verzenden vanuit FPGA randapparatuur aan de processor of vice versa. Voor grotere hoeveelheden gegevens is AXI een betere optie. Ga je gang en klik met de rechtermuisknop sommige witruimte op het canvas blokontwerp en klikt u op "Add IP". Typ in GPIO en tweevoudig tikken "AXI GPIO". We gonna moet vijf van deze blokken totale, dus ga je gang en vier meer toevoegen. Het resultaat ziet er als hieronder screenshot.
Vier van de GPIO blokken moeten worden zogenaamde "dual channel". Dit betekent alleen dat elk blok GPIO kunt accepteren/verzenden twee verschillende stukken gegevens. Dubbel klik de GPIO 0 blok. Een venster moet verschijnen met een bos van opties. Vink het vakje "Dual-Channel inschakelen". Dan check "Alle ingangen" voor beide kanalen. Maak de breedte van de eerste GPIO 1 en de breedte van de tweede GPIO 24. Ook het selectievakje "Onderbreken inschakelen" aan de onderkant van het scherm. Klik vervolgens op OK.
Nu beweeg over het kleine blok aangesloten op het etiket "GPIO" op de GPIO 0 blok. Een beetje potlood moet worden weergegeven als uw cursor. Vervolgens vlak tikken en uitgezocht "Externe maken". Doe dit voor het "GPIO2"-etiket ook. Dubbelklik op de GPIO poort die werd gemaakt en hernoem het naar "LDATA_RDY". Vervolgens tweevoudig tikken de GPIO2 poort die werd gemaakt en noem deze "LDATA". Deze GPIO zal worden gebruikt om gegevens te lezen van de audio codec ook om te zien wanneer de gegevens klaar is.
Klik nu op de kleine zwarte lijn die uit "ip2intc_irpt" en sleep het te "IRQ_F2P [0:0]" op het ZYNQ blok.
Herhaal het vorige proces met de GPIO 1 blok tenzij doet niet klik "Dual Channel", klik op "Alle uitgangen" in plaats van "Alle ingangen" maken van de breedte van het kanaal 4 en klik niet op "Inschakelen onderbreken". Maak een externe poort opnieuw en noem deze "SWITCHES". Deze GPIO zal worden gebruikt om te bepalen wat op de LED-matrix wordt weergegeven.
Voor GPIO 2, dual-channel inschakelen en maken beide kanalen "Alle uitgangen". Het eerste kanaal 7 bits breed moet worden en het tweede kanaal moet 9 bits breed. Schakel niet onderbreekt. Beide poorten externe maken. De naam van de eerste "Addr" en de tweede 'gegevens'. Deze GPIO worden gebruikt voor het configureren van de audio codec op het bord zybo.
Voor GPIO 3, dual-channel inschakelen, maken het eerste kanaal "Alle ingangen" en het tweede kanaal "Alle uitgangen" maken. Beide kanalen moeten een beetje breedte van 1. Schakel niet onderbreekt. Externe poorten voor beide kanalen maken. Naam de eerste "ready" en het tweede "resetten". Deze GPIO is betrokken bij de-audiocodec configureren.
Tenslotte voor GPIO 4, dual-channel inschakelen en maken de eerste en tweede kanaal "Alle uitgangen". Maak de breedte van het kanaal 1 voor beide. NIET controleren inschakelen interrupts. De poorten externe maken en de naam van de eerste "timer_GPIO" en de tweede "gpio_rtl". Deze GPIO is gebruikt om alleen maar te vergemakkelijken testen.