在进行单片机应用开发的过程中,经常遇到在实验室调整很好的单片机一到工作现场就会出现这样或那样的问题,这主要是由于设计未充分考虑到外界环境存在的干扰,如机械震动、各种电磁波和环境温差都会影响硬件系统的性能,导致电控单元不能正常工作。鉴于此本文较全面分析了干扰单片机应用系统的因素并结合自己的研究课题,提出一些可增强系统抗干扰性的方法。
1单片机系统的主要干扰源
系统的干扰源对电子系统的干扰主要是电磁能量干扰。主要内外的干扰源是:
(1)无线电设施的射频干扰;
(2)发动机上的高压点火线圈向外辐射磁场强度大、频带宽的电磁波;
(3)单片机内部的晶振电路是内部干扰源之一;
(4)数字电路本身门电路频繁的导通、截止造成电源地线电流变化,也会产生很大的高频电磁干扰,各种开关电子设备通断时产生的急剧变化的电流会产生较宽频谱干扰;
(5)外界交流电路中产生的工频干扰亦会影响模拟电路输出信号的准确性。
2干扰的耦合方式
干扰源产生的干扰是通过耦合信道对微机测控系统产生干扰作用,因而需要隔离干扰源与控制系统之间的耦合信道。表1列出了干扰源的主要干扰方式及特征。
3单片机的硬件抗干扰设计
硬件抗干扰技术是系统设计首选的抗干扰措施,他能有效的抑制干扰源,阻断干扰的传输信道。常用的措施有:滤波技术、去耦技术、屏蔽技术和接地技术。
3.1电源电路的设计
在本电控系统中,模拟电路电源与逻辑电路电源分离,一是为了去除通过电源耦合逻辑电路产生的干扰进入模拟电路,二是为了避免传感器通过电源耦合对ECU干扰。各功能模块供电系统如图1所示,皆采用7812和7805三端稳压集成芯片,且都单独对电源进行负压差保护,这样不会因其中某一稳压电源出现故障而影响整个系统电路;使用低通滤波器亦可减少以高次谐波为主的干扰源,从而改善电源波形;在输出端采用了过压保护电路。通过上述设计可大大提高供电的可靠性。图中D1、D2用于负压差保护,防止压差击穿稳压器的be结使器件永久失效,稳压管WY1、晶闸管Q1用于过压保护,电容E1、E2、C1、C2使输出电压波纹限制在一定范围内。
3.2模拟电路抗干扰设计
在硬件电路的设计中,模拟电路设计非常重要。发动机的工作环境温度变化比较大,因此在模拟电路中应选择低温漂系数的集成放大器;在模拟电路中共模信号对电路板影响较大,故在模拟电路中采用差动放大电路,可得出两端输出信号;接收时,将双端信号转化为单端信号,可非常有效地抑制共模信号。若电路中输入信号变化比较大,需在放大器或比较器前加输入端保护电路以避免器件的损坏。外界交流电路产生的工频干扰对模拟信号有较大的影响,在电路中采用有源滤波器和低通滤波器。
3.3选用时钟频率低的单片机
外时钟是高频噪声源,除能引起对本硬件电路产生干扰外,还能对外界产生干扰。因此选用低频率的单片机是提高抗干扰性的原则之一。其同为1μs时,8051单片机外时钟为12 MHz,Atmel公司单片机外时钟为6 MHz,而Microchip和Motorola的单片机时钟频率为4 MHz。
3.4输入、输出隔离
输入、输出信号通过隔离可以切断干扰信道,避免强电流对回路的冲击。常用的隔离方法有光电隔离、继电器隔离和变压器隔离。变压器隔离是传递脉冲输入、输出信号时,不能传递直流分量,因此常用于不要求传递直流分量的输入输出控制设备中。光电耦合器由于结构简单,比较广泛用于输入、输出隔离信道之中。
3.5屏蔽技术
屏蔽措施可以防止电子设备向外辐射干扰电磁波,也可以削弱电磁干扰源对电子设备的干扰。对于噪声源较大的开关电源,可采用双重屏蔽,即开关电源内部把高频变压器和扼流圈进行屏蔽,然后对整个开关电源进行屏蔽保护。
3.6去耦电路
数字信号电平转换在转换过程中会产生很大的冲击电流,并在传输线和供应电源内阻上产生较大压降,形成严重干扰。为抑制此干扰,在电源电路、数字电路和信号处理电路中适当配置去耦电容,即形成去耦电路,这样可旁路集成电路产生的干扰。去耦电容计算可按以下方法计算:
C≥Δi/(Δv/Δt)
其中Δi、Δv为电流、电压的变化量,Δt为变化的时间。
3.7印刷电路板的设计
3.7.1组件的布局
在电路板上元器件按功能集中布置,各功能模块的组件分开布局且不同模块分别与对应的电源、地线相连,最后集中一点接地。
(1)单片机和外围扩展电路布置在一起以缩短他们之间资料和地址总线长度,这样能获得较好抗干扰效果。
(2)布置逻辑电路时,原则上应在出线端子放置高速器件,稍远处放置低速器件和内存,这样布置可降低公共阻抗耦合和辐射耦合。
(3)降噪电容应靠近各个IC组件。
(4)为了降低外部线路引进的干扰,光电耦合器、隔离变压器和滤波器通常放在靠近出线端子的地方。
3.7.2电路板布线
(1)电源线、地线尽可能粗一点,且电流流向与信号流向一致。
(2)晶振电路应尽量靠近单片机,石英晶体振荡器外壳接地,时钟振荡电路、特殊高
速电路用地线圈起来。
(3)电路板铜模线尽量使用45°折线而不用90°折线。
(4)避免相邻信号线的线间干扰和减少信号在传输导线上的延迟。
(5)模拟信号避开高频、大电流器件,重要的模拟信号线采用地线包围的办法以减少电磁耦合。
3 8选择性能良好的组件
测控系统所处的环境往往有严重的干扰,因此选用性能很好的产品,特别是单片机晶振、RAM等,最好选用一级品,这样可提高系统的抗干扰性;为了提高噪声容限可选用CMOS器件;为了抑制共模干扰可选用测量放大器。
3.9提高输出信号电压或电流
如果输入输出连接线路较长,最好提高传送电压或电流,以减少信号的衰减或干扰引起的信号失真。较简单的方法是在传送端加一个1488,接收端加一个1489。
4单片机软件的抗干扰设计
尽管采取了硬件抗干扰措施,但由于干扰信号产生的原因很复杂,且有很大的随机性,因此在采取硬件抗干扰措施的基础上,采取软件抗干扰措施加以补充。常见的软件抗干扰技术有:数字滤波、指令冗余和“看门狗”技术、系统运行状态监视和提高开关量输入、输出干扰。
系统常见的出错现象:死机、被控对象误操作和定时不准,他们主要由于内部程序指针错乱使程序进入“死循环”和RAM资料被冲乱或改变导致的。
4.1数字滤波
当干扰叠加输入信道的模拟信号时,使数据采集误差加大。特别当输入信道模拟信号较弱时,此现象更加严重。为了消除数据采集的误差,常用算术平均法、比较取舍法、一阶滞后滤波法和中值法,可根据信号和干扰的规律,采用最优的设计方法。输入模拟信号处理如图2所示,通过数字滤波器可滤掉大部分由于输入信号干扰而引起的输出控制错误。
4.2指令冗余和“看门狗”技术
单片机受强干扰会造成程序计数器PC值改变和破坏程序正常运行。针对这一问题可在关键地方插入一些单字节指令NOP或有效的单字节指令并用引导指令LJMP MAIN将捕获的“乱飞”程序引向复位入口地址,从而避免程序“乱飞”。可是有一些“乱飞”程序会导致死循环,通常采用软、硬件“看门狗”技术,“看门狗”技术就是不断监视程序运行时间,当程序运行出现故障时,计数器溢出,系统复位并重新运行系统程序。
4.3提高RAM资料可靠性
电源开启和断电及CPU受到干扰有可能破坏RAM中的资料。只有采用资料冗余技术保护RAM中的资料。系统复位后,立即将备用的RAM对重要参数进行自我检验和恢复,从而保护RAM中的资料。
4.4提高开关量输入、输出抗干扰
控制量有效信号上叠加一系列离散尖脉冲,这种干扰不易用硬件加以抑制,可采用软件重复检测以提高输入、输出接口抗干扰性。
5总结
不同的单片机系统都有自己的系统要求和特点,在硬件和软件抗干扰设计上也各有自己的特色。针对无线电射频干扰和交流电路工频干扰等5种主要的干扰源以及干扰的方式,可采用上述的硬件抗干扰措施。对于软件抗干扰措施,应首先了解测量对象和干扰因素,分析干扰的来源,然后根据系统设计有效的抗干扰方法。
参考文献
[1]余勇,李建秋,周明,等.车用柴油机ECU兼容性分析与设计[J].汽车工程,2001,6
[2]韩晓东,杜宇.电动汽车单片机测控系统的抗.干扰设计[J].电子技术,1999,9
[3]何希才.传感器及其应用电路[M].北京:电子工业出版社,2001
[4]梁廷贵.集成运算放大器[M].电压比较器分册.北京:科学技术文献出版社,2002
[5]王幸之,王雷,翟成,等.单片机应用系统抗干扰技术[M].北京:北京航空航天大学出版社,2000
[6]赵晶.电路设计与制版Protel99高级应用[M].北京:人民邮电出版社,2000