现在,许多的嵌入式体系均选用了单片机,并且这样的运用正在更进一步扩展;可是多年以来人们一向为单片机体系的牢靠性问题所困惑。在一些要求高牢靠性的操控体系中,这往往成为约束其运用的首要原因。
1 单片机体系的失效剖析
一个单片机体系的牢靠性是其本身软硬件与其所在作业环境归纳作用的成果,因而体系的牢靠性也应从这两个方面去剖析与规划。关于体系本身而言,能不能在确保体系各项功用完成的一起,对体系本身运转过程中呈现的各种搅扰信号及直接来自于体系外部的搅扰信号进行有用的按捺,是决议体系牢靠性的要害。有缺点的体系往往只从逻辑上去确保体系功用的完成,而关于体系运转过程中或许呈现的潜在的问题考虑短缺,采纳的办法缺乏,在搅扰信号真实袭来的时分,体系就或许会陷入困境。任何体系的牢靠性都是相对的,在一种环境下能够很好作业的体系在另一种环境下却有或许是很不安稳的。这就充沛阐明环境对体系牢靠运转的重要性。在针对体系运转环境去规划体系的一起,应尽量采纳办法改进体系运转的环境,下降环境搅扰,但这样的办法往往比较有限。
2 进步牢靠性的办法
进步单片机体系牢靠性的办法与办法许多。一般地,应依据体系所面对的详细的牢靠性问题,针对引起或影响体系不牢靠的要素采纳不同的处理办法。这些办法一般从这样两个意图动身:榜首,尽量削减引起体系不牢靠或影响体系牢靠的外界要素;第二,尽量进步体系本身抗搅扰才干及下降本身运转的不安稳性。例如,为了按捺电源的噪声和环境搅扰信号而选用的滤波技能、阻隔技能、屏蔽技能等都是出于榜首个意图;别的,针对体系本身而选用的看门狗电路、软件抗搅扰技能、备份技能等均是出于第二个意图而采纳的办法。其间榜首类的办法较常运用,其运用简略并且作用也较好,但其对体系牢靠性的进步是有限的,许多状况下不能满足体系的要求。第二类办法的运用能够更进一步进步体系的牢靠性,往往在高牢靠性的体系规划中被广泛运用。下面就第二类技能运用中的一些相关问题作进一步的剖析。
2.1 用监督定时器技能进步体系的牢靠性
监督定时器(Watchdog)技能现在运用得十分广泛,技能已较为老练,这一技能的支撑手法也许多。现在,各处理器的出产厂家简直都在出产内置有看门狗定时器的单片机产品,市场上还有许多独立的看门狗定时器芯片可供挑选。要完成这样的电路现已较为简单,因而这儿关于怎么完成这一技能的一般细节不作详细的论说,仅就选用此技能所导致的可重人道问题进行剖析。选用监督定时器技能后,一旦程序跑飞,体系当即会被监督定时器复位掉,从头从头发动体系,然后退出不正常的运转状况,可是这样运用时有必要留意体系的可重人道。所谓体系的可重人道能够这样来界说:当一个微处理器体系在从头复位发动今后,体系对外的履行操作不因从头发动而改动,或许说这种改动是能够忍受的,然后确保整个体系对外操作的接连性和次序性,也便是体系终究的安全性和牢靠性。关于一个体系,假如它对外的操控操作只与体系当时的输入状况有关,那么这个体系就简直具有彻底的重入功用;相反,如一个体系对外的输出操作不只与体系当时的输入相关,并且与体系的前史状况有关,那么假如体系重入时体系的前史状况没有保存或许前史状况被损坏,那么此刻体系对外的操作就或许彻底是过错的,这样的体系虽然在看门狗定时器的作用下退出了不正常的运转状况,但重入的状况也不会正常,那么这样的体系也只能是病态的体系,不能运用。因而,关于选用了看门狗电路来进步牢靠性的体系,有必要严厉确保体系的可重入性。
关于与前史状况相关的体系,为确保其重入功用,能够把其前史状况保存在体系的RAM中,即在单片机体系的内存或其扩展的外部存储器中,拓荒出专用于保存前史状况的缓冲区。在确保体系不掉电的状况下,这些前史数据在体系重入时能够被从头运用。假如不能确保体系的电源安稳,还有必要考虑选用备用电池供电,以确保RAM数据的安全安稳;关于时刻不是太灵敏的体系,还能够选用E2PROM或Flash ROM来保存前史数据。
2.2软件抗搅扰技能
一个体系或许由于存在着各种搅扰及不安稳要素而呈现运转毛病。为处理这一问题,能够从程序的规划方面采纳一些办法。传统的为按捺体系的搅扰信号而常常选用的软件滤波技能、软件冗余规划便是这一类的典型运用。依据规划经历,一般还能够选用软件锁规划、程序圈套规划。这一类办法首要是针对程序跑飞的状况而选用的。当体系在搅扰信号的作用下发生程序跑飞时,程序指针有或许指向两个区域:一种或许正好转到程序区的其他地址进行履行,一种或许搬运到程序空间的盲区进行履行。所谓盲区,便是说那里并没有寄存有用的程序指令。关于榜首种状况,能够采纳软件锁加以按捺。例如为确保对外操作的安全,在软件锁规划中,关于每一个相对独立的程序块在其履行曾经或履行中对一个预先设定好的暗码进行校验,只要当这一暗码相符时履行才真实有用,也只要程序是经过正常的搬运途径搬运过来时,才会由上一级的程序设定正确的暗码;不然,会依据校验错而使程序强制发生搬运,过错状况得到处理,并康复程序的正常运转状况。能够看下面的一个比如:假定有次序履行的三个程序块,每一个程序块履行时都对其设定的暗码进行校验。
当程序次序履行时,每一个程序块都能够得到有用正确的履行。现在假定程序由于搅扰而发生跑飞,由SUB—PRO1的块处理跳到了程序SUB-PR03处开端履行,那么在履行中暗码校验会犯错,程序将搬运到过错处理程序进行处理,避免进行过错的操作。
规划程序圈套的意图,首要是为了避免程序跑飞到程序盲区进行履行。一般状况下,关于程序代码空间以外的ROM空间的处理是选用空置的办法。固化程序时,这些空置空间被全写为1或全写为O,这样程序跳入这一区域将不行控。为了捕获跳入此区的程序,能够选用程序圈套来予以完成。下面经过比如来阐明:假定某体系程序空间为32KB,程序编译后共生成18 KB的代码,那么,还有14 KB的程序空间未被运用,能够在该区域放置下面的圈套程序:
用上面程序段重复掩盖剩下的程序空间圈套程序里的每一段含有的NOP指令的多少关于捕获的成功率及捕获的时刻有影响。NOP指令放置的越多捕获的成功率就越高,但花费的时刻就越长,程序失控的时刻也越长;不然,状况则相反。由于只要程序跳转到NOP指令或LJMP指令的首个字节时,才干成功捕获;当程序跳到LJMP指令的后两个字节时,或许会呈现不行预知的履行成果。被捕获的程序假如跳到程序的开始处履行时,还有必要考虑程序的可重人道。
2.3选用备份体系进步牢靠性
备份体系在许多重要操控体系中已被广泛运用,但多在工控机中或较大型的体系中选用。备份体系可依据详细的状况分为在线备份体系和后备备份体系。关于在线备份体系,体系中的两个CPU均处于作业状况,有或许两个CPU处在对等的方位,也或许一个处在主CPU的方位,而另一个处在从CPU的方位。在对等的状况下,两个CPU一起决议体系对外的操作,任何一个CPU犯错都将
引起对外操作的制止。关于一主一从的状况,往往是主CPU担任体系操控逻辑的完成,而从CPU担任对主CPU的作业状况进行监控。当监控到主CPU作业反常时,从CPU经过强行复位主CPU等操作使主CPU康复正常,一起,为确保从CPU作业正常,从CPU的作业状况也被主CPU监控;当从CPU的作业状况不正常时,主CPU也可采纳办法使从CPU康复正常作业,即完成互相监控的意图。在详细的规划中,主从CPU进行信息沟通的途径十分灵敏、多样。例如,选用共用的存储器来完成监控信息的沟通(如把共用信息存入双口RAM),选用握手信号的办法完成监控信息的沟通等。
3 进步体系牢靠性的归纳规划办法
在一个详细的体系规划中,为进步体系的安稳性和牢靠性,往往要归纳选用多种办法来到达满足的作用,这是全面进步体系牢靠性的必经之路。体系不同,其详细的操控目标就或许不同,运转环境也会千差万别,因而其面对的首要搅扰问题就不同,采纳的办法也就不同;但仅采纳某项办法就期望全面进步体系的牢靠性常常是不现实的,而要针对首要问题归纳采纳多项办法联合进步牢靠性。
4 规划实例
下面给出一个规划实例,以进一步阐明进步体系牢靠性规划的一些常用办法。
在某卫星通信体系中,为了下降体系的相噪,要求其前置低噪声放大器(LNA)的作业温度坚持安稳(40℃);而该放大器在野外作业的环境温度规模为一40~+60℃之间,因而有必要把该放大器放入特制的恒温箱中。该恒温箱应具有既能制热又能制冷的功用。制热选用电阻丝加热器,制冷选用半导体制冷片来完成。为避免恒温箱因操控器失灵而形成温度失控乃至损坏低噪声放大器,损坏整个体系的正常作业,恒温箱的规划首要选用了主从双CPU体系来进步体系的牢靠性。除此以外,还选用了如电源监控技能、看门狗技能、软件圈套技能、光电阻隔技能等办法归纳进步体系的牢靠性。该体系的结构框图如图1所示。
主CPU担任加热器、制冷片及箱内箱外温度的检测,背负首要的操控使命。主CPU选AT89S52单片机,内含看门狗定时器,在芯片外加MAX707作为电源监控电路;除能够向主CPU供给牢靠的复位信号以外,还能够检测掉电中止请求信号,当掉电发生时及时保存现场数据。加热棒运用沟通220V供电,制冷片选用15V直流稳压电源供电。为避免高电压强电流对弱电部分的搅扰,主CPU
发生的操控信号都经过光电阻隔送向驱动电路,以进步体系的牢靠性。
从CPU选AT89C2051,首要担任对主CPU作业状况的监控及电源供电电压的监督。当掉电现象发生时,AT89C2051内的电压比较器会检测到这种改变,并由后备电池供电,经过485口向监控台陈述。
主从CPU之间的监控是互相的。主从CPU经过它们之间的I/O口线握手,互相监督对方的作业状况,并采纳相应的处置办法,确保体系对外操作的安全。经过上述办法的施行,体系的牢靠性十分超卓,自投入运转以来一向安稳牢靠,无不明原因的死机或失控现象发生,充沛阐明了体系规划的成功。而依据以往的经历,如不选用上述的归纳规划办法,这样的体系一般在接连运转1~2周后就很或许发生问题。
结 语
本文详细剖析了单片机体系失效的原因,评论了进步体系牢靠性的办法,并提出了进步体系牢靠性的归纳规划办法。在低噪声放大器恒温操控器中的成功运用,标明这种规划办法是行之有用的,体系的牢靠性得到了充沛的保证。
责任编辑;zl