提高单片机应用系统可靠性的软件技术

发布者:TechWhizKid最新更新时间:2012-03-10 来源: :江西电力职业技术学院学报 关键字:单片机  可靠性  软件技术 手机看文章 扫描二维码
随时随地手机看文章

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外围电路,使其对外界噪声干扰失去响应能力的可靠性控制技术。噪声失敏率NTOUT是在实际系统中,采取噪声控制后,系统或电路对噪声失敏的时间概率,
  NTOUT可由下式估算:

    TLOP为系统运行总时间,通常为系统开机时间;TOP为MCU中CPU的运行时间或电路系统的工作状态时间;
    TLOP-TOP为单片机CPU停止运行或外围电路被关断的时间。
    (2)噪声失敏控制的软件技术
  ①按噪声失敏设计最有效的程序结构。尽量减少应用程序中的循环等待;尽量集中安排任务和任务中的有效运行时间;及时关断不在有效运行的电路单元。
  ②MCU的休眠与掉电。通常,与CPU停止运行的低功耗方式主要有关断CPU时钟的休闲ID方式和关断系统时钟的掉电PD方式。
  ③外围电路关断。外围电路可通过电源供电的关断控制。具有关断功能的外围电路,可采取引脚控制关断或编程控制的办法,使之进入失敏状态。[page]
3.2 程序失控的回复技术
    (1)程序失控后的快速冻结与回复
  ①WDT(Watch Dog Timer)的失控回复。如图2所示。在程序失控后,程序跳逸出正常路径,无法对WDT清零,致使WDT溢出。溢出端输出信号使MCU复位。

  ②指令的失控恢复。如89C51中采用LJMP0000H的软件陷阱时,将输入陷阱的失控程序强行跳转到复位入口0000H处。
    (2)失控回复后的处理
  ①回复状态检测。回复是指程序失控后又转回到正常路径的起点,即复位入口地址。程序失控回复后要进行回复状态检测,以判断是上电复位还是WDT复位或指令拉回。通常采用的检测方法是利用上电标志。有些单片机内没有上电标志,可利用上电复位时SRAM的随机态与信号复位或程序拉回时,SRAM中数据不变的特点来判别。系统上电后,在SRAM区写入特殊上电标志数据。待回复后先检查上电标志是否存在,若存在即为WDT复位或指令拉回。
  ②回复后的初始化处理。图3是上电复位与程序失控回复初始化处理框图。0000H是MCU的复位入口,程序启动后,首先判断是上电复位(冷启动),还是程序失控回复(热启动)。上电复位是开机操作,要建立上电标志,并进行系统的完全初始化。程序失控回复应进行相关资源的检查与修复,以防止运行出错。另外根据系统的特点,需要保留一些过程数据。
    不得进行完全初始化时,只进行部分初始化。

3.3 安保、自检与修复技术
  在高可靠性等级的单片机应用系统中,软件设计中应有安保、自检与自修复软件。
  (1)安保程序设计。安保设计要求有非正常响应时,对象的完全性保障和系统的可持续运行。为了能在系统出现非正常响应时,立即获得安全保护,应设置关键部位的失控检测,如I/O口输出状态实时检测;机器人轨迹检测等。检测到非正常响应后,应快速进入安保状态设置,首先使系统进入安全态,然后保护系统的关键资源不受侵害,以保证系统具有后续运行的操作的能力。
  (2)实际系统中的自检。在实际的单片机应用软件中,应充分利用其智能化特点,设置各种自检程序以提高其可靠性与安全性。通常,应用系统中的自检程序有自诊断,失控后的回复检查和程序关键处的查验。程序自诊断通常是开机后对系统的例行检查;失控回复后的检查重点是数据区,I/O状态,SFR状态,外围电路的状态等。程序关键处的查验有界限检查、冗余性检查与逻辑性检查。
