提高单片机应用系统可靠性的软件技术
1 可靠性设计模型与概述
可靠性设计模型表达了单片机应用系统从激励到响应的唯一性过程。可靠性设计模型如图1所示,按照可靠性设计模型,软件设计的主要任务是保证在过程空间中,应用系统程序按照给定顺序有序地运行。软件设计的可靠性保障是软件设计中的本质可靠性与可靠性控制。它保障了最少的软件错误以及在软件出错后仍保证系统能正常运行或安全运行。
2 本质可靠性的软件设计
2.1 最大限度地减少错误及缺陷
在应用软件中,唯一的有序性(编程指定的)与无限的激励因素,导致了软件测试仿真的不完全性,其结果是软件的缺陷与软件并存。软件的缺陷与错误通常可分为显性与隐性两大类。显性缺陷与错误发生在程序正常运行中。这些缺陷和错误大部分都可通过仿真调试进行纠正;隐性缺陷与错误通常都在系统非正常运行中显露出来。容错能力弱的系统存在较多的隐性错误。
2.2 要有足够的时序余度
时序是程序设计中必须考虑的问题。在应用程序设计应考虑的时序有系统复位时序、状态时序、器件工作时序及总线运行时序。
(1)系统复位时序
①MCU复位时序要求。MCU有上电复位(冷启动复位,如开机)与信号复位(热启动,如按键复位)。上电复位有电源建立及时钟系统起振过程和电路状态复位。信号复位是在MCU工作状态下的复位,没有电源建立及时钟起振过程的时序要求。
②应用系统中多个复位端的时序要求。当一个系统中,除单片机外,还有其他可编程外围器件,如8155有复位要求时,系统中便出现了多个复位控制要求。解决系统中多个器件复位时序的原则是:保证MCU在系统中最后复位或MCU对外围可编程器件的初始化,必须确保在该器件复位后进行。
③程序设计中的复位处理原则。
·MCU上电后延迟片刻,确保外围器件复位完毕,再对外围器件初始化。
·在确保MCU对有复位控制端口的外围器件初始化是完全初始化操作时,可将外围器件的复位端接成非复位状态。
(2)器件工作时序
器件工作时序是器件应用程序设计的基础。程序设计中必须保证时序工作的正确性,而且要有足够的余度。在考虑器件运行时序时,MCU的操作必须保证时序信号的衔接控制和时序信号的时序余度。
(3)状态转换时序
在状态转换的程序设计中,应根据状态转换的时序特点,进行精心的时序控制设计。通常,MCU本身的状态转换,如复位、ID、PD方式的进入或退出,片内外围集成电路单元的关断与运行,都有自动监视、自动运行管理功能。程序设计只须按MCU数据手册及指令系统的操作要求进行即可。对于有较长过渡时间的外围状态转换过程,可采取足够的延时等待或设置提前转换状态的办法。
(4)总线时序
在单片机应用系统中,有并行总线与串行总线。串行总线中又有通信总线和扩展总线。这些总线在规范化操作时,其时序由数据通信协议保证。在非规范运行,例如在虚拟总线方式下,其虚拟总线运行的可靠性在于时序的准确模拟。在并行总线中要保证读、写操作指令运行下的读、写时序;同步串行总线要保证时钟线控制下的同步运行时序;串行异步时序则要考虑波特率对数据传送的影响。
2.3 足够的容错设计
(1)超时管理的容错设计
在系统程序中,除了专门设置的循环等待程序外,系统中的许多操作都是时间有界的。由于非正常激励的入侵,导致任务操作无法结束,形成超时现象。解决措施:在程序设计中采用超时管理办法,使程序从非正常激励造成的“死机”中退出。
(2)超界管理的容错设计
系统中实际运行的参数都是有界的。系统运行中要考虑的超界管理参数有:
①物理参数。这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。合理设定这些边界,将超出边界的参数都视为非正常激励或非正常响应进行出错处理。
②资源参数。这些参数主要是系统中的电路、器件、功能单元的资源,如存储器容量、存储单元长度、堆栈深度。在程序设计中,对资源参数不允许超界使用。
③应用参数。这些应用参数常表现为一些器件、功能单元的应用条件。如E2PROM的擦写次数与数据存储时间等应用参数界限。
④过程参数。指系统运行中的有序变化的参数。
(3)有序化的容错设计
有序化是程序正常运行的重要标志,是程序设计人员赋予的。有序化的容错设计是要保证在众多的非正常激励和出现非正常响应时,要最大限度地保证原来程序设计时给定的有序的正常程序操作。
3 可靠性控制的软件设计
3.1 噪声失敏控制技术
(1)噪声失敏与噪声失敏率
噪声失敏是利用CPU停止运行或关闭MCU外围电路,使其对外界噪声干扰失去响应能力的可靠性控制技
- 现场总线和组态软件技术在污水处理项目的应用(11-07)
- 嵌入式软件技术的缺陷查找方法(10-18)
- 资深人士谈产品可靠性:质量反馈信息至关重要(01-20)
- 基于高速DSP PCB板系统的可靠性设计(06-27)
- 基于DSP的智能控制器高可靠性分析与设计(10-09)
- 一种提高软件质量的可靠性方法(01-08)