Stap 6: Interne hardwareontwerp
In deze stap ik gericht op het hardwareontwerp in de Zynq SoC.
- Een nieuw ontwerp wordt gemaakt met de hardware aanwezig is op het bord (XC7Z010CLG400-1).
- Een ZYNQ ARM verwerkingssysteem wordt gebruikt als de belangrijkste apparaat (alternatief MicroBlaze kan worden gebruikt in het geval van FPGA - maar dit zal worden behandeld in andere instructable). De basis configuratie kan worden gedownload van de Resource Center
- Aantal aanpassingen moet gebeuren naar mijn apparaat: The BL2 module zal worden aangesloten op een PMOD-connector, zodat een randapparaat UART moet worden toegewezen aan EMIO pinnen. De ADS1299 communiceert over SPI-protocol, zodat de SPI is ook outrouted. Een perifere I2C is nodig voor de seriële EEPROM met MAC-adres. We moeten om de Timers en de watchDog Timer in de kern van de ARM. Laatste maar niet in het minst het Global Interrupt Controller doordat de gedeelde Interrupt-poorten van de PL-PS interrupt stof moet worden bewerkt.
- De perifere SD-kaart moet worden ingeschakeld en de schrijfbeveiliging bits gebonden aan 0.
- Nu moeten de EMIO pinnen men sommige poortnummers. Dit kan worden gedaan door een beperking-bestand toe te voegen. Met de opties bewerken beperkingen instellen en Add Constraint kon ik het vereiste XDC bestand maken. De ZYBO pin-deffinitions kan worden gevonden in de handleiding.
Het XDC-bestand heeft de volgende syntaxis:
set_property PACKAGE_PIN <external> [get_ports {<internal>}]<br>set_property IOSTANDARD LVCMOS33 [get_ports {<internal>}]
De eerste rij een interne pin (zoals UART_txd) wordt toegewezen aan een externe pin (zoals W14), terwijl de tweede rij de normen van die pin ingesteld.
Want nu ik alleen een FIR compiler IP toegevoegd voor testdoeleinden, maar het filter later zal worden vervangen door IIR + FIR versies gemaakt in HLS.
Om te kunnen werken met de FIR Compiler IP, moet een blok AXI Stream worden toegevoegd aan het systeem met overeenkomende of grotere breedte gegevenspoorten. De FIR coëfficiënten zijn gered van de FDA-tool naar een .coe bestand in hexadecimale, 16 bit ondertekende gehele getallen.
Daarmee maakten we een hardware klaar voor de inicial test van de kern van de blote-bot met de acquisitie software, en voor de kern met OS daarop. De enige stap te maken is voor het genereren van een bitstream en importeer het ontwerp aan SDK.