Usare un modulo biosensore indossabile combinato PPG/ECG per misurazioni della frequenza cardiaca certificabili FDA

Di Stephen Evanczuk

Contributo di Editori nordamericani di DigiKey

I consumatori richiedono dati più precisi su fitness e salute cardiaca da smartwatch, fasce cardio e altri dispositivi mobili alimentati a batteria. Per soddisfare queste aspettative, gli sviluppatori si sono dovuti confrontare con soluzioni multi-componente complesse e costose che possono offrire un'elevata precisione, ma al costo di un maggiore consumo energetico, un ingombro superiore e tempi di sviluppo più lunghi. Serve una soluzione più semplice ed elegante.

Questo articolo illustrerà come arrivare a tale soluzione grazie a un modulo altamente integrato di Maxim Integrated. Verranno prima discusse brevemente le difficoltà di un monitoraggio accurato della situazione cardiaca. Quindi verrà mostrato come gli sviluppatori possono utilizzare il modulo per eseguire il monitoraggio della frequenza cardiaca certificabile FDA durante l'attività e anche misurazioni ECG a riposo.

Misurazione della frequenza cardiaca

Gli operatori sanitari si affidano regolarmente agli ECG per fornire i dati più dettagliati possibili sulla salute cardiaca, senza procedure invasive. Le apparecchiature ECG acquisiscono le forme d'onda generate dalla depolarizzazione e ripolarizzazione del muscolo cardiaco durante il ciclo cardiaco (Figura 1). Il processo richiede il posizionamento di 10 elettrodi in punti strategici del corpo, che vengono poi combinati in 12 coppie, o canali, progettati per allinearsi con diversi assi delle forme d'onda generate attraverso il volume del tessuto cardiaco.

Immagine dell'elettrocardiogramma (ECG) rispetto alla fotopletismografia (PPG)

Figura 1: Sebbene un elettrocardiogramma (ECG) fornisca maggiori dettagli, anche la più semplice fotopletismografia (PPG) può dare informazioni utili come gli eventi di contrazione ventricolare prematura (PVC) mostrati qui. (Immagine per gentile concessione di Wikipedia)

Ad esempio, un elettrodo posizionato sulla gamba del paziente può essere accoppiato con un altro elettrodo per formare un canale in grado di acquisire i dettagli della forma d'onda di depolarizzazione del ventricolo che scende verso il basso attraverso il tessuto cardiaco. Gli strumenti ECG a 12 canali di grado medicale utilizzano questo approccio, combinando i dati di coppie di elettrodi diversi per misurare le forme d'onda lungo l'asse ottimale associato a ciascuna fase del ciclo cardiaco.

Per contro, le misurazioni ECG eseguite dai dispositivi di fitness consumer utilizzano in genere una sola coppia di elettrodi. Da qui il termine ECG a canale singolo usato per questa classe di dispositivi. Sebbene gli ECG a canale singolo possano non fornire i dettagli richiesti da un cardiologo ai fini della diagnosi, le loro informazioni sulle prestazioni cardiache sono sufficienti per richiamare l'attenzione degli operatori sanitari su eventuali patologie che potrebbero richiedere un ECG a 12 canali per la diagnosi accurata.

In pratica, l'uso di misurazioni ECG a canale singolo in un dispositivo di fitness può essere particolarmente problematico, dato che le misurazioni potrebbero essere facilmente alterate da un movimento marcato della persona. La depolarizzazione della fibra muscolare provoca forme d'onda elettriche indotte da un qualsiasi movimento dei muscoli che attraversano la massa conduttiva del tessuto. Il movimento di un gruppo muscolare importante può generare biopotenziali che possono facilmente sopraffare i segnali provenienti da una fonte più profonda come il muscolo cardiaco. Pertanto, perché le misurazioni ECG siano accurate il soggetto deve rimanere immobile, sia che si trovi in una struttura sanitaria o che stia facendo esercizio fisico.

I tentativi di eseguire un ECG a canale singolo su una persona che si sta allenando molto probabilmente falliranno. Per questo motivo, i dispositivi personali di fitness che forniscono dati sulla frequenza cardiaca durante l'esercizio fisico in genere si basano su metodi di fotopletismografia (PPG).

