基于MSP430单片机的电子血压计的设计
2012-03-17周昆鹏
周昆鹏
(内蒙古民族大学 物理与电子信息学院,内蒙古 通辽 028000)
血压是反映心血管系统状态的重要的生理参数,合适的血压是维持人体正常新陈代谢的必要条件。随着人民生活水平的不断提高以及城市老龄化比例的提高,人们自我保健意识逐渐增强,医疗检测设备的家庭化逐渐成为了趋势,其中家用血压计就是典型的家庭医疗检测设备之一。电子血压计具有低成本、小型化、自动化程度高等优点,如今电子血压计在使用上有便携和易操作的特点,作为家庭必备的保健用品,倍受人们的青睐[1]。
以往的电子血压计一般采用传统的单片机进行控制,电路比较复杂,功耗较高,大多在放气过程中测量血压,稳定性不好。文中提出的基于MSP430超低功耗单片机的电子血压计在充气过程中来完成血压的测量,比基于传统单片机的电子血压计有更高的稳定性和精度、更低的功耗,而且设计周期短、操作更加灵活。
MSP430系列单片机是美国德州仪器(TI)推出的一种16位超低功耗、具有精简指令集 (RISC)的混合信号处理器(Mixed Signal Processor)。称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片”解决方案。该系列单片机多应用于需要电池供电的便携式仪器仪表中[2]。
1 人体血压测量原理
1.1 血压测量
血压测量方法有很多,最常用的无创血压测量方法为柯氏音法和示波法。示波法目前在血压测量占据了主要地位,它的测量原理和柯氏音法有相似之处,传统的电子血压计均是在放气过程中测量血压的,而本文设计所采用的是基于充气的示波法,该方法是放气测量的逆过程,如图1所示。在压力增加(充气)过程中,检测静压力和袖带内气体的振荡波,振荡波起源于血管壁的搏动。压力较小时,在袖带静压力小于舒张压Pd之前,动脉管壁在舒张期已充分扩展,管壁刚性增加,因而波幅维持在较小的水平。随着压力的增加,当袖带压力高于收缩压PS时,动脉被压闭,此时因近端脉搏的冲击而呈现细小的振荡波;当袖带静压等于平均压时,波幅达到最大值;振荡波的包络线所对应的袖带静压力就间接地反映了动脉血压。幅度系数法又称归一法,是示波法中判定收缩压和舒张压的一种常用方法。它是将脉搏波振动信号的幅值与信号的最大幅值相比进行归一化处理,通过确定收缩压和舒张压的归一化系数来识别收缩压与舒张压的方法[3]。文中就采用该方法来测量血压。
图1 基于充气的示波法测量原理Fig.1 Oscillometricmethod measuring principle diagram based on inflated
1.2 心率计算
心率指心脏每分钟搏动的次数,由于心脏与脉搏搏动一致,所以在测量血压的同时可以测得心率。心率的测定关键判断脉搏波的峰值,然后根据在一定时间内测定有多少个脉搏波,从而计算出心率。
2 电子血压计系统的硬件设计
2.1 总体硬件电路设计
电子血压计系统的硬件设计框图如图2所示。
图2 系统总体结构框图Fig.2 Diagram of the overall structure of the system
2.2 压力测量电路
2.2.1 压力传感器选型
本设计的压力传感器选择的是Motorola公司生产的MPXV5050GP压力传感器。该传感器的压敏电阻采用离子注入工艺光刻在单个硅膜片上,同时采用先进的激光修正技术和温度补偿技术,使得该传感器的精度极高,具有广泛的应用范围。MPXV5050GP压力传感器内置运算放大器,使得其模拟输出电压正比于所测得的压力值和其正常工作的偏置电压,使具有信号调节功能,有良好的线性度,可以直接将动脉血液对血管壁的压力转换为0.2~4.7V的电信号,对应的血压值为0~375mmHg,与血压计的设计要求非常匹配。并且可以直接与A/D转换器接口,以便进行数字化处理[4]。由于MPXV5050GP具有上述特点,因而由该压力传感器构成的电子血压计测量系统具有电路简单、性能稳定、使用方便的特点。
2.2.2 传感器输出信号的提取
从压力传感器出来的信号是脉搏波的振荡信号和静压力信号的混合信号,还夹杂着来自外界的高频干扰、直流或低频分量。我们将混合信号分为两个部分,一部分直接送入MSP430单片机内部的A/D转换器进行A/D转换,从而提取出静压力信号,另一部分则通过带通滤波、放大电路,得到放大的脉搏波数据后再送入A/D转换模块。静压信号属低频信号,频率小于等于0.04 Hz,脉搏波信号一般约为1 Hz左右。虽然所选的压力传感器有放大功能,但其对脉搏波振荡信号的放大能力有限,因此传感器输出信号主要还是静压力信号。还将脉搏波信号经过滤波、放大处理后,使其最大幅度尽量接近单片机内部A/D转换模块的允许上限(这里采用单片机内部2.5 V的参考电压),这样有助于提高采集数据的精度。
由于需要对静压信号和脉搏波信号分别进行A/D转换,因此需要两个采样通道。人体的臂动脉血压,收缩压一般在95~140 mmHg 范围内,平均值为 110~120 mmHg,舒张压为60~90mmHg,平均值为 80mmHg,考虑到高血压等疾病情况,血压计的测量范围应该在0~250mmHg内,则对A/D转换器的要求至少为8位(28=256)。MSP430单片机内部自带8路12位硬件A/D转换器,具有较高的转换速率,最高可达200 kbps,能够满足大多数数据采集应用。
本系统设计了带通滤波电路来截取脉搏波信号,如图3所示。该带通滤波器由一个高通滤波器和一个低通滤波器串联组成,都选用二阶有源滤波电路,这样能更加有效的滤除压力传感器输出信号中的干扰信号,而保留所需频带范围内的有用信号,以保证系统的测量精度,滤波器所用到的运算放大器采用LM324芯片。考虑到低血压患者的血压、心率比正常人低,又保证能滤除干扰分量,这里设定滤波器的频率通带范围为0.6~6.4 Hz。此滤波器是经过简化的,这样做的目的是可以尽量减少对误差的放大[5]。
图3 信号滤波电路Fig.3 Signal filter amplifier circuit
经过带通滤波器输出来的压力信号就可以称之为脉搏波信号了,但脉搏波信号的幅值较小,文中设计了一个增益可调的放大电路,通过这个放大电路,可以将所测得的脉搏波信号幅值调整到尽量接近模数转换器的允许上限。该放大电路如图4所示。
实验表明,本滤波放大电路能够很好地提取出脉搏波信号并提供给A/D进行转换。
2.3 键盘电路与显示电路
图4 信号放大电路Fig.4 Signal amplification circuit
本系统用1个按键作为系统复位/唤醒开关,5个按键作为系统操作键盘,分别完成测量血压、查看记录、上翻记录、下翻记录和删除记录的功能。显示部分采用的是128×64点阵LCD显示器,能显示图形以及中文,与微处理器接口方便。具有操作简便,界面友好的特点。
2.4 系统电源电路设计
该系统涉及到两种电源,一种是为MCU等低电压工作的器件提供能量的电源,电压值为3.3 V,另一种为为外围电路高电压工作的器件提供能量的电源,电压值为5 V。考虑到气泵以及电磁阀在工作时耗电量较大,这里选用输出电压为5 V的微型蓄电池作为供电电源,它可以提供足够强大的电流来驱动耗能器件正常工作,而且当电池电量不足时还可以通过充电补充能量,这样就减少了更换电池的麻烦。通过低功耗LDO芯片将5 V电压降至3.3 V供MCU等低电压工作的器件工作。
需要注意的是在脉搏波信号经过放大后是直接送至MSP430的A/D转换模块进行模数转换的。MSP430的A/D转换模块采用内部2.5 V电压作为参考电压,因此在脉搏波信号经过放大后,其最大幅度应尽量接近MSP430内部A/D转换模块的电压允许上限(2.5 V)。
3 系统软件流程设计
3.1 系统软件的工作流程设计
本系统的软件工作流程图如图5所示。当用户测量血压时,按下“测量”按键,MSP430单片机发出控制信号给气泵,开始加压充气,进行血压的测量,并将测得的结果进行存储和显示。如果“查看”键按下,在有历史记录的情况下系统会执行查看历史记录的程序,进行历史记录的查看操作。如果系统上电后无任何按键被按下保持一定的时间,则单片机执行休眠程序,系统进入低功耗模式,节省电池能量。在系统休眠状态下,用户只要按动复位按键,单片机就会被唤醒,进行按键的监控。
3.2 血压测量过程的软件设计
测量血压的工作流程图如图6所示。当按下测量按键后,系统发出快速充气命令对袖带进行快速充气。充气的过程中,系统对静压力进行采集和显示,并监测脉搏波是否产生。一旦系统采集到脉搏波,则系统通过MSP430的PWM接口来控制气泵的电动机进行慢速充气,调节PWM的占空比就可以改变对气泵供电的平均电压,从而动态调整气泵充气的速度。此时系统两路A/D转换模块对袖带静压力和被放大的脉搏波信号进行采集[6]。
图5 系统软件流程图Fig.5 Software flowchart of the system
来自压力传感器的血压信号经放大、滤波后送入单片机的A/D转换模块,信号经A/D转换后再送去执行相应的信号处理算法,计算出心率、收缩压和舒张压的值。单片机计算出测量值以后,保存本次测试结果至芯片内部的Flash存储器(写Flash),并判断测量结果是否在正常范围,如果测量结果正常,则LCD显示出所测的收缩压、舒张压和心率值并由单片机系统发出控制信号使电磁阀控制袖带内的气体快速释放。如果测量出的结果超出正常范围,则LCD显示相应提示信息,同时发出警报声音和放气控制信号。 如果在测量过程中出现错误,系统将停止充气并启动电磁阀进行放气,蜂鸣器也会发出报警声音,同时LCD将显示测量出错的提示信息。
图6 血压测量的工作流程图Fig.6 Software flowchart of the blood pressuremeasurement
3.3 查看历史记录操作
若用户想查看历史记录,则按下“查看”按键,系统通过对按键的识别调用相应的程序,读取单片机内部Flash存储器中已存储的历史数据并显示在LCD上,这样可以回访已测数据,查看用户的历史测量结果。如果用户在查看历史记录时想删除当前的记录,则只需按下“删除”键即可实现删除操作(擦除Flash存储器中当前存储区的内容)。若用户想退出当前操作或者是测量过程中出现错误,直接按下复位键系统即可回到初始化状态等待新的操作信息。
3.4 低功耗设计
超低功耗是MSP430系列单片机的一大特色。MSP430系列单片机具有5种不同深度的低功耗休眠模式 (LPM0~LPM4)。在空闲时,通过不同程度的休眠,将内部各个模块尽可能的关闭,从而降低系统功耗[7]。
系统初始化后直接工作于LPM0,由任意按键中断触发到活动模式,中断处理结束后进入到LPM3。本系统的休眠按键按下或等待时间超过1分钟时,系统自动进入低功耗模式4。当系统进入LPM4时,耗电量非常低,仅为0.1 A。只要任意中断被响应,系统又可以恢复活动模式继续工作。
4 测量结果对比与分析
为了检验本设计的测量结果,我们将此电子血压计与市面上评价比较好的欧姆龙HEM-7012型电子血压计分别对不同的个体进行了测量,结果如表1所示。
表1 测试结果对照表Tab.1 Table of test resu lts cross-references(单位:收缩压、舒张压 mmHg;心率 次/分)
从多组测量结果可以看出,虽然测量结果存在一定的误差,但该血压计对不同的测量者具有良好的个体适应性。与欧姆龙电子血压计相比,本血压计测得的血压结果略有偏大,这是因为电子血压计采用基于充气过程的示波法测量血压,特征点的确定只能依赖采集样本的统计归纳,有一定的离散性,此外,在测量过程中,压力传感器输出信号以及放大、滤波等电路的输出信号都可能与真实值之间也会存在一些小的差异,因此会存在一定的误差。
5 结束语
文中所提出的电子血压计设计方案采用超低功耗混合信号处理器,基于充气测量的方法进行血压的测量。具有操作简洁方便、具有友好的人机界面、测量精度较高、个体适应性强、功耗更低等优点,而且由于采用充气过程测量,放气速度很快,因此缩短了测量时间,提高了用户的测量舒适度,具有较高的实用价值。
[1]张晓芳.基于示波法的数字血压计的硬件实现[J].仪器仪表用户,2006,4(13):41-42.
ZHANG Xiao-fang.The design of blood-pressure meter in monitor with many parameters[J].Electronic Instrumentation Uusers,2006,4(13):41-42.
[2]沈建华.MSP430系列16位超低功耗单片机原理与应用[M].北京:清华大学出版社,2004.
[3]邓亲恺.现代医学仪器设计原理[M].北京:科学出版社,2004.
[4]Motorola, Inc.MPX5050GP Semiconductor Technical Data Rev.3[S].Motorola, Inc.1997.
[5]申波.具有数据存储与回放功能的嵌入式电子血压计设计[D].山西:太原理工大学,2006.
[6]唐志强.电子血压计[J].电子产品世界,2002(15):63-64,37.
TANG Zhi-qiang.The electronic sphygmometer[J].Electronic Engineering & Product World (EEPW),2002 (15):63-64,37.
[7]谢楷,赵建.MSP430系列单片机系统工程设计与实践[M].北京:机械工业出版社,2010.