构建真正无线健身耳穿戴设备 — 第 1 部分:心率和 SpO2 测量

作者:Stephen Evanczuk

投稿人:DigiKey 北美编辑

编者按:健身耳穿戴设备尽管有巨大的潜力,但需要解决三个关键方面的重大设计挑战:生物测量、音频处理和无线充电。本系列包括三篇文章,将逐一探讨每项挑战,并向开发人员展示如何利用超低功耗器件来更有效地打造健身耳穿戴设备。本篇是第 1 部分,聚焦于生物测量。

入耳式智能无线音频耳塞,也称为真正无线耳穿戴设备,已成为流行的音频播放设备,尤其是在导线可能会干扰运动或设备的健身活动期间。通过将心率 (HR) 和血氧饱和度测量功能添加到这些设计中,开发人员便可实现同时提供音频播放和健康数据的“健身耳穿戴设备”。

虽然增加生物测量技术具有巨大的潜力,但针对这种应用的产品在尺寸和功耗方面有一定的限制,因而带来令人生畏的设计挑战。

本文首先讨论健康测量,然后介绍并展示如何应用 Maxim Integrated 的生物传感器——通过电池供电的入耳式设备测量心率和血氧饱和度。

健康测量

心率除了作为患者生命体征之一的临床作用之外,还是健身爱好者和竞技运动员的一项重要体能指标。心率的变化反映了潜在的生理健康和状况,若要对这些变化进行非侵入式测量,可以使用光电容积描记图 (PPG) 来简单有效地完成。PPG 测量特定频率的光(通常大约为 520 nm,即绿光)的透射或反射的变化。当心脏泵送血液通过组织时,组织血液容量的变化会引起上述的光变化。

除了提供有关心率的基本数据之外,这种相对简单的技术甚至能够揭示一些临床关注的情况,例如心室早发性收缩 (PVC) 活动,这要比血压测量或心电图(ECG 或 EKG)更简单(图 1)。

PPG 可以检测心室早发性收缩等异常心脏活动的图片图 1:使用简单光学方法,PPG 可以检测心室早发性收缩 (PVC) 等异常心脏活动,而无需测量血压 (BP) 或使用心电图 (EKG)。(图片来源:Wikimedia Commons/CC BY-SA 3.0)

虽然采用 PPG 进行心率监测能够提供重要信息,但许多用户希望获得对自身身体状况和训练效果的更深入了解。脉搏血氧测量可提供更深层的数据,它测量的是充氧血红蛋白 (HbO2) 与脱氧血红蛋白 (Hb) 之比,而血红蛋白是红细胞中的蛋白质分子,负责将氧输送到人体的器官和组织。根据该比率,脉搏血氧计可测量周围毛细血管的血氧饱和度 (SpO2),由此便能通过血气分析并采用非侵入式方法,可靠地估计临床动脉血氧饱和度 (SaO2) 测量。

为了提供此估计值,脉搏血氧计可在两个不同频率(通常约为红光 660 nm 和红外 880 nm)下测量一块皮肤对光的吸收差异。这两个频率分别对应于血红蛋白在脱氧和充氧状态下的吸收光谱峰值,因而能够快速估计血氧饱和度(图 2)。

非侵入式光电脉搏血氧测定法的图形图 2:非侵入式光电脉搏血氧测定法使用充氧血红蛋白(HbO2,红色曲线)与脱氧血红蛋白(Hb,蓝色曲线)之比,来确定毛细血管血氧饱和度 (SpO2),充氧和脱氧血红蛋白通常分别在大约 880 nm 和 660 nm 频率下测量。(图片来源:Wikimedia Commons/CC BY-SA 3.0)

PPG 和脉搏血氧测定技术在概念上很简单。但实际上,这些方法的实现可能面临重大挑战,尤其是在可穿戴设备的设计中。PPG 和脉搏血氧测定法均依靠健身腕带或智能手表中的光电二极管,来精确测量一块皮肤反射(或通过耳垂等透射)的绿色、红色或红外 (IR) LED 光。

