历史上的今天
返回首页

历史上的今天

今天是:2025年04月11日(星期五)

正在发生

2018年04月11日 | 提高单片机应用系统可靠性的软件技术与方法介绍

2018-04-11 来源:eefocus

    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方式。

    ③外围电路关断。外围电路可通过电源供电的关断控制。具有关断功能的外围电路,可采取引脚控制关断或编程控制的办法,使之进入失敏状态。

    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. 


推荐阅读

史海拾趣

CIRCUITCO公司的发展小趣事

随着技术的不断进步,CIRCUITCO公司开始寻求市场拓展的机会。公司积极与国内外知名电子产品制造商建立合作关系,为其提供优质的电路板解决方案。通过与这些企业的合作,CIRCUITCO的产品逐渐渗透到各个领域,如通信、计算机、消费电子等。同时,公司也通过参加国际电子展会等方式,提升品牌知名度,进一步拓展市场份额。

Abracon公司的发展小趣事

CIRCUITCO公司深知人才是企业发展的核心。因此,公司一直注重人才引进和团队建设。公司积极招聘具有丰富经验和专业技能的人才,为他们提供良好的工作环境和待遇。同时,公司也注重员工的培训和发展,鼓励员工不断创新和学习。通过这些措施,CIRCUITCO公司逐渐建立起一支高素质、专业化的团队,为公司的长远发展提供了有力保障。

Fractus公司的发展小趣事

为了加速技术的商业化进程,Fractus积极寻求与全球领先企业的合作。自2000年以来,公司陆续与多家知名手机厂商、电信运营商以及设备制造商建立了战略合作关系。这些合作不仅为Fractus带来了稳定的收入来源,也促进了其技术的广泛应用和持续改进。同时,Fractus还通过签订全球许可协议和建立战略伙伴关系,进一步拓展了其业务范围和市场影响力。

CBM_America_Corporation公司的发展小趣事

在全球电子行业遭遇供应链危机时,CBM_America_Corporation面临着巨大的挑战。公司的原材料采购受到影响,生产成本大幅上升。为了应对这一危机,CBM积极调整采购策略,寻找新的供应商和合作伙伴。同时,公司还加大了研发投入,开发出了更加环保、节能的产品,以适应市场需求的变化。通过一系列措施的实施,CBM成功度过了危机,并保持了稳定的发展态势。

Bomar Interconnect公司的发展小趣事

为了确保产品质量和稳定性,Bomar Interconnect公司建立了严格的质量管理体系。公司引进了先进的质量检测设备和方法,对原材料、生产过程、成品进行全面检测和控制。同时,公司还加强了员工培训,提高了员工的质量意识和操作技能。这些措施有效提升了产品的质量水平,降低了不良品率,为客户提供了更加可靠的产品和服务。

Desco Tools公司的发展小趣事

Desco Tools公司最初成立于上世纪70年代,专注于防静电工具的研发和生产。当时,随着电子行业的迅速发展,对静电防护的需求日益增加。Desco Tools公司凭借其敏锐的市场洞察力和技术实力,成功开发出了一系列防静电工具,如防静电手套、手腕带等,这些产品迅速在市场上获得了认可,为公司的发展奠定了坚实的基础。

问答坊 | AI 解惑

关于上拉电阻……

有时为了提高电路的驱动电压,需要使用上拉电阻外接相应的电源! 我的疑问是,能不能不使用这个“上拉电阻”,需要多大的电压,我就在这里接一个多大的电源不就可以了吗? 我这道这样的做法是不合理的!但我不知道为什么不合理!?为什么这里的上 ...…

查看全部问答>

哪位高手帮我解决下protel中仿真问题

protel中.sch文件见附件 哪位高手帮我看看,如何设置那些管脚才能正确仿真,谢谢啦!…

查看全部问答>

8279等芯片的供电电压是多少?

还有74ls373,244,08,32,14,80c51等芯片。…

查看全部问答>

角度测量:电解质型倾角传感器优势谈

角度测量:电解质型倾角传感器优势谈      长期以来,电解质型倾角传感器稳定工作的应用范围从高性能航空电子系统延伸到高精度地震监测仪器以及消费电子领域。近年来,微电子机械系统(MEMs)加速计和倾角传感器的应用越来越普 ...…

查看全部问答>

请问:怎么定义一个在代码中的数组?

以前C51中这样定义的:uint code Parameter[5]={    1660, 1040,  300,  100,   50}现在在IAR中定义不行啊。…

查看全部问答>

TI的C6748系列DSP怎么实现高速数字序列输出

        各位大侠               小弟我初用DSP,是TI 的C6748系列,要实现高速数字序列输出,例如编码了的信号输出,但输出位的位宽 ...…

查看全部问答>

怎样选择门禁系统,掌握五个要点

门禁已经成为我们现代化小区不可或缺的安防设备。门禁系统成为保障生活和财产安全起着重要作用,门禁系统的重要性不言而喻,不管是在企业事业单位,还是工厂小区,都有着重要作用,而门禁系统的品质好坏,也关系安防的安全性,所以怎样选购门禁系统 ...…

查看全部问答>

错用了削峰正弦波的晶振,输出太小怎么办?

请问各位大神 本来应该用CMOS电平的方波输出温补晶振 买错晶振了 买成削峰正弦波输出的了,时钟信号峰峰值太小了,芯片无法识别到 请问削峰正弦的信号(峰峰值仅0.8V)该如何使用? 加放大电路会不会影响其时钟稳定性(系统对时钟稳定性要求很 ...…

查看全部问答>

【学习心得】+DLP微型投影

DLP这是我第一次听说的一个词语,课程讲解首先从原理开始说,让我们先对DLP有初步认识.DLP(DigitalLight Procession)数字光学处理, 这种技术要先把影像信号经过数字处理,然后再把光投影出来。知道这个后我就知道我们投影仪都是这个原理.他的核心部分 ...…

查看全部问答>

4.35V锂电池保护IC LY2003系列

本帖最后由 lianyiwei11 于 2014-11-14 12:39 编辑 1. 概述 LY2003系列 IC,内置高精度电压检测电路和延迟电路,是用于单节锂离子/锂聚合物可 再充电电池的保护 IC。 本 IC 适合于对 1 节锂离子/锂聚合物可再充电电池的过充电、过放电和过电流 ...…

查看全部问答>