×
嵌入式开发 > 详情

单片机应用系统的抗干扰解决方案

发布时间:2020-07-07 发布时间:
|

1. 引言

单片机应用系统抗干扰设计是系统设计的重要内容之一,抗干扰性能的好坏将决定系统能否在复杂的电磁环境下稳定可靠地工作,从而决定了系统的实际使用价值。特别是在各种实时控制的远距离系统中,由于现场环境恶劣,干扰因素较多,系统不可避免地要受到其他电磁设备的干扰,若仅按常规设计就很难保证系统的正常运行。因此,抗干扰问题是设计者必须充分考虑和解决的,下面从硬件和软件两个方面谈谈抗干扰设计。

2. 硬件抗干扰设计

2.1 供电系统

为了防止从电源系统引入干扰,首先采用交流稳压器保证供电系统的稳定性,防止电源的过压和欠压。其次,电源滤波和退耦是抑制电源干扰的主要方式,可将电源变压器的初级隔离起来,使混入初级的噪声干扰不致进入次级;使用隔离变压器滤掉高频噪声,低通滤波器滤掉工频干扰。

当系统中使用继电器、磁带等电感设备时,数据采集的供电电路应与继电器的供电电路分开,以避免在供电线路之间的干扰,即如图1所示。

单片机系统的主机部分使用单独的稳压电路,必要时输入、输出供电分别采用DC-DC模块,避免各个部分之间的干扰。

2.2 印制电路板

① 注意合理布置印制电路板上的器件,遵循器件之间电气干扰小和易于散热的原则。

② 电路板要合理划分,模拟电路区、数字电路区、功率驱动区等要尽量分开,地线不能相混,要分别和电源端的地线相连。

③ 布线时尽量不要构成环路,特别避免沿印制电路板周围做成环路,不要出现长段的窄线并行,旁路电容的引线不能很长;单元电路的输出和输入应当用地线隔开;电源线和地线的走向尽量和数据传输的方向一致,并加宽宽度提高电路板的抗干扰能力。

④ 原则上每个IC都要加去耦电容,并靠近IC的电源脚和接地脚。

2.3 输入输出干扰的抑制

输入输出信号加上光电耦合器隔离,可以将主机部分和前向、后向通道及其他部分切断电路的联系,有效地防止干扰进入主机系统。

单片机实时系统信号的长线传输过程中,要注意使用双绞线,提高系统的抗噪声能力。同时对传输线要进行阻抗匹配,可以在传输线的始端串联电阻、末端并联电阻,以实现匹配,提高系统的抗干扰能力。

3. 软件抗干扰设计

为了提高测控系统的可靠性,仅靠硬件抗干扰措施是不够的,还需采用适当的软件抗干扰技术,软件抗干扰技术是当输入信号受干扰后去伪求真或系统受干扰后使系统恢复正常运行的一种辅助方法。对抑制输入信号的干扰主要采用数字滤波技术,通过软件去除噪声对数据采集结果的影响。系统受干扰后会使得程序失控,失控原因大都可以归结为程序计数器PC的内容发生变化,引起程序跑飞或陷入死循环,CPU执行了一系列错误的指令从而导致系统失控,,可以采用软件冗余、软件陷阱和看门狗技术等使程序纳入正规。

3.1 软件冗余技术

MCS-51所有指令都不超过三个字节,且多为单字节指令,指令由操作码和操作数组成,操作码指明CPU完成什么样的操作,单字节指令仅有操作码,隐含操作数。CPU受到干扰后,PC内容发生变化,当程序弹飞到某一单字节指令时,便自动纳入正规。当跑飞到某一双字节或三字节指令时,若恰恰在取指令时刻落到其操作数上,CPU就将操作数当作操作码来执行,引起程序混乱。因此软件设计应多采用单字节指令,并在关键的地方人为的插入一些单字节指令NOP,或将有效的单字节指令重写,这称作指令冗余。在实际软件设计中,往往在双字节和三字节指令之后插入两个NOP指令,可以保证程序跑飞后其后面的指令不会拆散,后面的程序可以正常运行。在那些对程序流向起决定作用的指令,如RET、RETI、ACALL、LJMP、JZ、JNC等之前也插入2条NOP指令,可保证跑飞的程序迅速进入正确的控制轨道。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
RIOS实验室联手Imagination.共同助力RISC-V生态发展