任何外部光源或对光路(由 LED 光源、皮肤和光电二极管构成)的干扰,都会影响这些系统的生物测量精度。例如,环境照明的正常变化可能会引入测量伪影。当环境照明发生剧烈变化时,例如当用户穿过强阳光与暗阴影交替的区域时(这在基于光学的测量中就是所谓的“栅栏”效应),测量结果可能完全错误。最后,在高强度训练或甚至一些常规体育锻炼中,手臂突然运动可能会使健身腕带或智能手表震颤,导致类似的伪像或信号完全消失。

入耳式检测系统

与腕戴式健康监测器相比,入耳式生物检测技术有助于减轻某些误差源的影响并提供准确结果,甚至能抵御那种会降低健身腕带和智能手表测量精度的腕部运动1。虽然有很多生物测量器件出现,但由于功耗和尺寸的严格限制,开发人员实现入耳式健身可穿戴设备的选择很有限。

为了留在耳内位置,此类可穿戴设备必须小而轻。这些基本要求决定了大容量电池无法使用(更常规的生物测量设计解决方案需要大电池供电)。因此,与腕戴式产品相比,入耳式健身可穿戴设备的设计通常需要在容量更为有限的电源下工作。

同时,它需要有足够的功率来支持相关应用的多种功能需求,例如本系列文章的主题——健身耳穿戴设备。为了执行本文所重点关注的光学测量,有效的设计需要有足够的功率来驱动绿光、IR 和红光 LED,以及为光电二极管和相关的模拟前端 (AFE) 供电。不仅如此,还需要将这些各式各样的光学和电子元器件纳入一个紧凑的封装中以满足严格的尺寸要求,同时确保光学信号路径的完整性。

Maxim Integrated 的低功耗生物传感器满足这些多样化的需求。

专用生物传感器

Maxim Integrated 的 MAXM86161 专为入耳式健康监测而设计,提供完整的光学数据采集子系统,能够以极小的功耗连续测量心率和 SpO2。这款 14 引脚器件尺寸仅为 2.9 mm x 4.3 mm x 1.4 mm,在三色 LED 光学传输子系统和光电二极管接收器子系统中集成了信号处理功能、128 字先进先出 (FIFO) 缓冲器以及内部集成电路 (I2C) 串行接口(图 3)。

Maxim Integrated 的 MAXM86161 示意图图 3:Maxim Integrated 的 MAXM86161 在光学传输和接收器子系统中集成了 128 字 FIFO、控制器和 I2C 串行接口,提供完整的生物测量解决方案。(图片来源:Maxim Integrated)

除了内置的绿光、红外和红光 LED 之外,MAXM86161 光学传输子系统还包括专用 8 位 LED 电流数模转换器 (DAC),让开发人员能以编程方式将每个 LED 的驱动电流设置为 31、62、94 或 124 mA,可由 3.0 V 至 5.5 V 的单个 VLED 电压源供电。另外,开发人员可以通过编程方式将 LED 驱动脉冲宽度设置为四个不同的持续时间,范围从大约 15 μs 到 117 μs。如下所述,此功能提供了满足特定应用性能要求的关键机制。

在接收器子系统中,19 位三角积分模数转换器 (ADC) 以每秒 8 个样本 (sps) 到 4,096 sps 的速率将集成光电二极管的输出数字化。进而,数字滤波器使用开发人员选择的频分复用 (FDM) 或系数抽取方法 (CDM) 来降低噪声。

对于需要以不同分辨率测量样本的应用,可以动态地重新配置 ADC,使其以四个满量程动态范围之一运行。开发人员通过减小动态范围,可以在需要时提高分辨率。另外,附加特性可提供偏移值,这样在测量非常低的暗电流水平时,信号不会被削波。

自动校正

在采样转换过程中,MAXM86161 的环境光校正 (ALC) 电路可用来自动抵消外部照明源引起的光电二极管电流。开发人员还可以对设备进行编程,定期测量环境光水平,使得应用可以利用本身的 ALC 算法动态校正采样数据,或以编程方式修改 LED 驱动电流,从而针对不断变化的环境光水平优化 LED 输出照明水平。

除了内置 ALC 功能外,MAXM86161 还集成了单独的机制来处理前面提到的栅栏效应,即明暗环境光水平的快速交替可能会导致采样错误。MAXM86161 的栅栏功能启用后,可自动检测栅栏事件期间采集的样本,并将这些样本替换为估计值。启用该功能后,MAXM86161 将低通滤波器的输出与估计范围进行比较,若超出范围便替换输出值(图 4)。

