Utiliser un module de biocapteurs corporels combinés PPG/ECG pour des mesures cardiaques certifiables par la FDA
Avec la contribution de Rédacteurs nord-américains de DigiKey
2019-03-19
Les consommateurs souhaitent avoir des données plus précises concernant leur santé physique et cardiaque grâce aux montres et aux bracelets connectés, et à d'autres dispositifs portables alimentés par batterie. Pour répondre à ces attentes, les développeurs ont dû faire face à des solutions multi-composants, qui sont à la fois complexes et coûteuses. Ces solutions peuvent fournir un niveau élevé de précision, mais cela entraîne alors une augmentation de la consommation énergétique, une empreinte plus importante et des délais de développement plus longs. Les utilisateurs ont besoin d'une solution plus simple et plus élégante.
Cet article fournit une piste quant à la création d'une telle solution grâce à un module hautement intégré de Maxim Integrated. Il aborde dans un premier temps les difficultés liées à la surveillance précise des performances cardiaques. Il explique ensuite comment les développeurs peuvent utiliser le module pour surveiller la fréquence cardiaque pendant une activité conformément à la FDA, et pour effectuer des mesures d'électrocardiogramme (ECG) au repos.
Mesure des performances cardiaques
Les prestataires de soins de santé se fient généralement aux ECG (également appelés EKG) pour fournir les données les plus détaillées qui soient concernant la santé cardiaque, sans avoir à utiliser des procédures trop invasives. Un appareil ECG capture les formes d'ondes générées par la dépolarisation et la repolarisation du muscle cardiaque pendant un cycle cardiaque (Figure 1). Le processus nécessite le placement de 10 électrodes à des endroits stratégiques du corps. Celles-ci sont ensuite combinées en 12 paires, ou dérivations, conçues pour s'adapter à différents axes de formes d'ondes générées par l'ensemble du tissu cardiaque.