3.4 系统的结构冗余
  由于系统结构的简化,电路的集成趋势,器件成本的下降,逻辑控制能力的提高,在关键部位可采取冗余的备份结构来提高系统的可靠性。图4为实际应用中某监控系统的具有独立仲裁器的双机冗余系统。仲裁器的输入逻辑接收两个系统的输出数据与故障信息;输出逻辑接收比较器A、B的比较结果和故障处理信号发生器的切换信号。仲裁器的故障判断原理如下:对两个同步工作系统输出的数据进行比较,比较结果一致表明两个系统均无故障;比较结果不同表明,必有一个系统出现故障,然后强令两个系统进入自检程序,用预先设定的参数进行测试,并与预定结果比较,相符者为正常开机,不符者为故障机。若为暂时性故障,重新复位即可排除,若为永久性故障则输出故障信号并进入单机运行。

4 结束语
  可靠性是一个综合性、经验性较强的问题,是单片机控制器能否成功应用的关键问题。上述提高单片机应用系统可靠性的软件技术与方法应用于多项应用工程,使多项工程在高可靠性硬件基础上,保障了最少的软件错误以及在软件出错后仍保证系统正常运行或安全运行。

参考文献:

[1]杨华舒,复涛.单片计算机系统抗干扰的软件途径[J].电子技术应用,2001,(3).
[2]何立民.单片机高级教程[M].北京:北京航空航天出版社,2001.
关键字:单片机  可靠性  软件技术 引用地址:提高单片机应用系统可靠性的软件技术

上一篇:基于ISPLSI及单片机的电动机保护装置的研究
下一篇:80C196单片机多功能教学实验板的开发与研制

推荐阅读最新更新时间:2024-03-16 12:55

STM8单片机对LCD模块的驱动
STM8L152XX系列带有片上段式LCD驱动程序,这为低成本应用和高密度系统设计提供了保证,利用片上LCD驱动模块,可以有效的控制系统整体功耗,简化系统结构,从整体来说可靠性得到提高。 此处不介绍LCD驱动模块的原理以及驱动时序,请参考STM8原版英文说明文档,已描述的很详细,以下介绍其寄存器的配置方法以及编程方法。 时钟,系统时钟同样用来产生LCD驱动时钟,通过时钟模块配置: CLK_PCKENR2|=S3; //LCD 使能LCD模块时钟 CLK_CRTCR=S7|S6|S5|S1; //RTC&LCD-》FCLK/128 注意RTC和LCD是共同一路时钟 以上配置根据实际时钟进行调整,我在此处采用FCLK=HSI=
[单片机]
STM8<font color='red'>单片机</font>对LCD模块的驱动
关于51单片机晶振的问题总结
晶振是什么?全称是石英晶体振荡器,是一种高精度和高稳定度的振荡器。通过一定的外接电路来,可以生成频率和峰值稳定的正弦波。而单片机在运行的时候,需要一个脉冲信号,做为自己执行指令的触发信号,可以简单的想象为:单片机收到一个脉冲,就执行一次或多次指令。 在初学51单片机的时候,总是伴随很多有关与晶振的问题,其实晶振就是如同人的心脏,是血液的是脉搏,把单片机的晶振问题搞明白了,51单片机的其他问题迎刃而解。 一,为什么51单片机爱用11.0592MHz晶振? 其一:因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶
[单片机]
采用PIC16F877单片机的汽车电动助力转向系统
  1 引言   随着电子控制技术的发展及其在 汽车 领域的广泛应用, 电动助力转向系统 (Electric Power Steering, 简称EPS)越来越成为目前汽车电子技术研究的热点之一。与传统的转向系统相比,EPS系统结构简单,灵活性大,可以获得理想的操纵稳定性,能动态地适应汽车行驶状况的变化,在操纵舒适性、安全性、环保、节能、易于维修等方面也充分显示了其优越性 。目前, 电动助力转向已部分取代液压助力转向并获得广泛应用,如日本的大发、三菱、本田汽车公司,美国的Delphi汽车系统公司,德国的ZF公司等都相继研制出各自的EPS并装配使用。国内对EPS 系统的研究起步较晚,仅有清华、华中科大、吉林大学、合肥工大等高校开展
