基于STM32,设计出可以戴在手腕上的低功耗穿戴式心率计
扫描二维码
随时随地手机看文章
引言
心血管疾病是威胁人类生命健康的严重疾病,且发病年龄呈现年轻化的趋势。随着人们健康意识的增强,自我保健的需求不断增长,医院中精度高但使用不便的心电图仪已不能满足人们对心脏进行日常监护的需求。因此基于光电容积脉搏波(Photo-Plethysmography,简称PPG)技术的可穿戴式心率测量设备被广泛应用于心率监测领域。虽然市面上已有多种便携式心率仪,但大部分不能在人们进行日常活动时应用,只能进行短时间段的监测,不能有效抵抗运动干扰。夹于耳垂或头戴式的测量设备也不利于用户体验。
基于以上考虑,本文以STM32L152CB为控制核心,设计出了一款可以戴在手腕上的低功耗穿戴式心率计,设备体积小、携带方便、抗干扰能力强、测量精度高,可以在不影响使用者日常活动的情况下长时间、实时地测量心率,有助于对心血管疾病的预防和及时发现。
1、系统设计
1.1、硬件设计
硬件电路主要包括6个单元模块:电源系统模块、PPG信号检测传感单元模块、信号放大及滤波电路,加速度传感器、低功耗蓝牙4.0通信模块和微控制器。整个硬件嵌入可通过弹性腕带佩戴在手腕上,通过与上位机(如智能手机等)通信,将测量的数据传送给上位机处理及显示,系统结构如图1所示。
图1 心率计系统结构图
由于穿戴式设备对体积和重量的严格要求,设计的穿戴式心率计采用型号为LIR2450的可充电式锂离子纽扣电池作为电源。红外光源产生及控制电路的作用是提供PPG技术需要的波长稳定且光强可控的红外光源,采用红外光源模块SFH4050,并由微控制器产生的PWM波控制其开通或关闭。PPG信号I/V变换电路将光电传感器BPW34S感应到的微弱电流PPG信号转换成较大的电压信号,为了解决PPG信号中直流分量放大会导致运算放大器饱和的问题,采取将该单元电路的输出经低通数字滤波后反馈到输入端以抵消直流分量的措施。由于经I/V变换电路放大后的PPG信号幅度不足以被以有效精度采集到STM32L152CB中,需要对PPG信号进行二级放大。为了消除直流分量对交流分量放大的影响,采用了差分放大电路结构并同时对PPG信号进行了低频滤波。
1.2、软件设计
穿戴式心率计系统的软件架构如图2所示。初始化配置好ADC、DAC、SPI、I2C、三轴加速度等外设的工作模式后,调整定时器输出的100kHz的PWM波的脉宽,使光源电路电流稳定为20mA,设置一个定时周期10ms的自动重装载模式的定时器并使其中断,然后使微控制器(MCU)进入低功耗睡眠模式。定时器将每隔10ms唤醒一次MCU,随后MCU执行图2中所示10ms定时器的中断程序,完成对PPG信号I/V转换电路输出的低通滤波。为了使PPG信号电压放大电路与I/V转换电路间的信号同步,使用2ms定时器中断唤醒MCU并执行图2所示的2ms定时器中断程序,完成心率的计算并通过蓝牙4.0输出到上位机,随后MCU再次进入低功耗睡眠模式,等待10ms定时器唤醒。
图2 系统软件架构图
1.2.1、消除PPG信号中运动干扰噪声原理
应用自适应滤波器消除PPG信号中运动干扰噪声的原理如图3所示。图中a(t)是三轴加速度计检测到的被测部位t时刻的加速度,将其作为自适应滤波器的输入信号。将含有噪声的PPG信号y(t)与ω赞(t)的差y赞(t)作为误差信号反馈到自适应滤波器,使自适应滤波器不断调整系数以使其输出ω赞(t)更加接近噪声信号ω(t),也相当于是自适应滤波器的结构h赞(t)更加接近物理模型h(t)。即经自适应滤波系统滤波后输出的误差信号y赞(t)可作为相对准确的脉搏波信号用于提取心率值。
图3 自适应滤波法消除PPG信号中运动干扰噪声原理图
1.2.2、变步长LMS自适应滤波算法
在自适应最小均方误差(LeastMeanSquares,LMS)算法中,要使误差信号的最小均方值E[e2(k)]最小,即自适应滤波器输出y(k)越接近期望信号d(k),步长因子μ的选择是一个关键问题。理想的情况是:在自适应过程开始时,在收敛值范围内,取较大的μ,以使系数向量快速向最优解逼近;当系数向量快逼近到最优解时,取较小的μ,减小稳态失调误差[8-9]。可以基于这种改变步长因子大小的思想改进LMS算法。改进的LMS算法如下:
1.3、低功耗设计
本系统的低功耗主要体现在以下几方面:选用超低功耗的STM32L152CB微控制器,动态改变微控制器的时钟及工作模式;根据执行任务的不同,通过内部寄存器设置微控制器和各个外设工作在不同的时钟频率;通过定时器中断自由切换微控制器的工作模式,即高速运行状态和低功耗睡眠模式,有效降低其功耗;采用低功耗蓝牙4.0作为数据收发模块等。