Figure 1 : Même si un électrocardiogramme (ECG ou EKG) fournit plus de détails, le photopléthysmogramme (PPG) est plus simple et peut fournir des informations utiles comme ici les occurrences d'extrasystole ventriculaire (PVC). (Source de l'image : Wikipédia)
Par exemple, une électrode placée sur la jambe du patient peut être associée à une autre électrode pour fournir une dérivation capable de capturer les détails de la forme d'onde de dépolarisation du ventricule qui descend dans le tissu cardiaque. Les instruments d'ECG à 12 dérivations de grade médical utilisent cette approche en associant des données provenant de différentes paires d'électrodes pour mesurer les formes d'ondes le long de l'axe optimal associé à chaque phase du cycle cardiaque.
En revanche, les mesures ECG effectuées par les dispositifs de fitness grand public utilisent généralement une seule paire d'électrodes, d'où leur dénomination d'ECG à une seule dérivation. Bien que les ECG à une seule dérivation ne puissent pas fournir les détails nécessaires au diagnostic d'un cardiologue, ils fournissent suffisamment d'informations concernant les performances cardiaques pour alerter les prestataires de soins de santé quant à d'éventuelles pathologies nécessitant l'utilisation d'ECG à 12 dérivations afin de réaliser un diagnostic précis.
En pratique, l'utilisation de mesures ECG à une seule dérivation dans un dispositif de fitness peut être particulièrement problématique, car les mesures peuvent être facilement corrompues par tout mouvement marqué de l'individu. Tout mouvement musculaire crée des formes d'ondes électriques correspondantes, découlant de la dépolarisation de la fibre musculaire, et traversant la masse de tissu conductrice. Le mouvement d'un groupe de muscles majeur peut générer des signaux biopotentiels qui peuvent facilement submerger d'autres signaux provenant d'une source située plus en profondeur, comme le muscle cardiaque. De ce fait, l'obtention de mesures ECG précises nécessite que le sujet reste immobile, qu'il soit alité dans un centre de soins ou en pleine séance d'entraînement.
En fait, les tentatives d'ECG à une seule dérivation sur une personne en plein entraînement sont rarement fructueuses. C'est pourquoi les dispositifs de fitness personnels qui fournissent des données de fréquence cardiaque pendant une activité reposent généralement sur des méthodes de photopléthysmographie (PPG).
La forme la plus basique de PPG utilise des capteurs optiques pour mesurer la différence relative de la réflectance lumineuse (ou absorption) lorsque le volume des vaisseaux sanguins change sous l'impulsion du cœur. Si les premiers moniteurs de fréquence cardiaque grand public utilisaient cette approche de base, les produits de fitness d'aujourd'hui utilisent généralement une forme plus avancée de PPG qui mesure le niveau de saturation pulsée en oxygène (SpO2). Cela permet aux utilisateurs de mieux comprendre leur réponse physiologique à l'exercice physique.
Les mesures de SpO2 tirent parti de la différence de spectre d'absorption du sang oxygéné par rapport au sang désoxygéné lorsqu'ils sont éclairés à l'aide de LED rouges et infrarouges avec le spectre d'émission centré sur les deux états respectifs de l'hémoglobine (reportez-vous à l'article relatif à l'ajout de fonctionnalités de surveillance de la fréquence cardiaque à un équipement de fitness). Bien que le SpO2 se concentre sur le rapport entre les deux états, la mesure de fréquence cardiaque de base peut être extraite à partir des mêmes données en mesurant la durée de cycle entre deux pics des signaux optiques mesurés. Les oxymètres de pouls grand public utilisent cette approche pour fournir des mesures plus fiables de la fréquence cardiaque malgré les mouvements du corps, les variations spécifiques à chaque utilisateur ou d'autres facteurs.
Bien que les méthodes optiques basées PPG soient utilisées depuis de nombreuses années dans les dispositifs de fitness, l'ECG à une seule dérivation a fait son apparition plus récemment dans des produits grand public, comme l'Apple Watch et d'autres produits. Sous la pression concurrentielle, les fabricants de bracelets de fitness, de montres connectées et d'autres dispositifs électroniques personnels doivent faire face à une demande croissante concernant l'inclusion de fonctionnalités PPG et ECG à une seule dérivation dans leurs produits.
Cependant, pour les développeurs, même l'implémentation d'une seule de ces fonctionnalités présente de nombreuses difficultés. Les conceptions PPG à double LED doivent pouvoir commander des LED rouges et infrarouges de façon optimale, capturer la lumière réfléchie ou absorbée, synchroniser les résultats, et enfin calculer la fréquence cardiaque et éventuellement le SpO2. Une conception d'ECG à une seule dérivation nécessite une grande expertise dans la création de trajets de signaux analogiques capables de gérer les signaux bruyants associés aux mesures de phénomènes biopotentiels actifs.
Autre aspect majeur, les exigences de puissance, la taille de la conception et le nombre de composants requis pour implémenter ces deux types de conception et synchroniser leurs résultats peuvent être rédhibitoires pour la plupart des produits portables alimentés par batterie. Pour résoudre ces problèmes, le module de biocapteurs MAX86150 de Maxim Integrated fournit une solution quasiment prête à l'emploi pour ajouter des fonctionnalités PPG et ECG à n'importe quelle conception soumise à des contraintes de puissance.
Module de biocapteurs
Spécialement conçu pour les systèmes portables, le module MAX86150 combine des sous-systèmes pour les fonctionnalités ECG et PPG à double LED dans un seul dispositif mesurant 3,3 mm x 6,6 mm x 1,3 mm. Pour les mesures optiques, le MAX86150 combine des trajets de signaux optiques entrée/sortie complets à une LED rouge, une LED infrarouge et une photodiode positionnées derrière un couvercle en verre intégré au boîtier (Figure 2).

Figure 2 : Le sous-système PPG du MAX86150 fournit des mesures de fitness basées sur la technologie optique en intégrant tous les composants requis, notamment des trajets de signaux pour la sortie LED et l'entrée photodiode. En outre, la LED rouge, la LED infrarouge et la photodiode sont positionnées derrière un couvercle en verre. (Source de l'image : Maxim Integrated)
Pour le trajet de signal PPG, le module intègre un circuit d'annulation de la lumière ambiante (ALC), un convertisseur analogique-numérique (CAN) Delta-Sigma (ΔΣ) à suréchantillonnage continu 19 bits et un filtre temporel discret permettant de réduire davantage le bruit. Dans le circuit ALC, un convertisseur numérique-analogique (CNA) permet d'augmenter la plage dynamique d'entrée en annulant la lumière ambiante. Pour aider les développeurs à trouver l'équilibre entre consommation énergétique et performances, les circuits d'attaque LED intégrés des dispositifs peuvent être programmés pour fournir un courant de 0 à 100 mA, ainsi que des largeurs d'impulsion de courant de 50 à 400 μs.
Pour faire davantage d'économies d'énergie, les développeurs peuvent activer une fonction de proximité qui permet au dispositif de rester dans un état basse consommation entre les mesures. Dans cet état, le dispositif commande la LED infrarouge à un niveau de puissance minimal programmé par le développeur. Lorsque la photodiode détecte un signal utile, qui indique que le doigt de l'utilisateur ou une autre surface de sa peau s'approche, une interruption est générée et le dispositif revient à son état de fonctionnement normal pour continuer l'échantillonnage.
Pour les mesures ECG, le MAX86150 intègre un trajet de signal différentiel complet qui ne nécessite que deux électrodes sèches et quelques composants supplémentaires pour implémenter un ECG à une seule dérivation (Figure 3). Comme pour toutes les applications à petits signaux, la précision des mesures est constamment remise en question en raison de la présence de nombreuses sources de bruit dans l'environnement. Dans une application de fitness, les formes d'ondes cardiaques d'intérêt sont non seulement affectées par les biopotentiels associés au mouvement musculaire et à d'autres processus physiologiques, mais peuvent aussi être submergées par des interférences provenant de sources RF externes, de la fréquence de lignes et du bruit électrique.
Le sous-système ECG du MAX86150 tient compte du bruit du signal dans les mesures ECG grâce à une chaîne de signaux sophistiquée conçue pour rejeter les signaux de mode commun.

