MSP430的低功耗人体生理参数综合测量仪
扫描二维码
随时随地手机看文章
引言
当今社会人们越来越关注医疗卫生和保健,敬老院、学校、部队等集体单位体检时,身高、体重、心率、肺活量等基本生理参数的测量大多是分开进行或部分合在一起测量,并且这些测量仪器体积较大、操作繁琐且精度不够,在很大程度上浪费了人力、物力、财力和体检时间。因此,有必要利用现在成熟的电子技术,运用微控制器强大的运算、处理和控制能力,设计一款低功耗综合性的测量仪。
本文采用MSP430F5529单片机作为主控制器,利用各个生理参数测量传感器,提出了一种低功耗综合体质测量仪的设计方案。
1 系统总体硬件设计
作为仪表类设计,系统的测量精度和功耗是主要考虑的因素,因此选用了MSP430F5529单片机和相应高精度低功耗器件。
系统硬件结构框图如图1所示。
1.1 主控制器
MSP430F5529是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址),简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;具有高效的查表处理指令,这些特点保证了
单片机可编制出高效率的源程序。其能在25 MHz晶振的驱动下,实现40 ns的指令周期。16位的数据宽度、40 ns的指令周期以及多功能的硬件乘法器(能实现乘加运算)相配合,能实现数字信号处理的某些算法(如FFT等),内部具有12位的A/D转换器,速度快、精度高。它在降低芯片的电源电压和灵活可控的运行时钟方面设计出色,具有超低功耗。
1.2 身高检测模块
身高检测模块采用WF20D电阻式位移传感器,独立线性公差为精密级±0.1%,拉线长度为1000 mm,外形小巧、坚固耐用、安装方便,通过该传感器可以将身高物理量转换成电阻值。电路原理如图2所示,利用稳压管TL431产生2.5 V基准电压给拉线电位器供电,同时接入单片机A/D转换器通道1,拉线电位器输出端接一跟随器之后,再经过RC低通滤波电路接入单片机A/D转换器通道2,这样设计有助于消除A/D转换器的转换误差并可有效抑制温漂,在接下来的软件设计中会有身高测量值的具体计算方法。
1.3 体重检测模块
体重检测模块的传感器为HX—Z系列双孔悬梁形式压力传感器,其量程为200 kg,精度为0.01 kg,误差±0.05kg。该传感器精度高、结构简单紧凑、抗偏载能力强。
为了提高测量精度,使用外置24位A/D转换电路HX711,HX711是一款专为高精度电子秤而设计的24位A/D转换器芯片,集成了包括稳压电源、片内时钟振荡器等外围电路以及低噪声可编程放大器,具有集成度高、响应速度快、抗干扰性强等优点,降低了测量仪的整机成本,
提高了整机的性能和可靠性。设计中通过编程设置放大倍数为64,对应的满额度差分输入信号幅值分别为±40 mV。芯片内提供的稳压电源可以直接为外部传感器和芯片内的A/D转换器提供电源,系统板上无需另外的模拟电源。芯片内的时钟振荡器不需要任何外接器件,上电自动复位功能简化了开机的初始化过程,芯片与MCU通过I2C总线串行通信,接口简单方便。体重检测模块电路图如图3所示。
1.4 肺活量检测模块
肺活量检测模块采用高精度MPX系列硅压力传感器MPX5010,MPX系列是电压输出型压力变送器模块,采用压力传感器作为敏感元件并集成了数字调理芯片,对传感器的偏移、灵敏度、温漂和非线性进行数字补偿。其内部集成了信号放大电路,传感器测压范围为0~10 kPa,满量程电压为5 V,具有集成度高、体积小、精度高、抗干扰能力强、功耗低、温度范围宽等卓越特性。采用MSP430内部12位A/D转换器进行采样,对气体流动压力进行软件积分即可测量出人体呼气的流量,经过标定从而计算出人体肺活量。
1.5 心率检测模块
心率检测采用HKG—07系列传感器,该传感器利用红外线检测,由于心脏跳动而引起的手指尖内微血管容积发生的变化,经过信号放大、调理、整形输出同步于脉搏跳动的脉冲信号(如图4所示),经过单片机简单计算即可得到心率数值。该产品采用高度集成化工艺,将力敏元件(PVDF压电膜)、灵敏度温度补偿元件、感温元件、信号调理电路集成在传感器内主要用于临床上心率的计数、监测等。
1.6 实时日历时间模块
采用美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片DS1302。它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768 kHz晶振,工作电压为2.5~5.5 V,采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。日历时间模块电路图如图5所示。
1.7 打印机接口和RS232通信接口
设计中选择具有串口通信功能的MP-320T热敏微型80 mm小票据打印机,按下打印按键时,MSP430将日期时间和各项测量的参数通过串口发送给打印机进行打印。
2 软件程序设计
该系统采用MSP430为主控制器,利用C语言进行编程,简单明了,结构紧凑。
2.1 主程序设计
系统上电初始化之后,显示时间和日期等信息,等待各被测者生理参数的测量。程序主流程图如图6所示,在主循环中实时读取各参数的值进行实时显示,待测数据稳定之后单片机自动将数据装入数组u32 LAST_Data[],数据格式为测量编号、日期时间、身高、体重、肺活量、心率、血压,每个数据各占4个字节。
2.2 各模块子程序设计
在各个参数测量中,为了减小误差采用了均值滤波,在测量身高的时候同时将2.5 V基准电压接入单片机A/D通道1,身高传感器(拉线电位器)的输出电压接入单片机A/D通道2,转换之后分别得到数字量H_Data_refer和H_Data。选用的身高传感器量程是100~200 mm,实际身高为H_Real=(1000×H_Data/H_Data_refer+1000),可精确到2 mm。
肺活量测量时,采样周期为5 ms,具体为采用定时器定时5 ms,每5 ms进入一次服务程序,对传感器前后两次输出的数值进行对比,当差值大于最小临界点时即自动开始对传感器气流压力进行软件积分,每5 ms累积一次,然后当小于最小临界点时判断测量完毕并停止积分。经过标定即可得到最终肺活量的数值。
心率检测传感器已经把心率信号调理成同步脉冲,利用定时器外部脉冲触发,上升沿到来使能定时,为了减小误差,累计10次上升沿的时间,心率计算公式为H_Rate=60×10/(T2-T1)。
程序分模块设计,各模块调试、参数标定、精度调节分开进行,软件系统具有很大的灵活性。
结语
选取5组被测者对本测量仪的测量精度进行测试。通过现有机械式和在售的分立式电子测量仪所测数据进行对比和分析。测试结果对比如表1所列。
身高测量中由于读数等存在误差,使得该测量仪器和实际测量存在≤5 cm的误差可能性;体重对比测量时,由于机械式体重表本身精度就不高,测量数据具有 ≤0.5 kg的误差;在肺活量测量时采用市场在售的电子式肺活量测量仪进行对比测量,无法保证同一被测对象两次肺活量完全相同,也无法保证被测对象两次的吹气速度,这使得测量结果具有≤60 mm的误差。心率对比测量采用人工方法,由于起始和结束时间的掌握不准使得结果存在±2最大误差。同时,还对同一被测对象进行重复测量,结果表明本测量仪具有较高的测量精度和稳定性。