基于MN101EF32D单片机的电子血压计设计

2008-11-09 17:35:31来源: EDN
  引言

  血压是极为重要的健康指标,血压测量的准确与否直接关系到人们的健康。国家把血压计列为强制检定计量器具。一般医院使用的水银血压计基于人工柯氏音法,这种方法存在一些固有的缺点:一是放气的快慢对读数有直接影响,国际标准放气速度为每秒3~5mmHg,而不同的医生放气有快有慢,会影响测量的准确度;二是这种方法以人的视觉、听觉和协调程度为主要依据,很难标准化。为此,本设计从血压的检测方法着手,采用日本松下公司高速、低功耗的MN101EF32D单片机,作为血压计测量、控制、数据读写、数据显示的核心,可准确地采用示波法(振荡法)测量血压。

  工作原理

  示波法(振荡法)是根据袖带在减压过程中,其压力振荡波的振幅变化包络线来判定血压的。目前比较一致的看法是当袖带压力振荡波的振幅最大时,袖带的压力就是动脉的平均压。动脉的收缩压对应于振幅包络线的第一个拐点,舒张压对应于包络线的第二个拐点。

  硬件设计

  系统基本工作原理如图1所示。压力传感器输出的电压信号首先通过低通滤波器滤波,之后由运放电路将信号转化为适合单片机的输入信号,最后将模拟的采样信号经过MN101EF32D单片机转化为数字量。程序对采集的数据进行数字滤波后分析,计算出人体血压的两个关键指标"舒张压"和"收缩压",之后单片机立即将数据存储到外部存储器中,并将这些重要数据显示在LCD上。