Figure 3 : En plus du sous-système PPG, le module MAX86150 inclut un sous-système ECG complet à une seule dérivation qui ne nécessite qu'une paire d'électrodes sèches et quelques composants supplémentaires pour fournir des données de mesure ECG à un microcontrôleur. (Source de l'image : Maxim Integrated)
Le circuit d'entrée analogique ECG intégré du dispositif inclut un amplificateur à découpage, un filtre et un amplificateur à gain programmable (PGA) conçus pour optimiser le rapport signal/bruit des formes d'ondes cardiaques. Après cette chaîne de signaux, un CAN ΔΣ de 18 bits convertit chaque échantillon et envoie chaque résultat à l'interface FIFO partagée de 32 échantillons du dispositif, ce qui réduit le besoin d'interrogation continue des données par un microcontrôleur hôte.
Pour réduire davantage la consommation énergétique et limiter les exigences d'accès aux données, les développeurs peuvent ajuster le taux d'échantillonnage des sous-systèmes ECG et PPG en passant de la valeur maximale de 3200 échantillons par seconde (éch./s) à 200 éch./s pour l'ECG et 10 éch./s pour le PPG. Néanmoins, les développeurs peuvent utiliser le dispositif dans des applications sophistiquées qui nécessitent simultanément l'échantillonnage ECG et PPG/SpO2, et la synchronisation des résultats. Si les développeurs ont besoin d'appliquer cette approche en utilisant les différents taux d'échantillonnage minimum des deux sous-systèmes, le dispositif charge tout simplement le dernier échantillon PPG dans l'interface FIFO, ce qui fournit les nouvelles données PPG au cycle d'échantillonnage suivant de ce sous-système.
Implémentation de la conception
Étant donné qu'elle intègre la principale fonctionnalité requise pour les mesures ECG et PPG, l'interface matérielle du MAX86150 peut être complétée avec seulement une paire d'électrodes sèches comme nous l'avons mentionné précédemment, ainsi que quelques composants supplémentaires pour le découplage et la mise en tampon. Les développeurs peuvent ainsi combiner un microcontrôleur avec le MAX86150 et ses quelques composants externes supplémentaires afin d'implémenter un système de mesures biopotentielles sophistiqué (Figure 4). Les développeurs peuvent même ignorer l'étape de conception matérielle grâce au système d'évaluation MAX86150EVSYS de Maxim Integrated et commencer à explorer rapidement les applications ECG/PPG.
Figure 4 : Les développeurs peuvent combiner le MAX86150 de Maxim Integrated à un microcontrôleur hôte et seulement quelques composants supplémentaires pour implémenter des mesures de performances cardiaques avancées dans un produit de fitness mobile. (Source de l'image : Maxim Integrated)
Utilisé à la fois comme plateforme d'application immédiate et comme conception de référence, le système d'évaluation MAX86150EVSYS inclut une carte MAX86150, une carte MAX32630FTHR et une batterie lithium-polymère de 500 mAh (Figure 5). Avec le MAX86150, la carte MAX86150 fournit deux électrodes sèches en acier inoxydable et les composants supplémentaires mentionnés précédemment.
Connectée par l'intermédiaire d'embases, la carte MAX32630FTHR fournit un système complet compatible Bluetooth architecturé autour du microcontrôleur MAX32630 de Maxim Integrated et prend également en charge la charge et la gestion de l'alimentation du bloc-batterie inclus.

Figure 5 : Les développeurs peuvent rapidement commencer à évaluer des méthodes de mesures cardiaques avec le système d'évaluation MAX86150EVSYS de Maxim Integrated, qui fournit une carte MAX86150 (à gauche), des électrodes sèches, une carte de développement MAX32630FTHR basée sur MAX32630 et un bloc-batterie. (Source de l'image : Maxim Integrated)
Le système d'évaluation est fourni directement avec la carte MAX32630FTHR sur laquelle est préchargé un micrologiciel pour une application MAX86150 de base, ce qui permet aux développeurs de commencer immédiatement à réaliser des mesures ECG et PPG. Les développeurs peuvent simplement connecter la carte à un système PC Windows via Bluetooth et lancer le logiciel du kit d'évaluation de l'interface utilisateur graphique basée sur Windows de Maxim Integrated pour le kit MAX86150EVSYS. L'interface affiche alors des données ECG et PPG provenant du MAX86150 et permet aux développeurs de modifier facilement les paramètres du dispositif afin d'examiner les effets sur les performances (Figure 6).
Figure 6 : Connectée au système d'évaluation MAX86150EVSYS de Maxim Integrated, l'application logicielle de la société permet aux développeurs d'examiner facilement les mesures ECG et PPG effectuées par le MAX86150. (Source de l'image : Maxim Integrated)
Pour les développeurs qui souhaitent créer des applications personnalisées, le pilote MAX86150 de Maxim Integrated fournit le code source pour les principales fonctionnalités du dispositif. Parmi ses capacités fonctionnelles, le pilote présente une approche de travail avec l'interface FIFO du dispositif pour réduire la consommation énergétique en réduisant la durée pendant laquelle le processeur hôte doit rester en mode actif. Dans le cadre de cette approche, le logiciel repose sur une paire de gestionnaires d'interruption pour répondre aux événements du dispositif et prendre des mesures lorsque des échantillons de données sont disponibles.
L'approche basée sur l'interruption commence par une routine d'initialisation. Cela permet d'enregistrer un gestionnaire de demande d'interruption (IRQ) du dispositif, max86xxx_irq_handler(). Lorsqu'un événement d'interruption se produit, ce gestionnaire vérifie les données de dispositif disponibles, appelle un autre gestionnaire FIFO (max86xxx_fifo_irq_handler()) si nécessaire, puis exécute les fonctions de gestion importantes, notamment la vérification de la température de puce du dispositif et du niveau VDD (Liste 1).
Copier 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; }
Liste 1 : Cet extrait de code du pilote MAX86150 de Maxim Integrated montre comment le gestionnaire IRQ d'un dispositif peut réduire le traitement en invoquant un autre gestionnaire FIFO uniquement lorsque des échantillons sont disponibles ou lorsqu'un événement comme une interruption de proximité se produit. (Source du code : Maxim Integrated)
Lorsqu'il est invoqué par le gestionnaire IRQ d'un dispositif, le gestionnaire FIFO exécute les opérations de niveau inférieur requises pour réassembler les mesures de capteur stockées par le 86150 dans son tampon FIFO. Ici, le gestionnaire lit en boucle les échantillons disponibles dans le tampon FIFO, en réassemblant les trois octets utilisés pour stocker les données provenant du CAN 18 bits du canal ECG et du CAN 19 bits du canal PPG (Liste 2).
Copier 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; . . .
Liste 2 : Cet extrait de code du pilote MAX86150 de Maxim Integrated montre l'utilisation d'un gestionnaire FIFO pour extraire des données échantillonnées à partir de l'interface FIFO du MAX86150, où chaque échantillon est stocké dans un format à trois octets. (Source du code : Maxim Integrated)
Conclusion
Outre les mesures de fréquence cardiaque basées PPG, la fonctionnalité ECG à une seule dérivation est une exigence de plus en plus présente pour les montres connectées, les bracelets de fitness et d'autres dispositifs mobiles. Toutefois, les implémentations pratiques, précises et basse consommation des technologies PPG et ECG pour ces dispositifs corporels s'avèrent souvent complexes.
Avec ses sous-systèmes PPG et ECG intégrés, le module de capteurs biopotentiels 86150 de Maxim Integrated constitue une solution efficace. Combiné à un microcontrôleur, le module 86150 permet aux développeurs d'implémenter rapidement des produits de santé et de fitness mobiles, qui sont capables de fournir des données détaillées sur les performances cardiaques.
Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.






