单片机系统失效的原因以及提高系统可靠性的措施方法解析

单片机系统失效的原因以及提高系统可靠性的措施方法解析

当程序顺序执行时,每一个程序块都能够得到有效正确的执行。现在假设程序由于干扰而发生跑飞,由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),采用握手信号的方法实现监控信息的交换等。