[单片机]
采用PIC16F877<font color='red'>单片机</font>的汽车电动助力转向系统
基于AT89C2051单片机的排矿阀门控制系统设计
0 引言 磁力脱水槽是选矿厂对细粒嵌布铁矿物较为有效的选别设备。广泛应用在磁铁矿(或焙烧磁铁矿)选矿工艺中。磁力脱水槽操作目前采用人工操作。岗位工人按着给矿量的变化,用取矿勺估测精矿层的深度和目测颜色的方法掌握矿层界面的位置,从而调整精矿排矿阀门(胶堆、闸门)阀位的大小,以便相对保证精矿品位和金属回收率的最佳值。在生产实践中,当正常状态下各工序的矿浆量、浓度、品位相对稳定时,磁力脱水槽的选别指标较好。而当给矿量等指标变化频繁时,磁力脱水槽选别指标则急剧恶化,进而影响到选别作业给矿的稳定。在这种状态下,需要岗位工人不断调整阀门操作以满足铁精矿品位和金属回收率的要求。传统的人工操作是岗位工人利用操作勺探测矿层深度和目测颜色的方法掌
[单片机]
基于AT89C2051<font color='red'>单片机</font>的排矿阀门控制系统设计
基于MSP430FR 系列MCU 的多功能双接口存储器设计
本文介绍了一种基于TI 新一代MSP430FR 系列MCU 来实现多功能双接口存储器的方法。相比传统存储器 (例如FLASH,SRAM,EEPOM),FRAM集合了更多的优势,拥有更强大的功能。利用MCU 的灵活性,用户可以设计出功能强大,接口灵活的多功能存储器,用来替代传统嵌入式系统中的EEPROM和RTC 等功能。 1 前言 从2011 年起,TI(德州仪器)公司先后推出了近20 款带FRAM的MSP430 系列MCU – MSP430FRXX。与传统的MCU 相比,该系列MCU 采用新一代的FRAM替代了FLASH 和SRAM。由于FRAM具有读写时间快,使用寿命长,非易失性,功耗低,抗干扰力强等特点,可以用它来实现传统
[单片机]
基于MSP430FR 系列<font color='red'>MCU</font> 的多功能双接口存储器设计
以AT89C51单片机为控制核心的低成本高精度倒计时系统设计
1 引 言 倒计时系统的任务, 就是对某一设定日期进行倒数, 并在显示屏显示当前至设定日期的时间, 以增强人们的关注度和紧迫感。开发实践表明: 以时钟芯片DS12C887为时钟模块、单片机AT89C51为控制模块的高精度倒计时系统具有精度高、能够长时间连续稳定地工作、使用方便的特点, 可较好满足实际需要。系统的硬件设计和软件设计如下。 2 系统的硬件设计 系统的控制模块由AT89C51单片机构成, 用于完成对串行口控制器的初始化和数据读写, 并对接收的各种数据进行识别、转储及显示。时钟芯片DS12C887提供高精度的年、月、日、时、分、秒时间,校准后直接与单片机相连。倒计时显示模块由LED数码管, 74HC595芯片和74L
[单片机]
以AT89C51<font color='red'>单片机</font>为控制核心的低成本高精度倒计时系统设计
基于ATMEGA16的高精度低压无功功率补偿器系统设计
随着现代工业的发展,电网中使用的感性负载也愈来愈多,如感应式电动机、变压器等。这些设备在工作时不但要消耗有功功率,同时需要电网向其提供相应的无功功率,造成电网的功率因数偏低。在电网中并联电容器可以减少电网向感性负载提供的无功功率,从而降低输电线路因输送无功功率造成的输电损耗,改善电网的运行条件,因此功率因数补偿控制器一直有着广阔的应用市场。本文所介绍的功率因数补偿控制器符合JB/T9663-1999国家标准,主要功能有: (1) 相序自动识别 (2) 电压、电流、功率因数采样与显示 (3) 过压解除、欠流封锁,从而保护电容器及避免循环投切 (4) 采用先投入的先切除,先切除的先投入的
[单片机]
AT89S52单片机介绍_AT89S52单片机主要性能及寄存器
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。 AT89S52主要性能 1、与MCS-51单片机产品兼容; 2、8K字节在系统可编程Flash存储器; 3、1000次擦写周期; 4、全静态操作:0Hz-33MHz; 5、三级加密程序存储器; 6、32个可编程I/O口线; 7、三个16位定时器/计数器; 8、6个中断源; 9
[单片机]
AT89S52<font color='red'>单片机</font>介绍_AT89S52<font color='red'>单片机</font>主要性能及寄存器
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved