论文部分内容阅读
摘 要:由于单片机在各种恶劣的工业控制环境中应用,对其系统的可靠性与抗干扰性要求也就越来越高。由于工业现场环境的复杂性,单片机系统中抗干扰问题一直是一个重要的课题,开展单片机系统的可靠性研究、提高其抗干扰能力已成为当务之急。本文着重介绍单片机系统中的抗干扰及可靠性设计,通过硬件、软件两个方面,提高单片机系统的可靠性及抗干扰能力。
关键词:单片机系统;抗干扰性;可靠性
单片机因它杰出的性价比,被广泛地应用于各个领域。随着单片机品种愈来愈多,其功能愈来愈完美,硬件的设计也变得愈来愈简约。但是在实验室内设计出来的控制系统在安装、调试后基本符合设计的要求,但是放置于现场后,经常不能够稳定的运作。因为现场情况繁杂以及受电磁滋扰,尤其在某些新的应用领域,对于单片机系统的抗干扰性和可靠性又有其他的要求。
1 单片机系统的失效分析
单片机本身软硬件以及它所在运行环境综合作用出了单片机系统的可靠性,所以系统的可靠性也要从这里去分析与设计。有缺陷的系统常常只在逻辑上保证系统功能的实现,而欠缺对系统运行过程中可能出现的潜在的问题的考虑,缺少应对措施,在干扰信号真正出现的时候,系统就可能会陷入困境。整个系统的可靠性是相对的,该系统可以在一个良好的工作环境,但在不同的环境中,可能无法正常工作。这就充分说明环境对系统可靠运行的重要性。考虑到单片机系统的工作环境,有针对性的同时,系统的设计,单片机系统应设法改善工作环境,降低对系统的干扰,但改善程度有限。
2 提高系统抗干扰及可靠性的措施与设计
2.1硬件可靠性及抗干扰设计
在系统硬件设计过程中,可采取如下的措施,以提高系统的可靠性,增强系统的抗干扰能力。
2.1.1硬件可靠性设计
提高单片机系统硬件可靠性的方法很多。一般地,应根据系统所面临的具体的可靠性问题,针对引起或影响系统硬件不可靠的因素采取不同的处理方法。
提高系统设计的合理性:1)各种类型的高速、低速器件不应混合;2)要匹配各种器件的温度性能,不应该混用高、低温器件;3)匹配各种器件的电平,应该考虑TTL器件与CMOS器件接口电平是否匹配;4)使该系统结构设计合理,如设备的安装结构,布局,接插件的选择;5)系统时钟的合理使用;在满足实时性要求的前提下 ,为了减小对其他器件速度的要求,不妨使用较低的系统时钟,这样能够提高硬件运转的可靠性,工业上经常使用6MHz 。
选用高可靠的元器件:1)选择使用可靠性相对较高的元器件;2)元器件选择,从而分级分类使用元器件。
2.1.2硬件抗干扰设计
硬件抗干扰的总原则是:抑制甚至驱除干扰源;阻断干扰与系统的耦合;降低系统对于干扰信号的敏感度。通常在抗与防方面来抑制干扰,详细的方法有隔离、屏蔽、滤波、接地、提高信噪比等。通常使用的方法有:1)隔离。为了能有用地抑制尖峰脉冲的噪声滋扰,升高信噪比,可以使用光电耦合器,输入、输出通道以光电耦合器使微处理器系统和外围接口阻隔。2)屏蔽。屏蔽便是用金属网、金属板或者金属盒组成的屏障体,此乃抑制电磁滋扰扰最有效的法子。3)滤波。电源滤波器是低通滤波器,谐波衰减快,只有通过工频谐波功率。4)接地。单片机系统的接地方式有悬浮接地、单点接地和多点接地,地线结构有系统地、机壳地、模拟地和数字地,正确的接地常常能够消除和减少各种形式的干扰。
2.2软件可靠性及抗干扰设计
在系统软件设计过程中,可采取如下的措施,以提高系统的可靠性,增强系统的抗干扰能力。
2.2.1软件可靠性设计
提高系统软件可靠性的方法有:1)精心设计:在知道单片机系统各个组成部分硬件地址的基础上,深刻领悟汇编语言指令的功能以及其对机器状态字的影响,精确区分CPU片内RAM的功能,认真细致地编写系统软件。2)合理安排:根据中断的中断优先级的中断功能完成系统布置特点,中断现场保护和恢复,避免中断冲突,对于系统的运行是非常重要的。3)模块化结构:根据系统软件的功能模块划分,这样不但编程思路清晰,而且不易出错和易于阅读和调试。
2.2.2软件抗干扰性设计
一个系统可能由于存在着各种干扰而出现运行故障。为解决这一问题,可以从软件的设计方面采取一些措施.
本文着重介绍指令冗余技术:51系列单片机的全部指令都不超出3个bytes,并且多为单byte的指令。从操作码和两个部分的指令,CPU的操作代码实现什么操作,操作数是操作码操作目标。CPU首先取指令的操作码,而后顺序取出操作数。当一个指令完成后,运行代码的数量,然后取下一条指令。这些操作时序是由程序计数器PC来控制。所以,一旦由于错误的PC的干扰,程序就会“乱飞”; 如果飞到双bytes指令,在取指令,只是在程序操作数,错误操作码作为操作数,那么下一个指令时也可能出现的操作码操作数错误。不妨在要害场所人工插入少许单byte指令NOP,或者将有效单byte指令重写,这就是指令冗余。主要有下面两种使用方式:1)NOP的使用:插入2个空单byte指令在双bytes指令和三bytes指令,确保下列指示是分不开的,因为“乱飞”的程序甚至操作数,因为两个操作指令的存在,就不会有后面的指令的操作数,程序在轨道上;对程序流向起决定作用的转移类指令(如RET,ACALL,LJMP等)和起重要作用的指令(如SETBEA等)以前插入2条NOP指令,可以确保“乱飞”程序很快进入轨道,确保这些指令的正确运行。2)重要指令冗余:转移指令在程序流起着决定性的作用(如打个电话,循环,RET等)和指令中起着重要的作用(如SETBEA)可以写在后面,这些指令,以保证这些指令的正确执行。
3.结语
由上可得,一个优秀的单片机系统必须要具有良好的可靠性与抗干扰性,要结合实际情况具体分析,提高单片机系统的抗干扰性与可靠性。上述介绍的几种有关单片机应用系统抗干扰与可靠性设计简单易行,可大大提高单片机系统的抗干扰性与可靠性,从而适应各种复杂的工作环境。
参考文献:
[1] 张有德. 单片微机原理[M]. 复旦大出版社,2006.
[2] 胡汉才. 单片机原理及系统设计[M]. 清华大学出版社,2002.
关键词:单片机系统;抗干扰性;可靠性
单片机因它杰出的性价比,被广泛地应用于各个领域。随着单片机品种愈来愈多,其功能愈来愈完美,硬件的设计也变得愈来愈简约。但是在实验室内设计出来的控制系统在安装、调试后基本符合设计的要求,但是放置于现场后,经常不能够稳定的运作。因为现场情况繁杂以及受电磁滋扰,尤其在某些新的应用领域,对于单片机系统的抗干扰性和可靠性又有其他的要求。
1 单片机系统的失效分析
单片机本身软硬件以及它所在运行环境综合作用出了单片机系统的可靠性,所以系统的可靠性也要从这里去分析与设计。有缺陷的系统常常只在逻辑上保证系统功能的实现,而欠缺对系统运行过程中可能出现的潜在的问题的考虑,缺少应对措施,在干扰信号真正出现的时候,系统就可能会陷入困境。整个系统的可靠性是相对的,该系统可以在一个良好的工作环境,但在不同的环境中,可能无法正常工作。这就充分说明环境对系统可靠运行的重要性。考虑到单片机系统的工作环境,有针对性的同时,系统的设计,单片机系统应设法改善工作环境,降低对系统的干扰,但改善程度有限。
2 提高系统抗干扰及可靠性的措施与设计
2.1硬件可靠性及抗干扰设计
在系统硬件设计过程中,可采取如下的措施,以提高系统的可靠性,增强系统的抗干扰能力。
2.1.1硬件可靠性设计
提高单片机系统硬件可靠性的方法很多。一般地,应根据系统所面临的具体的可靠性问题,针对引起或影响系统硬件不可靠的因素采取不同的处理方法。
提高系统设计的合理性:1)各种类型的高速、低速器件不应混合;2)要匹配各种器件的温度性能,不应该混用高、低温器件;3)匹配各种器件的电平,应该考虑TTL器件与CMOS器件接口电平是否匹配;4)使该系统结构设计合理,如设备的安装结构,布局,接插件的选择;5)系统时钟的合理使用;在满足实时性要求的前提下 ,为了减小对其他器件速度的要求,不妨使用较低的系统时钟,这样能够提高硬件运转的可靠性,工业上经常使用6MHz 。
选用高可靠的元器件:1)选择使用可靠性相对较高的元器件;2)元器件选择,从而分级分类使用元器件。
2.1.2硬件抗干扰设计
硬件抗干扰的总原则是:抑制甚至驱除干扰源;阻断干扰与系统的耦合;降低系统对于干扰信号的敏感度。通常在抗与防方面来抑制干扰,详细的方法有隔离、屏蔽、滤波、接地、提高信噪比等。通常使用的方法有:1)隔离。为了能有用地抑制尖峰脉冲的噪声滋扰,升高信噪比,可以使用光电耦合器,输入、输出通道以光电耦合器使微处理器系统和外围接口阻隔。2)屏蔽。屏蔽便是用金属网、金属板或者金属盒组成的屏障体,此乃抑制电磁滋扰扰最有效的法子。3)滤波。电源滤波器是低通滤波器,谐波衰减快,只有通过工频谐波功率。4)接地。单片机系统的接地方式有悬浮接地、单点接地和多点接地,地线结构有系统地、机壳地、模拟地和数字地,正确的接地常常能够消除和减少各种形式的干扰。
2.2软件可靠性及抗干扰设计
在系统软件设计过程中,可采取如下的措施,以提高系统的可靠性,增强系统的抗干扰能力。
2.2.1软件可靠性设计
提高系统软件可靠性的方法有:1)精心设计:在知道单片机系统各个组成部分硬件地址的基础上,深刻领悟汇编语言指令的功能以及其对机器状态字的影响,精确区分CPU片内RAM的功能,认真细致地编写系统软件。2)合理安排:根据中断的中断优先级的中断功能完成系统布置特点,中断现场保护和恢复,避免中断冲突,对于系统的运行是非常重要的。3)模块化结构:根据系统软件的功能模块划分,这样不但编程思路清晰,而且不易出错和易于阅读和调试。
2.2.2软件抗干扰性设计
一个系统可能由于存在着各种干扰而出现运行故障。为解决这一问题,可以从软件的设计方面采取一些措施.
本文着重介绍指令冗余技术:51系列单片机的全部指令都不超出3个bytes,并且多为单byte的指令。从操作码和两个部分的指令,CPU的操作代码实现什么操作,操作数是操作码操作目标。CPU首先取指令的操作码,而后顺序取出操作数。当一个指令完成后,运行代码的数量,然后取下一条指令。这些操作时序是由程序计数器PC来控制。所以,一旦由于错误的PC的干扰,程序就会“乱飞”; 如果飞到双bytes指令,在取指令,只是在程序操作数,错误操作码作为操作数,那么下一个指令时也可能出现的操作码操作数错误。不妨在要害场所人工插入少许单byte指令NOP,或者将有效单byte指令重写,这就是指令冗余。主要有下面两种使用方式:1)NOP的使用:插入2个空单byte指令在双bytes指令和三bytes指令,确保下列指示是分不开的,因为“乱飞”的程序甚至操作数,因为两个操作指令的存在,就不会有后面的指令的操作数,程序在轨道上;对程序流向起决定作用的转移类指令(如RET,ACALL,LJMP等)和起重要作用的指令(如SETBEA等)以前插入2条NOP指令,可以确保“乱飞”程序很快进入轨道,确保这些指令的正确运行。2)重要指令冗余:转移指令在程序流起着决定性的作用(如打个电话,循环,RET等)和指令中起着重要的作用(如SETBEA)可以写在后面,这些指令,以保证这些指令的正确执行。
3.结语
由上可得,一个优秀的单片机系统必须要具有良好的可靠性与抗干扰性,要结合实际情况具体分析,提高单片机系统的抗干扰性与可靠性。上述介绍的几种有关单片机应用系统抗干扰与可靠性设计简单易行,可大大提高单片机系统的抗干扰性与可靠性,从而适应各种复杂的工作环境。
参考文献:
[1] 张有德. 单片微机原理[M]. 复旦大出版社,2006.
[2] 胡汉才. 单片机原理及系统设计[M]. 清华大学出版社,2002.