采用MSP430设计的12位心电(ECG)放大器
扫描二维码
随时随地手机看文章
作者Email: newtonian@263.net
摘要:本文介绍了心电放大器的基本电路构成,以及采用TI公司的MSP430系列单片机对心电信号进行模数转换处理的方法,还着重探讨了采用带硬件乘法器的MSP430F14X系列单片机对心电信号进行滤波处理的方法,并给出了相应的实验结果。
人体心肌产生的电信号传导到体表之后,由于在体表分布的不同而产生电位差,将这种电压只有mV级别的电位差放大并绘制成图,就得到了心电图(ECG)。心电图在心血管疾病的临床诊断中有非常重要的作用。通常采用的心电图按照导联数分有单导联,三导联,五导联以及十二导联等等;按照精度分常用的有8位和12位精度等等。单导联,精度低的心电图常用于进行心电监控以及心率测量。12位高精度的心电图由于可以反映出心电的细微变化,被更加广泛地应用于临床诊断、心电分析等地方。
由于心电幅度只有mV量级,需要放大上千倍才能被观察到,并且人体的内阻比较大,因此一个高阻抗、高增益的放大器是准确获取心电信号的关键。而周围环境中充满了各种各样的电磁干扰,会严重影响微弱的ECG信号,而其中最为严重的是市电电源的50Hz(部分国家为60Hz)的干扰。如何避免这些干扰也是心电放大器设计所必须考虑的问题。此外,进行高精度的AD转换也是关键的步骤,特别是对于12bit的ECG放大器。在一些便携式应用中,功耗也是需要考虑的因素。
TI公司生产的MSP430F13X、MSP430F14X系列微功耗混和信号单片机,由于具有速度快(8MIPS/16bit),集成度高(Flash,RAM,16bit Timer,8通道12bit ADC以及UART等)、极低功耗等特点,因此非常适合于ECG放大器一类的应用。MSP430F14X系列单片机由于具有硬件乘法器,因此具备一定的DSP功能,可以ECG信号进行滤波等预处理。
下图是三导联ECG放大器的框图:
ECG放大器通常由缓冲级、匹配电阻网络、放大、滤波、电平位移以及模数转换等几级构成。
电极采集到的心电信号首先进入缓冲级。缓冲级可以提高整个放大电路的输入阻抗,降低输出阻抗,这样就可以在后面的匹配电阻网络中得到幅值较高的信号。匹配电阻网络通常采用威尔逊电中心端网络,它通过特定的电阻网络获得威尔逊电中心端作为整个ECG系统的参考点。
放大级通常包括一级用AD620等仪表放大器构成的初级差分放大和TL084等通用运放构成的主放大级。由于体表液体与电极之间可能形成原电池,致使电极之间存在固定的电位差,因此第一级差分放大的增益不能太高,否则容易饱和。通常这一级增益选10左右。在第一级和第二级之间必须进行直流隔离。第二级采用同相放大电路,增益可以高达100倍,这样整个电路放大倍数可以达到1000倍。
由于信号中混有各种干扰噪声会影响ECG的有用信号,因此需要对这些噪声进行滤波。噪声来源主要有两类,一类是各种电子设备辐射出的高频噪声,一种是市电的50Hz噪声,通常情况下后者影响尤为明显。对这些噪声的滤波需要用到低通滤波器和50Hz带阻滤波器。ECG的低通滤波器通常情况下截至频率选择在100Hz以下,少数情况下会用到更高的频率。低通滤波和放大可在同一级运放中实现。带阻滤波器对最终信号的质量尤为重要,由于带阻滤波器的特性参数对元器件的精度很敏感,因此在这一级的设计中需要用到精密的阻容原件,还常常需要多级级联来获得较好的效果。
上诉几级电路都是在零偏置条件下工作,因此输出信号幅值有正有负。而进入ADC的信号必须是单端的,因此需要用加法器将双端的信号位移使之成为单端信号。
经过放大、滤波、位移之后的信号输入MSP430F133的A0-A2端进行数模转换。转换采用MSP430的顺序转换模式,采样频率可以用时钟中断来进行控制。若需要100Hz的有用信号,则应选择采样率为200Hz。
下图是实际测量得到的心电图信号:
从上图可以看出,心电信号清晰稳定,完全可以满足临床监护以及病理分析的要求。
在上述电路中,想要获得清晰稳定的心电信号,滤波器的设计很关键,特别是50Hz的带阻滤波器尤其重要。带阻滤波器的电路比较复杂,特性受外围组容元件影响较大,因此采用模拟设计往往不太容易获得很好的特性。并且由于使用环境的差异,例如我国市电是50Hz而许多国家是60Hz,因此导致产品的通用性差。如果能够采用数字滤波器,不仅稳定性的问题可以迎刃而解,并且对于不同的使用环境只需要对软件进行修改就可以了,这可以降低硬件设计复杂程度和成本,还能够提高产品的通用性。
MSP430F14X系列单片机,内置了16bit乘法器,因此具备了一定的DSP功能,可以用来进行数字滤波等运算密集型的应用。我们利用MSP430F147设计了一种单导联的心电放大器,取得了很好的效果。
这种ECG放大器的前极放大电路跟前面所述的三导联放大器电路类似,都由缓冲器,电阻网络,差分放大以及主放大级等。两级放大均采用低通网络进行了低通滤波,截止频率选择在80Hz。不同的是,这个电路中省去了50Hz带阻滤波器,这使得电路中组容元件的数量减少了40%,并且获得了模拟滤波器所无法比拟的优良特性。
该电路中ADC采样频率为200Hz。采用四阶切比雪夫滤波器,通带选择在45-55Hz之间,可以得到传递函数为:
对应差分方程为:
上述传递函数的幅频和相频特性如下图所示:
由于MSP430F147只能进行定点运算,所以在处理上述查分方程时,必须将其变换为整数运算。将各部分系数均乘以4096,取整数部分,运算得到的结果再采用右位移12位的方法得到最终结果,运算代码如下:
y[k] = (3318*x[k] + 6636*x[k-2] + 3318*x[k-4]
6913*y[k-2] – 3049*y[k-4])>>12
其中的乘法运算要采用MSP430的硬件乘法器来实现才能保证运算速度。
在系统时钟为8MHz,采样频率为200Hz条件下,该数字滤波器所得到的结果如下:
图四 数字滤波器的性能
图四中下半部分是人为加入强烈的50Hz干扰后的心电图。上半部分是经过MSP430F147进行数字滤波后的心电图,可以看出,滤波的效果非常理想,完全可以达到临床实用的要求。图5是处理前和处理后的频谱,可以看出,信号在50Hz的地方被很好地抑止了。
唯一让人觉得美中不足的是,MSP430F147的处理能力只能够实时处理单导联的ECG信号,对于多导联的运算能力则显得不足。对于多导联应用,需要考虑采用DSP进行处理。
以上两种采用MSP430单片机设计的心电放大板已经被应用于实际产品中。若有问题想与作者讨论,请发email到newtonian@263.net