Maxim Integrated 的 MAXM86161 栅栏机制图形图 4:Maxim Integrated 的 MAXM86161 栅栏机制可监测样本(红线),并自动替换超出可编程范围(蓝线)的样本,例如图中标示的瞬态(黑线)。(图片来源:Maxim Integrated)

自主采样

采样期间,MAXM86161 的集成控制器会协调发射器和接收器子系统,使 LED 输出脉冲序列和对应的光电二极管 (PD) 输入读数同步。此序列的程序由开发人员在加载到六个“槽”(LEDCn) 的设置中指定,这些槽包含在一组三个 LED 序列控制寄存器中(表 1)。每个 LEDCn 槽指定一个特定采样操作,其包括来自指定绿光、红外或红光 LED 的照明以及相关的 PD 采样。

地址 寄存器名称 默认值 B7 B6 B5 B4 B3 B2 B1 B0
0x20 LED 序列寄存器 1 00 LEDC2[3:0] LEDC1[3:0]
0x21 LED 序列寄存器 2 00 LEDC4[3:0] LEDC3[3:0]
0x22 LED 序列寄存器 3 00 LEDC6[3:0] LEDC5[3:0]

表 1:Maxim Integrated 的 MAXM86161 LED 输出序列脉冲载入一组三个 LED 序列控制寄存器中。(表格来源:Maxim Integrated)

MAXM86161 会识别不同的预定义值,这些值对应于不同的 LED 工作模式。例如,要指定从 LED1(绿光)、LED2(红外)或 LED3(红光)采样,开发人员可将所需槽的 LEDCn[3:0] 字段分别设置为二进制值 0001、0010、0011。类似地,要对环境光采样,开发人员可将所需字段设置为二进制值 1001。因此,为了编写一个旨在对 LED1、LED2、LED3 和环境光进行采样的序列,开发人员可设置如下内容:

LEDC1[3:0] = 0001

LEDC2[3:0] = 0010

LEDC3[3:0] = 0011

LEDC4[3:0] = 1001

LEDC5[3:0] = 0000

最后一个设置为二进制“0000”的槽指示序列结束。

开发人员还需要设置多个其他配置参数,包括采样率、脉冲宽度、驱动电流等。实际上,这些不同配置参数以及 LED 序列寄存器 0x21 和 0x22(同样参见表格)通常是先于寄存器 0x20 而设置,因为写入寄存器 0x20 会启动 MAXM86161 测量序列。如本文稍后所述,软件例程可能会先设置其他寄存器,最后写入寄存器 0x20 以启动所编程的序列。

序列初始化后,控制器自动协调 LED 输出脉冲和 PD 输入采样,以所需的采样率重复所编程的序列(图 5)。

Maxim Integrated 的 MAXM86161 控制器自动执行采样操作序列的示意图图 5:Maxim Integrated 的 MAXM86161 控制器自动执行采样操作序列,每个操作都涉及协调 LED 输出脉冲和相关的光电二极管采样读数。(图片来源:Maxim Integrated)

这种可编程的序列控制使得应用可以轻易地即时修改测量模式。例如,当应用不需要以最高更新速率进行 SpO2 测量时,则可以简单地更改序列控制寄存器,使用绿光 LED (LED1) 维持对心率数据的频繁更新。应用可以周期性重置序列,增加红外 (LED2) 和红光 (LED3) LED 以短时间执行 SpO2 测量,然后切换回仅更新心率的模式。

功率优化

除了使用此类应用级方法来降低功耗外,开发人员还可以利用 MAXM86161 固有的低功耗能力。在采样率为 25 sps 的典型应用中,MAXM86161 正常工作期间的功耗不到 10 μA。除了正常的低功耗运行以外,MAXM86161 还提供了许多机制来支持系统级和器件级功耗优化。