La forma più elementare di PPG utilizza sensori ottici per misurare la differenza relativa della riflessione della luce (o assorbimento) poiché ogni impulso di sangue modifica il volume dei vasi sanguigni. Sebbene i primi monitor di fascia consumer della frequenza cardiaca usassero questo approccio, oggi i prodotti di fitness in genere ricorrono a una forma più avanzata di PPG che misura il livello di saturazione periferica dell'ossigeno (SpO2). Gli utenti possono così capire meglio la loro risposta fisiologica all'esercizio fisico.

Le misurazioni di SpO2 sfruttano i diversi spettri di assorbimento del sangue ossigenato rispetto a quello deossigenato quando illuminato da LED rossi e a infrarossi con spettri di emissione centrati sui due rispettivi stati dell'emoglobina (vedere "Aggiunta della funzionalità di monitoraggio della frequenza cardiaca a dispositivi di fitness"). Anche se l'SpO2 è focalizzato sul rapporto tra i due stati, misurando il tempo del ciclo da picco a picco dei segnali ottici misurati, dagli stessi dati è possibile ottenere una misurazione di base della frequenza cardiaca. I pulsossimetri consumer utilizzano questo approccio per fornire una misurazione più affidabile della frequenza cardiaca, a dispetto dei movimenti fisici, delle variazioni dei singoli utenti o di altri fattori.

Sebbene da diversi anni nei dispositivi di fitness vengano utilizzati metodi ottici basati su PPG, di recente in prodotti consumer come Apple Watch, ma non solo, ha fatto la sua comparsa l'ECG a canale singolo. La concorrenza e la domanda dei consumatori hanno spinto i produttori di fasce da polso per fitness, smartwatch e altri dispositivi elettronici personali a includere nei loro prodotti capacità PPG ed ECG a canale singolo.

Per gli sviluppatori, tuttavia, l'implementazione anche di una sola di queste funzionalità ha presentato non poche difficoltà. I progetti PPG a due LED devono poter pilotare in modo ottimale i LED rossi e IR, acquisire la luce riflessa o assorbita, sincronizzare i risultati e infine calcolare la frequenza cardiaca e, facoltativamente, il valore SpO2. Il progetto di un ECG a canale singolo richiede una vasta esperienza nella costruzione di percorsi di segnali analogici in grado di gestire i segnali rumorosi associati a qualsiasi misurazione di biopotenziali attivi.

Ma i requisiti energetici, le dimensioni del progetto e il numero dei componenti necessari per implementare entrambi i tipi di progettazione e sincronizzarne i risultati possono essere proibitivi per la maggior parte dei prodotti mobili alimentati a batteria. E questo è l'aspetto forse più rilevante. Per risolvere questi problemi, il modulo biosensore MAX86150 di Maxim Integrated fornisce una soluzione quasi drop-in per aggiungere capacità PPG ed ECG a qualsiasi progetto con vincoli energetici.

Modulo biosensore

Progettato espressamente per i sistemi portatili, il modulo MAX86150 combina sottosistemi sia per PPG a doppio LED che per ECG in un singolo dispositivo di 3,3x6,6x1,3 mm. Per le misurazioni ottiche, MAX86150 combina percorsi del segnale ottico di ingresso/uscita completi con un LED rosso, un LED IR e un fotodiodo posizionato dietro un coperchio di vetro incorporato nel contenitore (Figura 2).

Schema del sottosistema PPG MAX86150 di Maxim

Figura 2: Il sottosistema PPG MAX86150 fornisce misurazioni ottiche di fitness integrando tutti i componenti richiesti, compresi i percorsi dei segnali per l'uscita dei LED e l'ingresso dei fotodiodi. Inoltre, il LED rosso, quello a infrarossi e i dispositivi a fotodiodo sono posizionati dietro un coperchio di vetro. (Immagine per gentile concessione di Maxim Integrated)

Per il percorso del segnale PPG, il modulo integra un circuito di cancellazione della luce ambiente (ALC), un convertitore analogico/digitale (ADC) delta-sigma (ΔΣ) di sovracampionamento a tempo continuo a 19 bit e un filtro a tempo discreto per un'ulteriore riduzione del rumore. All'interno dell'ALC, un convertitore digitale/analogico (DAC) contribuisce ad aumentare la gamma dinamica di ingresso cancellando la luce ambiente. Per aiutare gli sviluppatori a bilanciare il consumo energetico e le prestazioni, è possibile programmare i driver LED integrati del dispositivo in modo che forniscano corrente da 0 a 100 mA e ampiezze di impulso della corrente tra 50 e 400 μs.

