基于STM32的多功能心电信号监测系统设计

  作者:冯蓉1,杨建华2,赵妤2,吴桐2(1.西安工商学院信息与工程学院;2.西安工业大学电子信息工程学院,西安 710000) 时间:2021-09-29来源:电子产品世界

编者按:为了检测人体心电、运动姿态以及体温生理信息,设计实现了一种基于STM32系列MCU的多功能心电信号监测系统,系统包含心电信号采集模块、体表温度采集模块、运动信息测量模块、无线数据传输模块、系统控制模块。实现对人体心电信号、体表温度信息、走路运动信息的实时采集、计算、显示与无线传输。实验测试可得心率测量相对误差在3%以内,体表温度测量误差绝对值小于0.3 ℃,运动步数记录相对误差小于1%,运动距离记录相对误差小于5%,实验结果表明该设计具有较高的实用价值。

作者简介:冯蓉(1985—),女,陕西延川人,西安工商学院助教,硕士,主要研究方向:计算机应用、电子技术应用。E-mail:283841921@qq.com。

0   引言

随着人们物质生活水平的提高,人们对身体健康问题越来越关注,而人体的生理信号作为临床诊断和健康监护的重要参考依据,对现代医疗和人体保健有着重要意义[1],因此人们对便携式、智能化、穿戴式电信号采集系统的需求日益增加,然而,医院的心电监护仪等仪器设备虽然精度高、功能全,但是一般价格昂贵,体积庞大,不适合作为日常健康保健监测装备。许多学者对相关理论和应用技术不断进行研究探索,刘恒等设计基于单导联的实时心电监测系统,应用了数字卡尔曼滤波和迭代滤波方法,克服了心电检测信号的基线漂移和低频噪声干扰等问题[2],王睿等设计了低成本高精度单导联心电信号采集电路[3],江涛设计了一种基于MSP430单片机的心率测量仪,充分利用了MSP430 处理器低功耗的特点[4]。梁嘉琪等设计了家用心电信号检测系统设计,用LabVIEW 软件实现上位机的实时存储、显示等功能[5]。也有学者基于Android 平台设计多生理参数监测系统,实现将智能手机与人体生理参数监测相结合[6]。刘昕等研究了运动状态下的智能远程心电监测预警系统,具有运动状态识别、心电分级预警、远程无线传输等功能[7]。杨妮等基于LabVIEW 对心电信号进行了分析[8]。本文基于STM32 处理器设计了多功能心电信号监测系统,实现对人体心电、运动姿态以及体温生理信息的实时采集、计算、显示与无线传输。

1   系统总体方案设计

系统由STM32F103 微处理器模块、ADS1292R 心电采集模块、LMT70 体表温度传感器模块、ESP8266无线WiFi 模块、MMA955L 加速度计模块、系统电源、PC 服务端等组成。STM32F103 作为主控制器实现对人体心电信号、体表温度信息、走路运动信息的实时采集、计算、显示与无线传输。系统总体结构框图如图1 所示。

1632901082855433.png

基于TI 模拟前端芯片ADS1292 组成的心电信号采集模块,完成对心电信号的采集、放大、滤波及24 位高精度AD 转换。STM32F103 微处理器控制读取模块的数字量输出信息,并通过阈值判断统计人体的心率,并驱动TFT 液晶屏显示瞬时心率值,同时将ADS1292心电采集模块的心电波形信号在TFT 液晶屏动态显示,方便使用者观察与读取。STM32F103 微处理器通过控制外置16 位ADC 芯片ADS1115 采集LMT70 的电压信号的数字量信息,并通过校准在OLED 屏显示使用者的体表温度信息。基于加速度传感器MMA9555L 推算运动者的步数与运动距离,并传输到OLED 屏上动态显示温度与运动情况。最后,利用WiFi 模块ESP8266 实现无线传输,在电脑端显示出动态的心电图、体表温度和运动信息。整个前端子 系统都由3.7 V 可充电锂离子(Li-ion)电池供电。

2   系统硬件设计

2.1 心电信号集成模拟前端采集电路设计

