Inbäddade system för datainsamling ECG (6 / 14 steg)
Steg 6: Inre järnvaror design
I det här steget fokuserade jag på hårdvarudesign i Zynq SoC.
- En ny design är skapad med hårdvara närvarande i styrelsen (XC7Z010CLG400-1).
- ZYNQ ARM tillverkningssystemet används som den viktigaste enheten (alternativt MicroBlaze kan användas vid FPGAs - men detta kommer att behandlas i en annan instructable). Baskonfigurationen kan laddas ner från Resource Center
- Viss anpassning måste göras till min enhet: The BL2 modul kommer att anslutas till en PMOD kontakt så en UART extrautrustning måste mappas till EMIO stift. ADS1299 kommunicerar på SPI-protokollet, så SPI är outrouted också. En perifer I2C behövs för den serial EEPROM med MAC-adress. Vi måste aktivera Timers och watchDog Timer i ARM-kärna. Sist men inte minst den globala avbrottshanterare måste redigeras genom att aktivera delade avbrott hamnar i PL-PS avbrott tyget.
- SD-kortet perifera måste aktiveras, och skriva skydda lite knuten till 0.
- Nu måste EMIO stiften ges vissa portnummer. Detta kan göras genom att lägga till en begränsning fil. Med alternativen redigera begränsningar ange och lägga till villkoret kunde jag skapa filen som behövs XDC. ZYBO pin deffinitions finns i referenshandboken.
XDC filen har följande syntax:
set_property PACKAGE_PIN < extern > [get_ports {< inre >}] < br > set_property IOSTANDARD LVCMOS33 [get_ports {< inre >}]
Den första raden kartor en inre stift (som UART_txd) till en extern stift (som D14), medan andra raden anger normerna i det klämmer fast.
För nu jag la bara en FIR compiler IP för att testa, men filtret ersätts senare med IIR + FIR versioner i HLS.
För att arbeta med FIR Compiler IP, måste ett AXI Stream-block läggas till systemet med matchande eller större hamnar data bredd. Koefficienterna som FIR räddades från FDA verktyget till en .coe fil i hexadecimal, 16-bitars undertecknat heltal.
Med detta gjorde vi en hårdvara redo för inicial testet av bare-ben kärna som innehåller programvaran förvärvet och kärna med OS på den. Den enda åtgärd att göra är att generera en bitström och importera design till SDK.