电子血压计的设计.docx
《电子血压计的设计.docx》由会员分享,可在线阅读,更多相关《电子血压计的设计.docx(35页珍藏版)》请在冰豆网上搜索。
电子血压计的设计
该方案采用TI公司的16位超低功耗单片机MSP430F1232为核心,结合外部压力传感器和气泵装置实现人体血压检测方案。
该方案采用CR2032电池供电,通过片内ADC10通道0定时采样检测电池电压状况。
当气泵向袖套充气时,压力传感器会感应到人体血压跟绷带气压相抵抗的压力差,这股压力分为直流分量血压和交流分量血压,直流分量经过LMV358运放进行信号放大进入片内ADC12通道1进行AD采样取得直流分量值,交流分量由隔值电容筛选取得经LMV358运放进行信号放大进入片内ADC12通道2实时采样并记录每次采样数据,当ADC12通道1采样到的直流分量值小于1V时表示单次血压测量结束,此时开始统计记录下来的若干组峰峰值和直流平均值,找出峰峰值最大的值Amax,在往前找峰峰值最接近0.5Amax的一对数据其中血压直流分量即为收缩压,往后找峰峰值最接近0.8Amax的一对数据其中血压直流分量即为舒张压;计算得到的血压值由片内LCD驱动器驱动液晶显示血压状况信息;外接的32.768KHZ的晶振可作为CPU关闭状态Basic-Timer的时钟源,作为系统日历实时时钟,精确度可达1S/天;每次采集的血压数据可及时存放与片内Flash存贮器中,具有掉电保护功能,无需外部EEPROM;片内集成的UART接口作为与RS232或USB的标准接口可将采集的血糖含量信息传输给上位机管理系统,并可以实时显示血糖含量曲线,通讯波特率可达115.2KHZ;多个带中断功能的IO口可实时响应外部按键中断查询历史血糖含量数据信息和调整设置日历时钟;片内BOR模块实时监控外部电源,保证Flash数据不会被不正常改写;超低功耗的MCU可使得整机静态功耗小于3uA,电池使用寿命长远。
该方案体积小、功耗低、应用灵活、可靠性高、实时性强,是便携式超低功耗血压计的最佳选择方案。
数字血压计的软件系统研制
中国医学物理学杂志 2000年第3期第17卷 医学信号处理与医疗仪器
作者:
谭小丹 陈亚明 邓亲恺
单位:
第一军医大学 生物医学工程系, 广东 广州 510515
关键词:
Franklin C;FFT;数字血压计
摘要:
本文介绍自行研制的一种多气阀袖套式数字血压计的软件系统,该软件系统基于Franklin C语言,采用模块化设计方式,运用平滑技术、FFT数字滤波,使该数字血压计克服了目前电子血压计精度差、重复性不好、测量范围窄等缺点,且具有开发周期短、良好的扩展性、移植性等特点。
中图分类号:
R318.6 文献标识码:
A 文章编号:
1005-202X(2000)03-0150-02
The design of software system of oscillometric blood pressure monitor
TAN Xiao-dan, CHEN Ya-ming, DENG Qin-kai
(Dept. Of BME. First Military Medical University, Guangzhou 510515, China)
Abstract:
A software system of the oscillometric blood pressure monitor is presented. Based on Franklin C and modular design, using smoothing technology and FFT digital signal processing, this software system has been proved to be short developing period, good extendibility and transplanting. As a result, the monitor is more stable and can be used to measure the blood pressure of adults and children.
Key words:
Franklin C;FFT;digital blood pressure monitor
前言:
一般单片机系统的软件设计都是基于汇编语言,开发周期长,源程序可读性差。
作者在自行研制的数字血压计的软件系统中,运用Franklin C语言进行模块化开发设计,设计周期短,源程序可读性好,具有良好的扩展性和移植性。
作者对目前电子血压计存在的测量误差大、重复性不好、测量范围窄等问题进行了大量的实验研究,在尽量不增加硬件电路的基础上,通过在软件上的改进,克服了以上问题,实现了高精度的电子血压测量。
1 Franklin C简介
Franklin C语言符合ANSI C规范。
它除了提供全部ANSI C 关键字以外,还提供了一个特定面向通用的嵌入式程序设计系统和特定的单片机结构的扩展关键字集合,是用户在软件设计开发中,既能享受到高级语言的各种方便,又能享受到汇编语言在充分利用单片机硬件方面的便利。
如:
用户可在C源程序级访问单片机所特有的面向位指令;而实现中断服务程序,只需将其作为一C函数,再在函数说明中加入interrupt扩展关键字和一个数字来实现,该数字对应于中断程序的中断向量。
一般库函数越丰富,开发设计者运用越方便,开发者也可自行设计一些库函数添加其中,方便开发工作。
2 设计原理
本数字血压计是基于示波法原理的单片机系统,其硬件系统结构参见参考文献1,其软件系统采用模块化设计,总流程如图1。
整个软件系统的核心是脉动信号处理模块,静压力信号处理模块1、2,异常处理模块1、2。
(原文件名:
总流程图.png)
引用图片
图1 总流程图
2.1 静压力信号处理模块
静压力信号处理模块流程如图2a。
本数字血压计采用80C552单片机,80C552本身带有8路10bitA/D,在此只取8bit即可达到精度上的要求,又节省CPU和RAM空间。
由A/D转换的静压力信号temp (i )进行8点平滑处理以初步去除干扰,得到较干净的信号X(n):
(原文件名:
1.png)
引用图片
(1)
选用8点平滑,单片机可用移位来实现除法,以节省处理时间,X(n)经过定标曲线转换成压力值送液晶显示。
此模块的关键部分是成人、儿童判别模块。
根据大量的实验研究,作者发现成人和儿童,以及成人中的瘦弱者和肥胖者,由于其胳膊粗细不同,肌肉组织的丰满程度不同,因而充气的速度不同,放气速度也不一样。
如果测量中一视同仁,则所得脉搏波包络曲线不理想,测量误差大。
根据这一情况,作者在软件中增加了成人、儿童判别模块。
在开始充气以后,模块根据在一固定时间内所达的压力值的大小即充气速度来自动判断被测者是成人瘦弱者,或肥胖者、或儿童,选择相应的气阀放气以得到较理想的脉搏波包络曲线,提高测量精度和测量范围。
2.2 脉动信号处理模块
脉动信号处理模块流程见图2b。
放气时所采集的脉动信号经过8点平滑如图3(a)。
由于所得脉动信号较干净,在此无需用微分求极值等方法获取峰值点,可直接用比较法,设定两个状态,status=0,1,“0”状态对应每个脉搏波的上升阶段,“1”为下降阶段。
在“0”状态,若有y(n)>y(n+1)则y (n)为峰值点,同时转为“1”状态。
在“1”状态中,若有y(n)<y(n+1)则又回到”0”状态。
以此获取其包络线如图3(b)。
在试验中,作者发现,在放气的前期和后期,特别是儿童,由于身体或其他方面的原因会出现大的抖动,如图4(a),可以简单丢弃如图4(b)。
但是在放气的中期,也会由于身体或其他方面的干扰使包络曲线的单调性受影响,或是不同测量过程的包络曲线差距过大如图4(b),从而使测量误差大,重复性不好。
在此作者经过各种实验,最终采用FFT滤波去除这部分干扰得到如图4(c),从而使本数字血压计具有良好的重复性。
FFT相应正、逆变换公式如下:
(原文件名:
2.png)
引用图片
(2)
(原文件名:
3.png)
引用图片
(3)
由图4(c)的曲线可以方便的计算出平均压、收缩压、舒张压、心率,送液晶循环显示。
(原文件名:
静压力信号处理模块.png)
引用图片
图2 a 静压力信号处理模块1流程图 b 脉动信号处理模块流程图
(原文件名:
脉搏波信号曲线.png)
引用图片
图3 a 脉搏波信号曲线 b 脉搏波包络曲线
(原文件名:
原始脉搏波包络曲线.png)
引用图片
图4 原始脉搏波包络曲线
2.3 异常处理模块
在异常处理模块1中主要是从安全角度出发,如果充气一直不停,则系统马上报警并复位放气。
在异常处理模块2中主要有两方面内容。
一方面,如果发现所得包络曲线的数据点过少,即放气速度过快,则再一次充放气,同时减小放气速度,以便得到适量的数据点数;另一方面,如果测量过程中由于干扰过大或其他意外情况是测量结果不可取,则报错重新进行测量。
整个系统可进行手动测量和连续测量,每次测量过程在1分钟内即可给出测量结果。
作者简介:
谭小丹(1970- ),女,湖南长沙人,第一军医大学生物医学工程系物理教研室讲师,从事医学仪器的研究。
参考文献
1,陈亚明,等. 多气阀数字血压计的研制[J]. 中国医学物理学杂志, 1998,15(3):
174-175.
2,齐颂扬. 医学仪器(上册)[M]. 高等教育出版社.
3,刘琳,张丰. C51编译器使用指导与实例[M]. 学苑出版社.
4,G.Drzewiecki,R.Hood,&H.Apple. Theory of the oscillometric maximum and the systolic and diastolic detection ratios[J]. Ann. Biomed. Eng.,1994,(22).
收稿日期:
1999-10-30
一款数字化血压监护仪参考设计
作者:
飞思卡尔半导体IngaHarris 来源:
电子设计应用2009年第12期
血压监护仪简介
血压监护仪是当血液被泵离心脏时用来测量动脉压力的设备。
从使用者的角度来说,典型的监护仪包括一个用来限制血流的可充气的袖套和一个测量血压的压力计。
从系统设计者的角度来说,血压监护仪则要复杂得多。
其组成部分包括:
电源、电机、存储器、压力传感器和用户接口(包括显示屏、小键盘或触摸板、发声装置以及可选的USB或ZigBee通讯接口)等。
图1所示为飞思卡尔的血压监护仪参考设计RDQE128BPM。
图1血压监护仪参考设计RDQE128BPM
如何进行血压测量
当包裹着患者手臂周围的袖套被慢慢放走时,袖套中压力的小变化可以被察觉。
这些压力的波动由患者的心律周期产生,接着它通过一个1Hz的高通滤波后被放大和偏移,产生血压曲线。
如图2所示。
这个新信号就是心跳信号。
使用前面所述心跳检测方法,可以通过简单的示波计法来测量血管收缩压(SBP)和血管舒张压(DBP),这种方法被大多数自动非介入式血压监护设备所采用。
当袖套被充气至收缩压以上,然后缓慢放气时,袖套中压力变化的幅度被测量。
当压力低于血管的收缩压时,这一幅度会突然增加。
当袖套中压力进一步下降时,该脉冲幅度达到最大值并快速减小。
舒张压是在这一快速变化的开始时被获得的。
因此SBP和DBP是通过定义脉冲幅度的快速上升区域(SBP)和下降区域(DBP)来获得的。
平均动脉血压(MAP)就在最大幅度处。
测量SBP和DBP能帮助诊断通常的高血压,但是仅仅靠临床监护不能区分两种通常类型的高血压。
原发性高血压
原发性高血压是没有明确的原因或可被纠正的原因而引起的高血压。
对原发性高血压的判断是收缩压持续高于140mmHg或舒张压持续高于90mmHg。
白大褂高血压
白大褂高血压是指仅当处在不同于一般家庭环境的高度压力的环境中而显现的高血压症状,如在诊所或医生办公室引发的高血压症状。
患有白大褂高血压的人在诊所环境下测量的血压读数偏高,但是离开诊所后血压读数就恢复正常了。
白大褂高血压可能被误诊为原发性高血压,这导致了不必要的治疗和额外保险费用的增加。
为此,医学专家们通常建议在家进行几周的测量以确定诊断结果。
因此,便携式、易于使用的血压计在家庭里变得普及。
模数转换精度
如图1所示,微控制器(MCU)和压力传感器是血压计的核心技术。
RDQE128BPM参考设计也说明了在这一应用中最重要的是MCU模块上的ADC。
飞思卡尔控制器片上的ADC模块是逐次逼近型ADC,包含用于获取输入电压的采样锁存电路、一个比较器、一个逐次逼近型寄存器子电路和一个内部参照电压电容式DAC。
血压监护仪需要测量很小的信号,因此ADC分辨率通常是一个关键参数,如10位,12位或16位分辨率,这也是为应用设计选择MCU的重要因素。
同样重要的还有ADC的精度。
所有的ADC有其固有的不准确性,因为他们通过离散的步骤(量化)来数字化信号。
因此,数字输出不能完美地反映模拟输入信号。
例如,一个12位的转换器将为一个最大5V的输入电压 提供1.22mV最低有效位(LSB)。
因此,ADC仅能将数值数字化到1.22mV的倍数。
在这个例子中,它表明最佳测量永远不能比±0.5个最低有效位LSB(±610µV)更为精确。
不幸的是,一些其他嵌入式ADC特性引入了误差并降低了其精度,这些特性包括偏移、温度漂移和非线性等。
一些ADC如Flexis产品使用的16位ADC具有通过校准减小偏移和增益误差的能力。
ADC通道上的片上温度传感器可使温度补偿得以具体化。
ADC的有效比特位(ENOB)是分辨率和精度的真实指标。
这个数值表明了在一个特定系统中有多少比特提供了准确信息。
它可以通过下面的公式计算:
ENOB=(SNR-1.76dB)/6.02dB
这里,SNR(信噪比)是有意义信息(信号)和背景噪音(噪音或误差)之间的比率。
信噪比值不仅受到ADC设计和芯片集成的影响,也受到印刷电路板(PCB)设计、布线和所选附加离散元器件的影响。
一个大的信噪比值意味着更多的信号是数据并且误差很小,这能改进当测量微伏级变化的信号时测量结果的精度。
提高精度
在ADC的输入端增加少量受控的“抖动”噪声信号(如0.5LSB高斯白噪声),能够影响信号在最接近最小分辨率的一位上下变动,通过这种方法可避免再去四舍五入。
转换的最低有效位的状态随机在0~1之间抖动,而不是固定在一个数值上。
通过引入微小噪声,可扩展ADC能够转换信号的有效范围,而不是简单去除在这个低水平上的所有信号。
同样,这在整个范围内都引入了量化误差。
抖动仅仅增加了分辨率,改善了线性度,但是并没有提高精度。
然而,通过在信号里增加1~2位最低有效位的噪声并且采用过采样的技术可以提高精度。
过采样是通过一个比Nyquist采样频率显著提高的采样率来采集信号的过程。
实际上,过采样被用来获取高分辨的ADC转换器。
例如,使用运行于256倍目标采样率的12位转换器就可进行16位转换。
对每一个附加分辨率位,信号必须过采样4倍。
因为现实世界的ADC不能进行不间断的转换,输入值应当在转换器进行转换期间保持一定。
采样和保持电路通过这种方法来完成这样一个任务:
用一个电容贮存输入端的模拟电压,并用一个电子开关来使电容从输入端断开。
使用设置好最适合输入信号的采样和保持时间的ADC,对改进转换结果的精度很有帮助。
将噪声耦合和过采样结合在一起能进一步改善精度。
如图3所示。
这一技术通常被认为是过采样和抽取滤波。
顶部的曲线图表示了ADC转换器随时间产生的结果,并且显示了如果不采用附加噪声,单独使用过采样会是怎样的结果。
通过增加1~2个LSB噪声,如在底部垂直线表示的那样,同时进行的采样不会有同样的结果。
这个方法增加了信噪比并且提高了有效比特位。
通过在输入信号处增加1~2个LSB噪声和过采样,结果被平均以后可以提供一个更精确的值。
从ADC测量中获得的平均数据,它使输入信号中的毛刺变平,从而具有减小信号波动和噪声的优点。
还有四个可以管理的误差来源:
偏移、增益、漏电流和较小范围的温度。
一些嵌入式MCU片上的ADC模块,如新的Flexis产品上的16位ADC,具有硬件校准特性,能在代码执行期间反复进行校准。
不具有硬件校准的嵌入式ADC模块仍然能进行校准,但这必须在工厂中完成,或者有为产品设计的方案。
图2血压测量中的血压变化
图3噪声耦合和过采样结合进一步改善精度
校准是一个3步骤的过程:
第一步配置ADC,第二步开始校准转换并等待转换完成,最后进行偏移和增益校准。
偏移和增益校准值能够根据结果被减小或放大。
这能在软件或在一些已实现的ADC硬件中完成。
输入的偏移是三个需要补偿的来源中最容易处理的。
对一个单端输入的转换,输入可以参考同样的内部电压。
这应当能产生一个零结果。
如果结果不是零,这就是偏移值,它必须从ADC结果中减去。
如果使用差分转换模式,偏移值能够通过在两个输入引脚上变换同样的信号来找到。
一旦偏移值已知,ADC的增益能够从满量程误差中找到。
这是在最大量程的理想输出值(如12位ADC中的0xFFF)与偏移值为零时实际输出值之间的差值。
图4未校准量程与对应理想量程的偏移
图4显示了从接地到满量程一个未校准的斜线对应理想斜线的偏移和增益被夸大的效果。
在应用中取决于准确的ADC结果,在血压监护仪中,它被要求指示微小的读数变化(µV),校准应该经常进行,至少在每个重起之后。
如果一个硬件功能不存在,校准可以通过设计接地和VDD输入到应用部分,在每次转换后减去偏移并乘以计算的增益来获得。
还有一种输入误差的来源,即输入引脚上的漏电流会引起输入端输入电阻上的压降。
这一误差可以是在这些电池电压和温度检测电路中最低有效位的数十倍。
最好的消除这一误差的方法是在设计者的控制下减少模拟DC源电阻和任何形式的泄漏。
MCU芯片的温度也可以对ADC结果有影响。
然而,温度是一个慢变因素。
一个血压监护仪的常规的重复校准被设计在应用代码中,这使用户不用考虑理想条件,使温度的影响最小。
然而,在工厂中的完全校准(其结果贮存在存储器的查询表中)基本能够消除温度的影响。
许多ADC具有片上温度传感器,它们可以用来监控温度,使调节可以进行。
非线性几乎是一个无法被校准的因素,因为它通常是模块设计中所固有的。
在每个编码转换之间的电压差应该等于1LSB。
因此,非线性是指编码步长的不规则间隔,它导致一些信号变形。
结语
准确的血压监护不论在医疗中心和在家庭中都是很重要的,尤其是当诊断白大褂高血压和原发性高血压的时候。
在任何测量系统中最困难的挑战是将现实世界中的模拟信号转换到嵌入式控制器的数字域的精度。
高分辨率ADC提供了好的分辨率结果,但不能提供必要的高精度。
不同的ADC技术,例如过采样和抽取式滤波、校准、漏电流控制和温度补偿,可以用来增加测量应用中的精度和有效比特位。
飞思卡尔嵌入式控制器ADC具有高度集成的功能,从而使设计者能够获得高精度的测量。
在最新的Flexis产品系列中的16位ADC能使开发者通过调节ADC的偏移和增益提高精度,而不增加系统硬件和软件的要求。
电子血压计的设计
目前越来越多数字式电子血压计进入医疗卫生用品市场,在医疗系统中有大量用于临床的无创血压监护仪和多参数监护仪等设备,其共同的特点是动态无创测量人体血压(收缩压和舒张压)。
血压测量准确与否关系到广大人民群众生命健康安全。
国家把血压计列为国家强制检定计量器具。
目前大部分无创式的电子血压计采用示波法测量血压。
计量部门对这些血压测量器具只能检定其静态指标,对于其测量血压(收缩压舒张压)准确度的检定,没有确实可行的方法和手段。
因此很有必要对示波法电子血压计测量血压准确度的检定方法进行探讨。
一.示波法电子血压计的原理
血压是指血管内的血液对于单位面积血管壁的侧压力,也即压强。
也就是说血管内血液的静压就是血压。
人体的血压是随时间周期变化的,收缩压是指血压的最大值,舒张压是指血压的最小值,见图1。
图1
血压计所要测量的量就是收缩压和舒张压。
而示波法测量血压,就是当绑在手臂上的袖带压力比血管收缩压高出约60mmHg时,血管被阻断。
随着袖带压力的下降血管由阻断变导通,这一过程就会在袖带中产生一系列的小脉冲,见图2。
把小脉冲拾取出来,将其峰值连成曲线,得出包络线,见图3。
根据包络线的形状,找出相应的特征点判别出收缩压和舒张压。
图2
图3
包络线的形状主要受收缩压、舒张压、血管和手臂力学特性等参量影响。
其中收缩压和舒张压是主要影响参量。
而示波法血压测量没有完善的理论推导,使得特征点的确定只能依赖采集样本的统计归纳,因而可以说示波法测量血压是基于统计的方法,有一定的离散性。
二.检定方法
示波法电子血压计的检定分两部分:
静态和动态。
静态检定是指血压计传感器测压准确度的检定。
这是一个常规检定,在这里不作讨论。
动态检定是指对血压计测量收缩压、舒张压准确度的检定。
目前国内外都没有确实可行的血压计动态检定方法。
本文章作重点讨论。
1.由血压计的测量可看出,动态检定最有效的方法是产生一个标准的收缩压和舒张压量,给血压计测量。
血压计的测量结果与标准值的差值即为血压计测量收缩压和舒张压的基本误差。
△Pd=Pdj-Pdb;
△Ps=Psj-Psb;
其中:
△Pd:
血压计舒张压基本误差;
△Ps:
血压计收缩压基本误差;
Pdj:
血压计舒张压测量值;
Pdb:
舒张压标准值;
Psj:
血压计收缩压测量值;
Psb:
收缩压标准值;
这个方法有两个主要部分:
产生标准的收缩压、舒张压;使该标准值能被血压计测量。
(l)产生标准的收缩压、舒张压
从收缩压和舒张压的定义可看出,标准收缩压和舒张压的产生实际上就是要产生一个标准的模拟血压波,使其峰值和谷值的准确度应满足检定要求。
从血压的定义可确定:
由于血压是指静压,因此不论模拟血压波的压力介质是液体还是气体都不会对检定产生附加的不确定度。
(2)使标准的收缩压、舒张压能被血压计测量。
示波法电子血压计(以下简称血压计)是通过绕扎在手臂上的袖带中的压力由高到底的变化过程中,手臂肱动脉由阻断到导通,使得袖带中的压力叠加上一系列压力小脉冲。
血压计感应这些信号,经过一定的运算,求出人体肱动脉的收缩压和舒张压。
(手腕式的示波法电子血压计原理和手臂式的等同,在这里不作探讨。
)
由此可见血压计的检定在产生标准的血压波信号后,必须有一个机构负责把血压波信号传递给血压计。
这个传递机构等同于人体的手臂把血压传递给血压计,称为模拟手臂。
模拟手臂的力学特性等效于人体手臂。
采用这种检定方法的优点是:
①符合量值传递的要求。
上述的检定方法是从血压的基本定义出发,从血压计的测量出发,产生标准的量值。
这些量值能很容易的实现量值溯源。
②方法可靠。
采用这种方法检定血压计的过程与血压计测量血压的工作过程完全一样。
因此可以说这种方法不存在方法上的附加误差。
②能完全的检定血压计。
这种方法把血压计的袖带也看成是血压计的一个传感部分进行检定。
所以说它能完整的检定血压计。
要实现该检定方法从技术上说是有相当大难度的,标准血压