提高单片机系统可靠性的设计方法
时间:09-02
来源:互联网
点击:
能指向两个区域:一种可能正好转到程序区的其他地址进行执行,一种可能转移到程序空间的盲区进行执行。所谓盲区,就是说那里并没有存放有效的程序指令。对于第一种情况,可以采取软件锁加以抑制。例如为保证对外操作的安全,在软件锁设计中,对于每一个相对独立的程序块在其执行以前或执行中对一个预先设定好的密码进行校验,只有当这一密码相符时执行才真正有效,也只有程序是通过正常的转移途径转移过来时,才会由上一级的程序设定正确的密码;否则,会根据校验错而使程序强制发生转移,错误状态得到处理,并恢复程序的正常运行状态。可以看下面的一个例子:假设有顺序执行的三个程序块,每一个程序块执行时都对其设定的密码进行校验。
当程序顺序执行时,每一个程序块都能够得到有效正确的执行。现在假设程序由于干扰而发生跑飞,由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周后就很可能产生问题。
当程序顺序执行时,每一个程序块都能够得到有效正确的执行。现在假设程序由于干扰而发生跑飞,由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周后就很可能产生问题。
嵌入式 单片机 看门狗 电路 放大器 电阻 半导体 稳压电源 电压 电流 比较器 相关文章:
- 嵌入式系统的定义与发展历史(11-15)
- 嵌入式系统亲密接触(11-22)
- 嵌入式系统设计中的USB OTG方案(02-01)
- 嵌入式线控驾驶系统开发过程中设计和测试考虑(02-02)
- 一个典型的嵌入式系统设计和实现 (02-02)
- DDR SDRAM在嵌入式系统中的应用(02-07)