假设我正在为Arduino (或任何其他微控制器)开发一种故障安全机制。换句话说,当主控制器发生故障时,二级微控制器或独立板应该承担责任。
两种可能的机制如下。
方法1-客户端服务器机制
方法2-心脏搏动机制
你们知道有什么更好的机制来实现这个吗?
发布于 2012-10-15 12:48:59
通常,在商业嵌入式系统中,如果处理器不能周期性地“踢狗”,看门狗定时器就会被用来重置处理器。所有的AVR微控制器(以及许多(如果不是大多数其他品牌)都有一个内部看门狗定时器。尽管具有独立的外部看门狗定时器的设计通常更健壮和可靠。就像这

对于需要更高程度容错的系统,例如航空航天应用程序,使用三重冗余或三模冗余架构。
在三重冗余系统中,三个相同的处理组件同时执行相同的任务。然后将结果发送到投票电路,即John所说的"多数器官“(4.2.2节)。投票电路的输出是三个处理部件的多数意见。

这允许一个处理组件失败,而不会影响系统的操作。但是,如果投票电路发生故障,那么整个系统也会出现故障。一个三重模冗余系统也通过实现三个投票电路来消除这个单一的故障点。

不过,最终需要将这三个产出合并为一个结果,从而导致一个单一的失败点。即使这一故障点是人类正在观察的三个量规,每一个都监测着相同的温度。
您需要确定的是,您需要您的系统如何成为容错性,以及您的系统能够处理什么样的平均故障间隔时间。然后围绕着这个设计你的冗余系统。
https://stackoverflow.com/questions/12894029
复制相似问题