51单片机抗干扰技术
机,但工作状态频繁改变,这同样是不能容忍的。
理想的复位特征应该是:系统可以鉴别是首次上电复位(又称冷起动),还是异常复位(又称热启动)。首次上电复位则进行全部初始化,异常复位则不需要进行全部初始化,测控程序不必从头开始执行,而应故障部位开始。
(1)上电标志的设定方法
①SP建立上电标志。
②PSW.5建立上电标志。
③内RAM建立上电标志。
(2)软件复位与中断激活标志
当系统执行中断服务程序时,来不及执行RETI指令而受干扰跳出该程序后,程序乱飞过程中由软件陷阱或软件“看门狗”将程序引向0000H,显然这时中断激活标志并未清除,这样就会使系统热启动时,不管中断标志是否置位,都不会响应同级中断的请求。因此,由软件陷阱或“看门狗”捕获的程序一定要完成清除 MSC-51系列中中断激活标志,才能消除系统热启动后不响应中断的隐患。
(3)程序失控后恢复运行的方法
一般来说,主程序是由若干个功能模块组成,每个功能模块入口设置一个标志,系统故障复位后,可根据这些标志选择进入相应的功能模块。这一点对一些自动化生产线的控制系统尤为重要。
总之,微机测控系统由于受到严重干扰而发生程序乱飞、陷入死循环以及中断关闭等故障。系统通过冗余技术、软件陷阱技术和“看门狗”技术等,使程序重新进入0000H单元,纳入正轨。因故障而进入0000H后,系统要执行上电标志判定、RAM数据检查与恢复、清除中断激活标志等一系列操作,决定入口地址。
2.4 睡眠抗干扰
在实际应用中,强干扰的来源往往是系统本身,例如被控负载的中断状态变化等。而这种干扰是可预知的,在软件设计时可采取适当措施避开。当系统接通或断开大功率负载时,暂停一切数据采集等工作。待干扰过后,再恢复进行。这比单纯在硬件上采取抗干扰措施要好的多。8031单片机中有一个电源控制寄存器 PCON。当PCON.0=1时,8031单片机进入等待工33作状态。这时单片机时钟被封锁,所有I/O口引脚均保持进入等待工作方式前的状态,内部时钟仍然继续供给中断系统定时/计数器和串行口、8031单片机现场(栈指针、程序计数器PC、状态字PSW、累加器ACC、内部RAM)和其他特殊功能寄存器内容保持不变。中断退出和硬件复位均可使8031单片机退出睡眠状态。
3 单片机系统中硬件抗干扰设计
一个好的电路设计,应在设计过程中充分考虑抗干扰性的要求。分析系统中可能引起干扰的部件,采取必要的硬件抗干扰措施,抑制干扰源、切断干扰传播途径。
3.1 抑制干扰源常用措施
(1)给继电器线圈增加续流二极管,消除断电时产生的反电动势。
(2)在继电器接点两端并接火花抑制电路,(一般为RC串联电路,电阻一般为几~几十kΩ,电容为0.01μF)减小电火花影响。
(3)给电机加滤波电路,注意电容、电感连线要尽量靠近电机。
(4)电路板上每个IC要并接一个0.01~0.1μF高频电容,减小IC对电源的影响。注意高频电容的布线应靠近电源端,并尽量短,否则等于增大了电容的等效串联电阻,会影响滤波效果。
(5)避免90°折线,减小高频噪声发射。
(6)在可控硅两端并接RC抑制电路,减小可控硅噪声。
3.2 切断干扰传播途径措施
(1)充分考虑电源对单片机的影响。给单片机电源加滤波电路,减小电源噪声对单片机的干扰。
(2)若用单片机的I/O口来控制电机等噪声器件,在I/O口与噪声源之间应加Ⅱ形滤波电路,或进行光电隔离。
(3)注意晶振布线。晶振与单片机引脚尽量靠近,用地线把时钟区隔离起来,晶振外壳接地并固定。
(4)电路板合理分区,如数字信号、模拟信号尽可能使干扰源与敏感器件远离。
(5)用地线将数字区与模拟区隔离,数字地与模拟地分离,最后接在一点接于电源地。
(6)单片机和大功率器件的地线要单独接地,以减小相互之间的干扰。
(7)在单片机I/O口、电源线、电路板连线等关键地方使用抗干扰元件,如磁环、电源滤波器、屏蔽罩等。
3.3 提高敏感器件的抗干扰性能
提高敏感器件的抗干扰性能是指从敏感器件考虑尽量减小对干扰噪声的拾取,以及从不正常状态尽快恢复的方法。常用措施:
(1)布线时尽量减少回路面积,降低感应噪声;
(2)布线时电源线与地线尽量粗。除减小压降外,更重要的是降低耦合噪声;
(3)对单片机的闲置I/O,不能悬空,应接地或电源,其他IC的闲置口一样;
(4)加单片机硬件看门狗电路;
(5)满足要求的前提下,尽量降低单片机晶振和选用低速数字电路;
(6)IC器件尽量直接焊在电路板上,少用IC座。
51单片机抗干扰技 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)