人体脉搏信号采集实验 一、实验目的 1.理解脉搏信号采集电路工作原理。 2.掌握人体生理信号采集电路的调试方法。 3.了解脉搏信号的波形特点,和分析方法。
二、所需仪器与元件 稳压电源(1)、计算机(1)、万用表(1)、数字示波器(1)、HK-2000B(1)、TL062(2),MAX291(1)、X9C503(1)、MAX232(1)、ATMEGA32(1)、9芯串口插座(1)、1N4148(1)、340KΩ电阻(1)、2.7KΩ电阻(1)、50KΩ电阻(1)、1.3MΩ电阻(1)、470KΩ电阻(1)、10KΩ电阻(1)、0.1μF陶瓷电容(14)、0.47μF陶瓷电容(2)
三、实验性质 综合性 四、实验原理 1.系统总体框图 传感器HK-2000B模拟调理放大&滤波ADC采集
图1-系统总体结构 该采集系统通过HK-2000B型脉搏传感器采集人体的脉搏信号。脉搏属于低频弱信号,频带1-40Hz。由于不同人体的个体差异较大,脉搏强度不同。该系统包含增益调节电路,根据实际需要自动调整放大倍数,适应不同人群。 2.传感器介绍 传感器技术指标: 电源电压:5~6V 压力量程:--50~+300mmHg 灵敏度:2000μV/mmHg 灵敏度温度系数:1×10−4/℃
精度:0.5% 重复性:0.5% 迟滞:0.5% 过载:100倍 3.传感器接口定义 32
1
图2-HK-2000B传感器接口 接口定义:1-电源;2-信号输出;3-公共地 4.传感器接口电路 在安放传感器时,由于使用绷带松紧程度存在随机性,所以传感器的输出信号会出现一定的直流偏移。若该偏移较大,可导致后续电路中放大器饱和,以致无法实现信号的采集。所以,在传感器的输出信号要经过一高通滤波器滤去信号中的直流分量后再进行放大。其具体电路见图3。
图3-传感器接口电路 电路中,采用 RC网络组成一阶高通无源滤波器,高通滤波器的截止频率由C1和R1决定,按式(1)计算。电路中C2为电源退耦电容,用来减小由电源引入的噪声。
𝑓𝑐=12𝜋𝑅1𝐶1=12×3.14×340000×0.00000047=1.004(𝐻𝑧) (1) 5.放大/增益调整电路 为了实现可控增益调整,电路中应用了数字电位器X9C503。该器件将50K电位器分为100级,提供了逻辑电路接口,可以方便地与单片机等数字电路连接。使用数字电位器配合运算放大器,组成增益可调增益的放大电路。数字电位器的端-端误差的行业标准为20%。为了克服该误差对放大倍数的影响,将数字电位器接成分压形式。 图4-增益可调的同相比例放大电路 在图4电路中,首先用R1将输入信号调节成同相可调的与原信号成比例的信号,然后通过选择适当的R2、R3,放大一定倍数,就是实现了增益的调节。该电路与信号输入阻抗较小。所以,如有必要应当在输入端前加入电压跟随器进行阻抗匹配。该电路的增益应按照如下计算:
𝐴=𝑛99×(1+𝑅2𝑅3) (7) (7)式中n 为数字电位器滑片位置,对于X9C503芯片n的取值范围为:0-99。这里,我们选择R3=2.7K,R2=50K。 电路中,数字电位器X9C503提供了3线式接口与单片机连接。X9C503内部结构见图5。其数字逻辑由一7位双向计数器实现(注意可用范围0-99而非0-127)。计数器的计数值通过译码电路选通电阻序列中相应的电阻,模拟了机械电位器滑片的滑动。
图5-X9C503内部原理 X9C503采用DIP封装,引脚定义如图6,说明在表1 图6-X9C503引脚定义 表1 引脚功能说明 引脚号 名称 功能
1 I—N—C— X9C503中计数器的时钟输入,下降沿有效,每一个下降沿对应
计数器加/减1。从而控制电位器滑片向上/下滑动。
2 U/D— X9C503中计数器的计数方向控制,高电平为加计数,对应电位
器滑片向VH/RH端滑动;低电平为减计数,滑片向VL/RL端滑动。
3 VH/RH 数字电位器高端,相当于机械电位器的一个固定端。
4 VSS 地
5 VW/RW 数字电位器滑动端,相当于机械电位器的滑片。
6 VL/RL 数字电位器低端,相当于机械电位器的一个固定端。
7 C—S— 片选控制,低电平有效。
8 VCC 电源供电。
数字接口I—N—C—、U/D—和C—S—的逻辑功能详见表2 表2-X9C503数字接口逻辑 C—S— I—N—C— U/D— 功能
L ↘ H 滑片滑向高端
L ↘ L 滑片滑向低端
↗ H X 保存滑片位置到E2PROM H X X 空闲 ↗ L X 不保存滑片位置,返回空闲状态 ↘ L H 滑片滑向高端(不推荐) ↘ L L 滑片滑向低端(不推荐) 6.电平抬升电路 系统中,AD转换器的参考电压采用2.56V,输入为单极性输入。脉搏信号为双极性信号。为了保证能将信号无损失地采集,应将脉搏信号的直流分量提升至1.2V附近,这样可以无失真地进行信号采集。 该部分电路首先采用一个电容隔信号中原先的直流分量,然后通过电阻分压网络加入新的直流偏置。其电路见图7。
图7-电平抬升电路 该电路的交流等效电路为一个RC高通滤波器,等效电阻为R4、R5并联。为了不损失有用信号,应保证截止频率在1Hz附近。所以计算如下:
𝑅=11𝑅4+1𝑅5
(4)
𝑓𝑐=12𝜋𝑅𝐶=1𝐻𝑧 (5) 同时,R4、R5满足分压要求: 𝑅5
𝑅5+𝑅4
×5=1.2𝑉 (6)
综合式(4)、(5)和(6),计算解出R4、R5,并选取标准阻值:R4=1.3MΩ;R5=470KΩ。 7.低通滤波电路 人体脉搏信号的得频率集中在40Hz以下频段,采集脉搏信号时,应当滤掉40Hz以上高频干扰。本系统中,低通滤波电路采用了集成8阶巴特沃思开关电容低通滤波器MAX291芯片。这样能在减少外围器件的同时获得较好的滤波效果。开关电容滤波器工作时,需要外接时钟信号,设计电路时,滤波器的转折频率由外接的时钟信号决定。对于MAX291芯片,其时钟/转折频率比为100:1。即,如果需要转折频率为40Hz的低通滤波器,则需要输入4KHz的时钟信号。MAX291芯片要求输入的时钟信号为TTL电平占空比50%±10%的方波信号,该信号可由单片机的定时器产生。MAX291芯片引脚定义见图8。 图8-MAX29x系列芯片引脚定义 MAX291应用电路如图9。
图9-MAX291应用电路 至此,完成了对脉搏信号的模拟调理,在MAX291芯片的输出端接上模拟示波器已经可以观察到脉搏信号的波形了。当然,由于数字电位器在没有单片机控制的情况下是无法工作的,所以为了观察波形,可以先将数字电位器用一个阻值适当的定值电阻代替,用来临时观察波形,同时检验这一部分电路的工作是否正常。观察到的波形应当大致如图10。因被测者的个体差异,波形可能会有一定差异。
图10-脉搏信号波形 8.数据采集和单片机系统 系统中采用Atmel公司出品的8位AVR单片机ATMEGA32实现对脉搏信号的采集和对系统的控制。该单片机内集成了10位多通道逐次比较型A/D转换器,可用于脉搏信号的采集。通过检测脉搏的幅值,自动调整电路增益,以达到最佳采集效果。系统工作时,采用定时器0每4ms产生一次中断,中端服务线程负责读取A/D转换器采集数据,从而保证250Hz的采样率,保证信号不失真 。采样过程中,每采样500个点(2s)统计一次峰值与谷值,并判断是否有必要调整增益,之所以定为每2秒统计一次,是为了保证在极端情况下(心律
05001000129578511314116919722525328130933736539342144947750540)仍能保证有效统计峰值与谷值。系统上电后,起初增益可能不合适,在最多20s时间内(端到端调整),即可完成增益自动调整。MAX291滤波器所需的4KHz时钟信号,由单片机的定时器1产生,通过OC1A引脚输出。数字电位器的引脚与单片机的通用IO口(PB0-PB2)相连。采集到的脉搏信号,用单片机的串行口通过MAX232电平转换电路,传输至计算机中。电路实现时,启用ATMEGA32单片机内置的时钟源,这样可以省去外接石英振荡器,简化电路。单片机软件开发环境选择Atmel公司出品的AVR Studio配合avr-gcc编译器进行软件设计。 9.软件设计 软件工作流程见图11。
上电初始化
采集数据点是否超量程调整增益超
发送数据不超
图11-软件工作流程 10.系统整体电路 图10-系统整体电路 五、实验内容
1.按照各模块电路原理图连接电路并调试。 2.根据软件流程图编写程序,实现脉搏信号的采集和增益的自动调整。
六、参考程序 1.数字电位器相关控制函数 unsigned char X9C503_Val; //该变量存储数字电位器滑片位置,以便程序查阅 /*定义宏,方便端口操作:*/ #define SETB_(x) PORTB|=(1<<(x)) //将PB相应引脚置高 #define CLR_(x) PORTB&=~(1<<(x)) //将PB相应引脚置低 /*数字电位器接口:*/ #define X9C503_CS PB0 #define X9C503_INC PB1 #define X9C503_UD PB2 /******************************************************************** * 函数名称:X9C503_Inc(unsigned char i) * 功能:数字电位器滑向高端 * 入口参数:i:滑动级数 * 返回值:无