顾 涵
(常熟理工学院 物理与电子工程学院,江苏 常熟 215500)
2010年全国人口普查显示,我国平均每五个家庭就有两个高血压患者,慢性低血压的患病率增至4.8%,在老年人中更高达11.8%,电子血压计已越来越多的成为家庭自测血压的主要工具.目前市场上的电子血压计一般都以MSP430或PIC16系列单片机[1]为控制核心,价格比较高,本文所设计的以AT89S51单片机为控制核心的电子血压计,可大幅度降低电子血压计成本.
目前大多数电子血压计都采用示波法[2],示波法是通过充气袖套阻断上臂动脉血流来实现的.由于心搏血液动力学作用,在气袖压力上将重叠与心搏同步的压力波动,即脉搏波.当气袖压力远高于收缩压时,脉搏波消失.随着袖套压力下降,脉搏波开始出现,当袖套压力从高于收缩压降到收缩压以下时,脉搏波会突然增大,直到平均压力达到最大值,然后又随袖套压力下降而衰减.示波法血压测量就是根据脉搏波振幅与气袖压力之间关系来估计血压的,与脉搏波最大值对应的是平均值,收缩压和舒张压分别由对应脉搏波最大振幅的比例来确定.
收缩压和舒张压的确定采用最大振幅法[3].放气过程中,在脉搏波幅度包络线的上升段,当某一个脉搏波的幅度Ui与最大幅度Um(平均压)之比刚刚大于Ks(Ks为经验参数)时,就认为此时对应的气袖压力为收缩压.而在脉搏波幅度包络线的下降段,当某一个脉搏波的幅度Ui与最大幅度Um(平均压)之比刚刚小于Kd(Kd为经验参数)时,就认为此时对应的气袖压力为舒张压.袖带气压和脉搏波经信号处理模块的处理后,得出如图1数据波形,下方为被测者的脉搏波,上方为血压计升压和降压过程中的袖带压力.在此基础上分析信号,提供收缩压、舒张压和平均压的计算.
采用AT89S51单片机为控制核心,硬件电路主要由A/D转换[4]、数据处理和显示三大模块组成,在附加电路的处理上尽可能采用程序来替代硬件逻辑实现,与采用MSP430或PIC16系列单片机的设计相比,大大简化了硬件电路,降低了血压计成本.
A/D转换模块选用8位逐次逼近型A/D转换芯片ADC0832[5],如图2所示,由于信号采集包括脉搏信号和袖带压力信号,其中袖带压力信号为直流电压信号,脉搏信号为小于2Hz的交流信号,因此在不增加器件的情况下,A/D通道至少为两个.而芯片ADC0832正好符合此条件,A/D转换时间为32μs,满足通道数量和数据采集速度.另外,ADC0832价格便宜,可节省成本.
数据处理模块采用AT89S51单片机的最小系统.如图3所示,晶振选用12MHz,P0口作为普通I/O口使用,上拉4.7K电阻.单片机作为控制核心,主要有以下作用:接收按键控制并作出处理;读取A/D转换的血压信息;处理分析血压数据得出收缩压和舒张压及脉搏信息;控制显示人体的血压和脉搏信息.
图3中,KEY1键为开始键,控制气泵充气,完成一次血压测量.KEY2为复位键,当一次测量结束,液晶显示测量结果后,按下KEY2键显示结果清零,为第二次测量作准备.KEY1和KEY2直接接到单片机的外部中断,可以在中断时扫描按键以提高CPU的工作效率.24C256用来存储A/D转换的血压直流分量和脉搏波交流分量,供单片机进行数据处理分析.WP为读写屏蔽引脚,高电平时为只读操作(低电平时可读可写).由于IIC总线为开路(集电极开路)时输出,所以SDA、SCL上拉4.7K电阻构成回路.
图1 袖带压力、脉搏波形
图2 A/D转换电路
图3 AT89S51单片机最小系统
1602点阵液晶显示分为带背光和不带背光两种,其控制器大部分为HD44780[6],带背光的比不带背光的厚,是否带背光在该设计中并无差别.本设计显示部分采用1602点阵液晶带背光显示,液晶对比度的调节采用电阻分压的方式实现对控制引脚VL的信号输入.
硬件部分完成后,电子血压计的功能实现关键是程序的编写,程序主要包括下面四部分:主程序、血压测量程序、A/D转换程序和显示程序.
主程序流程如图4所示,加电后,首先完成系统的初始化工作,单片机开始给气泵供电,让袖带迅速充气至200mmHg左右.之后,单片机通过一路A/D开始采集袖带气压,并根据袖带气压下降的速度来控制排气阀排气,使袖带内气压以3-5mmHg/s匀速降压.同时,另外一路A/D开始采集脉搏信号,当脉搏振幅达到最大时,袖带气压就是动脉的平均压.动脉的收缩压对应于振幅包络线的第一个拐点,舒张压对应于包络线的第二个拐点,处理后的数据通过液晶显示.
血压测量流程如图5所示,在测量模式下,气泵自动充气,当袖带压力大于等于200mmHg,无脉搏信号出现时,停止充气,袖带中气体缓慢释放.电路每隔5ms采集1次脉搏信号,在检测到第1个峰值后,以5ms周期采集脉搏信号值和静压信号值,分别获得脉搏信号序列和静压信号序列,并判断采集的脉搏信号值是否为峰值.若是峰值,则记录此时的脉搏信号值和静压信号值,以及从上一个峰值到当前时刻的时间差,分别生成峰值序列和峰值时间间隔序列.一般情况下,当袖带压力小于60mmHg时,脉搏信号峰值消失,当连续4s内检测不到脉搏信号峰值时,退出本次血压测量.
A/D转换流程如图6所示,采样信号分为两路,一路为静压信号,另一路为脉搏信号,其中静压信号为直流信号,脉搏信号为频率小于2Hz的电压信号.本设计中采用低频段最高频率的4~10倍[7]作为采样频率,数据处理后在LCD1602液晶上显示.
显示部分程序编写较复杂,需注意指令含义的理解,显示部分流程图如图7所示.
图4 主流程
图5 血压测量流程
图6 A/D转换流程
为验证设计效果,采用实验板焊接血压计硬件电路,用KeiluVision3编程,然后把调试通过程序生成的.HEX文件烧写到AT89S51单片机中.用血压计实验电路和泰康品牌的TK-805型电子血压计测量同一人血压作对比,血压计实验电路的显示值为收缩压108.3mmHg,舒张压78.6mmHg,而TK-805型电子血压计的显示值为收缩压108.5mmHg,舒张压78.3mmHg,从而可知舒张压和收缩压相对测量精度分别为0.184%和0.255%,测量精度较高.
图7 液晶显示流程
我们设计的以AT89S51单片机为控制核心的电子血压计与市场上现有的传统电子血压计相比,可大幅度降低成本(至少降低一半以上),且测量精度较高,具有潜在的实际应用价值.
[1]王迎旭.单片机原理与应用[M].北京:机械工业出版社,2011.
[2]王虎.医学论电子血压计产业在中国的未来发展[J].医学信息:中旬刊,2010(5):2994-2995.
[3]张桂平.电子血压计测量原理及存在的问题[J].医疗保健器具,2009(5):48-49.
[4]李相伟.微机系统原理与接口技术[M].北京:国防工业出版社,2010.
[5]肖忠祥.数据采集原理[M].陕西:西北工业大学出版社,2010.
[6]杨天怡,黄勤.微型计算机控制技术[M].重庆大学出版社,2011.
[7]刘坚强,王永才.基于示波法的电子血压计系统设计[J].单片机与嵌入式系统应用,2010(4):62-65.