单片机控制系统抗干扰措施应用

2010-08-15 00:55董斌华何林燕
时代农机 2010年7期
关键词:陷阱屏蔽指令

董斌华,何林燕

(1.海南三亚91868部队,海南 三亚 572016;2.陕西科技大学,陕西 西安 710021)

单片机具有体积小、成本低、可靠性好、控制功能强等优点,已被广泛用于工业过程控制和军事领域中,然而在单片机控制系统中,因其受到多方面的干扰,影响了系统的可靠性,为了保证系统在各种复杂的环境中长时间、安全、稳定的运行,必须解决好其一直存在的一个常见关键而又难以解决的问题——抗干扰问题。在单片机控制系统中,干扰源主要来自来自两个方面:一是来自系统内部元器件在工作时产生的干扰,干扰信号通过地址线、电源线、信号线、分布电容和电感等传输,影响系统工作状态;二是来自系统外部其他电气设备产生的干扰,通过传导和辐射等途径影响微机控制系统和应用系统的正常工作[1]。为使单片机控制系统正常工作,在硬件和软件两方面均可采取一定抗干扰措施来提高系统的可靠性。

1 硬件抗干扰措施

硬件技术适合于消除频率较高信号中的干扰,主要是抵抗空间辐射干扰,输入/输出通道干扰及供电系统的干扰。

1.1 抑制电源干扰措施

电源产生的干扰主要是从电源和电源引出线侵入系统的,可以以下措施抑制电源干扰:

(1)采用开关电源供电,开关电源具有效率高、体积小、输入电压范围宽等优点。尽管它自身引起的脉冲干扰较大,但一般具有较好的初—次级隔离,对存在于交流电网上的高频脉冲干扰有较强的隔离能力[2]。

(2)采取电网滤波技术,即在开关电源前增加电源滤波模块,以滤去电网中由各种大功率设备产生的尖峰脉冲干扰;直流电源滤波,对稳压后的直流电源进一步采取滤波技术,如对各种芯片电源增加电容滤波,对直流电源与地线增加电感滤波;孟繁荣等[3]人为遏制氙灯触发器在电源端产生的干扰信号,在电源端进行了多级的隔离与滤波措施,结果表明:经过多级滤波网络与隔离措施,电源输出波形上的干扰幅值已经控制在一个系统允许的范围之内。

(3)在单片机控制系统中加入有电容构成的退耦电路,以抑制系统中产生的干扰信号通过地线耦合,造成自激振荡,引起系统错乱或不能正常工作现象的发生[4]。

(4)在单片机与外围控制电路应采用独立的变压器或开关稳压电源来分别供电,以实现电源隔离,从而对电网干扰起到一定的抑制作用[5]。

(5)合理布线及采用良好的接地系统,地线和电源线尽可能布粗些,线路的走向尽量按输入到输出分布[6];单片机系统既有模拟电路,又有数字电路,模拟地和数字地需分开。高频电路应就近多点接地。低频电路应一点接地。交流地与信号地不能共地。当A/D转换器的模拟信号较弱,可采用三线采样双层屏蔽浮地技术,提高抗共模干扰的能力。

1.2 抑制输入输出通道干扰措施

输入、输出信号通过隔离可以切断干扰信道,避免强电流对回路的冲击。常用的隔离方法有光电隔离、继电器隔离和变压器隔离。变压器隔离是传递脉冲输入、输出信号时,不能传递直流分量,因此常用于不要求传递直流分量的输入输出控制设备中。对数字信号的隔离采用光电耦合器。采用这种方法时,信号的传递是通过光—电信号传递的,没有直接的电信号连接,因此隔离了干扰传播途径。这种方法隔离不断辐射和感应干扰,在具体设计时应在A/D后和D/A前加光电耦合器[7]。对模拟量来说,可以采用光电藕合器、继电器、隔离放大器和差动放大器等隔离[8]。

1.3 抑制空间辐射干扰的措施

采取屏蔽保护能有效地抑制来自电场和磁场的干扰。对元器件进行屏蔽(变压器、电感等)减少其对周围电路的电磁干扰;对传输线进行屏蔽,信号线采用屏蔽线,减少外部干扰;对部件进行屏蔽,减少电磁场干扰[9]。其中对低频电磁波可采用高导磁材料制做屏蔽件,如坡莫台金铁,磁钢等;对高频电磁波采用高导电率的材料,如铜,铝等制做的屏蔽件可以抑制电磁干扰[10]。

此外,通过选择合适的元器件及设计合理的元器件布局也可在一定程度上抵抗干扰,提高系统的稳定性和可靠性。

2 软件抗干扰措施

软件抗干扰技术是当系统受干扰后,使系统恢复正常运行,或输入信号受干扰后去伪存真的一种辅助方法。其具有设计灵活,节约硬件资源,成本低,操作方便易行,通用性强,适用于不同的系统及抵抗不同的干扰等特点。常用的软件抗干扰措施包括指令冗余、软件陷阱、“看门狗”技术等。

2.1 指令冗余

