Stap 8: Maken de kale-bot-data acquisitie software - part2: gegevens onderbreken en transmissie
Als de previsios stap succesvol was, op de pin van de nDRDY van de ADS1299 moet een puls met een frequentie van 1kHz aanwezig zijn-dit is de opgehaalde gegevens klaar signaal.
Dus een GPIO met interrupt moet worden gebruikt. Gelukkig heeft de SDK ook een voorbeeld voor dit. De enige moddification is in de ISR handlerfunctie.
if(!XGpio_DiscreteRead(&DRDYinstance, 1)){ XSpiPs_SetSlaveSelect(&SpiInstance, ADS_SPI_SELECT); XSpiPs_PolledTransfer(&SpiInstance, NULL, inputData, 27); ... }
De bovenste vermeld code snipet toont het kleingeld. In de interrupt handler controleren wij de toestand van de GPIO. Als het is laag, hebben we een geldige gegevens, zodat we het lezen. De gegevens bevinden zich in de volgende volgorde: OP CH1, CH2 CH3... CH8. De OP bevat enkele opties zoals lead-off detectie, terwijl CHn de gegevens op de n chanel is (24b van gegevens).
Voor verzending, de UART-randapparaat is gebruikt sinds de Start-voorwaarde occures wanneer de gebruiker begint de overname van de telefoon, een interrupt moet worden gebruikt op de ontvanger einde. Mijn instelling voor de mededeling van de Bluetooth UART was 230400 Baud/s snelheid met de onderstaande voorschriften:
250 p p... p 255 is het patiënten protocol, hier we beginnen met het verzenden van informatie zoals naam, geboortedatum enz.
251... 255 is het einde van het protocol van patiëntgegevens.
- 252 p p... p 255 is het start-protocol, daarmee de data-acquisitie wordt gestart - hier betekent de p-bits bemonstering instellingen zoals, een schot met gedefinieerde interval, een schot voor onbepaalde tijd, sampling-frequentie enz.
- 253 p p... p 255 is het stop-protocol
- 254 d d... d 254 is de ECG-Gegevensprotocol
Tot nu toe een pakje 16B lengte wordt gebruikt: START CH_NUM(2) CHi(3) CHj(3) CHk(3) CHl(3) STOP, waar 2 bytes worden gebruikt voor de identificatie van de gegevens, en 4 24b afzonderlijke gegevens wordt verzonden naar de Androïde apparaat.
Na sommige opmerkingen dat de conclusie was om de pakketgrootte, is het display op deze android-apparaten zo klein, dat een verandering van 8b in gegevens is draaglijk, dus met 16b bemonsterde vangegevens, de definitieve pakketgrootte 11B, is omdat de Chanel nummer kan ook worden aangepast. Deze CH_NUM-byte zal nuttig zijn bij het gebruik van alle 8 chanels van ADC, maar slechts 4 transmiting.