系统基本工作原理

  传感器介绍及其外围电路的设计

  该血压计使用的传感器为MPS-3100-006G压阻式压力传感器,是由四个等值电阻组成的惠式电桥,其输出电压和输入压力成正比,理想状态下当压力输入时,电阻值就跟着改变,但实际上温度的改变也会影响其阻值输出结果。另外,由于晶体和电路设计制作的误差,加上封装过程等方面的影响,零点偏移不是零。所以必须由外加元件来进行个别温度补偿电路校正。其重要指标如下:

  a、传感器测定范围:5.8~15 PSIG

  b、操作温度范围:?40~85 ℃

  c、驱动电流:1.5~3mA

  d、驱动电压:5~15V

  e、零点漂移:?25~25mV

  f、电阻温度系数为:0.2%/℃

  因为血压信号取自手臂,测量的信号容易受袖带的位置、手臂的挪动而带来的干扰。根据这些专业特点,要求系统具备高输入阻抗、高增益、高共模抑制比、低噪声以及低漂移等特征。如图2所示,图中的T1即为MPS-3100-006G压阻式压力传感器。整个电路首先将压力信号转换为电压信号,然后进行放大滤波。图中U1、U2为有源运放LM324,它的输入阻抗很高。压力传感器的信号通过放大后,并通过调节VR1的大小来改变运放的闭环增益,以调节为适应于A/D的电压输入范围。U1运放回路用来测量袖带中的压力,测量的数据用来供MCU分析并控制对袖带充气和放气的速度。另外U2运放回路是将通过C11电容隔直的交流信号放大,此回路测量的是人体的脉搏波。两个回路的采集数据构成了血压计各个指标的重要计算参数

  MN101EF32D的特性

  MN101EF32D是松下(Panasonic)公司于2008年初推出的产品,MN101Exx系列8位单片机复合了多功能的外围功能,具有灵活而最优化的硬件结构,简洁而高效的指令体系,充分实现经济性和高速性。

  MN101E32D型单片机,内置64KB Flash、4KB RAM,具备6个外部中断、20个内部中断(包括NMI)、9个定时器计数器、3个串行接口、8路A/D转换器、32×4段LCD驱动器、监视定时器、单系统的数据自动传送功能、同步输出功能以及蜂鸣器输出等外围功能。最小指令执行时间可达50ns,封装为64引脚LQFP。本血压计使用MN101EF32D的功能大致如下:

  a、10位A/D采样,用于静态压力及脉搏波的测量。

  b、LCD显示控制器,直接驱动23*4段的液晶显示器,显示测量的过程及结果。

  c、定时器功能,用于定时A/D采样数据并计算自动关机时间。

  d、采用数字信号处理的技术对A/D采样的信号进行处理,主要有数字低通滤波和相关的计算。

  e、电源开启采用硬件控制的方法,电源关闭采用软件控制的方法,关机时除了稳压模块外,其它芯片处于断电状态,功耗极低。

  f、测量时可以选择mmHg和Kpa作为主显示方式,测量精度高,达到静态1mmHg、动态3mmHg的测量精度。由于采用铁电存储器作为存储媒介,数据的保存时间很长。

  MN101EF32D与外部串行铁电存储器的硬件连接

  在选择外部存储器时,由于考虑到要长期反复擦除、写入所设置的工作参数和测量到的重要信息,并保存大量的历史数据,因此必须使用容量较大的静态存储器,以便写入尽可能多的数据信息并保证掉电后数据不丢失。由于EEPROM本身的设计工艺。寿命有限,而且写入的时间较长,因此不适合用于电池供电的系统。血压计需要保存的数据设计依次为收缩压(2个字节)、舒张压(2个字节)、平均压(2个字节)、脉搏(2个字节)、每次记录的时间(5个字节)等,每次测量需要13字节存储数据。假设每天测量4次,需要13×4=52字节,血压计能够保存7天的数据则需要364字节,故选用"铁电"的24cL04。当打开血压计使用的时候,单片机在其PA0口模拟出IIC总线的SCL,并输入给外部存储器24cL04的SCL引脚,同时PA1口与24cL04的SDA口进行数据交换,将有用的数据显示在LCD上。

  电源处理模块及其相关电路设

  本血压计选用2节7号电池作为电源的输入。为了达到较好的供电质量,在此电路中选择了DC/DC升压芯片RN5RK331A,将2节串联的1.5伏7号电池构成的3V左右的电压升到3.3V,供给系统中的模拟电路电源,也作为数字电路的正电源供给MCU(如图3所示)。考虑到气泵、气阀如果与模拟电路、数字电路直接共用一个电源,会引入比较大的干扰,从而影响压力传感器、运放以及MCU的正常工作,所以设计成气泵、气阀不与其它器件接在一起,直接由电池供电。

使用RN5RK331A构建系统电路

  另外,血压计的重要采集数据通过运放放大的袖带气压和隔直后的脉搏波,由于它们都是通过微小的信号放大后得到的,所以A/D转换的设计也极为重要。系统采用智能充气测量、自动降压,在降压的过程中进行测量。由于在气阀工作降压的时候,电源受到波动,如果用系统电源直接拿来作为A/D的参考电压基准,必然会给测量带来误差。采用National Semiconductor的LM385作为A/D转换的电压基准连接到芯片的VREF+引脚,确保采集的数据转换准确。

  LCD显示模块的设计

  如图4、5所示,为了使用户更为方便、简单地使用本系统,采用LCD显示。

LCD显示模块界面

