1 引言
目前,单片机系统在星载仪器中担负着非常重要的任务,星载仪器往往处于复杂的空间环境之中,存在着大量的干扰源,如高能带电粒子主要通过单粒子效应对单片机系统构成影响,使其发生单粒子翻转事件,将导致程序走向混乱,使系统无法正常工作。因此,在系统设计上充分考虑抗干扰设计,提高系统的可靠性尤为重要。对于单片机系统而言,干扰有两种,一是来源于系统外部环境和其它电气设备产生的干扰,通过传导和辐射等途径影响单片机系统正常工作;二是来源于系统内部,由系统结构、制造工艺等决定以及内部元器件在工作时产生干扰,通过地址、电源线、信号线、分布电容等传输,影响系统工作状态。单片机系统抗干扰措施主要从硬件、软件两个方面展开避错、容错设计,以提高系统的可靠性。
2 干扰产生的原因
2.1 干扰源
干扰源是指产生干扰的元件、设备或信号。产生的干扰包括:
(1)电磁干扰,如继电器开关启动、静电放电、电网电压波动等都可能引起不同程度的瞬变浪涌电压,会造成IC和半导体器件PN结烧毁、氧化层击穿等。
(2)人为干扰,如机械振动、继电器触点抖动、元器件安装和电路板布线引起的电磁耦合、接插件接触不良、虚焊、放大器自激、电源纹波等。
(3)环境因素干扰,如噪声和环境温湿度、以及太阳黑子的变化,空间粒子辐射等。
2.2干扰传输途径
干扰对单片机系统的影响主要通过三种途径传输,包括:
(1)输入系统。一般情况下,星载仪器的检测对象往往是微弱物理信号,通过放大的运放电路和高精度A/D转换电路组成。如串入干扰,会使输入的模拟信号失真,数字信号出错,从而导致采集的数据误差增大。
(2)输出系统。一旦受到干扰,将使各输出信号混乱,不能正常反应单片机系统的真实输出。但一般单片机输出电路都具有较高的电平,不易受到干扰,需要注意的是其对其他电路的干扰影响。
(3)CPU系统。该干扰主要是由CPU内部时钟和噪声引起的,它可使单片机系统总线上的数字信号错乱,CPU得到错误的地址信号,使程序跑飞或死循环,导致输出错误,并将这个错误一直传递,造成系统失败。
2.3 敏感器件
在星载仪器单片机系统中,通常会用到一些如A/D、D/A变换器、弱信号放大器等容易被干扰的器件,也是产生干扰的重要原因。
3 单片机常用抗干扰技术
抗干扰就是针对干扰产生的性质、传播途径、侵入位置和侵入形式等,采取相应的方法来消除干扰源,抑制传播途径,减弱电路或元器件对噪声干扰的敏感性,使单片机系统能正常稳定地运行。
3.1 抑制干扰源的干扰作用
针对不同的干扰源采取相应的措施,抑制干扰作用。
(1)继电器线圈增加续流二极管,消除断开线圈时产生的反电动势干扰。
(2)在继电器接点两端并接火花抑制电路,一般是RC串联电路,电阻一般选几K到几十K,电容选0.01uF,减少电火花影响。
(3)尽可能将干扰源(与电机、继电器)与敏感器件(单片机)远离。
3.2 硬件干扰抑制技术
硬件抗干扰具有效率高的特点,只要合理布置与选择有关参数,适当的硬件抗干扰措施就能抑制系统的绝大部分干扰。
3.2.1 电源抗干扰设计
单片机系统对电源噪声很敏感,电源的通断、瞬时短路及电网串进来的干扰脉冲都会造成单片机误动作。主要措施为给电源加滤波电路和稳压器,以减少干扰。
3.2.2 屏蔽干扰技术
在空间环境中,由于受空间带电粒子辐射,会造成抗辐射能力较低的器件发生翻转或锁定,严重时会使器件失效。可采用铝皮或钽皮遮挡,进行屏蔽加固。
星载仪器中,高灵敏的弱信号探测探头引线应用屏蔽线,避免外界信号的干扰。将可能产生电磁脉冲的部件如高压电源,以及灵敏度较高的部件如前置放大器等用金属罩屏蔽,以减少干扰。
3.2.3 隔离抗干扰技术
隔离一方面可把外来的干扰通道切断,从而达到隔离现场干扰的目的。另一方面可将两条信号线隔开,使彼此的串扰尽可能小,常用的隔离方式有光电隔离、变压器隔离、继电器隔离等。
a.光电隔离使用光电耦合器来完成,光电耦合器其输入端和输出端的电信号是以光为媒介进行间接耦合的,因而具有较高的电气隔离和干扰抑制能力,除此之外它还能起到很好的安全保障作用,因为在输入输出回路间有很高的耐压值。
b.脉冲变压器可实现数字信号隔离,脉冲变压器匝数少,且一次和二次绕组分别缠绕在铁氧体磁心的两侧,分布电容仅有几pF,所以可作为脉冲信号的隔离器件。
c.继电器的线圈和触点之间没有电气上的联系,故可利用继电器的线圈接受电气信号,利用触点发送和输出信号,避免弱电和强电信号间的直接接触,实现干扰隔离。
3.2.4 印制板PCB抗干扰设计
随着技术的飞速发展,PCB密度越来越高,PCB设计好坏对单片机系统影响很大。
a.设计时尽量选择多层PCB板,其中一层为地层,一层为电源层,这种选择能形成良好的退耦电路,并加入地线的屏蔽,可防止产生低电位差和元件之间的耦合。
b.晶振与单片机引脚尽量靠近,引线越短越好,用地线把时钟区隔离起来,晶振外壳接地并固定。
c.电源线,地线应尽量加粗,除减小压降外,还能降低耦合噪声。
d.TTL,CMOS器件的地线要呈辐射网状,避免环形。两种器件接口应考虑电平匹配。
e.印制板布线时,将微弱信号电路与易产生噪声污染的电路分开布线,信号线与强电控制线路、电源线路分开走线,且相互间保持一定的距离。配线时应区分交流线、直流稳压电源线、数字信号线、模拟信号线、数字地、模拟地等。配线间隔越大,配线越短,则噪声越小。信号线应尽量远离高压线路,如受条件限制,信号线不能与高压线离得足够远,就要采用信号线接电容等各种抑制电磁感应噪声的措施。用地线将数字与模拟区隔离,数字地与模拟地分离,最后在一点接于电源地。交流地和信号地不能共用。
f.布线时避免90°折线,减少高频噪声发射。尽量减少回路环面积,以降低感应噪声。
g.元件面与焊接面应采用垂直、斜交或弯曲走线,避免相互平行以减小寄生耦合,避免相邻导线平行段过长。
h.单片机和大功率器件要单独接地,大功率器件尽可能放在电路板边缘。
i.信号频率过高的信号线,要加终端匹配电阻。为提高干扰抑制能力,探测器连接电缆可采用金属网状屏蔽线抑制静电感应,采用双绞屏蔽线抑制电磁感应。
j.高频电路应就近多点接地,以避免地线间耦合,低频电路应一点接地,以减少地线造成的地环路。
3.2.5EFT抗干扰技术
振荡电路的正弦波信号受到外界干扰时,其波形上会叠加一些毛刺。以施密特电路对其整形时,这种毛刺会成为触发信号干扰正常的时钟信号,交替使用施密特电路和RC滤波可使这种毛刺不起作用,这就是EFT抗干扰技术。
3.2.6减少敏感元件的干扰性
a.根据电路参数选择合理器件,尽量选用集成度高、温漂小、抗干扰性能好以及功耗小的器件。
b.对单片机闲置的I/O口,不能悬空,应接地或电源。其它IC的闲置端,在不改变系统逻辑的情况下,接地或电源。
c.在速度能满足要求的前提下,尽量降低单片机晶振和选用低速数字电路。
d.电路板上每个IC都要在VCC与地间并接一个0.01uF"0.1uF去耦电容,起到滤波的作用。注意电容的布线,连线应靠近电源端并尽量粗短,否则,等于增大了电容的等效串联电阻,会影响滤波效果。
e.对单片机使用电源监控和看门狗电路。
f.单片机的标准退耦电路是一只100uF的电容并联一只0.1uF的高频电容,这两只电容应尽量靠近V/V的地方,以减少环路效应。
g.单片机数据总线、地址总线和控制总线是单片机与外界进行信息交换的唯一通道,为提高总线的可靠性,可为总线配置总线驱动器,以及配置总线上拉电阻。
3.3 软件干扰抑制技术
硬件抗干扰措施往往并不能完全消除干扰,单片机系统仍会受到侵害,软件抗干扰技术可进一步减小各种干扰的影响。
3.3.1 指令冗余技术
以MCS-51为例,CPU取指令过程是先取操作码,再取操作数,当CPU受到干扰后,往往将一些操作数当作操作码来执行,引起程序混乱。为了使“跑飞”的程序迅速回到正轨,应多用单字节指令,并在关键地方插入两个字节以上的单字节NOP指令,通常是在双字节和3字节指令之后插入。以及在一些对程序流向起决定作用的指令(如RET、RETI、LCALL、SJMP等)前插入两条NOP指令,以保证程序迅速纳入正轨,或将有效指令重写,保证指令正确执行,这便是指令冗余。
3.3.2 软件陷阱技术
当程序“跑飞”到非程序区时,指令冗余将无法解决问题。此时可设置软件陷阱,截断跑飞的程序,将其引向指定位置,在进行出错处理。如MCS-51,假设出错处理程序的入口地址为ERROR,可在适应的地方如下设置指令:
NOP
NOP
LJMP ERROR
软件陷阱主要安排在未使用的中断区,未使用的程序空间以及非程序空间,程序运行区及中断服务程序区。
3.3.3 软件看门狗技术
当失控的程序进入“死循环”,冗余指令和软件陷阱也无能为力,通常采用“看门狗”技术。“看门狗”技术分为硬件和软件两种,这里主要介绍软件看门狗。如MCS-51,它有两个定时器T0和T1,可用这两个定时器对主程序进行监控。用定时器T0监视定时器T1,用定时器T1监视主程序,主程序监视定时器T0,“看门狗”根据程序运行指定时间间隔内未进行操作,来判断程序运行出错。采用这种环形结构的软件“看门狗”,具有良好的抗干扰性能。
3.3.4 软件滤波技术
干扰对单片机的输入会造成输入信号瞬间采样的误差或误读,为消除干扰影响,可采用软件滤波方法。常用的软件滤波方法有:
a.中位值平均滤波法。对重要信号进行多次N个采样,去除最大和最小值,取剩余的N-2个A/D转换值的平均值。此方法可消除由于偶然出现的脉冲干扰引起的采样值偏差。
b.程序判断滤波法。根据经验确定出两次采样的最大偏差值⊿Y,若两次采样信号相减数值大于⊿Y,表明为干扰信号,应去除。用上次采样值与本次采样值比较,若小于或等于⊿Y,表明没有受到干扰,此时采样值有效,这种方法可滤去随机干扰和由传感器不稳定引起的误差。
c.递推平均滤波法。把连续N个采样值看成一个队列,队列的长度固定,每次采到的新值放入队尾,去掉原队首数据,将队列中N个数据进行算术平均,可获得新的滤波结果。本方法对周期性干扰有良好的抑制作用。
3.3.5 输出端口抗干扰技术
由于外围器件动作时,常会产生电磁脉冲,对输出信号造成影响。对输出通道的干扰,可采用在程序中周期性的添加输出端口刷新指令的方法,以降低干扰。在程序指定RAM单元,存储输出口当时应处的状态,在程序运行时根据这些RAM单元的内容刷新I/O口。也可采用多次重复写控制命令的方式,重复周期尽量短,这样输出设备得到一个干扰还来不及响应时,正确信号到来,可以防止误动作的发生。
4 结束语
抗干扰技术是单片机系统设计过程中重要的环节,合理的使用软件、硬件抗干扰技术,可使系统最大限度地避免干扰的产生和使系统恢复正常,以保证系统稳定的工作。在以往的星载仪器设计中,根据系统实际情况,均采用了上述相应的几种方法相结合的抗干扰措施,实践证明,上述抗干扰方法是有效的。航天工程要求高可靠、高质量的产品,因此只有针对不同情况,采取相应措施,将干扰影响降到最低,才能保证仪器长期稳定、可靠、安全的运行。
目前,单片机系统在星载仪器中担负着非常重要的任务,星载仪器往往处于复杂的空间环境之中,存在着大量的干扰源,如高能带电粒子主要通过单粒子效应对单片机系统构成影响,使其发生单粒子翻转事件,将导致程序走向混乱,使系统无法正常工作。因此,在系统设计上充分考虑抗干扰设计,提高系统的可靠性尤为重要。对于单片机系统而言,干扰有两种,一是来源于系统外部环境和其它电气设备产生的干扰,通过传导和辐射等途径影响单片机系统正常工作;二是来源于系统内部,由系统结构、制造工艺等决定以及内部元器件在工作时产生干扰,通过地址、电源线、信号线、分布电容等传输,影响系统工作状态。单片机系统抗干扰措施主要从硬件、软件两个方面展开避错、容错设计,以提高系统的可靠性。
2 干扰产生的原因
2.1 干扰源
干扰源是指产生干扰的元件、设备或信号。产生的干扰包括:
(1)电磁干扰,如继电器开关启动、静电放电、电网电压波动等都可能引起不同程度的瞬变浪涌电压,会造成IC和半导体器件PN结烧毁、氧化层击穿等。
(2)人为干扰,如机械振动、继电器触点抖动、元器件安装和电路板布线引起的电磁耦合、接插件接触不良、虚焊、放大器自激、电源纹波等。
(3)环境因素干扰,如噪声和环境温湿度、以及太阳黑子的变化,空间粒子辐射等。
2.2干扰传输途径
干扰对单片机系统的影响主要通过三种途径传输,包括:
(1)输入系统。一般情况下,星载仪器的检测对象往往是微弱物理信号,通过放大的运放电路和高精度A/D转换电路组成。如串入干扰,会使输入的模拟信号失真,数字信号出错,从而导致采集的数据误差增大。
(2)输出系统。一旦受到干扰,将使各输出信号混乱,不能正常反应单片机系统的真实输出。但一般单片机输出电路都具有较高的电平,不易受到干扰,需要注意的是其对其他电路的干扰影响。
(3)CPU系统。该干扰主要是由CPU内部时钟和噪声引起的,它可使单片机系统总线上的数字信号错乱,CPU得到错误的地址信号,使程序跑飞或死循环,导致输出错误,并将这个错误一直传递,造成系统失败。
2.3 敏感器件
在星载仪器单片机系统中,通常会用到一些如A/D、D/A变换器、弱信号放大器等容易被干扰的器件,也是产生干扰的重要原因。
3 单片机常用抗干扰技术
抗干扰就是针对干扰产生的性质、传播途径、侵入位置和侵入形式等,采取相应的方法来消除干扰源,抑制传播途径,减弱电路或元器件对噪声干扰的敏感性,使单片机系统能正常稳定地运行。
3.1 抑制干扰源的干扰作用
针对不同的干扰源采取相应的措施,抑制干扰作用。
(1)继电器线圈增加续流二极管,消除断开线圈时产生的反电动势干扰。
(2)在继电器接点两端并接火花抑制电路,一般是RC串联电路,电阻一般选几K到几十K,电容选0.01uF,减少电火花影响。
(3)尽可能将干扰源(与电机、继电器)与敏感器件(单片机)远离。
3.2 硬件干扰抑制技术
硬件抗干扰具有效率高的特点,只要合理布置与选择有关参数,适当的硬件抗干扰措施就能抑制系统的绝大部分干扰。
3.2.1 电源抗干扰设计
单片机系统对电源噪声很敏感,电源的通断、瞬时短路及电网串进来的干扰脉冲都会造成单片机误动作。主要措施为给电源加滤波电路和稳压器,以减少干扰。
3.2.2 屏蔽干扰技术
在空间环境中,由于受空间带电粒子辐射,会造成抗辐射能力较低的器件发生翻转或锁定,严重时会使器件失效。可采用铝皮或钽皮遮挡,进行屏蔽加固。
星载仪器中,高灵敏的弱信号探测探头引线应用屏蔽线,避免外界信号的干扰。将可能产生电磁脉冲的部件如高压电源,以及灵敏度较高的部件如前置放大器等用金属罩屏蔽,以减少干扰。
3.2.3 隔离抗干扰技术
隔离一方面可把外来的干扰通道切断,从而达到隔离现场干扰的目的。另一方面可将两条信号线隔开,使彼此的串扰尽可能小,常用的隔离方式有光电隔离、变压器隔离、继电器隔离等。
a.光电隔离使用光电耦合器来完成,光电耦合器其输入端和输出端的电信号是以光为媒介进行间接耦合的,因而具有较高的电气隔离和干扰抑制能力,除此之外它还能起到很好的安全保障作用,因为在输入输出回路间有很高的耐压值。
b.脉冲变压器可实现数字信号隔离,脉冲变压器匝数少,且一次和二次绕组分别缠绕在铁氧体磁心的两侧,分布电容仅有几pF,所以可作为脉冲信号的隔离器件。
c.继电器的线圈和触点之间没有电气上的联系,故可利用继电器的线圈接受电气信号,利用触点发送和输出信号,避免弱电和强电信号间的直接接触,实现干扰隔离。
3.2.4 印制板PCB抗干扰设计
随着技术的飞速发展,PCB密度越来越高,PCB设计好坏对单片机系统影响很大。
a.设计时尽量选择多层PCB板,其中一层为地层,一层为电源层,这种选择能形成良好的退耦电路,并加入地线的屏蔽,可防止产生低电位差和元件之间的耦合。
b.晶振与单片机引脚尽量靠近,引线越短越好,用地线把时钟区隔离起来,晶振外壳接地并固定。
c.电源线,地线应尽量加粗,除减小压降外,还能降低耦合噪声。
d.TTL,CMOS器件的地线要呈辐射网状,避免环形。两种器件接口应考虑电平匹配。
e.印制板布线时,将微弱信号电路与易产生噪声污染的电路分开布线,信号线与强电控制线路、电源线路分开走线,且相互间保持一定的距离。配线时应区分交流线、直流稳压电源线、数字信号线、模拟信号线、数字地、模拟地等。配线间隔越大,配线越短,则噪声越小。信号线应尽量远离高压线路,如受条件限制,信号线不能与高压线离得足够远,就要采用信号线接电容等各种抑制电磁感应噪声的措施。用地线将数字与模拟区隔离,数字地与模拟地分离,最后在一点接于电源地。交流地和信号地不能共用。
f.布线时避免90°折线,减少高频噪声发射。尽量减少回路环面积,以降低感应噪声。
g.元件面与焊接面应采用垂直、斜交或弯曲走线,避免相互平行以减小寄生耦合,避免相邻导线平行段过长。
h.单片机和大功率器件要单独接地,大功率器件尽可能放在电路板边缘。
i.信号频率过高的信号线,要加终端匹配电阻。为提高干扰抑制能力,探测器连接电缆可采用金属网状屏蔽线抑制静电感应,采用双绞屏蔽线抑制电磁感应。
j.高频电路应就近多点接地,以避免地线间耦合,低频电路应一点接地,以减少地线造成的地环路。
3.2.5EFT抗干扰技术
振荡电路的正弦波信号受到外界干扰时,其波形上会叠加一些毛刺。以施密特电路对其整形时,这种毛刺会成为触发信号干扰正常的时钟信号,交替使用施密特电路和RC滤波可使这种毛刺不起作用,这就是EFT抗干扰技术。
3.2.6减少敏感元件的干扰性
a.根据电路参数选择合理器件,尽量选用集成度高、温漂小、抗干扰性能好以及功耗小的器件。
b.对单片机闲置的I/O口,不能悬空,应接地或电源。其它IC的闲置端,在不改变系统逻辑的情况下,接地或电源。
c.在速度能满足要求的前提下,尽量降低单片机晶振和选用低速数字电路。
d.电路板上每个IC都要在VCC与地间并接一个0.01uF"0.1uF去耦电容,起到滤波的作用。注意电容的布线,连线应靠近电源端并尽量粗短,否则,等于增大了电容的等效串联电阻,会影响滤波效果。
e.对单片机使用电源监控和看门狗电路。
f.单片机的标准退耦电路是一只100uF的电容并联一只0.1uF的高频电容,这两只电容应尽量靠近V/V的地方,以减少环路效应。
g.单片机数据总线、地址总线和控制总线是单片机与外界进行信息交换的唯一通道,为提高总线的可靠性,可为总线配置总线驱动器,以及配置总线上拉电阻。
3.3 软件干扰抑制技术
硬件抗干扰措施往往并不能完全消除干扰,单片机系统仍会受到侵害,软件抗干扰技术可进一步减小各种干扰的影响。
3.3.1 指令冗余技术
以MCS-51为例,CPU取指令过程是先取操作码,再取操作数,当CPU受到干扰后,往往将一些操作数当作操作码来执行,引起程序混乱。为了使“跑飞”的程序迅速回到正轨,应多用单字节指令,并在关键地方插入两个字节以上的单字节NOP指令,通常是在双字节和3字节指令之后插入。以及在一些对程序流向起决定作用的指令(如RET、RETI、LCALL、SJMP等)前插入两条NOP指令,以保证程序迅速纳入正轨,或将有效指令重写,保证指令正确执行,这便是指令冗余。
3.3.2 软件陷阱技术
当程序“跑飞”到非程序区时,指令冗余将无法解决问题。此时可设置软件陷阱,截断跑飞的程序,将其引向指定位置,在进行出错处理。如MCS-51,假设出错处理程序的入口地址为ERROR,可在适应的地方如下设置指令:
NOP
NOP
LJMP ERROR
软件陷阱主要安排在未使用的中断区,未使用的程序空间以及非程序空间,程序运行区及中断服务程序区。
3.3.3 软件看门狗技术
当失控的程序进入“死循环”,冗余指令和软件陷阱也无能为力,通常采用“看门狗”技术。“看门狗”技术分为硬件和软件两种,这里主要介绍软件看门狗。如MCS-51,它有两个定时器T0和T1,可用这两个定时器对主程序进行监控。用定时器T0监视定时器T1,用定时器T1监视主程序,主程序监视定时器T0,“看门狗”根据程序运行指定时间间隔内未进行操作,来判断程序运行出错。采用这种环形结构的软件“看门狗”,具有良好的抗干扰性能。
3.3.4 软件滤波技术
干扰对单片机的输入会造成输入信号瞬间采样的误差或误读,为消除干扰影响,可采用软件滤波方法。常用的软件滤波方法有:
a.中位值平均滤波法。对重要信号进行多次N个采样,去除最大和最小值,取剩余的N-2个A/D转换值的平均值。此方法可消除由于偶然出现的脉冲干扰引起的采样值偏差。
b.程序判断滤波法。根据经验确定出两次采样的最大偏差值⊿Y,若两次采样信号相减数值大于⊿Y,表明为干扰信号,应去除。用上次采样值与本次采样值比较,若小于或等于⊿Y,表明没有受到干扰,此时采样值有效,这种方法可滤去随机干扰和由传感器不稳定引起的误差。
c.递推平均滤波法。把连续N个采样值看成一个队列,队列的长度固定,每次采到的新值放入队尾,去掉原队首数据,将队列中N个数据进行算术平均,可获得新的滤波结果。本方法对周期性干扰有良好的抑制作用。
3.3.5 输出端口抗干扰技术
由于外围器件动作时,常会产生电磁脉冲,对输出信号造成影响。对输出通道的干扰,可采用在程序中周期性的添加输出端口刷新指令的方法,以降低干扰。在程序指定RAM单元,存储输出口当时应处的状态,在程序运行时根据这些RAM单元的内容刷新I/O口。也可采用多次重复写控制命令的方式,重复周期尽量短,这样输出设备得到一个干扰还来不及响应时,正确信号到来,可以防止误动作的发生。
4 结束语
抗干扰技术是单片机系统设计过程中重要的环节,合理的使用软件、硬件抗干扰技术,可使系统最大限度地避免干扰的产生和使系统恢复正常,以保证系统稳定的工作。在以往的星载仪器设计中,根据系统实际情况,均采用了上述相应的几种方法相结合的抗干扰措施,实践证明,上述抗干扰方法是有效的。航天工程要求高可靠、高质量的产品,因此只有针对不同情况,采取相应措施,将干扰影响降到最低,才能保证仪器长期稳定、可靠、安全的运行。
评论
查看更多