新闻中心
便携式心电图设备的出现使心电信号能够在更多场合进行采集,它既可以实现可移动化,又可以实时的对心电信号进行分析。通过内置大容量存储器件能够对患者进行长时间的实时监护,并记录患者的心电数据,通过USB接口与PC机进行数据传输,以提交到专业医疗机构做进一步分析和诊断。
1、系统整体设计概述
系统原理框图可以用图1表示。心电信号由电极获取,送入心电采集电路,经前置放大、主放大、高低通滤波、电平抬升后,得到符合要求的心电信号,并送入到STM32的ADC进行AD转换。为了更好地抑制干扰信号,在电路中还引入了右腿驱动电路。系统控制芯片采用STM32,TFT-LCD的触摸功能加上少量按键可以建立良好的人机交互环境,可以通过LCD实时显示和回放,采用SD卡可以存储24h的心电数据,数据通过USB可靠地传输到PC机,以便对心电数据做进一步的分析。
图1 心电图仪原理框图
2、系统主要硬件结构及电路
系统主要划分为三大部分:心电采集电路,主要完成心电信号的提取;带通滤波及主放大电路,用于调理采集到的信号,使之符合处理要求;STM32处理电路,完成心电信号的显示、分析、存储和数据传送功能。
2.1、心电采集电路
心电采集电路是整个便携式心电图仪的核心,直接决定整个系统性能的好坏。心电采集电路主要包括:输入缓冲及前置放大、右腿驱动、高低通滤波器、主放大和电平抬升。
体表心电信号的频率主要集中在0.05~100Hz,幅度为10μV~4mV,典型值为1mV,是一种低频率的微弱双极性信号。而STM32的ADC输入端电压范围是0~3.3V,因此需要对心电信号进行放大和电平抬升,总体放大倍数约为1000倍,然后再通过电平抬升电路抬高1V左右。心电测量中,实际的电极不可能完全对称,这样将会引起基线漂移现象,还有无处不在的电源工频干扰(50Hz),肌电干扰等,这些都要求心电前置放大器必须有很高的共模抑制比。一般要求共模抑制比在80dB以上。心电前置放大电路及右腿驱动电路如图2。(未画出放大器的正负电源)
图2 心电前置放大电路及右腿驱动电路
本设计选用INA118仪表放大器作为系统前置放大器,它具有低噪声、低漂移、高共模抑制比、高输入阻抗等特点,它的增益可达1000倍,计算公式为G=1+50k/Rg。电极极化电压******可达300mV,为了防止前置放大器进入截止或饱和状态,必须限制其放大倍数,这里增益取10,由G=1+50/Rg得出Rg=5.6kΨ,外部电阻Rg选用阻值为5.6kΨ的精密线绕电阻。由于人体的阻抗和心电电极阻抗非常大,所以在前置放大前设计了一级跟随作为信号缓冲。为了更好地抑制50Hz干扰,采用右腿电极经电阻与放大器接地端相连,以降低人体的共模电压。
2.2、带通滤波及主放大电路
心电信号频带主要集中在0.05~100Hz,因此带通滤波器设计的带宽为0.03~110Hz以滤除干扰信号。带通滤波器用高低通滤波器来构成,如图3所示,基于小型化和成本考虑,硬件滤波只用一阶高通滤波器和一阶低通滤波器,虽然设计了右腿驱动电路,但是仍然有50Hz干扰进入电路,本文不再设计50Hz陷波器,而改为用软件的方法通过设计数字滤波器来滤除工频干扰。
图3 高、低通滤波电路
图3中高通滤波器由U5A、C4、R6组成,设置其截至频率为f=0.03Hz,低通滤波器由U5B、C5、R7组成,设置其截止频率为f=110Hz。
主放大电路要放大100倍左右,为更好地适应实际应用加入滑动变阻器使其倍数可调。心电采集电路处理后的波形如图4所示。
图4 示波器采集到的波形
从图4看出示波器采集到的心电波形比较干净,符合心电波形的特征,同时看到该波形还有一些波纹,即50Hz干扰存在,经过软件滤波可以消除这些干扰。
2.3、STM32处理器及主要接口电路
2.3.1、TFT-LCD液晶接口设计
选用320*240TFT液晶来显示波形,而用STM32的FSMC模块来控制液晶就非常合适。FSMC即灵活的静态存储控制器,它能够与同步或异步的存储器和16bit的PC存储器卡接口,其一大特色是访问外部设备的时序可编程:等待周期可编程、总线恢复周期可编程、输出使能和写使能延迟可编程、独立地读写时序和协议。这样就可以把液晶当做外部存储设备来使用,配置好读写及控制信号时序,只要指定指针就可以实现对液晶的读写访问。
2.3.2、SD卡接口与USB数据传输设计
SD卡有存储容量大、成本低、读写速度快的优点,正逐渐成为存储设备的主流。其访问方式有两种:SPI模式和SDIO模式。STM32有这两种模式的接口,本文选用SPI模式。接口电路如图5。
图5 SD卡接口电路
心电数据的存储对便携式心电图仪来说是必要的,本文在存储设计上实现了两个功能:一是支持24h心电数据存储;二是建立基于SD卡的文件系统,把心电数据存储为TXT文件格式。这样处理有一个优点,既可以用心电图仪的USB接口与PC机进行数据传输,也可以把SD卡拔下来用读卡器把数据读入PC机。
STM32内含USB模块,因此省去了外扩USB芯片,另外ST公司还提供了大量USB的实例,只需稍加修改就可应用到实际工程中,加快了开发进程。图6是USB读取SD卡中的数据截图。
图6 SD卡存储的心电数据
3、软件设计
软件采用功能模块化设计方法,通过分析,可以得到控制系统主程序和ADC中断程序的软件流程图,主程序主要完成图形菜单和波形绘制。ADC中断服务子程序完成电压的采集和标志位的传递。图7为绘制心电波形流程图,图8为ADC中断程序流程图。ADC设置为外部触发。DrawEcgflag是画图标志位,Savefalg是存储标志位。
图7 绘制心电波形程序流程图
图8 ADC中断子程序流程图
4、测试结果分析
将三个电极的一端分别接到人体的左右臂和右腿,令一端接入采集电路的三个输入端,在采样频率200Hz时的波形如图9所示。
图9 采样频率200Hz时液晶显示的波形
从图9中TFT液晶显示的波形看出,该心电图仪显示波形清晰、稳定,波形特征明显,能够满足实际应用的需要。
5、小结
采用STM32作为主控芯片,其内部包含丰富的功能模块,拥有标准和先进的通信接口,无需外扩芯片即可完成心电信号的采集、存储和数据通信。使得整个心电图仪具有体积小、功耗低的特点。满足了便携式设备的基本要求。实验表明该系统达到了预期效果。随着心血管疾病的发病率不断地逐年上升,这种便携式心电图仪具有很高的应用价值和良好的市场前景。