APP下载

嵌入式操作系统的抗干扰技术

2010-11-25何煦岚

制造业自动化 2010年12期
关键词:传输线总线可靠性

何煦岚

HE Xu-lan

(南京林业大学 信息院 计算机系,南京 210037)

0 引言

嵌入式系统是计算机的一种应用形式,在物理上嵌入于宿主系统中作为整个系统的一部分,并不独立存在;在功能上,嵌入式计算机总是针对某种特定应用,一经编程,用户一般不再修改。它是先进的计算机技术、半导体技术、电子技术和各行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。因此,嵌入式系统的概念可以归纳为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应于应用系统及对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。

1 控制总线的抗千扰电路设计

由于系统使用的单片机仅仅依靠自身功能不能满足系统的要求,需要应用外部接口芯片对其功能进行扩展,而总线是单片机和外部各种接口芯片进行数据交换的通道,基于单片机驱动的USB总线的可靠性直接关系到系统的可靠性,系统主要采取以下措施来提高总线的抗干扰能力,以满足接口的抗干扰要求。

1)采用三态门式总线驱动器提供总线的抗干扰能力。核心8031单片机中,P0口(数据,地址总线)可驱动8个TTL门电路;P2口(地址总线)可驱动4个TTL门电路,P3口(控制总线)可驱动4个TTL门电路。当负载超过规定时,要加驱动器。总线驱动器使用TTL型三态缓冲门电路74LS245,它可用于双向驱动。三态门缓冲器能减少分布电容与电感对总线工作的影响,在总线上可连接400个芯片,其总线抗干扰能力比OC(集电极开路)门大10倍,可驱动100m长的线,而OC门只能在接3-5m长的传输线时,才有好的抗干扰性能。

2)总线接收端加施密特电路做缓冲器抗干扰。系统印刷电路板之间的连接电缆的接收端采用门电路,由于信号经长距离传输后会祸合一些噪声,加上印刷板的噪声共同作用,危害很大,威胁到系统的稳定运行,在接收端印刷板插座附件加施密特电路做缓冲器,可以滤除外部噪声,提高总线的抗干扰性能。

3)改善总线的负载平衡,提高系统可靠性。

4)在静态RAM电路中,使电流均匀流过印刷线路板,使存储器存取瞬间所产生的噪声电压峰值变小。

抗千扰布线描施主要有:

1)输入输出端用的导线避免相邻平行,应加线间地线,以免发生反馈藕合,同时尽量缩短印刷电路板布线中,电源线和地线之间的距离。

2)印刷板导线的最小宽度主要由导线与绝缘基板间的粘附强度和流过它们的电流值决定。电路中选用的导线宽度为0.3mm,在印刷版密集度不是很高的情况下,尽可能用宽线,尤其是电源线和地线。导线的最小间距主要由最坏情况下的线间绝缘电阻和击穿电压动态决定。在USB总线电路中,导线间距为0.15~0.2mm。

3)印刷导线拐弯处固定成圆弧形,以免影响电路的电气性能。由于使用大面积铜箔,在长时间受热的情况下,易发生铜箔膨胀和脱落现象。因此,在电路板上使用栅格状铜箔,有利于排除铜箔与基板间粘合剂受热产生的挥发性气体。

4)焊盘中心孔比器件引线直径稍大即可,焊盘太大,易形成虚焊。如果引线孔径为Dmm,则焊盘直径为 (D+l)mm。

2 硬件电路可靠性和抗干扰性设计

通常来自供电系统和信号传输通道的干扰是影响整个系统可靠性的主要因素,因此硬件抗干扰设计应将重点放在这里。硬件抗干扰设计得好可将绝大部分干扰拒之门外,使系统的稳定性大幅度提高。

2.1 供电系统抗干扰设计

电源在向系统供电时,也将其噪声耦合到系统电源上,电源耦合的干扰对电路的影响非常大,给系统提供优质稳定的电源是保证系统可靠性能的关键之一。为防止从电源系统引入干扰,可用隔离变压器接入电网,防止电网干扰侵入微机系统,同时可作各种滤波器滤波。