单片机直接驱动液晶的连接

  松下的MN101EF32D芯片内置了LCD驱动模块,可以直接驱动LCD。先初始化LCD方式控制寄存器1(LCDMD),它是8位寄存器,用来指定LCD时钟、LCD显示的ON/OFF、显示占空比等。

  系统软件设计

  软件的主要流程如下:

  上电后,首先完成系统的初始化工作。单片机开始给气泵供电,让袖带迅速充气至被测者收缩压以上约30mmHg左右。之后单片机通过1路A/D开始采集袖带的气压,并根据袖带内气压下降的速度来控制排气阀排气,使袖带内匀速降压(3~5mmHg /s)。与此同时,另外1路A/D开始采集经过隔直的脉搏波。当脉搏波的振幅最大时,袖带的压力就是动脉的平均压。动脉的收缩压对应于振幅包络线的第一个拐点,舒张压对应于包络线的第二个拐点。

  软件主要细分为以下3个重要模块:

  一)匀速降压控制模块

  尽管气阀有自动缓慢放气的特点,但为了使袖带迅速充气至被测者收缩压以上30mmHg左右后匀速降压(3~5mmHg /s),而不能用普通的处理方法,因为整个测量过程中容易受到外界震动的影响,如人为的震动袖带、气管的震动、人的身体运动等,另外气管的刚性度也会影响到袖带内气压微弱的变化。所以袖带内的压力降低的速度与气阀开关的频率为非线形关系。

  本设计采用了PID算法来控制气阀的开关时间来确保袖带以3~5mmHg /s的速度匀速降压。受到单片机的处理速度和RAM资源的限制,这里不采用浮点数运算,而将所有参数全部用整数,最后再除以2N(相当于移位),作类似定点数运算,可大大提高运算速度。最终赋值给定时器,来控制气阀的开启时间,从而保证降压的速度恒定。

  在PID算法中三个基本的参数Kp、Ki、Kd的设定与调整是比较难的部分,根据这些参数的作用原理,总结调整方法大致如下:

  1、压力很快就降到目标值,但压力降的太多:

  a)比例系数太大;

  b)微分系数过小;

  2、压力下降达不到目标值:

  a)比例系数过小;

  b)积分系数过小;

  3、基本上能够控制在目标上,但上下偏差较大,且经常波动

  a)微分系数过小;

  b)积分系数过大;

  二)信号处理模块

  本血压计测量信号为2路,MPS-3100-006G压力传感器的信号首先进行低通滤波处理,排除因外界干扰造成的信号读数的误差,之后放大送AD1,作为静态血压信号;隔直后经再次放大送AD2,作为脉搏波信号。由于MN101EF32D的A/D为10位,因此最高精度可达1/1024。为了最大限度地利用A/D转换的采样速度,用中断来实现A/D转换后的数据处理。当A/D转换完毕,在中断程序中,用防脉冲干扰移动平均值法来实现简单有效的数字滤波,使测量更加准确。具体做法为在一次定时中断内连续进行5次A/D转换,去掉最大值和最小值,剩余3个数据求算术平均值,该算术平均值作为此次的A/D转换结果。

  三)计算血压模块

  袖带气压和脉搏波经信号处理模块的处理后,得出如图6所示的数据。图中的下方为被测者的脉搏波,上方为血压计升压和压降过程中的袖带压力。在此基础上分析信号,供收缩压、舒张压、平均压和心率的计算。单片机在测量过程中已经存储各个脉搏波的峰值,以及每个脉搏波的间隔时间。

袖带压力

  收缩压判据的确定采用最大振幅法,即在放气过程中脉搏波幅度包络线的上升段,当某一个脉搏波的幅度Ui与最大幅度Um(平均压)之比刚刚大于Ks时,就认为此时对应的气袖压力为收缩压。

Ps=P/Ui=Ks*Um

  舒张压判据的确定也是用最大振幅法来判定的,不过是在脉搏波幅度包络线的下降段,当某一个脉搏波的幅度Ui与最大幅度Um(平均压)之比刚刚小于Kd时,就认为此时对应的气袖压力为舒张压。

Pd=P/Ui=Kd*Um

  先用经验参数Ks = 0.54和Kd = 0.72来计算,经测试后再进行修正

  心率即为脉搏波的周期,具体也为算术平均值做法。

  结论

  基于MN101EF32D单片机的血压计,充分利用了该芯片本身的功能,具备电路简单、功耗低、电源要求单一、精度高以及实用性强等特点,有着广阔的市场前景。

关键字:脉搏  幅度  参数  修正

编辑:汤宏琳 引用地址:http://www.eeworld.com.cn/medical_electronics/2008/1109/article_381.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
脉搏
幅度
参数
修正

小广播

独家专题更多

TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 医学成像 家庭消费 监护/遥测 植入式器材 临床设备 通用技术/产品 其他技术 综合资讯

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved