《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 腕带式无线心率检测仪设计
腕带式无线心率检测仪设计
2017年微型机与应用第4期
周岳斌1,2,杨凯1,陈家顺2,3
1. 湖北文理学院 机械与汽车工程学院,湖北 襄阳 441053;2. 汽车零部件制造装备数字化湖北省协同创新中心,湖北 襄阳 441053;3. 武汉科技大学 机械自动化学院,湖北 武汉 430081
摘要: 心率是衡量人体健康的重要生理指标。为了快捷有效地检测心率数据,设计了一种基于低功耗STC15L2K60S2单片机的腕带式无线心率检测仪。采用反射式光电传感器SON1303检测心率信号,通过硬件电路进行模拟信号处理后,单片机运行软件程序完成心率计算和数据处理,并借助CC2540蓝牙模块实现与上位机的无线通信。上位机软件基于LabVIEW编写,可进行心率数据的监控和管理。腕带式佩戴方式和可充电锂电池供电对于心率检测更具便携性和实用性。样机测试表明,该设计具有良好的响应速度和准确性,适合在家庭和办公场所使用。
Abstract:
Key words :

  周岳斌1,2,杨凯1,陈家顺2,3

  (1. 湖北文理学院 机械与汽车工程学院,湖北 襄阳 441053;2. 汽车零部件制造装备数字化湖北省协同创新中心,湖北 襄阳 441053;3. 武汉科技大学 机械自动化学院,湖北 武汉 430081)

       摘要心率是衡量人体健康的重要生理指标。为了快捷有效地检测心率数据,设计了一种基于低功耗STC15L2K60S2单片机的腕带式无线心率检测仪。采用反射式光电传感器SON1303检测心率信号,通过硬件电路进行模拟信号处理后,单片机运行软件程序完成心率计算和数据处理,并借助CC2540蓝牙模块实现与上位机的无线通信。上位机软件基于LabVIEW编写,可进行心率数据的监控和管理。腕带式佩戴方式和可充电锂电池供电对于心率检测更具便携性和实用性。样机测试表明,该设计具有良好的响应速度和准确性,适合在家庭和办公场所使用。

  关键词:心率;蓝牙;传感器;无线

  中图分类号:TP212.3文献标识码:ADOI: 10.19358/j.issn.1674-7720.2017.04.030

  引用格式:周岳斌,杨凯,陈家顺.腕带式无线心率检测仪设计[J].微型机与应用,2017,36(4):99-102.

0引言

  *基金项目:襄阳市研究与开发计划项目(襄科计[2014]12号/14);汽车零部件制造装备数字化湖北省协同创新中心开放课题项目(hbuascic2014017);湖北文理学院博士科研基金资助项目目前,心血管疾病已成为城乡居民死亡的首要病因[1]。作为人体最重要的器官之一,心脏一旦出现问题就会危及生命。心率是衡量心脏健康的重要生理指标,具有重要的临床诊断价值和实用意义。专业的医疗监护仪可以实时监测患者心率、血压等各项数据,但其线缆和辅助器械较多,使用复杂,费用昂贵,不适于日常普及使用。目前市场也有一些手环类智能产品具备心率检测功能,但加入过多与智能手机重复功能,使用复杂,实用性不强,成本也较高。为此,本文设计了一种便于携带、具有良好的灵敏度和响应速度的腕带式心率检测仪,内置蓝牙模块无线传输数据,可与PC或其他蓝牙设备互连,适合在家庭和办公场所使用。

1系统总体设计

001.jpg

  系统总体设计如图1所示。心率传感器采集心率信号,经光电转换输出为电信号,再由信号处理电路对该电信号进行滤波整形,转换为可供微处理器识别的脉冲电平信号;微处理器读取外设信号,进行数字信号处理和运算;按键电路向微处理器传递操作信号,显示电路可实时显示心率数据及时间等信息;蓝牙模块实现无线连接,系统可与上位机进行数据通信。上位机可对接收的数据进行处理、显示和保存。电源电路为系统供电,采用可充电锂电池,通过USB接口充电。

2系统硬件设计

  2.1心率传感器

  用于心率检测的传感器较多,对心率测试部位有不同要求[2]。如图2所示,本设计采用SON1303反射式光电传感器检测心率信号,其内部有两对LED发光管和接收管,由发光管提供绿色光源,可照射人体皮肤,接收管接收人体皮肤反射回来的光。SON1303采用570 nm波长的绿光,与红外光相比反射率更高,测量感度更高,同时也可提高信噪比。其内部集成纳米涂层环境光检测传感器,过滤不需要的光源,可减少由其他光源干扰的误判动作。人体组织充血时的透明度减小,接收管接收到的光强度减弱,人体组织缺血时的透明度减大,接收管接收到的光强度增强[3]。SON1303接收的反光信号后经内部电路放大,由VOUT引脚输出电压信号。电阻R2、R3起限流保护作用,电阻R4用于VOUT引脚的下拉钳位。SON1303可输出与心跳频率一致的电压信号。

 

