使用PPG / ECG组合可穿戴生物传感器模块进行FDA认证的心脏测量

消费者需要来自智能手表,健康频段和其他电池供电的移动设备的更准确的健身和心脏健康数据。为了满足这些期望,开发人员不得不与复杂且昂贵的多组件解决方案进行斗争。这些最终可以提供高精度,但代价是更高的功耗,更大的占地面积和更长的开发时间。需要更简单,更优雅的解决方案。
本文将介绍基于Maxim Integrated高度集成模块的解决方案。首先简要讨论围绕精确心脏性能监测的困难。然后,它将显示开发人员如何使用该模块在活动期间执行FDA认证的心率监测,以及静息时的心电图(ECG)测量。

心脏功能测量

卫生服务提供者通常依靠ECG(也称为EKG)来提供关于心脏健康的最详细数据,而不是侵入性程序。心电图设备捕获心脏周期中心肌去极化和复极化产生的波形(图1)。该过程需要在身体周围的关键位置放置10个电极。然后将它们组合成12对或引线,设计成与在心脏组织体积上产生的不同波形轴对齐。
心电图(EKG)与光电容积描记图(PPG)相比的图像
图1:尽管心电图(ECG或EKG)提供了更多细节,但更简单的光电容积描记图(PPG)可以提供有用的信息,例如此处显示的室性早搏(PVC)。(图片来源:维基百科)
例如,放置在患者腿上的电极可以与另一个电极配对,以提供能够捕获通过心脏组织向下下降的心室去极化波形细节的导线。医疗级12导联ECG仪器使用这种方法,结合来自不同电极对的数据来测量与心动周期的每个阶段相关的最佳轴上的波形。
相比之下,由消费者健身设备执行的ECG测量通常仅使用一个电极对,导致这类设备的术语单导联ECG。虽然单导联心电图可能缺乏心脏病专家诊断所需的详细信息,但他们确实提供了有关心脏性能的足够信息,以提醒医疗服务提供者可能需要使用12导联心电图进行准确诊断的病理。
在实践中,在健身装置中使用单导联ECG测量可能特别成问题,因为测量很容易被个体的任何明显移动破坏。任何肌肉运动都会产生相应的肌肉纤维去极化的电波形,这些波形穿过导电的组织块。主要肌肉群的运动可以产生生物电势,这些生物电势可以轻易地淹没来自更深埋的信号源(如心肌)的信号。因此,准确的ECG测量需要受试者保持静止,无论是躺在健康设施中还是在锻炼期间。
实际上,在运动期间对人进行单导联心电图的尝试很可能会失败。因此,在运动期间提供心率数据的个人健身装置通常依赖于光电容积脉搏波描记术(PPG)方法。
PPG的最基本形式使用光学传感器来测量光反射(或吸收)的相对差异,因为每个血液脉冲改变血管的体积。尽管最早的消费者心率监测器使用了这种基本方法,但今天的健身产品通常使用更先进的PPG形式来测量外周血氧饱和度(SpO 2)水平。这使用户更深入地了解他们对运动的生理反应。
当红色和红外LED照射时,SpO 2测量利用了氧合血液与脱氧血液所显示的不同吸收光谱,其中发射光谱以血红蛋白的两个相应状态为中心(参见“ 向健身齿轮添加心率监测功能 ”)。虽然SpO 2侧重于两种状态之间的比率,但是可以通过测量测量的光学信号的峰 - 峰周期时间从相同的数据中提取基本心率测量值。消费者脉搏血氧仪使用这种方法来提供更可靠的心率测量,尽管身体运动,个体用户变化或其他因素。
尽管基于光学PPG的方法已经在健身设备中使用了多年,但最近在Apple Watch等消费产品中出现了单导联ECG。在竞争压力的推动下,健身腕带,智能手表和其他个人电子设备制造商面临着在其产品中包含PPG和单导联ECG功能的不断增长的需求。
然而,对于开发人员而言,只实现其中一种功能会带来多重困难。双LED PPG设计需要能够最佳地驱动红色和红外LED,捕获反射或吸收的光,同步结果,最后计算心率和可选的SpO 2。单引线ECG设计需要在构建模拟信号路径方面具有丰富的专业知识,能够处理与任何有源生物电位现象测量相关的噪声信号。
也许更根本的是,实现两种类型的设计和同步其结果所需的功率要求,设计尺寸和部件数量对于大多数电池供电的移动产品而言可能是过高的。为了解决这些问题,Maxim Integrated MAX86150生物传感器模块提供了一种近乎可靠的解决方案,可将PPG和ECG功能添加到任何功率受限的设计中。

