10. decembra, 2020

Razvoj nosljivih naprav za zdravje in šport z uporabo biosenzorskega modula

Revija logo digikey 300x150 - Razvoj nosljivih naprav za zdravje in šport z uporabo biosenzorskega modulaZanimanje za nosljive naprave z biosenzorji, ki se je deloma povečalo zaradi večje osveščenosti o zdravju zaradi covida-19, še naprej spodbuja povpraševanje po učinkovitejših rešitvah, ki bi izpolnile zahteve uporabnikov po boljši funkcionalnosti in večji točnosti v manjši obliki z daljšo življenjsko dobo baterije in za nižjo ceno. Snovalci se zato srečujejo z več stalnimi izzivi, saj delajo s kratkimi časovnimi okni do lansiranja na trg in omejenimi proračuni. Pri tem so jim v pomoč napredki na področju naprav z biosenzorji, vključno z boljšo integracijo funkcij in celovitejšimi oblikovalskimi rešitvami.

 

Ta članek obravnava trende na področju biosenzorjev in nosljivih naprav ter izzive, s katerimi se soočajo snovalci. V nadaljevanju je predstavljen biosenzorski modul za merjenje srčnega utripa in nasičenosti okončin s kisikom podjetja Maxim Integrated ter način, kako ga lahko razvijalci uporabijo za učinkovitejšo implementacijo nosljivih naprav, ki zagotavljajo točen srčni utrip in druge meritve, ne da bi pri tem posegali v omejeno razpoložljivost energije pri mobilnih izdelkih, ki se napajajo z baterijo.

 

Zahteve glede zasnove za merjenje z biosenzorji

Spremljanje srčnega utripa je osrednja zahteva pri širokem naboru nosljivih naprav za potrošnike, vendar še naprej raste zanimanje za meritve SpO2. Merjenje SpO2 so včasih uporabljali predvsem športniki, ki so želeli optimizirati svoje treninge, zdaj pa se uporablja širše, zlasti pri samoopazovanju znakov zmanjšane dihalne funkcije, povezane z boleznijo covid-19. Pri zagotavljanju ustreznih rešitev za zdravstveno osveščene osebe, ki so navajene nosljive elektronike, se razvijalci soočajo z velikimi izzivi glede cene, energije, oblike in teže.

Številni biosenzorji so zdaj na voljo z integriranimi analognimi čelnimi podsistemi, pri katerih razvijalcem ni treba graditi signalnih verig in podsistemov za naknadno obdelavo, potrebnih za zdravstvene in športne meritve, a le redko katera od teh naprednih naprav ima pravo kombinacijo zmogljivosti za nosljive naprave. Posledično ne rešujejo oblikovalskih izzivov, ki se pojavijo pri izpolnjevanju pričakovanj uporabnikov, ki si želijo majhne biosenzorske nosljive naprave, ki so prav tako nemoteče kot druge vrste vodilnih nosljivih naprav, kot so pametne ure, športni trakovi in brezžične slušalke za v uho.

Nadaljnji izzivi, povezani z integracijo zasnove, se lahko pojavijo takrat, ko morajo razvijalci dodati eno ali več biosenzorskih zmogljivosti eni od teh popularnih vrst nosljivih naprav. Kot pri vseh drugih vrstah mobilnih, baterijskih osebnih elektronskih izdelkov potrošniki implicitno zahtevajo daljšo življenjsko dobo baterije celo pri najmanjših izdelkih, saj pri izbiri teh izdelkov običajno upoštevajo življenjsko dobo baterijo v prav takšni meri kot ceno in funkcionalnost.

Za izpolnitev takšne kombinacije zahtev lahko razvijalci posežejo po biosenzorskem modulu podjetja Maxim Integrated MAXM86146 za snovanje naprav po meri ter uporabijo ocenjevalni sistem za hitro izdelavo prototipov MAXM86146EVSYS, ki temelji na MAXM86146.

 

Biosenzorski modul ponuja rešitev, pripravljeno za uporabo

Biosenzorski modul Maxim Integrated MAXM86146, ki je na voljo v paketu z 38 kontakti in meri 4,5 x 4,1 x 0,88 milimetrov (mm), je rešitev, pripravljena za uporabo brez prilagoditev, zasnovana posebej z namenom pospešiti razvoj kompaktnih baterijskih nosljivih naprav za zdravje in šport. Za izpolnitev zahtev tako glede daljše življenjske dobe baterije kot biosenzorske zmogljivosti modul zmanjšuje porabo energije ter hkrati ohranja hitro in točno merjenje srčnega utripa in SpO2.

