Usar un módulo de biosensibilidad para desarrollar ropa de salud y para estar en forma
Colaboración de Editores de DigiKey de América del Norte
2020-10-21
Impulsado en parte por una mayor conciencia sobre la salud de COVID-19, el interés en los artículos de vestir de biosensores sigue impulsando la demanda de soluciones más eficaces para satisfacer la demanda de los usuarios de una mayor funcionalidad y una mayor precisión en factores de forma más pequeños con una mayor duración de la batería a un menor costo. Para los diseñadores, esto presenta un conjunto de desafíos continuos mientras trabajan para cumplir con los plazos y presupuestos ajustados del mercado. A su favor están los avances en dispositivos de biosensores, incluyendo una mayor integración funcional y soluciones de diseño más completas.
Este artículo discute las tendencias en biosensores y prendas de vestir y los desafíos que enfrentan los diseñadores. A continuación, introduce un módulo biosensor de frecuencia cardíaca y saturación de oxígeno periférico (SpO2) de Maxim Integrated y muestra cómo los desarrolladores pueden utilizarlo para implementar de forma más eficaz artículos de vestir capaces de proporcionar una frecuencia cardíaca precisa y otras mediciones sin comprometer los ajustados presupuestos de energía de los productos móviles a pilas.
Requisitos de diseño para la biosensibilización
Mientras que la monitorización de la frecuencia cardíaca es un requisito básico en una amplia variedad de artículos de consumo, el interés en la medición de SpO2 sigue aumentando. La medición de SpO2, que antes era utilizada principalmente por atletas que buscaban optimizar sus regímenes de entrenamiento, ha encontrado una aplicación más extendida, particularmente en la autovigilancia para detectar signos de reducción de la función respiratoria asociada a la enfermedad COVID-19. Para los desarrolladores, la entrega de soluciones adecuadas a una población consciente de la salud y acostumbrada a la electrónica de uso presenta retos significativos en cuanto a costo, potencia, factor de forma y peso.
Muchos biosensores vienen ahora con subsistemas analógicos integrados en la parte delantera, de modo que los desarrolladores no tienen que construir las cadenas de señales y los subsistemas de postprocesamiento necesarios para las mediciones de salud y aptitud física, pero pocos de estos dispositivos avanzados tienen la combinación adecuada de capacidades para los dispositivos que se pueden llevar puestos. Como resultado, no resuelven los desafíos de diseño que surgen al cumplir las expectativas de los usuarios en cuanto a los diminutos artículos de vestir de biosensores que son tan discretos como otros tipos de artículos de vestir líderes como los relojes inteligentes, las bandas de fitness y los verdaderos auriculares inalámbricos, entre otros.
Pueden surgir otros problemas relacionados con la integración de los diseños cuando los desarrolladores necesiten añadir una o más capacidades de biosensores a esos tipos de prendas de vestir populares. Al igual que con cualquier otro tipo de producto electrónico personal móvil alimentado por pilas, los consumidores exigen implícitamente una mayor duración de las pilas, incluso del producto más pequeño, y suelen seleccionar estos productos tanto por la duración de las pilas como por su costo y funcionalidad.
Para cumplir con estos requisitos combinados, los desarrolladores pueden recurrir al módulo de biosensores MAXM86146 de Maxim Integrated para el diseño de dispositivos personalizados y al sistema de evaluación de MAXM86146EVSYS para la creación rápida de prototipos.
El módulo de biosensibilidad ofrece una solución de entrega inmediata...
Disponible en un paquete de 38 clavijas de 4.5 x 4.1 x 0.88 milímetros (mm), el módulo de biosensores MAXM86146 de Maxim Integrated es una solución de entrega inmediata diseñada específicamente para ayudar a acelerar el desarrollo de prendas de vestir compactas alimentadas por batería para la salud y el bienestar. Para cumplir con los requisitos tanto de una mayor duración de la batería como de las capacidades de biosensores, el módulo minimiza el consumo de energía mientras mantiene una medición rápida y precisa de la frecuencia cardíaca y SpO2.
Junto con dos fotodiodos integrados, el módulo incluye un microcontrolador MAX86141 de doble canal analógico óptico (AFE) de Maxim Integrated y un microcontrolador basado enArm Cortex-M4 que es una variante optimizada para la biosensibilidad del microcontrolador Darwin MAX32660 de Maxim Integrated (Figura 1).
Figura 1: El módulo biosensor MAX86146 de Maxim Integrated integra un AFE óptico, un microcontrolador y fotodiodos en un paquete compacto. (Fuente de la imagen: Maxim Integrated)
Consumiendo solo 10 microamperios (μA) a 25 muestras por segundo (sps), el MAX86141 integrado proporciona un subsistema óptico completo de AFE diseñado para controlar los múltiples diodos emisores de luz (LED) utilizados para medir la frecuencia cardíaca y SpO2. Los monitores ópticos de frecuencia cardíaca utilizan rutinariamente la fotopletismografía (PPG), que controla los cambios en el volumen de la sangre periférica asociados con cada pulso del corazón. Para esta medición, estos dispositivos suelen utilizar luz verde a una longitud de onda de 540 nanómetros (nm), que es absorbida por la sangre y da lugar a menos artefactos porque la luz verde penetra menos profundamente en el tejido que muchas otras longitudes de onda. Los pulsioxímetros ópticos utilizan tanto un LED rojo (típicamente 660 nm) como un LED infrarrojo (IR) (generalmente 940 nm) para medir la diferencia de absorción entre la hemoglobina y la desoxihemoglobina -la técnica subyacente a los métodos de medición ópticos SpO2 (véase diseñar un pulsioxímetro de bajo costo utilizando componentes estándar).
Para realizar estas mediciones ópticas, el revelador debe asegurarse de que la adquisición de la señal de fotodiodo esté sincronizada con precisión con los pulsos de salida de luz de los LED apropiados. El AFE integrado del módulo MAXM86146 proporciona cadenas de señales separadas para el control de los LED y para la adquisición de señales de fotodiodos. En el lado de la salida, el AFE incluye tres controladores de LED de alta corriente y bajo ruido para transmitir los pulsos a los LED verdes para la medición de la frecuencia cardíaca, así como los LED rojos e IR para la medición de SpO2. En el lado de la entrada, el AFE proporciona dos canales de adquisición de señal de fotodiodo, cada uno con un convertidor analógico a digital (ADC) dedicado de 19 bits. Estos dos canales de lectura pueden funcionar por separado o utilizarse en combinación para proporcionar una mayor superficie radiante.
Al controlar el LED de AFE y las cadenas de señales de fotodiodos, el firmware que se ejecuta en el microcontrolador de a bordo ajusta la configuración de AFE para maximizar la relación señal/ruido (SNR) y minimizar el consumo de energía. A medida que la luz ambiental cambia, el circuito de corrección de la luz ambiental (ALC) incorporado en el MAX86141 integrado responde a los cambios graduales de las condiciones de iluminación. Sin embargo, la luz ambiental puede cambiar rápidamente en algunas situaciones, como cuando el usuario pasa rápidamente entre zonas de sombra y luz solar brillante, lo que da lugar a fallos de ALC. Para tener en cuenta esta situación común, el MAX86141 incluye una función de detección y sustitución de vallas. En este caso, el dispositivo identifica grandes excursiones en las mediciones ambientales de muestras anteriores y sustituye las muestras individuales de datos de luz ambiental periférica por valores extrapolados coherentes con un cambio relativamente lento en los niveles ambientales.
Debido a que el microcontrolador del módulo utiliza su firmware para gestionar el funcionamiento del AFE, las operaciones detalladas que se requieren para realizar mediciones precisas de HR y SpO2 son transparentes para los desarrolladores. Al usar los ajustes del firmware, el módulo realiza estas mediciones automáticamente, almacenando los datos en bruto y los resultados calculados en un búfer de primera entrada primera salida (FIFO) para el acceso del procesador del sistema anfitrión a través de la interfaz en serie I2C del módulo.
Cómo el MAX86146 simplifica el diseño del hardware vestible
Con su amplia funcionalidad integrada, el módulo de biosensores MAX86146 requiere relativamente pocos componentes adicionales para completar un diseño capaz de proporcionar mediciones precisas de la frecuencia cardíaca y SpO2. Para mediciones simultáneas de HR y SpO2, el MAX86146 puede integrarse con un multiplexor analógico externo de bajo ruido como el interruptor MAX14689 de Maxim Integrated conectado a luces verdes, rojos y ledes IR discretos (Figura 2).
Figura 2: Para realizar mediciones simultáneas de frecuencia cardíaca y SpO2, el módulo biosensor MAX86146 de Maxim Integrated requiere pocos componentes adicionales más allá de los LED adecuados, un multiplexor analógico (MAX14689, a la izquierda) y un acelerómetro para detectar el movimiento mientras se realizan las mediciones. (Fuente de la imagen: Maxim Integrated)
Además, el MAXM86146 está diseñado para utilizar los datos de movimiento de un acelerómetro de tres ejes para corregir el movimiento del usuario durante las mediciones de la frecuencia cardíaca, y para detectar el movimiento durante las mediciones de SpO2 que requieren que el usuario permanezca en reposo durante la corta duración de la medición. En este caso, el desarrollador puede conectar un acelerómetro con soporte de firmware directamente a los puertos SPI del MAXM86146 o conectar un acelerómetro de propósito general al procesador del host.
La opción de conexión al host proporciona una mayor flexibilidad en la selección del dispositivo, ya que solo requiere un acelerómetro de tres ejes de propósito general como MC3630 de Memsic con capacidad de 25 sps. Aún así, los desarrolladores necesitan asegurarse de que los datos del acelerómetro estén sincronizados con el muestreo de datos de la frecuencia cardíaca. Para ello, el microcontrolador integrado diezma internamente o interpola las muestras de acelerómetro según sea necesario para compensar la deriva entre los datos del HR y los del acelerómetro.
Lograr un rápido comienzo con la evaluación y el prototipo rápido del MAXM86146
Aunque el MAXM86146 simplifica el diseño del hardware del sistema, los desarrolladores que buscan evaluar el MAXM86146 o hacer rápidamente un prototipo de sus aplicaciones pueden omitir el diseño del hardware y comenzar inmediatamente a trabajar con el dispositivo usando el sistema de evaluación MAXM86146EVSYS. Alimentado por USB o por una batería de polímero de litio (LiPo) de 3.7 voltios , el MAXM86146EVSYS comprende una placa de sensores ópticos (OSB) MAXM86146_OSB basada en MAXM86146 conectada por cable flexible a una placa principal de adquisición de datos MAXSensorBLE de baja energía (BLE) habilitada (Figura 3).
Figura 3: El sistema de evaluación MAXM86146EVSYS de Maxim Integrated incluye una placa de procesador principal habilitada para BLE y una placa de sensor conectada con cable flexible basada en el MAXM86146. (Fuente de la imagen: Maxim Integrated).
La placa MAXSensorBLE integra un microcontrolador anfitrión MAX32620 de Maxim Integrated y un microcontrolador con BluetoothNRF52832 de Nordic Semiconductor. De hecho, la placa MAXSensorBLE sirve como un diseño de referencia completo para un diseño portátil habilitado para el BLE. Junto con el soporte de los componentes activos y pasivos, el diseño de la placa MAXSensorBLE viene completo con un circuito integrado de gestión de energía (PMIC) MAX20303 de Maxim Integrated diseñado específicamente para extender la vida de la batería de los artículos de vestir.
La placa de sensores ópticos MAXM86146_OSB combina un módulo de biosensores MAXM86146 con un conmutador analógico MAX14689 y un juego completo de LED necesarios para realizar mediciones simultáneas de HR y SpO2. Además, la placa integra un acelerómetro de tres ejes soportado por un firmware conectado directamente al módulo MAXM86146.
Para evaluar el módulo MAXM86146 utilizando el sistema de evaluación MAXM86146EVSYS, los desarrolladores encienden el sistema utilizando USB-C o una batería LiPo, y conectan un dongle USB BLE si es necesario en una computadora personal que ejecute la aplicación MAXM86146 EV System Software de Maxim Integrated. Esta aplicación de Windows proporciona una interfaz gráfica de usuario (GUI) que permite a los desarrolladores modificar fácilmente la configuración del MAXM86146 y observar inmediatamente los resultados presentados como gráficos de datos. Además de proporcionar acceso a los registros del MAXM86146, la interfaz gráfica de usuario proporciona menús intuitivos para establecer diferentes modos de funcionamiento y configuraciones. Por ejemplo, los desarrolladores pueden usar la pestaña de modo GUI para establecer diferentes secuencias de LED (Figura 4, arriba), y usar la pestaña de configuración GUI para aplicar esas secuencias de LED para las mediciones de HR y SpO2 (Figura 4, abajo).
Figura 4: La GUI del software del sistema de EV del MAXM86146 de Maxim Integrated permite a los desarrolladores evaluar el rendimiento del MAXM86146 definiendo diferentes modos operativos como secuencias de LED (arriba), y luego usar esas secuencias (abajo) para la medición de la frecuencia cardíaca y SpO2. (Fuente de la imagen: Maxim Integrated).
Para el desarrollo de software personalizado, Maxim Integrated proporciona su algoritmoRHM & SpO2 vestible para el paquete de software MAXM86146. Debido a que el MAXM86146 entrega mediciones de frecuencia cardíaca y SpO2 utilizando su firmware de microcontrolador integrado, el proceso de extracción de datos del dispositivo es sencillo. El paquete de software de Maxim Integrated demuestra el procedimiento para inicializar el dispositivo, y finalmente leer los datos del MAXM86146 FIFO y analizar los elementos de datos individuales (Lista 1).
Copiar
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]
Listado 1: Un fragmento del paquete de software de Maxim Integrated demuestra la técnica básica para extraer mediciones y otros datos del módulo de biosensores. (Fuente del código: Maxim Integrated)
El listado 1 ilustra el uso de la rutina del lenguaje C execute_data_poll() para devolver un número de lecturas de frecuencia cardíaca y SpO2 de MAXM86146. Aquí, el código lee el FIFO del dispositivo en la base de datos del búfer local y luego mapea el contenido de la base de datos en instancias de unas pocas estructuras de software diferentes en lenguaje C. Junto con el almacenamiento de los datos de configuración y otros metadatos en esas instancias de la estructura, la rutina finalmente proporciona la frecuencia cardíaca y las mediciones de SpO2 en mesOutput, una instancia de la estructura mes_repor_t. Los desarrolladores pueden simplemente descomentar la declaración final de impresión para mostrar el resultado en la consola.
Para implementar un vestible de salud y fitness, el software y el hardware del MAXM86146 simplifica significativamente el desarrollo. Sin embargo, en el caso de los dispositivos destinados a obtener la aprobación de la Administración de Alimentos y Medicamentos de los Estados Unidos (FDA), los desarrolladores deben realizar las pruebas adecuadas para verificar el rendimiento a nivel de la FDA de sus productos finales. Aunque el MAXM86146 de Maxim Integrated y sus algoritmos incorporados ofrecen un rendimiento de medición de grado FDA, los desarrolladores tendrán que asegurarse de que todo su sistema, y no sólo el sensor, cumpla con los requisitos de rendimiento de la FDA.
Conclusión:
El interés por los artículos de vestir capaces de proporcionar una frecuencia cardíaca precisa y las mediciones de SpO2 sigue aumentando, alimentado más recientemente por el papel de los datos de SpO2 en el control de los síntomas de la enfermedad COVID-19. Aunque los biosensores especializados pueden proporcionar estas mediciones, pocas soluciones existentes son capaces de satisfacer la demanda de dispositivos más pequeños capaces de prolongar la duración de la batería en aparatos portátiles multifuncionales y compactos. Como se muestra, un minúsculo módulo de biosensores de Maxim Integrated, apoyado por un kit de prototipado rápido, ofrece una alternativa efectiva, proporcionando mediciones de grado FDA con un mínimo consumo de energía.

Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de DigiKey o de las políticas oficiales de DigiKey.