便携式电子血压计连续动态监测的设计
中C3总是取最大的电容,通过换算确定R,以使c3=1μF,则R3=R4=R=5.63 kΩ,取特征值5.6 kΩ,C4=0.5μF。经过低通滤波器得到的直流信号一路送往ATmegal6的PA0(ADC0)引脚,另一路送到高通滤波器继续提取微弱的脉搏振荡信号。电路如图2所示。
C7和R7又构成了0.4 Hz一阶高通滤波器,TLC2274-3构成反相放大器,闭环放大倍数KF1可以调节到3.75倍。
TLC2274-4构成加法器,用来对脉搏信号进行相位和基线的调整,电路采取反相放大接法,增益KF2可达40倍,加上上一级放大器KF1,总增益KF=KF1*KF2=150,得到放大的脉搏振荡信号即血压交流成分送到单片机PAl(ADCl)和PB3(AINl)端进行处理。
2.1.3 气阀和气泵控制电路的设计
充、放气装置利用单片机控制直流电机和气阀的动作,当单片机引脚输出高电平时,气泵和气阀立即工作;输出低电平时气泵和气阀立即停止工作。由于选用的megal6单片机I/O引脚只能提供输出20 mA的电流,直流电机和电磁阀的额定电流都达几百毫安,因此选用集电极电流2 A、基极电流50 mA的TIPll2达林顿晶体管进行驱动,如图4所示。通过控制TIPll2的基极电平,实现袖带的充气和放气。由于气阀和气泵内部有线圈,属于感性负载,需用续流二极管D1,D2以防止烧毁器件。放气采用单片机的PWM输出实现控制气阀阶梯放气。采用常开气阀,系统复位时自动放气,避免气阀损坏时出现危险。
2.2 数字电路
系统的数字电路单元以单片机为核心,完成A/D转换、充放气控制、数据存储和数据传送的任务。综合各方面考虑,选用了AVR单片机ATmegal6作为主控制器,它内置模拟比较器和八路10位ADC,21个各种类型的内外部中断源,3个内部定时器/计数器(包括捕获功能),以及UART,SPI,TWI等丰富的总线资源;外围器件采用DSl302时钟芯片、AT24C256存储芯片和通过MAX232电压转换芯片实现与上位PC机的数据传送;同时具有JMl2864M汉字图形点阵液晶显示、键盘、蜂鸣器等人机接口器件,如图5所示。
为了实现电池供电系统检测到电池电量低时自动鸣响蜂鸣器报警和在液晶上提示电量不足,本设计采用专用看门狗芯片MAX813L,MAX8-13L不仅可监控微控制器,而且在系统加电、断电和电压降到复位门限值(电压降至4.65 V,PFI引脚门槛电压为1.25 V)时,输出复位信号和中断信号。
按键设有SET,UP,DOWN,START,AUTO键,分别用以设置时钟、动态监测开/关及时间间隔设置、上下时间调整/历史记录查阅、启动检测血压和启动动态血压自动监测。
3 系统软件设计
系统软件包括采集信号处理程序,串口驱动程序,气泵气阀驱动与控制程序、时钟、存储、显示器及键盘、蜂鸣器等相关的接口程序的设计。系统软件总体框图如图6所示。
3.1 采集和信号处理
本系统采用ATmegal6内部集成的10位的逐次逼近型ADC和7.372 8 MHz外部晶振,根据Nyquist采样定理,采样频率应大于等于被采样信号最高频率的两倍,以免采样后的信号发生频谱的混叠。同时考虑到选用的气泵、气阀有自动缓慢放气的特点,将采样频率设置为200 Hz、选择AVCC作为ADC的参考电平,转换结果为ADC=(VIN×1 024)/VREF。ADC模块的工作时钟由系统时钟经过128分频提供,转换周期由T/C0定时控制,定时器T/CO的时钟源采用系统时钟1 024分频,运行于普通模式,因采样频率是200 Hz,则采样周期是5 000μs,定时初值TCNT0=
256-7.372 8×5 000/l 024=0 xdc。转换模式选择自动转换触发工作模式,在定时溢出中断中运行A/D转换程序,A1通道转换完成之后,直接改变通道,开始A0通道转换。
为了最大限度地利用A/D转换的采样速率,用中断实现A/D转换后的数据处理。当A/D转换完成后触发中断,在嵌套中断服务程序中,将采样结果进行简单预处理。由于在信号采集过程中,经常会遇到尖脉冲干扰的现象,为避免采集到的是干扰信号,在一次定时中断服务子程序中连续进行4次模数转换,得到4个连续的数据,然后进行防脉冲干扰数字滤波。在此,采用简单有效的均值滤波法,即对4个数据进行比较,去掉最大值和最小值,然后计算余下的2个数据的算术平均值,视该算术平均值为所需的模数转换结果。这样即可滤除脉冲干扰又可滤除小的随机干扰,使测量更准确。
由于定时器T1具有2个比较匹配寄存器(OCRlA、OCRlB),故可通过两个I/O口PC6、PC7产生PWM信号分别控制气泵和气阀的开关。T/C1是这样工作的:选择T/C1的计数长度为16位,工作于快速PWM模式,时钟源来自系统时钟经过1 024分频,当定时器T1产生溢出中断前,首先比较匹配中断触发,气阀工作;定时器T1继续运行直到溢出,气阀停止运行。改变定时初值TCNTl和OCRlA、OCRlB的值,可以改变气阀、气泵运行的频率和输出脉冲的占空比。为保证测量工作能可靠进行,应使系统能够实现出错检测和自动恢复。
脉搏信号输入ADC模块ADCl通道的同时,也被输入到模拟比较器的负极AINl,芯片内部的固定能隙参考电源1.23 V将代替正极AIN0的输入,比较器输出ACO触发定时器T1的输入捕获功能,当捕获到脉冲信号的变化时,计数寄存器TCNTl(TCNTlH,TCNTlL)的值被传送至输入捕获寄存器ICRl,并赋予时间标记以说明该事件的发生时刻,从而计算出脉率。
3.2 数据存储
以单片机为核心的仪表要考虑发生断电时的数据保存问题,本系统需要保存的数据依次为受检者的收缩压、舒张压、平均压、脉率以及时钟芯片DSl302的月份寄存器、日期寄存器、小时寄存器、分钟寄存器。前3个参数每个参数占2 bit,脉率等后5个参数各占l bit,一次测量仅需要11 bit的长度存储数据。
假设白天(am 6:00~pm 10:00)每隔15分钟测量一次,共测64次;夜间(pmlO:00~次日am 6:00)每隔60分钟测量一次,共测8次;则一天共测量72次,需要11×72=792 bit。加上偶侧血压记录值的考虑,选用容量为32 kB的串行I2C总线E2PROM――AT24C256。AVR的TWI接口是兼容I2C总线的硬件接口,使用硬件接口编程比软件模拟简单,代码短,效率也高。
- 基于SOPC的智能电子血压计设计(06-19)
- 血压计电子测量电路图(02-27)
- 电子血压计测量原理及设计要求(03-02)
- 电子血压计设计要求及测量技术(11-21)
- CCD物体重量实时动态监测的研究(11-26)
- 频宽、取样速率及奈奎斯特定理(09-14)