硬件可靠性
出自 MBA智库百科(https://wiki.mbalib.com/)
硬件可靠性(hardware reliability)
目录 |
什么是硬件可靠性[1]
硬件可靠性是指在给定的操作环境与条件下,硬件在一段规定的时间内正确执行要求功能的能力。
硬件可靠性设计[2]
一般来说,系统总是由多个子系统组成,而子系统又是由更小的子系统组成,直到细分到电阻器、电容器、电感、晶体管、集成电路、机械零件等小元件的复杂组合,其中任何一个元件发生故障都会成为系统出现故障的原因。因此,硬件可靠性设计在保证元器件可靠性的基础上,既要考虑单一控制单元的可靠性设计,更要考虑整个控制系统的可靠性设计。
1.影响硬件可靠性的因素
(1)元件失效。元件失效有三种:一是元件本身的缺陷,如硅裂、漏气等;二是加工过程、环境条件的变化加速了元件、组件的失效;三是工艺问题,如焊接不牢、筛选不严等。
(2)设计不当。在计算机控制系统中,许多元器件发生的故障并不是元件本身的问题,而是系统设计不合理或元器件使用不当所造成。在设计过程中,如何正确使用各种型号的元器件或集成电路,是提高硬件可靠性不可忽视的重要因素。
1)电气性能:元器件的电气性能是指元器件所能承受的电压、电流、电容、功率等的能力,在使用时要注意元器件的电气性能,不能超限使用。
2)环境条件:计算机控制系统的工作环境有时相当恶劣,由于环境因素的影响,不少系统的实验室试验情况虽然良好,但安装到现场并长期运行就频出故障。其原因是多方面的,包括温度、干扰、电源、现场空气等对硬件的影响。因此,设计系统时,应考虑环境条件对硬件参数的影响,元件设备须经老化试验处理。
3)组装工艺:在硬件设计中,组装工艺直接影响硬件系统的可靠性。由于工艺原因引起的故障很难定位排除,一个焊点的虚焊或似接非接很可能导致整个系统在工作过程中不时地出现工作不正常现象。另外,设计印制电路板时应考虑元器件的布局、引线的走向、引线的分类排序等。
2.提高硬件可靠性的一般方法
在计算机控制系统的整体设计中,如何提高系统硬件的可靠性是整个系统设计的关键,系统硬件设计时常需采用必要的可靠性措施:
(1)电路设计。据统计,影响计算机控制系统可靠性的因素约45%来自系统设计。为了保证系统的可靠性,在对其电路设计时应考虑最极端的情况。
各种电子元器件的特性不可能是一个恒定值,总是在其额定(典型)参数的某个范围内;同时,电源、电压也有一个波动范围。最坏的设计方法是考虑所有元件的公差,并取其最不利的数值核算电路每一个规定的特性。如果这一组参数值能保证电路正常工作,那么在公差范围内的其他所有元件值都能使电路可靠地工作。
在设计应用系统电路时,还要根据元器件的失效特征及其使用场所采取相应的措施,对容易产生短路的部件以串联方式复制,对容易产生开路的部分以并联方式复制。
(2)元器件选择。在确定元器件参数之后,还要确定元器件的型号,这主要取决于电路所允许的公差范围。由于制造工艺所限,有些元器件参数的公差范围可能较大,如电容器电容量等。另外,元件或器件的额定工作条件包括多个方面(如电流、电压、频率、机械参数以及环境温度等),设计时要考虑参数裕量,并在运行时尽量保证接近元器件的设计工作温度。
(3)结构设计。结构可靠性设计是硬件可靠性设计的最后阶段。结构设计时,首先应注意元器件及部件的安装方式,其次是控制系统工作环境的条件(如通风、除湿、防尘等)。
(4)噪声抑制。噪声对模拟电路的影响会直接影响系统精度,噪声对数字电路也会造成误动作。因此,在工程设计中必须采用噪声抑制和屏蔽措施。对于模拟应用系统,可在电源端增加一些低通滤波电路来抑制由电源引入的干扰;对于数字系统,通常采用滤波器和接地系统;同时,在整体结构布局时应注意元器件的位置和信号线的走向。对于电磁干扰、电场干扰可采用电磁屏蔽、静电屏蔽来隔离噪声,也可采用接地、去耦电容等措施来减少噪声的影响。
(5)冗余设计。硬件冗余设计可以在元件级、子系统级或系统级上进行,必然增加硬件和成本。因此,设计时应仔细权衡采用硬件冗余的利弊关系。在计算机控制系统中,主要采用控制单元冗余和控制系统冗余来提高系统硬件可靠性。
控制与接口单元是指能独立完成某些测控功能的功能模块,其可靠性设计主要包括微处理器系统的冗余设计、输入输出通道干扰的抑制、电源系统干扰的抑制、控制单元运行状态的监视等。
1.I/O通道干扰的抑制
模拟量输入通道常态干扰的频率通常高于被测信号的频率,因此可考虑采用滤波网络对模拟量输入信号进行滤波。可采用各种形式的金属屏蔽层做好信号传送线路的屏蔽工作,将信号线与外界电磁场有效地隔离开来;在系统既有模拟电路又有数字电路时,数字地与模拟地要分开,最后只在一点相连,以防相互干扰。I/O通道一般应采用光电耦合器进行电气隔离,既可避免构成地环路,还可有效地抑制噪声。另外,在输入输出通道上应采用一定的过压保护电路。
2.电源系统干扰的抑制
同一电源网路上有较多大功率设备时,在控制单元与供电电源之间可加入三相隔离变压器,以防止电网干扰侵入控制系统。在整机的电源线入口处,可通过增加电源滤波器来防止其他电子设备与本系统之间产生相互干扰。在机内独立的印刷板上应安装小型电源滤波器,以防止板与板之间的相互干扰。
由于开关电源具有较强的抗工频电压波动和频率波动能力,同时能隔离从电源线进入的传导干扰,适当场合可选用开关电源。必要时,系统输入输出通道和其他设备可考虑采用独立的供电电源,实行电源分组供电。另外,逻辑电路板上的直流电源线和接地线要注意合理布线。
3.控制单元运行状态监视
可使用看门狗定时器(WDT)监视控制单元的运行状态。WDT的输出直接连到CPU的中断请求端或控制单元的复位端,WDT的每次“定时到”溢出脉冲信号均能引起CPU的中断或复位。WDT受CPU控制,可对其重新设置时间常数或刷新。
定时器重新开始计时,只要程序正常运行就不会产生定时中断或系统复位。一旦程序执行出错或发生程序乱飞、死机现象,看门狗定时器就会产生溢出脉冲信号,引起定时中断或复位,从而使控制单元重新启动或进入中断服务程序进行纠错处理。
4.控制单元的掉电保护
对付电网瞬间断电或电压突然下降的有效方法就是掉电保护,对计算机测控系统可外加不间断电源(UPS),对测控系统中的控制单元可增加掉电保护电路,并慎重设计。掉电信号由硬件电路检测,加到控制单元CPU的外部中断输入端。软件中断将掉电中断规定为高级中断,使控制单元CPU能及时对掉电做出反应。在掉电中断子程序中,首先进行现场保护,保存当时重要的状态参数。当电源恢复正常时,CPU重新复位,恢复现场并继续未完成的工作。
5.控制单元冗余设计
目前常用的控制单元冗余设计包括热备份并联冗余和冷备份并联冗余,两者都是以增加成倍的硬件投资来换取系统硬件的可靠性。
(1)热备份并联冗余是将若干功能相同的控制单元并联运行,同步执行相同的处理程序,当并联系统中至少有一个控制单元工作正常时,整个系统即维持正常工作。
为了提高控制单元的可靠性和经济性,常采用双机热备份并联方式。对受控系统而言,双机热备份并联方式只是其中一个控制单元完成测控任务,另一个控制单元处于并行工作的待命状态。但两个控制单元同步执行同样的程序,一旦自检系统发现主控单元有故障时,则待命状态的备控单元自动切换上去,代替主控单元使系统继续正常运行。在设计双机热备份系统时,要解决以下两个主要问题:
1)双机同步。双机同步一般是以事件作为同步令牌,其中事件可由设计者定义。如系统的工作过程为:输入接口采集由传感器送来的数据,在CPU内将采集到的数据和设定值进行比较、处理,最后得到本次的控制量输出。那么,事件可划分为数据采集和数据处理两个事件。
当应用系统启动时,两机同时执行第一事件,即采集状态数据。当第一事件完成后,再将两结果进行比较,如果相同则继续第二事件;若有错误,则主控单元自动切换,用备控单元代替主控单元。只要主控单元工作正常,则备控单元一直处于待命状态。
当事件进行数据处理时,若超出精度范围,则认为其中一个数据可能有错误,这时可以让双机重新转到本事件的首地址再执行一遍。若仍有差错,则再转到故障检测程序。这种软件回卷方法可以消除某些偶然性因素的影响。
2)故障检测。可以利用两机各自的自检程序分别进行自检,找出发生故障的控制单元。如果故障机是主控单元,则可进行自动切换,使程序继续执行下一个事件。为了能及时切换,可以根据任务的特点多设置一些事件,使得双机同步校验次数增多。
所谓切换是指通过输入输出接口相互交换双机状态,一旦某控制单元出错,另一控制单元就可及时知道。当备控单元发现主控单元有故障时,就可以发出控制信号,使主控单元自动退出控制,备控单元代替主控单元使系统继续正常运行。
(2)冷备份并联冗余设计中,备份的控制单元平时不加电工作,只在发现主控单元出故障时才用其代替主控单元。冷备份的控制单元在硬件结构、软件实现上都与主控单元完全一样,各种联机设备都安置到位,处于接通电源即可投入正常工作的冷备份状态。
冷备份并联系统中的冷热切换可以用人工操作转换,也可以自动切换。在设计成自动切换时,主控单元必须设置各路(或关键几路)报警信号。若发现超限现象,则及时输出切换信号去触发冷备份系统的电源触点,使备份单元投入正常运行。
软件与硬件可靠性的区别[3]
软件可靠性与硬件可靠性之间主要存在以下区别:
①最明显的是硬件有老化损耗现象,硬件失效是物理故障,是器件物理变化的必然结果,有浴盆曲线现象;软件不发生变化,没有磨损现象,有陈旧落后的问题,没有浴盆曲线现象。
②硬件可靠性的决定因素是时间,受设计、生产、运用所有过程的影响;软件可靠性的决定因素是与输入数据有关的软件差错,是输入数据和程序内部状态的函数,更多地取决于人。
③硬件的纠错维护可通过修复或更换失效的系统重新恢复功能,软件只能重新设计。
④对硬件可采用预防性维护技术预防故障,采用断开失效部件的办法诊断故障;而对软件则不能采用这些技术。
⑤基于预估计可靠性测试和可靠性的逐步提升等技术对软件和硬件有不同的意义。
⑥为提高硬件可靠性可采用冗余技术,而同一软件的冗余不能提高可靠性。
⑦硬件可靠性检验方法已建立,并已标准化且有一套完整的理论;而软件可靠性验证方法仍未建立,更没有完整的理论体系。
⑧硬件可靠性已有成熟的产品市场,而软件产品市场还很新。
⑨软件错误是永恒的,可重现的,一些瞬间的硬件错误可能会被误认为是软件错误。
总之,软件可靠性比硬件可靠性更难保证。实际上,即使是美国宇航局的软件系统,其可靠性仍比硬件可靠性低一个数量级。