新闻中心

EEPW首页>嵌入式系统>设计应用> 单片机应用系统的抗干扰技术

单片机应用系统的抗干扰技术

作者: 时间:2010-01-11 来源:网络 收藏

(2)器件布置上:把相关的器件就近放置,易产生噪声的电路应尽量远离主机电路,发热量大的器件应考虑散热问题,I/O驱动器件尽量靠近印制板边上放置。闭置的lC管脚不要悬空,元器件脚避免相互平行,以减少寄生耦合。如有可能,尽量使用贴片元件。

(3)布线:电路之间的连接应尽量短,容易受干扰的信号线要重点保护,不能与能够产生干扰或传递干扰的线路长距离平行;交直流电路要分开;对双面布线的印制电路板,应使两面线条垂直交叉,以减少磁场耦合效应。

(4)接地:交流地与信号地不能共用,以减少电源对信号的干扰;数字地、模拟地分开设计,在电源端两种地线相连;对于多级电路,设计时要考虑各级动态电流,注意接地阻抗相互耦合的影响,工作频率低于1 MHz时采用一点接地,工作频率较高时采取多点接地,接地线应尽量粗。

(5)去耦电容:加去耦电容是印制电路板设计的一项常规做法。在电源输入端跨接10~100 μF的电解电容或钽电容,在每个集成电路芯片上安装一个0.01 μF的陶瓷电容器。

2.4 供电系统措施

(1)使用交流稳压器,可防止电网过电压、欠电压干扰,保证供电的稳定性。

(2)变压器初次级用屏蔽层隔离,减少其间分布电容,提高共模能力。

(3)低通滤波器可滤去干扰带来的高次谐波。

(4)整个系统采用分立式供电方式,分别对各部分进行供电。

(5)采用开关电源并提供足够的功率余量。

3的软件

系统出现错误或死机,可以通过手工复位、定时复位等方法来解决,也可以通过下面的方法来实现抗干扰。

3.1 在程序中插入空操作指令(指令冗余)

在程序执行过程中, CPU受到干扰后可能会将一些操作数当作指令码来执行,引起程序混乱,我们应尽快使程序纳入正轨。MCS51系列指令不超过3 B,当程序弹飞到某一单字节指上时,能自动纳入正轨。当弹飞到某一双字节或三字节指令上时,有可能落到操作数上,继续出错。在软件设计时,应多采用单字节指令,并在一些关键地方插入NOP指令。如在双字节,三字节指令后面插入2条NOP指令。另外,在一些对程序流向起决定作用的指令之前插入两条NOP指令(如RET,RETI,ACALL,LCALL,SJMP,AJMP,LJMP,JZ,JNZ,JC,JNC,JB,JNB,JBC,CJNE,DJNZ)以保证弹飞的程序迅速纳入程序轨道。

3.2 采用软件陷阱

当CPU受干扰,造成程序弹飞到非程序区,此时软件冗余无能为力,可在非程序区设置拦截措施,使程序进人陷阱,强迫程序进入一个指定的地址,执行一段专门对程序出错进行处理的程序,软件陷阱由3条指令构成,其中ERR为指定地址:
NOP
NOP
LJMP ERR

软件陷阱常安排在下列4种地方:
(1)未使用的中断区。当干扰使未使用的中断开放.并激活这些中断时,就会引起程序混乱。如果在这些地方设置软件陷阱,就能及时捕捉到错误中断。假如MCS51系统中使用3个中断:INT0,INT1,T1,他们的中断子程序分别在PINT0,PINT1,PT1,T0和串行口不使用中断,中断向量区可以设置如下:



评论


相关推荐

技术专区

关闭