Skupaj z integriranima fotodiodama modul vključuje optično dvokanalno analogno sprednjo ploščo (AFE) MAX86141 podjetja Maxim Integrated in mikrokontroler, ki temelji na ARM Cortex-M4; to je različica mikrokontrolerja MAX32660 Darwin podjetja Maxim Integrated, optimizirana za biosenzorje (slika 1).

9 1 300x281 - Razvoj nosljivih naprav za zdravje in šport z uporabo biosenzorskega modula

Slika 1: Biosenzorski modul MAX86146 podjetja Maxim Integrated v kompaktnem paketu združuje optično analogno sprednjo ploščo, mikrokontroler in fotodiodi. (Vir slike: Maxim Integrated)

Integrirani modul MAX86141, ki porablja le 10 mikroamperov (mA) za 25 vzorcev na sekundo (SPS), zagotavlja celovit optični analogni čelni podsistem, zasnovan za krmiljenje več svetlečih diod (LED), ki se uporabljajo za merjenje srčnega utripa in SpO2. Optični merilniki srčnega utripa običajno uporabljajo fotopletizmografijo, s katero merijo spremembe volumna krvi v okončini, ki so povezane z vsakim utripom srca. Za to meritev naprave običajno uporabljajo zeleno svetlobo z valovno dolžino 540 nanometrov (nm), ki jo kri absorbira in ki povzroči manj artefaktov, saj zelena barva ne prodre tako globoko v tkivo kot mnoge druge valovne dolžine. Optični pulzni oksimetri uporabljajo tako rdečo LED-ico (običajno 660 nm) kot infrardečo (IR) LED-ico (običajno 940 nm), da izmerijo razliko v absorpciji med hemoglobinom in deoksihemoglobinom – kar je metoda, na kateri temeljijo optične metode merjenja SpO2 (glejte Design a Low-Cost Pulse Oximeter Using Off-the-Shelf Components).

 

Za izvajanje takšnih optičnih meritev mora razvijalec zagotoviti, da je pridobivanje signala iz fotodiode natančno sinhronizirano z izhodnimi svetlobnimi impulzi iz ustrezne LED-ice. Pri modulu MAXM86146 integrirani analogni čelni podsistem (AFE) MAX86141 zagotavlja ločeni signalni verigi za krmiljenje LED-ic in pridobivanje signalov iz fotodiod. Na izhodni strani AFE vključuje tri visokotokovne, LED gonilnike z nizkim šumom za oddajanje impulzov v zelene LED-ice za merjenje srčnega utripa ter za rdeče in IR LED-ice za merjenje SpO2. Na vhodni strani ima AFE dva kanala za sprejemanje signala fotodiod, od katerih ima vsak ločen 19-bitni analogno-digitalni pretvornik (ADC). Ta dva kanala za branje lahko delujeta ločeno ali pa se uporabljata v kombinaciji za zagotavljanje večjega območja sevanja.

Strojna programska oprema, ki se izvaja na vgrajenem mikrokontrolerju, krmili AFE LED in signalne verige fotodiod ter prilagodi AFE nastavitve tako, da maksimira razmerje med signalom in šumom ter zmanjša porabo energije. Ob spremembah osvetlitve okolja se vezje za popravek osvetlitve okolja, ki je vgrajeno v integrirani sistem MAX86141, odzove na postopne spremembe svetlobnih pogojev. Vendar se lahko osvetlitev okolja v nekaterih okoliščinah hitro spreminja, na primer, ko se uporabnik hitro premika iz sence na močno sončno svetlobo in obratno, kar privede do napak pri popravkih osvetlitve okolja. MAX86141 za upoštevanje te pogoste situacije vključuje funkcijo za zaznavanje in zamenjavo »lesene ograje«. Pri tem naprava prepozna velika odstopanja pri meritvah okolja na podlagi predhodnih vzorcev ter zamenja posamezne zbrane podatke o osvetlitvi okolja, ki odstopajo, z ekstrapoliranimi vrednostmi, ki so konsistentne z relativno počasno spremembo stopnje osvetlitve okolja.

Ker mikrokontroler modula uporablja AFE strojno programsko opremo za upravljanje, imajo razvijalci vpogled v podrobne postopke, potrebne za izvedbo točnih meritev srčnega utripa in SpO2. Z uporabo nastavitev strojne programske opreme modul te meritve opravi samodejno, pri čemer shranjuje surove podatke in izračunane rezultate v medpomnilnik po načelu »prvi noter, prvi ven« (FIFO), da ima gostiteljski procesor sistema dostop do njih preko serijskega vmesnika modula I2C.

 

Kako MAX86146 poenostavlja načrtovanje strojne opreme nosljivih naprav

