找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 数字化血压监护仪参考设计

[复制链接]
admin 发表于 2013-3-24 03:57:00 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
血压监护仪简介
  
  血压监护仪是当血液被泵离心脏时用来测量动脉压力的设备。其组成部分包括:电源、电机、存储器、压力传感器和用户接口(包括显示屏、小键盘或触摸板、发声装置以及可选的USB或ZigBee通讯接口)等。图1所示为飞思卡尔的血压监护仪参考设计RDQE128BPM。
  
  
  
   2012110705103063991471.jpg
  
   
  
  图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.5 LSB 高斯白噪声),能够影响信号在最接近最小分辨率的一位上下变动,通过这种方法可避免再去四舍五入。转换的最低有效位的状态随机在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模块仍然能进行校准,但这必须在工厂中完成,或者有为产品设计的方案。





2012110705103067116472.jpg

  

图2 血压测量中的血压变化



2012110705103070241473.jpg

  

图3 噪声耦合和过采样结合进一步改善精度

校准是一个3步骤的过程:第一步配置ADC,第二步开始校准转换并等待转换完成,最后进行偏移和增益校准。

偏移和增益校准值能够根据结果被减小或放大。这能在软件或在一些已实现的ADC硬件中完成。

输入的偏移是三个需要补偿的来源中最容易处理的。对一个单端输入的转换,输入可以参考同样的内部电压。这应当能产生一个零结果。如果结果不是零,这就是偏移值,它必须从ADC结果中减去。如果使用差分转换模式,偏移值能够通过在两个输入引脚上变换同样的信号来找到。

一旦偏移值已知,ADC的增益能够从满量程误差中找到。这是在最大量程的理想输出值(如12位ADC中的0xFFF)与偏移值为零时实际输出值之间的差值。



2012110705103073366474.jpg

  

图4 未校准量程与对应理想量程的偏移

图4显示了从接地到满量程一个未校准的斜线对应理想斜线的偏移和增益被夸大的效果。在应用中取决于准确的ADC结果,在血压监护仪中,它被要求指示微小的读数变化(µV),校准应该经常进行,至少在每个重起之后。如果一个硬件功能不存在,校准可以通过设计接地和VDD输入到应用部分,在每次转换后减去偏移并乘以计算的增益来获得。

还有一种输入误差的来源,即输入引脚上的漏电流会引起输入端输入电阻上的压降。这一误差可以是在这些电池电压和温度检测电路中最低有效位的数十倍。最好的消除这一误差的方法是在设计者的控制下减少模拟DC源电阻和任何形式的泄漏。

MCU芯片的温度也可以对ADC结果有影响。然而,温度是一个慢变因素。一个血压监护仪的常规的重复校准被设计在应用代码中,这使用户不用考虑理想条件,使温度的影响最小。然而,在工厂中的完全校准(其结果贮存在存储器的查询表中)基本能够消除温度的影响。许多ADC具有片上温度传感器,它们可以用来监控温度,使调节可以进行。

非线性几乎是一个无法被校准的因素,因为它通常是模块设计中所固有的。在每个编码转换之间的电压差应该等于1LSB。因此,非线性是指编码步长的不规则间隔,它导致一些信号变形。

结语

飞思卡尔嵌入式控制器ADC具有高度集成的功能,从而使设计者能够获得高精度的测量。在最新的Flexis产品系列中的16位ADC能使开发者通过调节ADC的偏移和增益提高精度,而不增加系统硬件和软件的要求。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-25 13:31 , Processed in 0.059528 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表