从单片机程序跑飞的根源考虑,单片机受到干扰后,往往会把操作数当作指令码来执行,引起程序混乱。如果程序跑飞到某一条单字节指令上时,就不会发生将操作数当成指令的错误,而能自动纳入正规。当跑飞的双字节或三字节指令操作时,程序将继续弹飞。因此,宜尽量采用单字节指令,并在关键地方适当的插入几个单字节的空操作指令NOP或将有效单字节指令重复使用,就可以保护其后面的指令不被拆散而被完整的执行。

2.2 软件陷阱

软件冗余技术适用于干扰后PC指向不正确的程序区,当PC指向非程序区或者表格区时使用冗余指令的措施已经不再适用,可采用软件陷阱的办法拦截跑飞程序将其迅速指向一个指定位置[11]。软件陷阱,就是用引导指令强行将扑获到的乱飞程序引向复位入口地址0000H,在此处将程序转向专门对程序出错进行处理的程序,使程序纳入正规。具体做法是将未使用的EPROM空间即非程序区用0000020000数据填满,但要注意,最后一条填入数据应为020000。这样,当乱飞的程序进入此区后,便会迅速自动入轨。对于MCS-51系列单片机,假设出错处理程序入口标号为ERROR,则软件陷阱指令如下:

NOP

NOP

LJMPERROR

软件陷阱一般安排在以下位置:①未使用的中断向量区,在干扰可使未使用的中断开放并激活中断的地方设置软件陷阱即可及时捕获到错误中断;②未使用的ROM空间,在实际使用过程中对未使用的EPROM空间应全部填充为00H,因为程序复位入口地址为0000H,当“跑飞”的程序指针跳至无程序处,可以让其重新指向主程序入口,起到防“跑飞”的功能;③表格,储存在EPROM中的表格后安排软件陷阱可在一定程度上防止软件“弹飞”;④程序区。一般程序中不能任意安排软件陷阱,但在正常程序中会有一些跳转指令,在这些指令后使用软件陷阱可捕获到弹飞到跳转指令的操作数上的出错程序[12]。

2.3“看门狗”技术

“看门狗”的作用就是防止程序发生死循环,或者说程序跑飞。其是通过不断监视程序运行时间,当程序运行出现故障时,计数器溢出,系统复位并重新运行系统程序。

2.4 延时抖动技术

工业测控系统往往会遇到强干扰,如浪涌电压、电源过压、欠压以及尖峰干扰等,在软件设计中可以采取措施加以避开,当干扰到来时,使CPU暂停工作,待干扰过后再恢复CPU工作。

另外,通过数字滤波,掉电保护,人工复位,设立标志判断、增加数据安全备份等软件抗干扰措施也能起到很好的抗干扰效果,提高系统的可靠性。

3 结语

硬件抗干扰措施和软件抗干扰措施各具特点,硬件措施如果得当,可将绝大部分干扰拒之门外,但仍然会有少数干扰进入微机系统,故软件措施作为第二道防线必不可少软件抗干扰措施是以CPU为代价的,如果没有硬件消除绝大多数干扰,CPU将疲于奔命,无暇顾及正常工作,严重影响系统的工作效率和实时性,在实际应用中若将硬件和软件抗干扰有效的结合起来,则能起很好的抗干扰效果,保证系统准确,可靠的运行。

[1]刘光斌,刘冬,姚志成.单片机系统实用抗干扰技术[M].北京:人民邮电出版社,2003.

[2]皮大能,胡学芝.单片机控制系统抗干扰技术[J].机械制造与自动化,2005,34(2):117-119.

[3]孟繁荣,张镠钟.单片机控制系统中的抗干扰设计[J].应用科技,2006,33(8):25-27.

[4]周遐,曹云川,金瑞,等.单片机控制系统抗干扰技术应用方案[J].昆明冶金高等专科学校学报,2009,25(3):63-66.

[5]朱玉红,杨永萍.单片机控制系统中的干扰及抗干扰措施[J].机械研究与应用,2001,14(4):42-43.

[6]彭在灿.单片机控制的抗干扰技术[J].机电工程技术,2005,34(1):77-78.

[7]刘东汉.提高单片机系统抗干扰的综合措施[J].黄石高等专科学校学报,2004,20(4):30-33.

[8]岳燕.单片机测控系统中的抗干扰设计[J].煤炭工程,2006,(2):84-86.

[9]郭世维,邓飞.单片机控制系统的抗干扰措施[J].烟台职业学院学报,2006,12(2):44-47.

[10]蓝军.单片机控制系统的干扰抑制设计方法[J].高效实验室工作研究,2006,(2):23-25.

[11]杨宏丽,张健.单片机应用系统的抗干扰解决方案[J].微型计算机信息,2005,(5):121-122.

[12]易丽华,黄俊.浅谈单片机控制系统软件抗干扰方法[J].电子与封装,2009,9(4):30-32.

猜你喜欢
陷阱屏蔽指令
把生活调成“屏蔽模式”
朋友圈被屏蔽,十二星座怎么看
ARINC661显控指令快速验证方法
如何屏蔽
几乎最佳屏蔽二进序列偶构造方法
杀毒软件中指令虚拟机的脆弱性分析
陷阱
中断与跳转操作对指令串的影响
陷阱2
陷阱1