2.2 信号传输通道抗干扰设计

信号传输通道包括系统的前向通道和后向通道,对信号传输通道的可靠性设计可从以下几个方面着手:

1)利用光电耦合器及滤波器对输入、输出信号采用光电隔离措施,可将微处理器与前向通道、后向通道及其他部分从电气上隔离开来,有效地防止干扰的侵入。对电路板的输入信号及源自高噪声区的信号加滤波器滤波进一步加强抗干扰性。

2)采用负载阻抗匹配的措施,减小信号传输中的畸变

采用负载阻抗匹配的措施,使传输线两端的负载阻抗和源阻抗与传输线特性阻抗相等,或在源端和负载端加入RLC网络来匹配传输线的阻抗,消除数字信号在传输过程中由于反射、振铃和交叉干扰作用而产生的畸变。

3)采用双绞线传输减少传输线特性阻抗影响

传输线的特性阻抗分布参数必然会影响信号传输。传输线较长时其阻抗不可忽视,他的分布参数包括寄生电容和分布电感。为减少传输线特性阻抗的影响,可利用阻抗匹配双绞线,若同时与光电耦合器或者平衡输入接受器和输出驱动器联合使用,效果会更好。

在微处理器运行期间,芯片的悬空引脚尤其是悬空输入引脚常给系统带来不可预测的控制紊乱,因此为提高系统的稳定性需处理好未用悬空的引脚。通常可将微处理器未用引脚接高电平或接地,或定义成输出端;未用的外部中断接高电平;未用的运放同相输入端接地,反相输入端接输出端等。

2.3 抑制空间电磁场干扰设计

高频电源、交流电源、强电设备、电弧产生的电火花,甚至雷电,都能产生电磁波,成为电磁干扰的噪声源。对此可采取屏蔽措施,用金属外壳将器件包围起来,再将金属外壳接地,这对屏蔽各种电磁感应引起的干扰非常有效。

3 软件抗干扰措施

在嵌入式控制系统中,如能正确地采用软件抗干扰措施,与硬件抗干扰措施构成双道抗干扰防线,无疑将大大提高工业控制系统的可靠性。

3.1 软件工程开发方法

软件工程的实践表明,要提高软件的可靠性,必须在软件设计的全部阶段(即问题定义、需求分析、总体设计、编码、软件测试和维护等阶段)采取一系列规范化的方法来减少错误,提高软件的可维护性。软件工程学中提出的很多方法虽然是针对大型软件设计的,但其中的思想和一些技术仍可为小型软件设计者采用,特别是软件的结构化设计方法、文档要求以及程序编写方法等。

3.1.1 以自下而上的可靠性设计方法,取代采MTBF

进行自上而下分配方法

当产品系统构思和设计完成之后,单元的设计师们应在设计前充分了解单元、模块的环境条件,可能发生故障的关键部位及故障模式、机理,在设计时重点加以解决,且自下而上可能存在的可靠性问题都得到彻底解决,不仅可以将系统可靠性建立在踏实的基础上,而且可以确保系统的可靠性指标留有充分的余地。

3.1.2 结构化程序设计

把程序要求分成若干独立的、更小的程序要求或模块化的功能要求,分别提出各自的要求/规格说明,并注明如何与程序的其他部分接口,还必须指出所有的输入与输出,以及测试要求。

3.1.3 容错设计

对于软件错误所引起的后果特别严重的情况,需采用容错软件,其途径有:1)加强软件的健壮性:使程序设计能够缓解错误的影响,不致造成诸如死锁或崩溃这样的严重后果,并能指出错误源。2)采用N(N>2)版本编程法:尽可能用不同的算法与编程语言,经不同的班组编制,以提高各版本软件的独立性。这N个软件版本同时在N台计算机上运行,各计算机问能进行高效通信,并做出快速比较。当结果不一致时,按表决或预定的策略选择输出。3)恢复块法:给需要做容错处理的块提供备分块,并附加错误检测和恢复措施。4)选择性控制:为一个控制系统研制两套不同的算法,一种是正常情况控制算法,另一种是应付异常事故处理方法。若趋于危险或故障区域,用后一种算法,驱使系统脱离危险状态,待系统恢复正常后,又按正常控制算法进行。