Per ottenere ulteriori risparmi energetici, gli sviluppatori possono abilitare una funzione di prossimità che consente al dispositivo di rimanere in stato di basso consumo tra una misurazione e l'altra. In questo stato, il dispositivo pilota il LED IR con il livello di potenza minimo programmato dallo sviluppatore. Quando il fotodiodo rileva un segnale utile, che segnala l'avvicinarsi del dito del soggetto o di un'altra superficie della pelle, viene generato un interrupt e il dispositivo torna al suo normale stato operativo per continuare il campionamento.

Per le misurazioni ECG, MAX86150 integra un percorso del segnale differenziale completo che richiede solo due elettrodi a secco e alcuni componenti aggiuntivi per implementare un ECG a canale singolo (Figura 3). Come per qualsiasi applicazione per piccoli segnali, la precisione della misurazione è continuamente ostacolata dalle varie sorgenti di rumore presenti nell'ambiente. In un'applicazione per il fitness, le forme d'onda cardiache sono influenzate non solo dai biopotenziali associati al movimento del muscolo e ad altri processi fisiologici, ma spesso possono essere sopraffatte dall'interferenza di fonti RF esterne, dalla frequenza di linea e dal rumore elettrico.

Il sottosistema ECG MAX86150 tiene conto del rumore del segnale nelle misurazioni ECG con una sofisticata catena di segnali studiata per respingere i segnali di modo comune.

Schema del modulo MAX86150 di Maxim che include un sottosistema ECG a canale singolo completo

Figura 3: Oltre al sottosistema PPG, il modulo MAX86150 include un sottosistema ECG a canale singolo completo che, per fornire dati di misurazione ECG a un microcontroller, richiede solo una coppia di elettrodi a secco e pochissimi altri componenti. (Immagine per gentile concessione di Maxim Integrated)

Il front-end analogico dell'ECG integrato nel dispositivo comprende un amplificatore chopper, un filtro e un amplificatore a guadagno programmabile (PGA) progettati per massimizzare il rapporto segnale/rumore delle forme d'onda cardiache. Seguendo questa catena di segnali, un ADC ΔΣ a 18 bit converte ogni campione e spinge ogni risultato al FIFO a 32 campioni condivisi del dispositivo, riducendo la necessità di un polling continuo dei dati da parte di un microcontroller host.

Per ridurre ulteriormente il consumo e limitare i requisiti di accesso ai dati, gli sviluppatori possono regolare la frequenza di campionamento di entrambi i sottosistemi ECG e PPG dai 3200 sps max fino a 200 sps per ECG e 10 sps per PPG. Ciò non impedisce che possano utilizzare il dispositivo in applicazioni sofisticate che richiedono contemporaneamente il campionamento di ECG e PPG/SpO2 e la sincronizzazione dei risultati. Se devono applicare questo approccio utilizzando le diverse velocità di campionamento minime dei due sottosistemi, il dispositivo carica semplicemente il FIFO con l'ultimo campione PPG, fornendo i nuovi dati PPG al successivo ciclo di campionamento di quel sottosistema.

Implementazione del progetto

Poiché integra le funzionalità principali richieste per le misurazioni ECG e PPG, come accennato in precedenza l'interfaccia hardware di MAX86150 può essere completata con solo un paio di elettrodi a secco e pochi altri componenti per il disaccoppiamento e il buffering. Di conseguenza, per implementare un sofisticato sistema di misurazione del biopotenziale gli sviluppatori possono combinare un microcontroller con MAX86150 e un numero minimo di componenti esterni (Figura 4). Possono anche saltare quel passaggio di progettazione hardware usando il sistema di valutazione MAX86150EVSYS di Maxim Integrated per iniziare rapidamente a esplorare le applicazioni ECG/PPG.

Schema di MAX86150 di Maxim Integrated (fare clic per ingrandire)

Figura 4: Per inserire misurazioni avanzate delle prestazioni cardiache in un prodotto mobile di fitness, gli sviluppatori possono combinare un microcontroller con MAX86150 e un numero minimo di componenti esterni. (Immagine per gentile concessione di Maxim Integrated)