生物传感器模块

MAX86150模块专为便携式系统而设计,在一个3.3 x 6.6 x 1.3 mm的单个器件中结合了双LED PPG和ECG的子系统。对于光学测量,MAX86150将完整的输入/输出光信号路径与红色LED,IR LED和位于封装内置玻璃盖后面的光电二极管相结合(图2)。
Maxim MAX86150 PPG子系统图
图2:MAX86150 PPG子系统通过集成所有必需组件(包括LED输出和光电二极管输入的信号路径),提供基于光学的适应度测量。此外,红色LED,红外LED和光电二极管器件位于玻璃盖后面。(图像来源:Maxim Integrated)
对于PPG信号路径,该模块集成了环境光消除(ALC)电路,19位连续时间过采样Δ-Σ(ΔΣ)模数转换器(ADC)和离散时间滤波器,可进一步降低噪声。在ALC中,数模转换器(DAC)通过消除环境光来帮助提高输入动态范围。为帮助开发人员平衡功耗和性能,该器件的集成LED驱动器可编程为提供0毫安(mA)至100 mA的电流,电流脉冲宽度范围为50微秒(μs)至400μs。
为了进一步节省功耗,开发人员可以启用接近功能,使设备在测量之间保持较低功耗状态。在此状态下,器件以开发人员编程的最低功率电平驱动IR LED。当光电二极管检测到有用信号,该信号指示用户手指或其他皮肤表面的接近时,产生中断,并且设备返回其正常操作状态以继续采样。
对于ECG测量,MAX86150集成了完整的差分信号路径,只需要两个干电极和一些额外的元件即可实现单导联心电图(图3)。与任何小信号应用一样,测量精度不断受到环境中存在的任何噪声源的挑战。在健身应用中,感兴趣的心脏波形不仅受与肌肉运动和其他生理过程相关的生物电势的影响,而且通常可能被来自外部RF源,线路频率和电噪声的干扰所淹没。
MAX86150 ECG子系统可解决ECG测量中的信号噪声问题,其复杂的信号链设计用于抑制共模信号。
Maxim MAX86150模块图包括完整的单引线ECG子系统
图3:与PPG子系统一起,MAX86150模块包括一个完整的单引线ECG子系统,该子系统仅需要一对干电极和最少的附加组件,即可为微控制器提供ECG测量数据。(图像来源:Maxim Integrated)
该器件的集成ECG模拟前端包括一个斩波放大器,滤波器和可编程增益放大器(PGA),旨在最大限度地提高心脏波形的信噪比。在此信号链之后,一个18位ΔΣADC转换每个采样并将每个结果推送到器件的共享32采样FIFO,从而减少了主机微控制器对连续数据轮询的需求。
为了进一步降低功耗并限制数据访问要求,开发人员可以将ECG和PPG子系统的采样率从最大3200个采样/秒(sps)调整为ECG的200 sps和PPG的10 sps。然而,开发人员可以在复杂的应用中使用该设备,这些应用需要同时进行ECG和PPG / SpO 2采样并同步结果。如果开发人员需要使用两个子系统的不同最小采样率来应用此方法,则设备只需使用最后一个PPG样本加载FIFO,在该子系统的下一个采样周期提供新的PPG数据。

设计实施

