微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 嵌入式双机容错实时系统的设计

嵌入式双机容错实时系统的设计

时间:09-22 来源:电子发烧友 点击:

要经历的步骤,因此把任务级的故障检测放到结果判别部分进行。

  (3) 主/备用机切换支持组件

  仲裁检测电路中对主/备用机设置了"看门狗"监视器。当主/备用机处于正常工作状态时,运行于CPU上的某一任务周期性地对"看门狗"施加复位信号,这样,"看门狗"计数器就不可能产生溢出触发信号;当CPU出现故障时,"看门狗"会输出一个离散触发信号并发出报警,此时,系统进行自动切换,让备用的系统机工作。


图3 主控流程

  2.3 任务级动态冗余

  在实时多任务系统中,采用另一种软件冗余方法--任务级动态冗余。任务级动态冗余方法是实时系统中瞬间故障的恢复方法之一。

  在实时多任务的环境下,充分利用操作系统提供的功能,对各个基本任务建立后备任务作为冗余,并对后备任务进行容错调度,从而起到类似于重试或卷回恢复的作用。利用检查点技术和传递日志法保持主系统和备份系统的状态的一致性,实现错误恢复,有较高的性价比。

  根据应用程序,结合实时性要求,采用以下的措施:

  ① 把应用程序分解成多个任务,任务以过程的形式出现,各个任务进入运行的顺序是从1到n,并在每个任务的最后设置检查点,传递日志。

  ② 根据应用程序的要求事先给各个任务安排优先级,使得任务可以根据要求及时占有处理器,实现实时处理。

  ③ 为各基本任务准备一个后备任务存放在内存中,平时后备任务不建立,不占有系统资源,仅在需要时才激活使用,后备任务的优先级比相应的优先级要高。马上建立就抢占执行,是某种意义上的重试或程序卷回。

  ④ 为实现恢复功能的后备任务,可以和原有任务完全一样,也可以是替换算法。

  下面的算法能为各个任务产生容错调度,从而实现任务冗余:


当后备任务执行了Nmax次之后还通不过检测,就认为系统出现永久故障,系统报警。Nmax是个阀门值,是由实时要求所决定的。

  3 可靠性分析

  在考虑了双机的切换问题(包括切入成功率,与此相关的切入时间和再次切入的时间及其故障判别问题)后,完整的双机容错系统的稳态可用度为


其中:λ为平均失效率,β为故障诊断率,是平均诊断时间的倒数;μ为平均维修率,是平均维修时间的倒数;α为加入失效率,是平均切入时间的倒数;C为故障判别率;α′为再次切入失效率,是再次切入时间的倒数(重启双工时间的倒数);D为切入成功率。

  采用对称双机系统,在典型值的计算中可以获得99.99995%的可用度。

  4 结论

  随着实时系统在安全领域内越来越多的应用,可靠性已经成为衡量系统优劣的重要因素之一。传统的实时系统容错只满足了系统某一方面的容错需求。为了在出现硬件或软件的暂时或永久故障的情况下,系统仍能在规定的时限范围内完成运算,并输出正确的结果,本文提出一个软、硬件结合的完整的解决方案,能满足系统的强实时性、高可靠性、服务不断流的要求。此方案应用于RTEMS中,具有很高的可靠性。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top