002.jpg

  2.2信号处理电路

  通常情况下,心率信号近似成周期性,但不是确定的周期性信号,信号频率较低,容易引入干扰[4]。心率传感器输出是毫伏级信号,需要通过信号处理电路转换为可供微处理器识别的脉冲信号。

  信号处理电路采用3个SON221运算放大器构成整形放大电路。心率传感器输出的信号先由前级运放U5放大,再经中级运放U6构成的电压跟随器送到电阻R10和电容C7组成的低通滤波器,滤除高频杂波,作为后级运放U7的反向输入电压,U5的输出电压经电阻R9接入U7同相输入端,构成比较器电路,使输出波形整形成TTL电平输出。

  2.3微处理器

  如图3所示,微处理器采用STC15L2K60S2单片机,其工作电压为3.3 V,无需外部晶振和复位,片内有大容量程序存储器,并集成有两个独立串口和8通道高速ADC。其P3.5引脚为定时器1外部计数输入引脚,与信号处理电路的输出信号OUT1连接,OUT1每产生一个低电平到高电平的跳变信号,微处理器就会触发定时器1中断,记为一次心跳。微处理器的P1.7引脚连接信号处理电路的信号OUT2,通过内部ADC通道可直接读取OUT2的电压数据。

003.jpg

  2.4显示与按键电路

  显示电路采用分辨率为128×32的OLED显示屏,采用内部升压方式供电,工作电压兼容3.3 V和5 V。OLED显示屏无需背光,功耗小,对比度高,在待机模式下不显示,按键时显示时间或相关操作信息,与微处理器采用3线SPI方式连接。

  按键电路采用三键式设计,一个功能建,两个方向键:左键和右键。长按功能键可进入功能选择菜单,两个方向键可进行功能选择和参数调整,再次长按功能键退出。

  2.5蓝牙模块

  蓝牙模块采用以TI公司CC2540芯片为基础开发的蓝牙4.0串口透传模块,具有传输距离远、稳定性高等特点。微处理器与CC2540相连,作为蓝牙通信的主机,CC2540的P0.2和P0.3引脚为串口数据的接收和发送引脚,分别连到微处理器的P1.1和P1.0引脚。CC2540的P1.0为工作状态输出引脚,P1.1为连接状态输出引脚,分别连到微处理器的P3.3和P3.4引脚,微处理器读取这两个引脚的状态就可获取CC2540的工作状态与连接状态。

  PC或其他蓝牙设备都可作为上位机与心率检测仪进行通信,PC需要提供蓝牙接口作为蓝牙通信的从机。如果PC没有蓝牙接口,可采用图4所示方案,将USB总线转换芯片CH340G的串口与CC2540全双工连接,就可实现PC的USB接口与蓝牙接口转换[5]。

004.jpg

  2.6电源电路

  为降低功耗,系统采用可充电锂电池加3.3 V稳压输出供电,如图5所示,锂电池通过MiniUSB接口充电,利用恒流/恒压线性充电芯片CH4054进行充电管理。CH4054内部采用防倒充电路,可对充电电流自动调节并自动控制充电过程[6]。锂电池输出电压采用DC/DC芯片MIC5207保持电压稳定为3.3 V。

 

005.jpg

3系统软件设计

  3.1主程序设计

  系统主程序流程如图6所示,首先进行系统初始化,包括OLED显示屏、定时器、计数器、ADC、串口等初始化。系统进入连续测量状态有两种方式,一种是按键选择进入测量功能菜单;另一种是在串口中断服务程序中,由微控制器识别上位机通过蓝牙发送的连续测量指令。显示屏初始显示时间,长按功能键时显示功能菜单,通过方向键选择不同功能,使用功能键进行确认,再调用按键处理子程序完成相应的功能和设置,如时间调整、心率电压显示、蓝牙数据发送等。 

