Gebruik een biosensingmodule voor de ontwikkeling van gezondheids- en fitnessdragers
Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey
2020-10-21
Mede door het grotere gezondheidsbewustzijn van COVID-19 blijft de interesse in biosensing wearables de vraag naar effectievere oplossingen stimuleren om te voldoen aan de vraag van gebruikers naar meer functionaliteit en hogere nauwkeurigheid in kleinere vormfactoren met een langere levensduur van de batterij tegen lagere kosten. Voor ontwerpers biedt dit een reeks van voortdurende uitdagingen, omdat ze werken aan strakke time-to-market vensters en budgetten. In hun voordeel werken zijn vorderingen op het gebied van biosensing-apparatuur, met inbegrip van een hogere functionele integratie en uitgebreidere ontwerpoplossingen.
Dit artikel bespreekt de trends in biosensors en wearables en de uitdagingen waar ontwerpers voor staan. Het introduceert vervolgens een hartslag- en perifere zuurstofverzadiging (SpO2) biosensormodule van Maxim Integrated en laat zien hoe ontwikkelaars deze kunnen gebruiken voor het effectiever implementeren van wearables die in staat zijn om nauwkeurige hartslag- en andere metingen te leveren zonder afbreuk te doen aan de krappe energiebudgetten van mobiele producten op batterijen.
Ontwerpvereisten voor biosensing
Terwijl hartslagmonitoring een kernvereiste is in een breed scala van consumentenproducten, blijft de belangstelling voor SpO2-metingen toenemen. Eenmaal grotendeels gebruikt door atleten op zoek naar het optimaliseren van hun fitness regime, heeft SpO2-meting meer wijdverspreide toepassing gevonden, met name in zelfcontrole voor tekenen van verminderde ademhalingsfunctie in verband met COVID-19 ziekte. Voor ontwikkelaars biedt het leveren van geschikte oplossingen aan een gezondheidsbewuste bevolking die gewend is aan draagbare elektronica, aanzienlijke uitdagingen met betrekking tot kosten, vermogen, vormfactor en gewicht.
Veel biosensors komen nu met geïntegreerde analoge front-end subsystemen zodat ontwikkelaars niet de signaalketens en post-processing subsystemen hoeven te bouwen die nodig zijn voor gezondheids- en fitnessmetingen, maar weinig van deze geavanceerde apparaten hebben de juiste mix van mogelijkheden voor draagbare apparaten. Als gevolg daarvan lossen ze niet de ontwerpuitdagingen op die zich voordoen bij het voldoen aan de verwachtingen van de gebruiker voor kleine biosensorische wearables die net zo onopvallend zijn als andere soorten toonaangevende wearables, zoals onder andere smartwatches, fitnessbanden en echte draadloze oordopjes.
Verdere uitdagingen in verband met ontwerpintegratie kunnen zich voordoen wanneer ontwikkelaars een of meer biosensiemogelijkheden moeten toevoegen aan die populaire draagbare types. Net als bij elk ander type mobiel, op batterijen werkend persoonlijk elektronisch product, eisen de consumenten impliciet een langere levensduur van de batterij, zelfs van het kleinste product, waarbij ze deze producten meestal selecteren op basis van de levensduur van de batterij, maar ook op basis van de kosten en de functionaliteit.
Om aan deze gecombineerde eisen te voldoen, kunnen ontwikkelaars een beroep doen op de Maxim Integrated MAXM86146-biosensingmodule voor het ontwerpen van aangepaste apparaten en het MAXM86146EVSYS-evaluatiesysteem voor rapid prototyping.
Biosensingmodule biedt drop-in oplossing
De Maxim Integrated MAXM86146-biosensingmodule is verkrijgbaar in een 4,5 x 4,1 x 0,88 millimeter (mm) 38-pins pakket en is een drop-in oplossing die speciaal is ontworpen om de ontwikkeling van compacte batterij-aangedreven wearables voor gezondheid en fitness te helpen versnellen. Om te voldoen aan de eisen voor zowel een langere levensduur van de batterij als voor de biosensiemogelijkheden, minimaliseert de module het stroomverbruik met behoud van een snelle en nauwkeurige meting van de hartslag en de SpO2.
Samen met twee geïntegreerde fotodiodes bevat de module een Maxim Integrated MAX86141 dual-channel optische analoge front-end (AFE) en een Arm Cortex-M4-gebaseerde microcontroller die een biosensor-geoptimaliseerde variant is van de Maxim Integrated MAX32660 Darwin microcontroller (Afbeelding 1).
Afbeelding 1: De Maxim Integrated MAX86146-biosensingmodule integreert een optische AFE, een microcontroller en fotodiodes in een compact pakket. (Afbeelding: Maxim Integrated)
Met een verbruik van slechts 10 microampère (μA) bij 25 monsters per seconde (sps) biedt de geïntegreerde MAX86141 een uitgebreid optisch AFE-subsysteem dat is ontworpen om de meervoudige lichtemitterende diodes (LED's) die worden gebruikt voor het meten van de hartslag en de SpO2 te controleren. Optische hartslagmonitors gebruiken routinematig fotoplethysmografie (PPG), die veranderingen in het perifere bloedvolume bij elke hartslag controleert. Voor deze meting gebruiken deze apparaten meestal groen licht op een golflengte van 540 nanometer (nm), wat door het bloed wordt geabsorbeerd en resulteert in minder artefacten omdat groen licht minder diep in het weefsel doordringt dan veel andere golflengten. Optische pulsoxymeters gebruiken zowel een rode LED (meestal 660 nm) als een infrarode (IR) LED (meestal 940 nm) om het verschil in absorptie tussen hemoglobine en desoxyhemoglobine te meten - de techniek die ten grondslag ligt aan optische SpO2-meetmethoden (zie Ontwerp een goedkope pulsoxymeter met kant-en-klare componenten).
Om deze optische metingen uit te voeren, moet de ontwikkelaar ervoor zorgen dat de fotodiode-signaalregistratie precies gesynchroniseerd is met de lichtopbrengstpulsen van de betreffende LED's. De geïntegreerde MAXM86146-module MAX86141 AFE biedt afzonderlijke signaalketens voor LED-besturing en voor het verwerven van een fotodiode-signaal. Aan de uitgangszijde bevat de AFE drie LED-drivers met een hoge stroomsterkte en een laag geluidsniveau voor het verzenden van pulsen naar groene LED's voor hartslagmeting, evenals rode en IR-LED's voor SpO2-meting. Aan de ingangszijde biedt de AFE twee fotodiode signaalacquisitiekanalen, elk met een speciale 19-bits analoog-digitaal omzetter (ADC). Deze twee uitleeskanalen kunnen afzonderlijk of in combinatie worden gebruikt om een groter stralingsgebied te creëren.
Door de AFE-led en de fotodiode-signaalketens te bedienen, past de firmware op de ingebouwde microcontroller de AFE-instellingen aan om de signaal-ruisverhouding (SNR) te maximaliseren en het stroomverbruik te minimaliseren. Als het omgevingslicht verandert, reageert het in de geïntegreerde MAX86141 ingebouwde circuit voor omgevingslichtcorrectie (ALC) op geleidelijke veranderingen in de lichtomstandigheden. Het omgevingslicht kan echter snel veranderen in sommige situaties, zoals wanneer de gebruiker snel tussen schaduwgebieden en fel zonlicht komt, wat resulteert in ALC-fouten. Om rekening te houden met deze veelvoorkomende situatie, heeft de MAX86141 een functie voor het detecteren en vervangen van piketten. Hier identificeert het apparaat grote excursies in omgevingsmetingen van eerdere monsters en vervangt het individuele omgevingslichtgegevensmonsters door geëxtrapoleerde waarden die consistent zijn met een relatief langzame verandering in de omgevingsniveaus.
Omdat de microcontroller van de module zijn firmware gebruikt om de AFE-werking te beheren, zijn de gedetailleerde bewerkingen die nodig zijn om nauwkeurige HR- en SpO2-metingen uit te voeren transparant voor de ontwikkelaars. Met behulp van firmware-instellingen voert de module deze metingen automatisch uit, waarbij de ruwe gegevens en berekende resultaten worden opgeslagen in een first-in first-out (FIFO) buffer voor toegang door de systeemhostprocessor via de I2C-seriële interface van de module.
Hoe de MAX86146 het ontwerp van wearable hardware vereenvoudigt
Met zijn uitgebreide geïntegreerde functionaliteit heeft de MAX86146-biosensingmodule relatief weinig extra componenten nodig om een ontwerp te voltooien dat in staat is om nauwkeurige hartslag- en SpO2-metingen uit te voeren. Voor gelijktijdige HR- en SpO2-metingen kan de MAX86146 worden geïntegreerd met een externe ruisarme analoge multiplexer zoals de Maxim Integrated MAX14689-schakelaar die is aangesloten op discrete groene, rode en IR-LED's (Afbeelding 2).
Afbeelding 2: Om gelijktijdige hartslag- en SpO2-metingen uit te voeren, heeft de Maxim Integrated MAX86146-biosensingmodule weinig extra componenten nodig naast geschikte LED's, een analoge multiplexer (MAX14689, links) en een versnellingsmeter om de beweging te detecteren tijdens de metingen. (Bron afbeelding: Maxim Integrated)
Daarnaast is de MAXM86146 ontworpen om bewegingsgegevens van een drie-assige versnellingsmeter te gebruiken om te corrigeren voor de beweging van de gebruiker tijdens hartslagmetingen en om beweging te detecteren tijdens SpO2-metingen waarbij de gebruiker gedurende de korte duur van de meting in rust moet blijven. Hier kan de ontwikkelaar ofwel een door de firmware ondersteunde versnellingsmeter rechtstreeks op de SPI-poorten van de MAXM86146 aansluiten, ofwel een versnellingsmeter voor algemene doeleinden op de hostprocessor aansluiten.
De optie voor de hostaansluiting biedt een grotere flexibiliteit bij de keuze van het apparaat, waarbij alleen een algemene drie-assige versnellingsmeter zoals de MC3630 van Memsic nodig is, die geschikt is voor 25 sps. Toch moeten de ontwikkelaars ervoor zorgen dat de gegevens van de versnellingsmeter worden gesynchroniseerd met de bemonstering van de hartslaggegevens. Hiervoor decimeert of interpoleert de ingebouwde microcontroller intern de monsters van de versnellingsmeter als dat nodig is om de drift tussen de HR-data en de versnellingsmetergegevens te compenseren.
Een snelle start met MAXM86146-evaluatie en rapid prototyping
Hoewel de MAXM86146 het systeemhardwareontwerp vereenvoudigt, kunnen ontwikkelaars die de MAXM86146 willen evalueren of snel een prototype van hun toepassingen willen maken, het hardwareontwerp overslaan en onmiddellijk beginnen te werken met het apparaat door gebruik te maken van het MAXM86146EVSYS-evaluatiesysteem. De MAXM86146EVSYS wordt gevoed via USB of een 3,7 volt lithium-polymeer (LiPo) batterij en bestaat uit een MAXM86146_OSB optische sensorkaart (OSB) die via een flexibele kabel is verbonden met een Bluetooth low energy (BLE) geactiveerde MAXSensorBLE-hoofddata-acquisitiekaart (Afbeelding 3).
Afbeelding 3: Het Maxim Integrated MAXM86146EVSYS-evaluatiesysteem bevat een BLE-hoofdprocessorbord en een op MAXM86146 gebaseerde flexkabel aangesloten sensorbord. (Bron afbeelding: Maxim Integrated)
De MAXSensorBLE-kaart integreert een Maxim Integrated MAX32620 host-microcontroller en Nordic Semiconductor's NRF52832 Bluetooth-microcontroller. In feite dient de MAXSensorBLE-printplaat als een compleet referentieontwerp voor een draagbaar BLE-ontwerp. Samen met de ondersteunende actieve en passieve componenten wordt het MAXSensorBLE-kaartontwerp compleet geleverd met een Maxim Integrated MAX20303 power management integrated circuit (PMIC) dat speciaal is ontworpen om de levensduur van de accu's van draagbare apparaten te verlengen.
De MAXM86146_OSB optische sensorkaart combineert een MAXM86146 biosensiemodule met een MAX14689 analoge schakelaar en een complete set LED's die nodig zijn voor het uitvoeren van gelijktijdige HR- en SpO2-metingen. Bovendien integreert de printplaat een door de firmware ondersteunde drie-assige versnellingsmeter die rechtstreeks op de MAXM86146-module is aangesloten.
Om de MAXM86146-module te evalueren met behulp van het MAXM86146EVSYS-evaluatiesysteem, schakelen ontwikkelaars het systeem in met behulp van USB-C of een LiPo-batterij, en sluiten ze indien nodig een BLE USB-dongle aan op een pc met de Maxim Integrated MAXM86146 EV-systeemsoftwaretoepassing. Deze Windows-toepassing biedt een grafische gebruikersinterface (GUI) waarmee ontwikkelaars eenvoudig de MAXM86146-instellingen kunnen wijzigen en de resultaten die als dataplots worden gepresenteerd onmiddellijk kunnen observeren. De GUI biedt niet alleen toegang tot de MAXM86146-registers, maar ook intuïtieve menu's voor het instellen van verschillende bedrijfsmodi en configuraties. Ontwikkelaars kunnen bijvoorbeeld het tabblad GUI-modus gebruiken om verschillende LED-sequenties in te stellen (Figuur 4, boven), en het tabblad GUI-configuratie gebruiken om die LED-sequenties toe te passen voor HR- en SpO2-metingen (Afbeelding 4, onder).
Afbeelding 4: MAXM86146 EV-systeemsoftware GUI van Maxim Integrated laat ontwikkelaars de prestaties van MAXM86146 evalueren door verschillende bedrijfsmodi te definiëren, zoals LED-sequenties (boven), en deze sequenties vervolgens te gebruiken (onder) voor de meting van de hartslag en SpO2. (Bron afbeelding: Maxim Integrated)
Voor de ontwikkeling van software op maat biedt Maxim Integrated zijn Wearable HRM &SpO2-algoritme voor MAXM86146 softwarepakket aan. Omdat de MAXM86146 hartslag- en SpO2-metingen levert met behulp van de geïntegreerde microcontroller-firmware, is het proces van het extraheren van gegevens uit het apparaat eenvoudig. Het Maxim Integrated-softwarepakket demonstreert de procedure voor het initialiseren van het apparaat en tenslotte het uitlezen van de gegevens van de MAXM86146 FIFO en het ontleden van de afzonderlijke gegevensitems (Lijst 1).
Kopieer
typedef struct{
uint32_t green_led_cnt;
uint32_t ir_led_cnt;
uint32_t red_led_cnt;
uint32_t hr;
uint32_t hr_conf;
uint32_t spo2;
uint32_t spo2_conf;
uint32_t scd_state;
} mes_repor_t;
typedef struct {
uint32_t led1;
uint32_t led2;
uint32_t led3;
uint32_t led4;
uint32_t led5;
uint32_t led6;
} max8614x_mode1_data;
typedef struct {
int16_t x;
int16_t y;
int16_t z;
} accel_mode1_data;
typedef struct __attribute__((packed)){
uint8_t current_operating_mode; // mode 1 & 2
// WHRM data
uint16_t hr; // mode 1 & 2
uint8_t hr_conf; // mode 1 & 2
uint16_t rr; // mode 1 & 2
uint8_t rr_conf; // mode 1 & 2
uint8_t activity_class; // mode 1 & 2
// WSPO2 data
uint16_t r; // mode 1 & 2
uint8_t spo2_conf; // mode 1 & 2
uint16_t spo2; // mode 1 & 2
uint8_t percentComplete; // mode 1 & 2
uint8_t lowSignalQualityFlag; // mode 1 & 2
uint8_t motionFlag; // mode 1 & 2
uint8_t lowPiFlag; // mode 1 & 2
uint8_t unreliableRFlag; // mode 1 & 2
uint8_t spo2State; // mode 1 & 2
uint8_t scd_contact_state;
} whrm_wspo2_suite_mode1_data;
void execute_data_poll( mes_repor_t* mesOutput ) {
[deleted lines of code]
status = read_fifo_data(num_samples, WHRMWSPO2_FRAME_SIZE, &databuf[0], sizeof(databuf));
if(status == SS_SUCCESS && num_samples > 0 && num_samples < MAX_WHRMWSPO2_SAMPLE_COUNT){
max8614x_mode1_data ppgDataSample;
accel_mode1_data accelDataSamp;
whrm_wspo2_suite_mode1_data algoDataSamp;
int sampleIdx = 0;
int ptr =0;
while( sampleIdx < num_samples ) {
ppgDataSample.led1 = (databuf[ptr+1] << 16) + (databuf[ptr+2] << 8) + (databuf[ptr+3] << 0);
ppgDataSample.led2 = (databuf[ptr+4] << 16) + (databuf[ptr+5] << 8) + (databuf[ptr+6] << 0);
ppgDataSample.led3 = (databuf[ptr+7] << 16) + (databuf[ptr+8] << 8) + (databuf[ptr+9] << 0);
ppgDataSample.led4 = (databuf[ptr+10] << 16)+ (databuf[ptr+11] << 8)+ (databuf[ptr+12] << 0);
ppgDataSample.led5 = (databuf[ptr+13] << 16)+ (databuf[ptr+14] << 8)+ (databuf[ptr+15] << 0);
ppgDataSample.led6 = (databuf[ptr+16] << 16)+ (databuf[ptr+17] << 8)+ (databuf[ptr+18] << 0);
accelDataSamp.x = (databuf[ptr+19] << 8) + (databuf[ptr+20] << 0);
accelDataSamp.y = (databuf[ptr+21] << 8) + (databuf[ptr+22] << 0);
accelDataSamp.z = (databuf[ptr+23] << 8) + (databuf[ptr+24] << 0);
algoDataSamp.current_operating_mode= (databuf[ptr+25]);
algoDataSamp.hr = (databuf[ptr+26] << 8) + (databuf[ptr+27] << 0);
algoDataSamp.hr_conf = (databuf[ptr+28]);
algoDataSamp.rr = (databuf[ptr+29] << 8) + (databuf[ptr+30] << 0);
algoDataSamp.rr_conf = (databuf[ptr+31]);
algoDataSamp.activity_class = (databuf[ptr+32]);
algoDataSamp.r = (databuf[ptr+33] << 8) + (databuf[ptr+34] << 0);
algoDataSamp.spo2_conf = (databuf[ptr+35]);
algoDataSamp.spo2 = (databuf[ptr+36] << 8) + (databuf[ptr+37] << 0);
algoDataSamp.percentComplete = (databuf[ptr+38]);
algoDataSamp.lowSignalQualityFlag = (databuf[ptr+39]);
algoDataSamp.motionFlag = (databuf[ptr+40]);
algoDataSamp.lowPiFlag = (databuf[ptr+41]);
algoDataSamp.unreliableRFlag = (databuf[ptr+42]);
algoDataSamp.spo2State = (databuf[ptr+43]);
algoDataSamp.scd_contact_state = (databuf[ptr+44]);
mesOutput->green_led_cnt = ppgDataSample.led1;
mesOutput->ir_led_cnt = ppgDataSample.led2;
mesOutput->red_led_cnt = ppgDataSample.led3;
mesOutput->hr = algoDataSamp.hr / 10;
mesOutput->hr_conf = algoDataSamp.hr_conf;
mesOutput->spo2 = algoDataSamp.spo2 / 10;
mesOutput->spo2_conf = algoDataSamp.spo2_conf;
mesOutput->scd_state = algoDataSamp.scd_contact_state;
/* printf(" greenCnt= %d , irCnt= %d , redCnt = %d ,"
" hr= %d , hr_conf= %d , spo2= %d , spo2_conf= %d , skin_contact = %d \r\n"
, mesOutput->green_led_cnt , mesOutput->ir_led_cnt , mesOutput->red_led_cnt
, mesOutput->hr , mesOutput->hr_conf , mesOutput->spo2 , mesOutput->spo2_conf , mesOutput->scd_state);
*/
[deleted lines of code]
Lijst 1: Een fragment uit het softwarepakket van Maxim Integrated demonstreert de basistechniek voor het extraheren van metingen en andere gegevens uit de biosensiemodule. (Bron code: Maxim Integrated)
Lijst 1 illustreert het gebruik van de C-talenroutine execute_data_poll() om een aantal hartslag- en SpO2-metingen uit de MAXM86146 terug te geven. Hier leest de code de FIFO van het apparaat in de lokale bufferdatabank en brengt vervolgens de inhoud van de databank in kaart in instanties van een paar verschillende C-talige softwarestructuren. Samen met het opslaan van configuratiegegevens en andere metagegevens in die structuurelementen, levert de routine uiteindelijk hartslag- en SpO2-metingen in mesOutput, een voorbeeld van de mes_repor_t structuur. Ontwikkelaars kunnen eenvoudigweg het uiteindelijke afdrukrapport ongedaan maken om het resultaat op de console weer te geven.
Voor het implementeren van een draagbaar gezondheids- en fitnessprogramma vereenvoudigt de MAXM86146 software en hardware de ontwikkeling aanzienlijk. Voor hulpmiddelen die bedoeld zijn om de goedkeuring van de Amerikaanse Food and Drug Administration (FDA) te verkrijgen, moeten de ontwikkelaars echter passende tests uitvoeren om de prestaties van hun eindproducten op FDA-niveau te verifiëren. Hoewel Maxim Integrated's MAXM86146 en zijn ingebedde algoritmen FDA-grade meetprestaties leveren, zullen ontwikkelaars ervoor moeten zorgen dat hun hele systeem - niet alleen de sensor - voldoet aan de FDA-prestatie-eisen.
Conclusie
De belangstelling voor wearables die in staat zijn om nauwkeurige hartslag en SpO2-metingen te leveren, blijft toenemen, recentelijk gevoed door de rol van SpO2-gegevens bij het monitoren van de symptomen van de COVID-19 ziekte. Hoewel gespecialiseerde biosensoren deze metingen kunnen leveren, zijn er maar weinig bestaande oplossingen in staat om te voldoen aan de vraag naar kleinere apparaten die de levensduur van de batterij kunnen verlengen in multifunctionele, compacte wearables. Zoals afgebeeld biedt een kleine biosensiemodule van Maxim Integrated, ondersteund door een rapid prototyping kit, een effectief alternatief, het leveren van FDA-grade metingen met een minimaal stroomverbruik.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.




