单片机控制系统应用的可靠性技术涉及到生产过程的方方面面,不仅与设计、制造、检验、安装、维护有关,还与生产管理、质量监控体系、使用人员的专业水平与素质有关。本文主要是从技术角度分析提高系统可靠性的最常用方法。
《电子科学学刊》是电子科学高级综合性学术刊物。它的任务是:反映我国电子科学的最新研究成果和技术进展。本刊发扬学术民主,提倡学术讨论,促进国内外同行的学术交流,为我国四个现代化服务。
1. 系统受到干扰的主要原因和现象
由于单片机控制系统应用系统的工作环境往往是比较恶劣和复杂的,其应用的可靠性、安全性就成为一个非常突出的问题。单片机控制系统应用必须长期稳定、可靠地运行,否则将导致控制误差加大,严重时会使系统失灵,甚至造成巨大的损失。
影响单片机控制系统应用的可靠、安全运行的主要因素是来自系统内部和外部的各种电气干扰,以及系统结果设计、元器件选择、安装、制造工艺和外部环境条件等。这些因素对控制系统造成的干扰后果主要表现在下述几个方面。
(1) 数据采集误差加大。干扰侵入单片机控制系统测量单元模拟信号的输入通道,叠加在有用信号之上,会使数据采集误差加大,特别是当传感器输出弱信号时干扰更加严重。
(2) 控制状态失灵。微机输出的控制信号常依赖某些条件的状态输入信号和这些信号的逻辑处理结果。若这些输入的状态信号受到干扰,引入虚假状态信号,将导致输出控制误差加大,甚至控制失常。
(3) 数据受干扰发生变化。单片机控制系统中,由于RAM存储器是可以读/写的,故在干扰的侵害下,RAM中的数据有可能被窜改。在单片微机系统中,程序及表格、常数存于程序存储器中,避免了这些数据受到干扰破坏,但对于内RAM、外扩RAM中的数据都有可能受到外界干扰而变化。根据干扰窜入的途径、受干扰数据的性质不同,系统受损坏的情况也不同.有的造成数据误差.有的使控制失灵,有的改变程序状态,有的改变某些部件(如定时器/计数器,串行口等)的工作状态等。
(4) 程序运行失常。单片机控制系统中程序计数器的正常工作,是系统维持程序正常运行的关键所在。如果外界干扰导致计数器的值改变,破坏了程序的正常运行。由于受到干扰后计数器的值是随机的,因而导致程序混乱。通常的情况是程序将执行一系列毫无意义的指令,最后进入"死循环",这将使输出严重混乱或系统失灵。
2. 系统可靠性设计的分析和方法
导致系统运行不稳定的内部因素主要有以下三点:
(1) 元器件本身的性能与可靠性。元器件是组成系统的基本单元,其特性好坏与稳定性直接影响整系统性能与可靠性。因此,在可靠性设计当中,首要的工作是精选元器件,使其在长期稳定性、精度等级方面满足要求。随着微电子技术的发展,电子元器件的可靠性不断提高,现在小功率晶体管及中小规模IC芯片的实际故障大约为10×10-9/h。这为提高系统性能与可靠性提供了很好的基础。
(2) 系统结构设计。包括硬件电路结构和运行软件设计。电路设计中要求元器件或线路布局合理以消除元器件之间的电磁耦合相互干扰,优化的电路设计也可以消除或削弱外部干扰对整个系统的影响,如去耦电路、平衡电路等。同时也可以采用冗余结构,也称容错技术或故障掩盖技术,它是通过增加完成同一功能的并联或备用单元〔包括硬件单元或软件单元〕数目来提高系统可靠性的一种设计方法。当某些元器件发生故障时也不影响整个系统的运行。对于消减外部电磁干扰,可采用电磁兼容设计,目的是提高单片机系统在电磁环境中的适应性,即能保持完成规定功能的能力。常用的抗电磁干扰的硬件措施有滤波技术、去耦电路、屏蔽技术、接地技术等。
软件是微机系统区别于其它通用电子设备的独到之处,通过合理编制软件可以进一步提高系统运行的可靠性。常用的软件措施主要有:一是信息冗余技术,对单片机控制系统应用而言,保持信号信息和重要数据是提高可靠性的主要方面。为防止系统故障等原因而丢失信息,常将重要数据或文件多重化,复制一份或多份"拷贝",并存于不同空间,一旦某一区间或某一备份被破坏,则自动从其它部分重新复制,使信息得以恢复。二是时间冗余技术,为提高单片机控制系统应用的可靠性,可采用重复执行某一操作或某一程序,并将执行结果与前一次结果进行比较对照来确认系统工作是否正常。只有当两次结果相同时,才被认可,并进行下一步操作。
若两次结果不相同,可再次重复执行一次,当第三次结果与前两次之中的一次相同时,则认为另一结果是偶然故障引起的,应剔除。若三次结果均不相同,则初步判定为硬件永久性故障,需进一步检查。这种办法是用时间为代价来换取可靠性,称为时间冗余技术,也称为重复检测技术。三是故障自动检测与诊断技术,对于复杂系统,为了保证能及时检测出有故障装置或单元模块,以便及时把有用单元替换上去,就需要对系统进行在线测试与诊断。这样做的目的有两个:一是为了判定动作或功能的正常性;二是为了及时指出故障部位,缩短维修时间。四是软件可靠性技术:单片机控制系统运行软件是系统要实行的各项功能的具体反映。软件的可靠性主要标志是软件是否真实而准确地描述了要实现的各种功能。因此对生产工艺过程的了解程度直接关系到软件的编写质量。提高软件可靠性的前提条件是设计人员对生产工艺过程的深入了解,并且使软件易读、易测和易修改。五是失效保险技术:有些重要系统,一但发生故障时希望整个系统应处于安全或保险状态。此外,还有常见的数字滤波、程序运行监视及故障自动恢复技术等。
(3) 安装与调试。元器件与整个系统的安装与调试,是保证系统运行与可靠性的重要措施。尽管元器件选择严格,系统整体设计合理,但安装工艺粗糙,调试不严格,仍然达不到预期的效果。
导致系统运行不稳定的外因是指单片机控制系统所处工作环境中的外部设备或空间条件导致系统运行的不可靠因素,主要包括以下几点:一是外部电气条件,如电源电压的稳定性、强电场与磁场等的影响;二是外部空间条件,如温度、湿度,空气清洁度等;三是外部机械条件,如振动、冲击等。