006.jpg

  3.2显示程序设计

  OLED显示屏内置一块驱动芯片SSD1306,根据其数据手册提供的驱动流程和指令参数可编写OLED显示屏的初始化程序。OLED屏的显示是以点为基础,屏幕画点需要确定点的坐标。由于分辨率为128×32,因此以0为起点,X轴最大值不超过127,Y轴最大值不超过32,可定义一个静态数组存储点的位置信息,当所有需要显示的数据位置信息存储后,将其通过微处理器SPI接口写入SSD1306,就可更新OLED屏的显示内容。

  3.3蓝牙通信程序设计

  由于程序调试和下载占用了串口1,因此微处理器与蓝牙模块CC2540的连接选择串口2。串口初始化首先需要选定串口号为2,然后设置工作方式,最后设定波特率并使能串口2中断。

  当串口2产生中断时,系统执行串口中断服务子程序,判断接收或者发送标志并通过软件清零标志位。如果接收标志位置1,则读出串口缓存器中数据,再对读取的数据进行判断分析,执行相应操作。如果发送标志位置1,则准备发送数据。微处理器通过串口2与CC2540进行数据传输,借助CC2540可实现与上位机或其他蓝牙设备的无线通信。

  3.4中断程序设计

  定时器T0设为16位自动重装的定时方式,时钟源选择内部11.059 2 MHz晶振,中断周期为50 ms。在T0的中断服务子程序中进行时、分、秒计时,用于时间显示和心率计时。定时器T1设为8位自动重装初值的计数方式,T1的中断服务子程序对信号处理电路输出的脉冲信号OUT1计数,用于计算心率。

  3.5上位机程序设计

  上位机程序采用LabVIEW编写,可实时显示、存储心率数据和波形。设计采用while循环来使程序连续执行,在前面板设有停止开关连接while循环的停止接口可实现程序停止。虚拟仪器软件体系结构(Virtual Instruments Software Architecture, VISA)是LabVIEW提供的标准I/O应用程序接口,利用VISA可进行串行通信编程。LabVIEW将VISA节点单独组成一个子模块,共包含8个节点,分别实现初始化串口、串口写、串口读、中断以及关闭串口等功能[7]。在while循环内部,用一个10 ms的定时器作为循环定时,避免影响串口数据的传送。由于串口数据为十六进制字符,需要一个十六进制字符转数值的程序块来完成串口数据转换,供波形显示器显示时调用。

4仿真与测试

  信号处理电路是本设计的关键,为验证其正确性,利用Multisim软件对电路进行仿真分析[8]。仿真结果表明,信号处理电路的后级输出可将心率信号转换为标准的TTL电平输出,适合微处理器读取外部计数I/O电平,能够满足设计需求。随后完成样机制作,并进行了系统测试。通过数字示波器观测信号处理电路前级滤波放大输出的波形比较规整,虽有一定杂波干扰,但不影响数据的准确性。经过后级整形放大,输出的波形比较理想,完全满足微处理器读取外部计数I/O的TTL电平要求。

  在确认心率传感器和信号处理电路工作正常后,逐步测试了系统的OLED显示、按键处理、蓝牙通信、上位机监测等功能,测试结果表明上述功能均能有效运行。上位机与系统通过蓝牙连接后,可准确测量心率,实时显示心率走势图,并可将心率数据以Excel或图形文件形式输出保存。

5结论

  本文设计了一种腕带式心率检测仪,硬件设计以STC15L2K60S2单片机为核心,心率信号检测采用反射式光电传感器SON1303,准确度高,测量方式自由。采用与目前主流便携设备一致的可充电锂电池供电方式,内置CC2540蓝牙模块,可与其他蓝牙设备进行无线通信,便于上位机进行心率数据监控和管理。设计具有良好的灵敏度和响应速度,对于人体心率的监测十分便利和有效,可推广应用于其他可佩戴式电子产品和测量仪器,具有较好的实用价值。

参考文献

  [1] 游菡萏,房玉,王海滨,等.基于PSoC4 的可视化心音采集系统[J].电子技术应用,2016,42(4):81-84.

  [2] 郑诚,余珊南,祝永华,等.一种基于ARM的便携式心率监测仪的设计[J].微型机与应用,2014,33(5):27-29.

  [3] 周秦武,隋芳芳,白平,等.嵌入式无接触视频心率检测方法[J].西安交通大学学报,2013,47(12):55-60.

  [4] 蒋哲.数字式胎儿心率检测系统的设计与实现[D].昆明:云南大学,2014.

  [5] 韦立明.基于USB通信设备类的虚拟串口研究与设计[D].西安:西安电子科技大学,2013.

  [6] 杨越.低功耗心率检测仪设计[J].电子产品设计,2014(12):10-13.

  [7] 胡异丁,王林福,李少鹏,等.基于LabVIEW的无线心率测量系统[J].电子技术,2014(3):63-64,62.

  [8] 梁俊虎.模拟电路仿真中建模技术研究[D].北京:北方工业大学,2014.


此内容为AET网站原创,未经授权禁止转载。