Inbäddade system för datainsamling ECG (7 / 14 steg)
Steg 7: Skapa bare-ben data förvärv programvara - part1: SPI
Datainsamling och signal digital signal att villkora båda är tid kritiska aktiviteter, så deras genomförande måste göras i ett realtid operativsystem eller i en snabb automat/micro controler. Den första metoden skulle vara användningen av Linux med Xenomai distribution, medan den andra strategin skulle skriva en firmware till den mikro controler. Eftersom jag hade mer erfarenhet med hardwares/firmwares, har jag valt den andra metoden. Eftersom inbäddade ARM-processor har två fysiska kärnor, ville jag skapa en snabb firmware till en av kärnar ur, och ett operativsystem till andra kärnan.
Den första sak att göra är konfigurationen av SPI perifera och ADS1299 analog front-end. SPI-pripheral var konfigurerad som EEPROM exemplet föreslås i SDK, med endast små ändringar:
XSpiPs_SetClkPrescaler (SpiInstancePtr, XSPIPS_CLK_PRESCALE_256);
Övre nämnde snipet var moddified att bromsa SPI klockan nedan 1MHz. Vid överföring av data användes tillfrågade överföringen fungerar.
Konfigurationen är följande: återställning, STOP_DATA_TRANSMISSION, WRITE_DATA_REGISTERS, ENABLE_DATA_TRANSMISSION, START_ACQUISITION. Denna sekvens är ett måste när du konfigurerar ADS1299, sedan efter återställning, IC börjar överföra uppmätta data, och kommer inte att spara automatiskt registrera ändringar. I setup jag inaktiverat 5 chanels (jag tänker använda endast 3 + marken), ändras referensen till common, provtagningsfrekvensen till 1kHz, och få till 24.
Med dessa inställningar gjorde det enda att göra är att testa meddelandet, förutom att det kan finnas vissa små problem: om batteriet är svagt, men den digitala delen är powerered från USB, commucation kan göras, men förvärvet kommer inte att fungera. Ett annat problem kan vara att SPI parametrar korrekt. Båda dessa problem kan lösas med hjälp av ett oscilloskop och logik analyzer.