基于STM32的电子血压计的设计与实现
2021-01-16
来源:易榕旅网
论 著l Thesis ·21· 基于STM32的电子血压计的设计与实现 鲍俊成,王邦辉 【摘要】目的:研制一款测量结果准确可靠、测量过程形象直观的电子血压计,用于血压的测量及心脑血管疾病的防 治。方法:该电子血压计的设计以STM32F103RBT6为主控芯片,以INA122和OPA333为运算放大器芯片,以KEIL公 司的RVMDK3.8为软件设计平台。结果:设计并实现了以STM32微处理器为核心、利用示波法对人体血压进行测量的 可显示测压波形的电子血压计。结论:该血压计不仅能准确测量人体血压,还能在测压过程中实时显示血管弹性波动 的波形图,使医生和患者直观感受到血压的测量,增强对设备测量准确性的信心。 【关键词】血压测量;STM32微处理器;示波法;波形图 【中国图书资料分类号]R318.6;TH772.2;TP302[文献标志码]A[文章编号】1003—8868(2015)06—0021—04 DOI:10.7687 ̄.ISSN1003—8868.2015.06.021 Design and implementation of electronic sphygmomanometer based on STM32 BAO Jun-cheng,WANG Bang-hui (Taihe Hospital Amliated to Hubei Medical CoHege。Shiyan 442000。Hubei Province。China) Abstract Objecitve To develop an electronic sphygmomanometer with accurate and reliable measuring results and intu— itive measuring processes.M【一岫The meter took STM32F103RBT6 as the main control chip.INA122 and OPA333 as the operational ampliifer.and KEIL S RVMDK3.8 as the software design platform. ̄tmlt¥A manometric waveforln—based electronic sphygmomanometer was designed with STM32 microprocessor as the core and oscillography to measure human blood pressure.C nd he sphygmomanometTer can measure blood pressure and display the oscillogram of vascular elasticity at real time.【Chinese Medical Equipment Journal,2015,36(6):21—24】 Key words blood pressure measurement;STM32 microprocessor;oscillography;oscillogram 0引言 带气压的减小而呈现由弱变强后再逐渐减弱的趋 近年来,电子血压计以其测量的客观性、准确性 势。大量临床研究表明,脉搏波振幅达到最大点时对 以及操作的方便性已被临床认可并广泛使用。然而, 应的袖带压力即为平均压,基于统计学规律,以平均 临床上在用的大多数品牌的电子血压计在测量过程 压出现点为准,设其幅值为平均动脉压mean artery e,MAP),向前搜索脉搏波振幅为K1xMAP左 中只提供收缩压、舒张压和心率值等数值信息,而缺 pressur向后搜索脉搏波振 乏对测压过程的有效动态显示,致使部分医生和患 右的点对应的袖带压即为收缩压,xMAP左右的点对应的袖带压即为舒张压[1]。 者缺乏对电子血压计足够的信任,也无法直观反映 幅为K2出因肢体移动而产生的干扰,从而无法有效甄别可能 其中, 一般介于0.7~0.85之间, 一般介于0.4~ 6之间。示波法测量过程中脉搏波的变化与血压值 的测量错误。因此,为提高血压监测质量,在电子血压 0.之间的关系如图1所示。 计中增加压力波形实时显示功能很有必要。 1血压测量技术 示波法是20世纪7O年代发展起来的一种新的 血压测量方法,此方法通过检测袖带振荡脉冲的变 化情况来对血压值进行判定。大量研究证明,人体脉 搏波与血压之间存在着一种确定的函数关系,示波 法测量的原理就是根据这种函数关系来对血压值进 行判定。 利用放气过程中袖带内压力波动与袖带内气压 的关系间接地实施血压测量,具体测量过程是用充 气袖带阻断动脉血流,在放气过程中,袖带内气压跟 随动脉内压力波动而出现脉搏波,这种脉搏波随袖 作者简介:鲍俊成(1981一),男,工程师,主要从事医疗设备质量维修与质 量控制方面的研究工作。E—mail:ramboa007@163.coln。 作者单位:442000湖北十堰,十堰市太和医院,湖北医药学院附属医院(鲍 俊成.王邦辉) ·0 2 4 6 8 10 12 l4 16 18 时间/s 注:1 mmHg=133.322 Pa 图1 示波法血压测量示意图 本文设计的电子血压计系统分为电源部分、前 医疗卫生装备·2015年6月第36卷第6期Chinese Medical Equipment Journal·Vo1.36·No.6·June·2015 ·22· Thesis l论 著 端信号采集部分、微控制单元(microcontroller unit, 号及其他杂波信号等。但是,我们的最终目的是提取 MCU)最小系统部分和显示部分4个部分(如图2 有用的血压信号及脉搏信号,为此,我们必须使用滤 所示)。 波器进行滤波。由于血压信号主要分布在0.1 ̄38 Hz 之间,其中绝大多数的有用信号分布在0.5~5 Hz 之间,所以必须采用低通及高通2级滤波器进行滤 波。参考INA122数据手册之后,进行一阶无源低通 滤波器设计,其电路图如图3所示。低通滤波器主要 用来滤除高频干扰信号及放气过程中产生的谐波信 号,整个信号通过低通滤波器滤波后获取的是静压 力信号,随后信号被送入高通滤波器进行滤波处理, 主要滤除袖带静压力信号,从而获取袖带内压力变 化信号。 圈2系统总体结构图 2信号采集电路设计 2.1重要芯片介绍 2.1.1运算放大器 此系统使用的运算放大器芯片均为TI公司提 供的正品免费样片,包括仪表放大器INA122和运 算放大器0PA333等芯片。INA122为精密仪器仪表 放大器芯片,具有高精度、低噪声的差分信号采集功 图3压力传感器和前级信号滤波放大电路图 能翻。它的双运算放大器设计使其具有非常低的静态 电流,非常适用于便携式仪表和数据采集系统。IN— 图3中一阶低通滤波器的上限截止频率为厂= A122可进行单电源供电,其供电范围非常宽,为2.2 1/47rR2(C7+C1 )=33 Hz,放大倍数A=(5根1/200)---6, 36 V,静态电流仅为60 mA,另外亦可进行双电源供 将差分血压信号变为单端信号。 电。0PA333系列互补金属氧化物半导体(comple— 2.3后级信号放大与滤波电路 mentary metal—oxide—semiconductor,CMOS)运算放大 血压信号经仪表放大器进行差分放大之后变为 器芯片采用了专有的自动校准技术,能提供极低的失 单端信号。由于此时交直流信号中夹杂的噪声仍然 调电压以及随时问和温度变化接近于零的漂移翻。 较多,而且信号幅值仍然非常小而不利于AD采集, 这种小型、高精度、低静态电流的运算放大器在100mV 故需要对其进行进一步滤波和放大。图4中放大倍 共模信号的范围内具有极高的输入阻抗,其轨对轨 输出时仅有50 mV电压的摆动幅度。它可用于单电源 或双电源方式供电,工作电压能在低至+1.8 v(±0.9 V) 和高达+5.5 V(±2.75 V)的范围内变化。0PA333系列 数为A=-R :/RJ/R=一20,其低通滤波电路上限截止 频率为 l/2"trxR12xCl3=4.83 Hz。经过放大之后,得到 的输出信号幅值较为适中,故此时将信号送人AD 转换器通道1进行采集,AD转换后经过数据换算 运算放大器出色的共模抑制能力消除了传统的补偿 (压力传感器差分输出1 mV电压变化对应 输入级常见的交越失真,其优异的性能提升了系统 9.375 mmHg(1 mmHg=133.322 Pa)的血压压力变化) 的整体可靠性。 可得到袖带内的实时静压力。 2.1.2压力传感器 获得袖带内静压力只是第一步,更为重要的是 MPXM2053GS为硅材料压阻式压力传感器,该 要获得袖带放气过程中人体血压从被阻断到恢复血 芯片提供一个高精度的线性差分输出电压,该电压 流的过程中血管的压力波形。图5中的输入信号中 与施加于其上的压力大小成正比关系。除此之外,该 芯片还具有激光微调精确跨度调节、失调校准和温 度补偿等功能 ,是一款为无创血压测量量身打造的 压力传感器芯片。 2-2前级信号放大与滤波电路 既有直流信号又有交流信号,故此时需加高通滤波 器将直流信号滤除。该一阶高通滤波器截止频率为 f_-1/27rxR6xC8=0.78 Hz。U5为电压跟随器,是为了增 大后级运算放大器的输入阻抗,减小后级交流放大 电路对前级放大电路的影响。 图5中 进来之后再次经过0.78 Hz高通滤 压力传感器提取的信号包括血压信号、脉搏信 ·医疗卫生装备·2015年6月第36卷第6期Chinese Medical Equipment Journal·Vo1.36·No.6·June‘2015 论 著l Thesis ·23· 充气,随后转入缓慢放气阶段。 (2)血压信号获取阶段:软件启动气阀开始缓慢 放气,放气速度由微控制器进行检测控制。在放气过 程中,袖带压力缓慢减小,压力传感器对血压及脉搏 波信号进行获取。 (3)快速放气阶段:当放气到达一定程度,脉搏 波消失,此时恢复血流,袖带对血管没有压力,气阀 转入快速放气阶段。到此阶段,血压及脉搏信号已获 取完毕[51。 1 Mn (4)MD转换阶段:经放大后的信号仍为模拟信 图4后级低通滤波放大电路图 号,不能送微控制器直接进行处理,须经A/D转换器 转换成数字信号后送微处理器进行分析处理。 (5)分析处理阶段:此阶段主要完成血压及脉搏 信号的分析及处理,并获得最终确切的血压及心率值。 (6)显示阶段:主要包括数值显示和波形显示2 个部分。数值显示部分实现的功能是将经软件分析 的最终结果由薄膜晶体管(thin film transistor,TFT) 液晶显示器(1iquid crystal display,LCD)进行显示,并 可以选择是否进行结果的存储。波形显示部分采用 图5后级有源高通滤波电路图 了画点函数和画线函数,将采集到的A/D数值描记 波器,进一步净化交流信号。Pulse_ADC输出的为纯 为动态的压力波形。 模拟信号,实验过程中测得如果直接将其连接到A/D 其中,波形显示功能的主要程序代码如下: 转换器会对A/D原来的信号产生很严重的干扰。因 画线函数xl,yl:起点坐标;x2,y2:终点坐标 此,需在其输出端加一个RC电路进行滤波,如图6 void LCD—DrawLine(u16 xl,u16 yl,u16 x2, 所示,我们加了一个10 kQ的电阻和0.1 F的电容 u16 y2) 进行滤波。 { u16t: int XelT=0,yerr=0,deltax, _D 1 +} deha_y,distance; 3_3 int incx,incy,uRow,uCol; deha_x=x2一xl;仇十算坐标增量 dehay=y2——y l; _uRow=x1; uCol=y1; if(delta_x>0)incx=l;//设置单步 方向 else if(deha_x==0)incx=0;//垂直 线 图6后级低通滤波放大电路 else{incx=-1;deha_x=-delta_x;) 3系统软件设计 if(deha_y>0)incy=l; 系统软件采用KEIL公司RVMDK3.8软件开 else if(deha_y==0)incy=0;//zk平线 发,主要流程如图7所示,软件具体实现过程主要有 else{incy=-l;delta_y=-delta_y;J 以下6个阶段: if f deha_x>deha_y)distance=delta_x;//选取基 (1)快速充气阶段:当启动血压测量功能时,软 本增量坐标轴 件控制气泵对袖带进行充气,袖带压力不断增大,并 else distance=deha_慢慢阻断血流。当压力到达软件设定值后,气泵停止 y; for(t=0;t<=distance+1;t++)//画线输出 ·医疗卫生装备·2015年6月第36卷第6期Chinese Medical Equipment Journal·Vo1.36·No.6·June·2015