本系统模拟前端采用TI 公司的集成芯片ADS1292R,该芯片是2 通道、24 位模拟前端,非常适合于高精度、同步、多通道生物信号的前端检测,芯片片内集成了2个低噪声可编程增益放大器(PGA)和2 个高分辨率ADC,每通道具有灵活的输入多路复用器,此多路复用器可独立连接至内部生成的信号,实现测试、和温度持续断线检测。此外,可选择输入通道的任一配置生成右腿驱动(RLD) 输出信号。芯片功耗低数据传输速率高,单通道功耗只有335 μW,采用5 mm×5 mm、32引脚薄型四方扁平封装(TQFP),工作时的数据速率高达8 kSPS。通过器件内部激励灌电流或拉电流,可在器件内部执行持续断线检测。适合便携式、低功率心电和呼吸信号采集场合使用。集成芯片ADS1292R 的通道1(IN1P 和IN1N)用于采集呼吸信号,通过提取左臂(left arm,LA)和右臂(right arm,RA)两个电极信号,采用阻抗式呼吸检测法获得。通道2(IN2P 和IN2N)用于采集心电信号,ADS1292R 内部右腿驱动电路选择通信号加载在人体上,从而降低共模干扰。心电信号和呼吸信号在芯片内部通过对电磁干扰信号的滤波、可编程放大器6 倍放大以及模/ 数转换器后,再将数字信号输入到单片机进行处理。心电采集前端调理设计电路如图2 所示。

1632901143486613.png

图2 心电采集电路

图2 中外部电路主要包含滤波电路和右腿驱动电路。电路使用阻抗检测的方法,使用高频方波输入到人体,然后经过电路滤波后计算出2 片电极之间的阻抗变化的大小。另外ADS1292R 内部也包含EMI 电路可以对电磁干扰进行滤波。右腿驱动一方面可以去除共模电压,通过放大器反向放大之后输入到人体,另一方面提供了一个电压抬升,将测量电压抬升到(AVDD+AVSS)/2 左右,保证了输入电压是在芯片的检测范围内。

2.2体表温度采集电路

温度采集传感器选用TI 公司的超小型、高精度、低功耗互补金属氧化物半导体(CMOS)模拟温度传感器LMT70。该传感器测温精度在-20 ~ 90 ℃范围内,误差为±0.2 ℃(最大值),工作时电源电流只有9.2 μA左右,热耗散低于36 μW,这种超低自发热特性支持其在宽温度范围内保持高精度。LMT70 具有一个线性低阻抗输出,支持与现成的微控制器无缝连接,非常合适便携式、低功耗、高精度人体体表温度测量。

image.png

体表温度传感器电路如图3 所示, 其中100 nF 的旁路电容吸收电源中可能的高频干扰。考虑到体表温度测量精度要求较高,选用了外置的16 位分辨率的高精度模数转换器ADS1115。ADS1115 具有一个板上可编程增益放大器(PGA),可提供从±256 mV~±6.144 V 的输入范围,从而实现精准的大小信号测量。ADS1115 还具有1个输入多路复用器(MUX),可提供2 个差分输入或4 个单端输入。另外其在连续转换模式流耗只有150 μA,保证了设备的低功耗。ADS1115 与LMT70 的连接示意图如图4 所示。

image.png

2.3 运动信息测量模块

本设计运动信息测量选用飞思卡尔公司(编者注:2015 年被恩智浦半导体收购)的一款计步传感器MMA9553L,它集成了1 个高精度、高分辨率的MEMS 加速度传感器,1 个32 位低功耗嵌入式微控制器(MCU),闪存,和管理其他传感器的专用架构。能够准确统计步数、检测步长,具备阈值检测或唤醒检测功能,非常适合便携式或可穿戴式应用。

2.4 无线传输模块

本设计的无线通信电路选用ESP8266 WiFi 串口模块。从WiFi 接收到数据,串口输出;从串口接收数据,WiFi 输出数据。其有3 种运行模式:串口无线WiFi(COM-AP)模式,串口无线STA(COM-STA)模式,串口无线AP+STA(COM-AP+STA)模式。在程序中设置有各种模式,可自主选择哪种模式。ESP8266 WiFi串口模块电路原理图如图5 所示。

1632901984308685.png

图5 ESP8266电路原理图

3   系统软件设计

3.1 心率的计算

心率的计算需要定位ECG 信号的R 波,通过计算相邻R 波的间期得到心率。给定一段离散心电信号{x(i),i =1, 2,..., N},采样频率为fs (单位:Hz),计算心率的具体步骤如下。

1)设定幅度阈值Ta,从x(1)开始搜索,将x(i)≥Ta的序号i组成序列{a( j)},直到x(N)停止搜索。

2)创建序列{p(k)},令p(1) = a(1)。从a(2)开始搜索,若 a( j) − a( j −1) >1, j≥2,则令 p(k) = a( j −1),p(k +1) = a( j),k≥2。

(3)设{p(k)}含K个元素,则在N / fs 秒内R 波的个数为K / 2,平均心率为:(K / 2) / (N / f ) 60 s × 次/ 分。R 波波峰位置依次为 [ p(k −1) + p(k)] / 2 取整, k≥2,由相邻R 波间期计算瞬时心率。

