随着嵌入式技术的迅速发展,单片机已被越来越多地用于各种医用仪器中,使医用仪器的智能化程度和测量精度不断地得到提高。但是与此同时也产生了新的问题,其中就有干扰问题。干扰轻则会影响输出结果,使医务人员无法进行正确地判断;重则将会使仪器无法正常工作。如何有效地抑制干扰是医用仪器设计过程中必须考虑和解决的问题。心电信号是人体体表的微弱电信号,其检测系统不仅要求能够有效地去除测量信号中的噪声干扰,还要求系统本身具有较好抗外界干扰的能力。本文将以自行设计的心电检测系统为例,介绍系统中所采用的一系列抗外界干扰措施。
1系统外界干扰来源
心电检测系统的结构如图1。其中,系统所采用的单片机是AT89C51,其它模块包括复位电路、键盘、LCD等。
图1心电检测系统简图
一般地,检测系统中的干扰主要来自于:电源干扰、信号通道干扰和空间辐射干扰。就心电检测系统而言,信号通道干扰和电源干扰是引起系统干扰的主要原因。一旦干扰进入系统的模拟信号输入通道,叠加在有用信号之上,将会使数据采集误差加大,特别是对于心电这样的微弱信号,影响更为严重;另外,在使用的市电供电电网中,正常的50Hz正弦波形上叠加有许多高电压的尖峰脉冲信号,这些信号会严重影响系统的正常工作,可对心电信号产生较大干扰。因此如何采取适当的方法来消除干扰源,抑制耦合通道,减弱电路对噪声干扰的敏感性,是设计该系统时特别要注意的问题。通常需要采取硬件和软件相结合的抗干扰措施。
2硬件抗干扰措施
2.1电源抗干扰的措施
系统的供电电源可采用图2所示方式,市电经交流稳压器稳压(可选择抗干扰能力强的开关电源)、π滤波电路、直流稳压电路后,可以在一定程度上抑制瞬态干扰,去除高频干扰。此外,可在每个集成芯片的电源输入端并接一个高频电容(一般为0.01~0.1μF),以减小集成芯片对电源的影响。
图2电源电路
2.2接地技术
本系统中,模拟电路和数字电路共存,因此应当将所有的模拟地和数字地分别相连,最后将电路中的模拟地和数字地与电源地一点汇集。同时用地线将模拟区与数字区隔离,这样可避免模拟电路和数字电路通过地线回路互相干扰。
2.3滤波电路
对于检测信号特性已知的系统,可设计合适的滤波电路,以消除部分干扰信号。如在该系统中,可以设计一双T型滤波电路[1],以去除信号中的50Hz工频干扰。
2.4PCB板布线抗干扰设计
PCB板布局时,应尽可能将相互关联的器件安排在一起;尽可能将发热量较大的器件如时钟发生器等放于电路板散热条件较好的位置,以便于散热。PCB板布线时,电源线和地线应尽量加粗;尽可能使电源线、地线的走向与数据传递的方向一致,这将有助于增强抗噪声能力;同时要注意高频电容的布线,应尽量靠近电源端,若远离的话,将等于加大了高频电容的等效串联电阻,影响滤波效果。
另外,该系统是模拟信号和数字信号并存的系统,因此要实现数字、模拟信号分区。同时,由于A/D和AT89C51的TTL电平相对于心电信号是强信号,故该系统是强信号与弱电信号并存的系统,因此系统布局时要考虑如何避免强信号对弱信号的干扰,这就要在两种信号线的布局、走向上加以区别。
3软件抗干扰措施
在单片机检测系统中,软件抗干扰具有方法简单、使用灵活、不需要或需要较少硬件资源等特点,它是硬件抗干扰技术的有效辅助手段,可起到事半功倍的效果。采用的方法有数字滤波、冗余指令、软件陷阱、“看门狗”等技术。
3.1数字滤波
数字滤波器是利用CPU强大的计算运算功能,通过某种数值运算,达到改变输入信号中所含频率分量的相对比例、或滤除某些频率分量的目的[2]。软件滤波器可有效地消除叠加在模拟输入信号上噪声,但选取何种方法要根据信号特性进行选择。本系统为心电信号检测系统,心电信号的有用频带为0.05~100Hz,通常使用的数字滤波方法有:算术平均滤波法、数字有源滤波法。
算术平均滤波法,即对任一点数据连续采样多次(可选3次),计算其平均值,并以其平均值作为该点的采样结果。该方法有利于削弱瞬态干扰对有用信号的影响。
数字有源滤波法,根据系统有用信号与噪声信号的特性,设计合适的有源滤波器。对于本系统,可以设计低通滤波器去除掉基线干扰;高通滤波器去除掉大于100Hz的频率成分;带阻滤波器滤去50Hz工频干扰等。
3.2冗余指令
在单片机的指令集中,大部分是单字节指令,只有少数是双字节或三字节指令。单片机中的程序是按储存空间中机器码排列的顺序一一执行的,它自身并不能识别何为操作码何为操作数。因此,若程序跑飞到单字节指令上时,程序还可以正常运行;若程序跑飞到多字节指令的操作数上时,程序运行将出错,甚至死机。此时可以利用冗余指令技术,一定程度上可避免上述情况,即重复地执行某些指令,以确保程序的正确执行。一般常用的冗余指令有:在程序跳转指令前加NOP指令,如LJMP、AJMP、SJMP等;在位操作指令后加NOP指令,如SETB、CLR、CPL等;以及重复地执行决定程序顺序的指令,如RETI等。
3.3软件陷阱
当程序运行受干扰,跑飞到非程序区时,可使用软件陷阱技术,强行执行一段出错处理程序(Trap),从而重新正确执行程序。常用的软件陷阱程序如下:
NOP;
NOP;
LJMP Trap;
它通常被安排在未使用的程序存储区。
3.4“看门狗”软件
单片机“看门狗”(Watchdog)软件即利用其定时器中断功能监视程序的运行状态。当PC指针因受到某种干扰而失控,程序进入“死循环”时,冗余指令和软件陷阱技术都不能使失控的程序摆脱“死循环”的困境,系统将完全陷入瘫痪。此时可以使用“看门狗”软件避免上述现象的产生,它的设计思路如下:首先设定定时器初值,一般为定时器最大定时时间与稍大于最长循环程序运行一周时间的差值TP,程序正常运行一周后,重新设定定时器的初值为TP,若程序运行出错,定时器将溢出产生定时中断,此时可进行出错处理,软件使系统复位,即执行指令LJMP 0000H。
4结语
经验和实践表明,若设计心电检测系统时,考虑到上述硬件和软件抗干扰技术,可以明显地提高系统抗干扰能力,取得事半功倍,令人满意的效果。