新闻中心

EEPW首页 > 医疗电子 > 设计应用 > MN101EF32D单片机实现示波法测量血压

MN101EF32D单片机实现示波法测量血压

作者:时间:2011-09-12来源:网络收藏
系统软件设计

本文引用地址:http://www.eepw.com.cn/article/199723.htm

  软件的主要流程如下:

  上电后,首先完成系统的初始化工作。单片机开始给气泵供电,让袖带迅速充气至被测者收缩压以上约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,作为脉搏波信号。由于101的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来计算,经测试后再进行修正。

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

  结论

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


上一页 1 2 3 下一页

关键词: 32D MN EF

评论


技术专区

关闭