Zaradi široko integrirane funkcionalnosti biosenzorski modul MAX86146 potrebuje relativno malo dodatnih komponent za dokončanje zasnove, ki je zmožna opravljati točne meritve srčnega utripa in SpO2. Za simultane meritve srčnega utripa in SpO2 je mogoče MAX86146 modul integrirati z zunanjim analognim multiplekserjem z nizkim šumom, kot je stikalo MAX14689 podjetja Maxim Integrated, ki je povezano z diskretnimi zelenimi, rdečimi in IR LED-icami (slika 2).

9 2 300x190 - Razvoj nosljivih naprav za zdravje in šport z uporabo biosenzorskega modula

Slika 2: Za izvajanje simultanih meritev srčnega utripa in SpO2 biosenzorski modul MAX86146 podjetja Maxim Integrated potrebuje le nekaj dodatnih komponent, razen ustreznih LED-ic, analognega multiplekserja (MAX14689, na levi) in merilnika pospeška, ki zaznava gibanje med opravljanjem meritev. (Vir slike: Maxim Integrated)

Poleg tega je MAXM86146 modul zasnovan tako, da omogoča uporabo podatkov o gibanju iz merilnika pospeška s tremi osmi, na podlagi katerih popravi rezultate glede na premikanje uporabnika med meritvami srčnega utripa in zazna gibanje med meritvami SpO2, pri katerih mora uporabnik mirovati za kratek čas, ko poteka merjenje. Pri tem lahko razvijalec priključi merilnik pospeška, ki ga podpira strojna programska oprema, neposredno na SPI vhode na MAXM86146 modulu ali priključi splošen merilnik pospeška na gostiteljski procesor.

Možnost priključka na gostitelja omogoča večjo prilagodljivost pri izbiri naprav, saj je potreben samo splošen merilnik pospeška s tremi osmi, kot je MC3630 podjetja Memsic, ki doseže 25 SPS. Kljub temu se morajo razvijalci prepričati, da so podatki merilnika pospeška sinhronizirani z zbiranjem podatkov o srčnem utripu. Za ta namen vgrajeni mikrokontroler interno decimira ali interpolira vzorce merilnika pospeška, kot je potrebno za kompenziranje razlike med podatki o srčnem utripu in podatki merilnika pospeška.

 

Hiter začetek z ocenjevanjem MAXM86146 in hitro izdelavo prototipov

Čeprav MAXM86146 poenostavlja načrtovanje sistemske strojne opreme, lahko razvijalci, ki želijo preizkusiti MAXM86146 ali hitro izdelati prototip svoje aplikacije, preskočijo zasnovo strojne opreme in takoj začnejo delati z napravo, če uporabijo razvojni sistem MAXM86146EVSYS. MAXM86146EVSYS, ki se napaja preko USB ali iz 3,7 V litijeve polimerne baterije (LiPo), vključuje optično senzorsko ploščo (OSB) MAXM86146_OSB, ki temelji na MAXM86146 in je s fleksibilnim kablom povezana na glavno ploščo za pridobivanje podatkov MAXSensorBLE, ki omogoča Bluetooth Low Energy (BLE) (slika 3).

Plošča MAXSensorBLE ima vgrajen gostiteljski mikrokontroler MAX32620 podjetja Maxim Integrated in mikrokontroler za Bluetooth NRF52832 podjetja Nordic Semiconductor. Dejansko plošča MAXSensorBLE predstavlja celovito referenčno zasnovo za zasnovo nosljivih naprav z možnostjo BLE. Zasnova plošče MAXSensorBLE podpira aktivne in pasivne komponente, poleg tega pa vključuje integrirano vezje za upravljanje energije (PMIC) MAX20303 podjetja Maxim Integrated, ki je zasnovano posebej za podaljšanje življenjske dobe baterije v nosljivih napravah.

9 3 300x175 - Razvoj nosljivih naprav za zdravje in šport z uporabo biosenzorskega modula

