首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arduino故障安全机制

Arduino故障安全机制
EN

Stack Overflow用户
提问于 2012-10-15 10:48:48
回答 1查看 3.9K关注 0票数 10

假设我正在为Arduino (或任何其他微控制器)开发一种故障安全机制。换句话说,当主控制器发生故障时,二级微控制器或独立板应该承担责任。

两种可能的机制如下。

方法1-客户端服务器机制

  • 有两个相同的系统是分开供电的。
  • 辅助系统定期发送请求,主系统响应。
  • 如果主系统未能回复(几次),则二级系统将负责。

方法2-心脏搏动机制

  • 有两个相同的系统是分开供电的。
  • 主系统发送一个周期性的心跳消息。
  • 如果心脏跳动在那里,次级节点知道主节点向上。
  • 当没有心跳时,主要节点被认为是死亡的。辅助节点获取控件。

你们知道有什么更好的机制来实现这个吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-15 12:48:59

通常,在商业嵌入式系统中,如果处理器不能周期性地“踢狗”,看门狗定时器就会被用来重置处理器。所有的AVR微控制器(以及许多(如果不是大多数其他品牌)都有一个内部看门狗定时器。尽管具有独立的外部看门狗定时器的设计通常更健壮和可靠。就像

对于需要更高程度容错的系统,例如航空航天应用程序,使用三重冗余或三模冗余架构。

在三重冗余系统中,三个相同的处理组件同时执行相同的任务。然后将结果发送到投票电路,即John所说的"多数器官“(4.2.2节)。投票电路的输出是三个处理部件的多数意见。

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

不过,最终需要将这三个产出合并为一个结果,从而导致一个单一的失败点。即使这一故障点是人类正在观察的三个量规,每一个都监测着相同的温度。

您需要确定的是,您需要您的系统如何成为容错性,以及您的系统能够处理什么样的平均故障间隔时间。然后围绕着这个设计你的冗余系统。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12894029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档