3.1.4 软件重用

最大限度地重用现有的成熟软件,不仅能缩短开发周期,提高开发效率,也能提高软件的可维护性和可靠性。在项目规划开始阶段就要把软件重用列入工作中不可缺少的一部分,作为提高可靠性的一种必要手段。

3.1.5 加强测试

为最大限度地除去软件中的差错,改进软件的可靠性,就要对软件进行完备测试。

3.2 故障自诊断技术

3.2.1 检查CPU的运算功能

在特定的存储区存储一组确定的数据,其中一个数据是其余数据经过某些运算的结果。在诊断时,把参加运算的数据按预定的运算规律(如按位相加或异或等)进行计算,将运算结果与原来的存储结果(检查和)进行比较,如有差错就输出报警信号。

3.2.2 RAM的检查

平时用奇偶效验。定时检查时写入随机数,再读出来,检查读写的一致性;然后再将各位求反,写后读,并检查读写的一致性。

3.2.3 控制软件及寄存器检查

编制寄存器检查程序,对于计算机内部应用程序逐条指令和逐个寄存器进行检查,发现错误,立即停机并显示故障点。

3.2.4 数据采集误差的软件对策

根据数据受干扰性质及干扰后果的不同,采取的软件对策各不相同,没有固定的模式。对于实时数据采集系统,为了消除传感器通道中的干扰信号,在硬件措施上常采取有源或无源RLC网络,构成模拟滤波器对信号实现频率滤波。同样,运用CPU的运算、控制功能也可以实现频率滤波,完成模拟滤波器类似的功能,这就是数字滤波。随着计算机运算速度的提高,数字滤波在实时数据采集系统中的应用将愈来愈广。在一般数据采集系统中,可以采用一些简单的数值、逻辑运算处理来达到滤波的效果。使用的方法有算术平均值法、比较取舍法、中值法、一阶递推数字滤波法等。

3.2.5 指令冗余技术

程序“跑飞”后往往将一些操作数当作指令代码来执行,从而引起整个程序的混乱。采用“指令冗余技术”是使程序从“跑飞”状态恢复正常的一种有效措施。所谓软件冗余,就是在程序的关键地方人为地加入一些单字节指令NOP,或将有效单子节指令重写,当程序“跑飞”到某条单字节指令上,就不会发生将操作数当作指令来执行的错误。这些指令在程序中是冗余的,但能提高软件系统的可靠性。

采用软件的抗干扰设计方法措施,大大地提高了系统的可靠性和容错性,有效地克服了各种干扰因素造成记录数据出错的可能性,保证存储数据的准确性,提高了产品在工业现场适应性。

[1]张兵强.基于S3C240的嵌入式系统抗干扰性设计[J].电子工程师,2005,06.

[2]李伯成.嵌入式系统可靠性设计[M].电子工业出版社,2006.

[3]LXI Consortium.LXI Standard v1.0.www.lxistandard.org.September 2005.

[4]Michael Barr.Programming Embedded System in C and C++.O'Reilly Publisher.1999,1.

猜你喜欢

传输线总线可靠性
多导体传输线串扰概率分布计算方法
有耗介质层上多导体传输线的电磁耦合时域分析方法*
合理使用及正确测试以提升DC/DC变换器可靠性
不同传输模式下多芯片组件串扰的建模与仿真*
一种基于CAN总线的误码测试方法
GO-FLOW法在飞机EHA可靠性分析中的应用
5G通信中数据传输的可靠性分析
论如何提高电子自动化控制设备的可靠性
CAN总线并发通信时下位机应用软件设计
基于CAN总线的水下通信系统设计