3.2 系统软件设计

由于系统要实现动态心电图的显示、体表温度和运动信息检测以及在服务端能实时显示各项内容,所以我们的程序主要分为5 个部分:心电检测部分、体表温度测量部分、运动信息检测部分、无线通信和液晶显示。通过主程序调用不同的子模块来实现相应功能。系统软件结构框图如图6 所示。

1632902282789197.png

心电信号的检测与处理是系统的核心部分,该部分的软件流程图如图7 所示。

image.png

图7 心电检测软件流程图

4   系统测试

4.1 系统测试

首先使用心电信号模拟发生器作为信号源,测试心电信息。然后选择被测者坐姿为端坐时的心电信息然后与心率测量仪产品比对测量结果。对于体表温度检测,从LMT70 得到的原始数据,由于其与实际温度有一定的偏差,于是根据不同的温度段来由不同的拟合曲线来校正,因此校正以后传感器所测温度得到很大程度改善。采用了温度范围为0 ~ 100 ℃的酒精温度计来作为实际标准温度对系统进行测量比对。对于运动情况,加速度传感器MMA955L 通过串口经过处理可以输出步数,再根据步频、身高、性别等来估计出一步的步距,进一步计算出走路的距离。无线通信部分,将心电信号模块作为WiFi 热点,与温度运动模块和计算机客户端组成通信网络实现心电信号波形、体表温度、步数及距离的实时传输与显示。图8 是体表温度测量时的温度拟合曲线。

1632902409337912.png

图8 体表温度测量拟合曲线

4.2 测试结果

心电采集部分,在实验室对使用者进行20 次测试,心电输出波形如图9 所示,心率数据如表1 所示,心电输出信号波形稳定,心率相对误差在3% 以内。

1632902488879453.png

图9 心电信号采集输出波形

表1 心率实验测试

1632902562592734.png

对3 名使用者多次重复测试掌心与腋下温度,以实验室0~100 ℃的酒精温度计为参考标准,温度平均误差约为0.3 ℃。使用者在佩戴好测试设备后,在实验室5 m 长的走廊上来回走步运动测试,测试运动步数记录相对误差小于1%,运动距离记录相对误差小于5%。

5   结束语

针对目前生理参数监测系统智能化、便携式、可穿戴的趋势特点,本文基于成熟集成电路芯片结合部分外围电路和嵌入式系统软件设计了多功能心电信号监测系统,可以完成对人体心电、运动姿态以及体温生理信息实时采集、计算、显示与无线传输。系统具有精度高、性能稳定、使用方便、成本低等特点,可为生理信息等微弱信号采集、监测、处理等方面的研究与开发提供有益参考。

参考文献:

[1] 于秉利,李鑫,孟峥,等.人体生理信息检测与无线实时传输系统研究[J].单片机与嵌入式系统应用,2020(10):80-85.

[2] 刘恒,吴朝阳,徐佳棋.一种实时心电监测系统设计[J].现代电子技术,2018,41(22):98-102.

[3] 王睿,李欣,曹慧斌,等.低成本高精度单导联心电信号采集电路设计[J].吉林大学学报(信息科学版),2020,38(5):563-566.

[4] 江涛.基于MSP430心率测量仪的设计与实现[J].电子测量技术,2018,41(13):129-132.

[5] 梁嘉琪,邙强,何理,等.家用心电信号检测系统设计[J].电子测量技术,2020,43(2):162-166.

[6] 王娟,郭亚龙,鲍丙豪.基于Android平台的多生理参数监测系统设计[J].传感器与微系统,2019,38(5):107-110.

[7] 刘昕.运动状态下的智能远程心电监测预警系统设计[J].单片机与嵌入式系统应用,2018(3):75-79.

[8] 杨妮,尚宇.基于LabVIEW的心电信号分析系统设计[J].电子设计工程,2019,27(3):36-39.

[9] 竺春祥,陈阮,蔡虎,等.基于ZigBee 网络可穿戴生理参数监测系统[J].生物医学工程研究,2019,38(1):111-114.

[10] 庞宇,汪立宇,陈亚军.基于SJA与包络峰值提取的9波检测算法[J].计算机工程与设计,2020,41(10):2797-2801.

[11] 黄博强,庞宇,彭良广,等.一种生命体征信号采集装置设计[J].传感器与微系统,2018,37(3):103-107.

(本文来源于必威娱乐平台 杂志2021年9月期)

image.png


关键词: 202109 心电信号 STM32 无线传输 运动信息

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版