Fungendo sia da piattaforma per un'applicazione immediata che da progetto di riferimento, il sistema di valutazione MAX86150EVSYS include una scheda MAX86150, una scheda MAX32630FTHR e una batteria litio polimero da 500 mAh (Figura 5). Assieme alla MAX32630FTHR, la scheda MAX86150 fornisce due elettrodi a secco in acciaio inox e i componenti aggiuntivi ricordati in precedenza.

Collegata tramite basette, la scheda MAX32630FTHR offre un sistema abilitato Bluetooth completo costruito attorno al microcontroller MAX32630 di Maxim Integrated. Inoltre gestisce la ricarica e la potenza del pacco batterie incluso.

Immagine del sistema di valutazione MAX86150EVSYS di Maxim Integrated

Figura 5: Gli sviluppatori possono iniziare rapidamente a valutare i metodi di misurazione cardiaca con il sistema di valutazione MAX86150EVSYS di Maxim Integrated che offre una scheda MAX86150 (a sinistra) completa di elettrodi a secco, una scheda di sviluppo MAX32630FTHR basata su MAX32630 e un pacco batterie. (Immagine per gentile concessione di Maxim Integrated)

Il sistema di valutazione pronto per l'uso comprende la scheda MAX32630FTHR precaricata con il firmware per un'applicazione MAX86150 di base, consentendo agli sviluppatori di cimentarsi da subito con le misurazioni ECG e PPG. È sufficiente collegare il set di schede a un sistema PC Windows tramite Bluetooth e avviare il software del kit di valutazione con GUI basata su Windows di Maxim Integrated per il kit MAX86150EVSYS. Il pacchetto GUI mostra i dati ECG e PPG di MAX86150 e consente agli sviluppatori di modificare le impostazioni del dispositivo per esaminare l'effetto sulle prestazioni (Figura 6).

Immagine dell'applicazione software relativa al sistema di valutazione MAX86150EVSYS di Maxim Integrated (fare clic per ingrandire)

Figura 6: L'applicazione software relativa al sistema di valutazione MAX86150EVSYS di Maxim Integrated consente agli sviluppatori di esaminare le misurazioni ECG e PPG eseguite da MAX86150. (Immagine per gentile concessione di Maxim Integrated)

Agli sviluppatori che desiderano creare applicazioni personalizzate, il pacchetto di driver MAX86150 di Maxim Integrated fornisce il codice sorgente per la funzionalità del dispositivo core. Il pacchetto dimostra, tra le altre cose, come lavorare con il FIFO del dispositivo per ridurre al minimo il consumo energetico limitando il tempo per cui il processore host deve rimanere nel suo stato attivo. Al centro di questo approccio, il software si basa su una coppia di gestori di interrupt per rispondere agli eventi del dispositivo e intervenire quando sono disponibili campioni di dati.

L'approccio guidato da interrupt inizia con la routine di inizializzazione che registra un handler IRQ (richiesta di interrupt), max86xxx_irq_handler(). Quando si verifica un evento di interrupt, questo handler verifica i dati disponibili del dispositivo, se necessario richiama un handler FIFO separato (max86xxx_fifo_irq_handler()) ed esegue importanti funzioni di gestione interna, incluso il controllo della temperatura del die del dispositivo e il livello VDD (Listato 1).

Copy
int max86xxx_irq_handler(void* cbdata)
{
    struct max86xxx_dev *sd = max86xxx_get_device_data();
    int ret;
    union int_status status;
 
    status.val[0] = MAX86XXX_REG_INT_STATUS1;
    ret = max86xxx_read_reg(status.val, 2);
    if (ret < 0) {
        printf("I2C Communication error. err: %d. %s:%d\n",
            ret, __func__, __LINE__);
        return -EIO;
    }
 
    if (status.a_full || status.ppg_rdy
        || status.ecg_imp_rdy || status.prox_int) {
        max86xxx_fifo_irq_handler(sd);
    }
 
    if (status.die_temp_rdy)
        max86xxx_read_die_temp(sd);
 
    if (status.vdd_oor) {
        sd->vdd_oor_cnt++;
        printf("VDD Out of range cnt: %d\n", sd->vdd_oor_cnt);
    }
 
    return 0;
}