对于系统级优化,器件可以在空闲期间独立执行生物测量,而与此同时,系统的其余部分(包括处理器)在低功耗休眠模式下等待任务。这里,MAXM86161 序列控制器可以继续将采样数据放入内部 FIFO 缓冲器的下一个可用槽中。当缓冲器达到开发人员设置的阈值容量时,MAXM86161 可以向主机处理器发出中断。为了响应此中断,主机可以唤醒足够长的时间,以通过支持的 I2C 接口清空 FIFO 缓冲器,或者保持唤醒状态以执行更多处理。

无论是采用这种自主方法还是对主机处理器进行更直接的控制,都可以设置 MAXM86161 使用其他器件级优化机制。

在此类机制中,有一种机制允许开发人员将电流消耗降低到满足应用测量精度要求所需的最低水平。其中,开发人员可以调整前面提到的可编程 LED 输出脉冲宽度功能,以提供不断变化的测量条件所需的信号完整性水平。若要提高信噪比 (SNR),开发人员可以将脉冲宽度增加到所需的程度(图 6)。

四个不同持续时间的 LED 输出脉冲宽度的图形图 6:开发人员可以将 LED 输出脉冲宽度设置为四个不同的持续时间,以将电流减小到实现应用所需 SNR 的最小必需值。(图片来源:Maxim Integrated)

其他机制允许开发人员在不需要采样或以较低更新速率采样时降低功耗。

如果长时间不需要进行生物测量,可以将 MAXM86161 置于关断模式,此时功耗仅 1.6μA。实际上,开发人员可以通过编程方式禁用器件的内部低压差 (LDO) 稳压器,从而将关断电流降至仅约 0.05 μA。不过,重新启动 LDO 有其自身的问题,例如启动时间延迟或浪涌电流增加等,这可能会给特定的电池供电设计带来问题。

MAXM86161 还提供了一种机制,当采样率为 256 sps 或更低时,在两次采样之间会自动切换至 1.6 μA 关断模式,从而显著节省功率,而应用功能无损失。

这种器件级自动降低功耗机制可与 MAXM86161 的接近检测功能配合使用,当入耳式可穿戴设备不再与皮肤接触时可以节省功率。例如,开发人员可以设置一些 MAXM86161 寄存器,将器件设置为接近检测模式下的更低功耗配置,从而避免用户取下可穿戴设备时浪费功率。

在接近检测模式下,器件会监视 PD 输出,检测指示反射物体(例如皮肤)已靠近的信号。为了降低这种模式下的功耗,MAXM86161 会减小用作照明光源的 LED 驱动电流,并将采样率降至 8 sps,导致器件在两次采样之间进入关断模式。当 PD 输出超过编程人员指定的阈值时,MAXM86161 可以自动切换回完全活动模式,无需主机处理器干预即执行采样,或者发出中断以唤醒处理器。

开发支持

MAXM86161 集成了广泛的功能,因此硬件接口要求非常简单。实际上,开发人员仅需增加几个外部元器件,即可将 MAXM86161 生物测量功能添加到基于微处理器或微控制器的设计中(图 7)。

Maxim Integrated 的 MAXM86161 示意图图 7:Maxim Integrated 的 MAXM86161 集成了光学生物检测所需的全部功能,只需要外加几个硬件元器件即可完成硬件接口设计。(图片来源:Maxim Integrated)

利用 MAXM86161EVSYS 评估板,开发人员可以在现有设计中快速使用 MAXM86161 制作原型,或者将相关的 MAXM86161EVSYS 参考设计用作定制硬件实现的基础。

在 MAXM86161 开发中,最具挑战性的方面可能是确定特定应用的最佳配置。如本文所述,MAXM86161 生物测量器件提供了一组非常丰富的可配置设置和性能特点。

为了帮助开发人员更快地找到合适的器件配置,Maxim Integrated 提供了 MAXM86161 评估软件应用程序。通过该应用程序,开发人员可以使用图形用户界面 (GUI) 探索不同器件设置的效果。该应用程序设计为与 Maxim Integrated 的 MAXM86161EVSYS 评估板配合使用,让开发人员能够轻松修改器件的工作参数,并评估 MAXM86161 的采样性能和功耗结果(图 8)。

Maxim 的 MAXM86161 评估软件应用程序图片(点击放大)图 8: Maxim Integrated 的 MAXM86161 评估软件应用程序与 MAXM86161EVSYS 评估板配合使用,让开发人员可以使用一系列菜单来更改器件设置,探索不同的器件配置。(图片来源:Maxim Integrated)

