单片机在嵌入式系统应用中,抗干扰性能是系统可靠性的重要指标,抗干扰设计是单片机系统研制中不可忽视的一个重要内容。本文根据笔者在实际工作中的体会,就单片机在嵌入式系统应用中的抗干扰问题进行探讨,并给出了排错设计、容错设计的一些方法和措施。
随着科学技术的迅速发展,单片机在各个领域中的应用越来越广泛。在众多的应用系统中共同面临的一个问题,就是它在应用系统中的可靠性,这就要求我们在设计时应根据现场具体情况,在硬件设计、线路板设计、软件设计等方面来采取相应的抗干扰措施。
一、抗电源干扰的措施
大部分单片机嵌入式系统都采用市电电源供电,在应用系统中一个很重要的干扰就来自电源。市电的各种干扰,如雷电、大容量感性负载的起停等,都会造成电源瞬间欠压、过载,产生浪涌、下陷、尖峰等干扰,但我们可采取如下有效抗干扰措施。
1.用压敏电阻抑制尖峰、浪涌
压敏电阻两端的电压如超过其限定值时,电流会迅速增大,呈短路状态,利用这一特点,可以用它吸收瞬间的尖峰、浪涌电压。压敏电阻并联在电源变压器的初、次级,加入压敏电阻后,电源干扰造成单片机程序失控的可能性减小。压敏电压的计算公式为:VIMA=1.56×32×V~(V~:交流电压有效值)
2.滤波器抑制高频干扰
市电中含有多种高次谐波,它们很容易经电源进入单片机系统,另外一些射频发射、电磁波等也会由电源线感应反馈入单片机系统造成干扰,因此在电源电路中加入低通滤波电路让50 Hz市电基波通过,抑制掉高频信号。此外在电源变压器的初次级之间均用屏蔽层隔离,减少其分布电容,提高抗共模干扰的能力。
图1中列出了几种不同形式的滤波电路。
二、印刷电路板的抗干扰设计
印刷电路板是单片机应用系统中器件、信号、电源线的高密度集合体,印刷电路板设计的好坏对抗干扰能力的影响很大。
1.电源线、地线的设计
在单片机应用系统,接地是抑制干扰的重要方法。线路板上既有逻辑电路,又有模拟电路,两者的地线要分别与电源端地线相连。低频电路的地线尽量采用单点并联接地,高频电路宜采用多点串联接地。接地线如果很细,接地电位则随电流的变化而变化,使系统抗噪声性能变坏,因此应加粗接地线条,使它能通过3倍于印刷电路板上的允许电流。
电源线与地线应尽量靠近走线以减少所包围的环路面积,从而减少外界磁场对环路切割而产生的电场干扰,同时也减少环路对外电磁辐射。电源线、地线的走向与数据传递方向一致也有助于增强抗噪声能力。
2.一些特殊措施
在印刷电路板的各个关键部位配置去耦电容应视为印刷电路板设计的一项常规做法。原则上每个集成电路芯片都应安置一个0.01μF的瓷片电容排除射频耦合干扰,电容引线不能太长,应紧靠芯片的电源线、地线。如印刷电路空隙小装不下时,可每4~10个芯片安置一个1~10μF的限噪声用的电容钽电容。线路板布局时,应使单片机的振荡晶体尽量放在单片机两引脚近端。
三、程序运行失常的对策
前面所介绍的抗干扰措施仅是尽量减少干扰,提高系统运行的可靠性,但在恶劣的工作环境下程序长期运行仍可能失控:PC值指向操作数,将操作数作为指令码执行;PC值超出应用程序区,将非程序区中的随机数作为指令码运行。不管何种情况,都会造成程序的非正常运行或死机。看门狗就是在程序跑飞或死机时,对系统进行重新置位或复位,使系统恢复正常运行的一种专用电路。常用的看门狗有2种:软件狗和硬件狗。
1.硬件看门狗
所谓硬件狗,就是一个能发出“复位”信号的计数器或定时器电路。图2是一个硬件看门狗电路。其工作原理是:P1.0作为看门狗的“喂狗”信号定时给出一脉冲,设其脉冲间隔为△t<tw<2△t,当程序正常运行时,每隔△t输出一脉冲触发CC4098单稳电路,使始终为低电平,若程序一旦出现异常,不能在tw时间内送出一“喂狗”脉冲,产生一正脉冲,使单片机系统复位,使其能重新正常运行。