Listato 1: Questo frammento del pacchetto di driver MAX86150 di Maxim Integrated mostra come un handler IRQ del dispositivo può ridurre al minimo l'elaborazione richiamando un handler FIFO separato solo quando sono disponibili dei campioni o quando si verifica un evento come un interrupt di prossimità. (Codice per gentile concessione di Maxim Integrated)

Quando viene richiamato dal handler IRQ del dispositivo, l'handler FIFO esegue le operazioni di basso livello richieste per riassemblare le letture dei sensori memorizzate dall'86150 nel suo buffer FIFO. Questo handler esegue loop dei campioni disponibili nel buffer FIFO, riassemblando i tre byte utilizzati per memorizzare i dati dall'ADC a 18 bit del canale ECG e dall'ADC a 19 bit del canale PPG (Listato 2).

Copy
void max86xxx_fifo_irq_handler(struct max86xxx_dev *sd)
{
   . . .
    num_samples = max86xxx_get_num_samples_in_fifo(sd);
   . . .
    num_channel = max86xxx_get_fifo_settings(sd, &fd_settings);
   . . .
    num_bytes = num_channel * num_samples * NUM_BYTES_PER_SAMPLE;
    fifo_buf[0] = MAX86XXX_REG_FIFO_DATA;
    ret = max86xxx_read_reg(fifo_buf, num_bytes);
   . . .
    fifo_mode = max86xxx_get_sensor_mode(sd, fd_settings, num_channel);
   . . .
    sensor = get_sensor_ptr(sd, fifo_mode);
    for (i = 0; i < num_samples; i++) {
        offset1 = i * NUM_BYTES_PER_SAMPLE * num_channel;
        offset2 = 0;
 
        for (j = 0; j < MAX_FIFO_SLOT_NUM; j++) {
            tmp_fd = (fd_settings >> (4 * j)) & 0x000F;
            if (tmp_fd) {
                index = offset1 + offset2;
                tmp = ((int)fifo_buf[index + 0] << 16)
                        | ((int)fifo_buf[index + 1] << 8)
                        | ((int)fifo_buf[index + 2]);
 
                samples[tmp_fd] = tmp;
 
                max86xxx_preprocess_data(&samples[tmp_fd], 1);
                offset2 += NUM_BYTES_PER_SAMPLE;
            }
        }
   . . .
            sensor->report(sensor, samples);
   . . .
    }
 
    if (sensor->update)
        sensor->update(sensor);
 
    return;
   . . .

Listato 2: Questo frammento del pacchetto di driver MAX86150 di Maxim Integrated mostra l'uso di un handler FIFO per estrarre i dati campionati da FIFO MAX86150, in cui ogni campione viene memorizzato in un formato a tre byte. (Codice per gentile concessione di Maxim Integrated)

Conclusione

Oltre alla misurazione della frequenza cardiaca basata su PPG, a smartwatch, fasce di fitness e altri dispositivi mobili viene chiesta sempre più la funzionalità ECG a canale singolo. Tuttavia, l'implementazione pratica, accurata e a basso consumo sia di PPG che di ECG per questi dispositivi indossabili si è rivelata un compito difficile.

Una soluzione efficiente viene dal modulo sensore del biopotenziale 86150 di Maxim Integrated con sottosistemi PPG ed ECG integrati. Abbinato a un MCU, il modulo 86150 consente agli sviluppatori di implementare rapidamente prodotti mobili per salute e fitness in grado di fornire dati precisi sulle prestazioni cardiache.

DigiKey logo

Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.

Informazioni su questo autore

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk ha più di 20 anni di esperienza come autore sull'industria elettronica e ha scritto su una vasta gamma di argomenti tra cui hardware, software, sistemi e applicazioni, incluso l'IoT. Ha ricevuto un Ph.D. in neuroscienze sulle reti neuronali e ha lavorato nel settore aerospaziale su sistemi di sicurezza ampiamente distribuiti e sui metodi di accelerazione algoritmica. Attualmente, quando non scrive articoli su tecnologia e ingegneria, lavora su applicazioni di deep learning per i sistemi di riconoscimento e di raccomandazione.

Informazioni su questo editore

Editori nordamericani di DigiKey