无论是使用该开发平台来确定 MAXM86161 的配置设置,还是自行摸索,开发人员都会发现,对 MAXM86161 进行编程在很大程度上就是编写例程,以在初始化期间或运行时将这些设置载入 MAXM86161 中。

举例来说,笔者从 Maxim Integrated 获得了一个简单的 MAXM86161 驱动程序,它演示了操作该器件所需的基本设计模式。Maxim Integrated 很快就会提供该驱动程序。

这个 C 语言驱动模块包括许多示例程序,说明了 MAXM86161 各种功能(例如 SpO2 测量)所需的不同寄存器更新(清单 1)。

复制 /* Write LED and SPO2 settings */ if (data->agc_is_enable)    err |= max86161_prox_led_init(data); else    err |= max86161_hrm_led_init(data);   err |= max86161_write_reg(data, MAX86161_INTERRUPT_ENABLE, DATA_RDY_MASK);   err |= max86161_write_reg(data, MAX86161_LED_RANGE_1,       ( MAX86161_LED_RGE << LED_RGE2_OFFSET )       | ( MAX86161_LED_RGE << LED_RGE3_OFFSET ));   err |= max86161_write_reg(data, MAX86161_PPG_CONFIGURATION_1,       ( MAX86161_PPG_TINT << PPG_TINT_OFFSET )       | ( MAX86161_ADC_RGE << PPG_ADC_RGE_OFFSET ));   err |= max86161_write_reg(data, MAX86161_PPG_CONFIGURATION_3,       ( MAX86161_LED_SETLNG << LED_SETLNG_OFFSET ));   err |= max86161_write_reg(data, MAX86161_PD_BIAS,       ( PD_BIAS_125_CS << PD_BIAS_OFFSET ));   err |= max86161_write_reg(data, MAX86161_FIFO_CONFIG_2,       FLUSH_FIFO_MASK | FIFO_STAT_CLR_MASK);   err |= max86161_write_reg(data, MAX86161_LED_SEQ_REG_1,       ( LED_RED << LEDC2_OFFSET )       | ( LED_IR << LEDC1_OFFSET ));   if (!atomic_read(&data->irq_enable)) {    enable_irq(data->irq);    atomic_set(&data->irq_enable, 1); } 

清单 1:MAXM86161 驱动软件代码片段演示了控制器件的基本方法,即将配置数据写入器件的不同寄存器。(代码来源:Maxim Integrated)

如前所述,SpO2 测量遵循 MAXM86161 操作的通用模式,主要是将设置写入器件寄存器,从而设置 LED 电流、采样率、数字滤波器选择、ADC 动态范围等参数。

在为这些设置更新相应的 MAXM86161 寄存器之后,即可定义并立即启动测量序列,方法是将寄存器 0x20 (MAX86161_LED_SEQ_REG_1) 中的 LEDC2 和 LEDC3 字段分别设置为二进制 0010 (LED_IR) 和二进制 0011 (LED_RED),如清单 1 所示。

总结

虽然入耳式健身可穿戴设备支持持续的高精度生物测量,但提出了严格的小尺寸和超低功耗设计要求。如本文所示,Maxim Integrated 的 MAXM86161 生物测量器件提供了监测心率和 SpO2 所需的完整光学数据采集系统,同时其尺寸和功耗保持在入耳式可穿戴设备的限制范围内。

参考文献

  1. Bunn, J., Wells, E., Manor, J., & Webster, M. (2019).Evaluation of Earbud and Wristwatch Heart Rate Monitors during Aerobic and Resistance Training.International Journal of Exercise Science, 12(4), 374–384.

免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。

关于此作者

Stephen Evanczuk

Stephen Evanczuk 拥有 20 多年的电子行业编辑经验,主题涉猎广泛,涵盖硬件、软件、系统以及包括物联网在内的各种应用。他拥有神经网络领域的神经科学博士学位,曾经从事航空航天领域大规模分布式安全系统和算法加速方法方面的工作。目前,他不是在撰写技术和工程文章,就是在研究深度学习在识别和推荐系统方面的应用。

关于此出版商

DigiKey 北美编辑