由于它集成了ECG和PPG测量所需的核心功能,MAX86150硬件接口可以只用一对干电极完成,如前所述,还有一些用于去耦和缓冲的附加组件。因此,开发人员可以将微控制器与MAX86150及其最少的外部元件相结合,以实现复杂的生物电位测量系统(图4)。开发人员甚至可以通过使用Maxim Integrated MAX86150EVSYS评估系统快速开始探索ECG / PPG应用,跳过硬件设计步骤。
Maxim Integrated MAX86150图解(点击放大)
图4:开发人员可以将Maxim Integrated MAX86150与主机微控制器和仅少量附加组件相结合,以在移动健身产品中实现先进的心脏性能测量。(图像来源:Maxim Integrated)
作为直接应用平台和参考设计,MAX86150EVSYS评估系统包括MAX86150电路板,MAX32630FTHR电路板和500毫安时(mAh)锂聚合物电池(图5)。与MAX86150一样,MAX86150板提供两个不锈钢干电极和前面提到的附加组件。
MAX32630FTHR板通过接头连接,提供基于Maxim Integrated MAX32630微控制器的完整蓝牙系统,并可处理随附电池组的充电和电源管理。
Maxim Integrated MAX86150EVSYS评估系统的图像
图5:开发人员可以使用Maxim Integrated MAX86150EVSYS评估系统快速开始评估心脏测量方法,该系统提供MAX86150电路板(左侧),干电极,基于MAX32630的MAX32630FTHR开发板和电池组。(图像来源:Maxim Integrated)
开箱即用的评估系统配有MAX32630FTHR板,预装了基本MAX86150应用的固件,允许开发人员立即开始探索ECG和PPG测量。开发人员只需通过蓝牙将电路板组连接到Windows PC系统,并为MAX86150EVSYS套件启动Maxim Integrated基于Windows的图形用户界面评估套件软件。该GUI包显示MAX86150的ECG和PPG数据,使开发人员能够轻松修改设备设置,以检查对性能的影响(图6)。
Maxim Integrated MAX86150EVSYS评估系统相关软件应用图片(点击放大)
图6:连接到Maxim Integrated MAX86150EVSYS评估系统,该公司的相关软件应用程序使开发人员可以轻松检查MAX86150执行的ECG和PPG测量。(图像来源:Maxim Integrated)
对于准备构建自定义应用程序的开发人员,Maxim Integrated MAX86150驱动程序包提供核心器件功能的源代码。在其功能性能中,驱动程序包演示了一种使用器件FIFO的方法,通过减少主机处理器需要保持其活动状态的时间长度来最小化功耗。该方法的核心是,软件依赖于一对中断处理程序来响应设备事件,然后在数据样本可用时采取措施。
中断驱动的方法从初始化例程开始。这会注册一个设备中断请求(IRQ)处理程序max86xxx_irq_handler()。发生中断事件时,此处理程序检查可用的设备数据,max86xxx_fifo_irq_handler()如果需要,调用单独的FIFO处理程序(),并执行重要的内务处理功能,包括检查器件管芯温度和VDD电平(清单1)。
复制 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; } 
清单1:Maxim Integrated MAX86150驱动程序包中的这个片段显示了设备IRQ处理程序如何通过仅在样本可用或发生诸如接近中断之类的事件时调用单独的FIFO处理程序来最小化处理。(代码来源:Maxim Integrated)
当设备IRQ处理程序调用它时,FIFO处理程序执行将86150存储在其FIFO缓冲区中的传感器读数重新组装所需的低级操作。在这里,这个处理程序遍历FIFO缓冲区中的可用样本,重新组装用于存储来自ECG通道的18位ADC和PPG通道的19位ADC的数据的三个字节(清单2)。
复制 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;    . . . 
清单2:Maxim Integrated MAX86150驱动程序包中的这个片段显示了使用FIFO处理程序从MAX86150 FIFO中提取采样数据,其中每个采样以三字节格式存储。(代码来源:Maxim Integrated)

结论

随着基于PPG的心率测量,单导联ECG功能已成为智能手表,健身带和其他移动设备的日益增长的需求。尽管如此,用于这种可穿戴设备的PPG和ECG的实用,准确,低功率实现仍然难以实现。
凭借其集成的PPG和ECG子系统,Maxim Integrated 86150生物电势传感器模块提供了有效的解决方案。86150模块与MCU相结合,使开发人员能够快速实施能够提供心脏性能详细数据的移动健康和健身产品。

用户喜欢...

科学家新发明的生物传感器可检测否被细菌感染

科学家发明了一种实验能显示伤口或损害是否被细菌感染并且MRSA是否存在。该实验是爱丁堡大学和NHSLothian联合发明的,可从伤口或溃面刷取样品,使用能检测MRSA的电传感条带分析。...


生物传感器研究现状及主要应用领域

本文简述了生物传感器尤其是微生物传感器近年来在发酵工业及环境监测领域中的研究与应用,对其发展前景及市场化作了预测及展望。...