Slika 3: Razvojni sistem MAXM86146EVSYS podjetja Maxim Integrated vključuje glavno procesorsko ploščo z možnostjo BLE ter senzorsko ploščo, ki temelji na MAXM86146 in je priključena s fleksibilnim kablom. (Vir slike: Maxim Integrated

Optična senzorska plošča MAXM86146_OSB združuje biosenzorski modul MAXM86146, analogno stikalo MAX14689 in celoten komplet LED-ic, ki so potrebni za simultano izvajanje meritev srčnega utripa in SpO2. Poleg tega ima plošča vgrajen triosni merilnik pospeška, ki ga podpira strojna programska oprema in je priključen neposredno na modul MAXM86146.

Za preizkus MAXM86146 modula z uporabo MAXM86146EVSYS razvojnega sistema razvijalci napajajo sistem preko USB-C ali LiPo-baterije ter po potrebi priklopijo zaščitni ključ BLE USB v osebni računalnik, na katerem se izvaja aplikacija MAXM86146 EV System Software podjetja Maxim Integrated. Ta aplikacija za sistem Windows zagotavlja grafični uporabniški vmesnik (GUI), ki razvijalcem omogoča enostavno spreminjanje nastavitev MAXM86146, pri čemer lahko takoj opazujejo rezultate, prikazane v obliki izrisanih podatkov. GUI omogoča dostop do registrov MAXM86146 modula, poleg tega pa ima intuitivne menije za nastavljanje različnih načinov delovanja in konfiguracij. Razvijalci lahko denimo uporabijo zavihek GUI za način, da nastavijo različna zaporedja LED-ic (slika 4, zgoraj), na zavihku GUI za konfiguracijo pa lahko ta LED zaporedja uporabijo za meritve srčnega utripa in SpO2 (slika 4, spodaj).

9 4 294x300 - Razvoj nosljivih naprav za zdravje in šport z uporabo biosenzorskega modula

Slika 4: GUI aplikacije MAXM86146 EV System Software podjetja Maxim Integrated razvijalcem omogoča preizkus delovanja modula MAXM86146, saj lahko opredelijo različne načine delovanja, kot so zaporedja LED-ic (zgoraj), nato pa ta zaporedja uporabijo za meritev srčnega utripa in SpO2 (spodaj). (vir slike: Maxim Integrated)

Za razvoj programske opreme po meri podjetje Maxim Integrated ponuja paket programske opreme Wearable HRM & SpO2 Algorithm for MAXM86146 (algoritem za merjenje srčnega utripa in SpO2 z nosljivimi napravami za MAXM86146). Modul MAXM86146 zagotavlja meritve srčnega utripa in SpO2 s pomočjo strojne programske opreme integriranega mikrokontrolera, zato je postopek ekstrakcije podatkov iz naprave povsem enostaven. Paket programske opreme Maxim Integrated prikaže postopek za inicializacijo naprave ter končno branje podatkov iz MAXM86146 FIFO in razčlenitev posameznih postavk podatkov (seznam 1).

 

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 ) {

 

[izbrisane vrstice kode]

 

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);

*/

[izbrisane vrstice kode]

Seznam 1: Izsek iz paketa programske opreme Maxim Integrated prikazuje osnovno metodo za ekstrakcijo meritev in drugih podatkov iz biosenzorskega modula. (vir kode: Maxim Integrated)

Seznam 1 predstavlja uporabo rutine v C programskem jeziku execute_data_poll(), ki vrne število odčitkov srčnega utripa in SpO2 iz MAXM86146 modula. Na tem mestu koda prebere FIFO naprave v lokalni podatkovni medpomnilnik in nato preslika vsebino podatkovnega medpomnilnika v instance nekaj različnih programskih struktur v C jeziku. Poleg shranjevanja konfiguracijskih podatkov in drugih metapodatkov v te strukturne instance rutina na koncu poda meritve srčnega utripa in SpO2 v mesOutput, ki je instanca mes_repor_t strukture. Razvijalci lahko preprosto odstranijo komentarje zadnjega izpisa za tisk, da prikažejo rezultat na konzoli.

Programska in strojna oprema MAXM86146 modula občutno poenostavljata razvoj za implementacijo zdravstvenih in športnih nosljivih naprav. Pri napravah, za katere želijo razvijalci pridobiti odobritev ameriške uprave za hrano in zdravila (FDA), je treba opraviti ustrezno testiranje za potrditev, da končni izdelki delujejo v skladu z zahtevami FDA. Čeprav MAXM86146 modul podjetja Maxim Integrated in vdelani algoritmi zagotavljajo izvajanje meritev na ravni, ki jo zahteva FDA, bodo morali razvijalci zagotoviti, da njihov celotni sistem – ne zgolj senzor – izpolnjuje zahteve FDA glede delovanja.

 

Zaključek

Zanimanje za nosljive naprave, ki omogočajo točne meritve srčnega utripa in SpO2, še naprej raste, v zadnjem času predvsem zaradi pomena podatkov o SpO2 za spremljanje simptomov bolezni covid-19. Čeprav lahko specializirani biosenzorji zagotovijo te meritve, le redke obstoječe rešitve ustrezajo povpraševanju po manjših napravah, ki lahko podaljšajo življenjsko dobo baterije v večfunkcijskih, kompaktnih nosljivih napravah. V članku je prikazano, da majhen biosenzorski modul podjetja Maxim Integrated, skupaj s kompletom za hitro izdelavo prototipov, ponuja učinkovito alternativo, saj zagotavlja meritve v skladu z zahtevami FDA ob minimalni porabi energije.

Avtor: Rolf Horn, Digi-Key

2020_291_35