打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
避免故障,容错设计 (eTech 11) ? DesignSpark

避免故障,容错设计 (eTech 11)

文章来自 叶晓劼

1325 查看

故障安全系统在检测到故障后无法恢复安全运行,但它会以可预见的方式关机,不会产生错误的输出。

容错系统具有内置的能力(无需外部帮助),可在出现某一套运行故障时,保持持续正确执行其程序和输入/输出功能。

这个看似简单的定义实际上很难转化为实际的系统。 假设系统中有永久或瞬时故障,则必须满足三个要求,才能实现“持续正确执行”的愿望。 这些要求包括:

错误检测。

系统必须能够检测自身错误。

故障诊断。

在运行应用程序中检测到错误后,系统必须能够将故障与一组元件或模块相隔离,这样可以绕过故障、或在处理器控制下换新或关闭。

故障修复。

一旦查明故障,系统必须采取措施消除或最小化其影响。 对于瞬时故障,可能只需简单“重试”。

理想情况下,上述三个过程要尽快发生,以保持对数据吞吐量的最小干扰。 用额外硬件或/和软件的形式引入了保护冗余,以力图实现发生故障之后几乎即时恢复的设计目标。 实际上,通常无法满足可能会发生的每一种元件故障。 一些故障会导致灾难性的系统损失,能做的一切就是将其发生概率减至可以接受的低水平。 非冗余电路(如时钟发生器)的设计需要特别注意,以降低单个故障关闭其他容错系统的概率。

保险范围是检测到并安全地处理故障的条件概率。 术语“安全”可以指没有不良影响的系统关机(故障安全),也可以指隔离故障元件并继续运行(基于冗余的系统中的容错设计)。 此术语也称作安全失效分数 (SFF),并表示为百分比。 当然,有些情况,甚至受控的功能损失也是不可接受的:如果无人驾驶汽车的自动控制在高速操纵过程中关机, 想想会发生什么情况。在这种情况下,容错设计是唯一的选择。

保险范围的概念允许按照检测和处理所有可能故障模式的能力,来评估特定可靠性方案的有效性。如果要实现预测的可靠性,保险范围必须几乎是全部。容错设计和故障避免并不相互排斥,且在构成特定设计时可以将两种技术组合在一起。引入冗余元件和包括备用组件并不会自动提高系统可靠性。事实上,与单工系统相比,总体低质量的元件复制会使冗余系统更不太可能完成任务。为了实现容错计算的最大益处,有必要使用高品质的组件和降额设计。 这意味着即使存在故障元件,系统的可用性也会增加,任务成功概率也会提高。在设计阶段特别注意可用性问题,使得 2003 年发射的火星探测漫游者超过了预期任务寿命许多年。

单工和单工+诊断

单工或 1oo1(一分之一)系统无法检测故障,且具有很高的故障不安全概率。在单工 + 诊断或 1oo1D 中,整合了检查电路以监控处理器运行,而不会在对速度要求苛刻的实时系统中产生任何“开销”。

“看门狗”定时器,有时配置在处理器芯片上或作为单独监控设备的一部分,广泛用于检测处理器故障。 当程序产生的信号消失时,它通常强制系统复位。 这些非常简单的设备通常也包含电源监控。 为满足新的安全标准 ISO26262 和 IEC61508,需要更加全面的解决方案。 用于基于 MCU的 ARM Cortex M3 的 Yogitech fRCPU 是一个例子,用于其 TriCore? 处理器的英飞凌 CIC61508 Signature Window Watchdog是另一个例子。 这些诊断设备将单工或 1oo1 系统变为 1oo1D 类型,可用于实现 IEC61508 SIL3 认证的系统。 这意味着它的 SFF > 99% 且输入将为故障安全。

Texas Instruments TMS470M“安全”微控制器是其 Hercules? 系列的一部分,配备单个 Cortex-M3 内核,错误纠正和自测逻辑均整合在一个芯片上。但是它未能符合 IEC61508 安全标准,因为 SFF 小于 60%。 这是因为 60% 以上可能由内核造成的瞬时或系统错误,错误检查逻辑无法检测到。提高保险范围的方法是历史悠久的技术,即两个或多个内核上运行相同的程序并比较输出。

多处理器模块冗余

传统上,计算机控制系统中的冗余是指双重(DMR 或 2oo2)、三重(TMR 或 2oo3)或甚至四重处理器单元,每个处理器单元以“锁步”运行相同的程序。 仅当大多数处理器同意,比较或表决逻辑才允许输出通达执行器。 这意味着,DMR 不能容错,因为表决逻辑不能判断哪个输出不正确,因此必须以故障安全方式关闭两个处理器。 但是,SFF > 99% 的 DMR 仍能符合 SIL3 标准。 只要其余两个同意,TMR 允许一个处理器无法继续运行。QMR 系统应能处理两个故障,而不会降低性能。 如果基于 TMR 和 QMR 的系统可实现SFF > 99%,则应符合 SIL4 的标准,因为它们也能容错。

德州仪器基于 Hercules Cortex-R4F 的 TMS570LS 和 RM48x 微控制器包含两个处理器内核,以锁步执行相同程序,但一个仅用作从属检查设备,产生输出以便与主设备比较。只有总输出可用于系统的其余部分,因此无法使用一个设备建造 DMR 1oo2 系统。 相反,我们有 1oo1D 配置,符合 IEC61508 SIL3 的 SFF > 99% 标准。

瞬时故障和硬故障

如果检查系统出现错误,可能只是一次性错误所导致,例如游离的宇宙粒子的冲击翻转了 RAM 单元状态。 通过简单重试引起错误的程序段,可以消除这种瞬时故障的影响。 系统中必须内置执行重试的能力,否则硬件资源会发生不必要的关闭。如果系统在嘈杂的电子环境中工作,花费时间和精力校正这些电路/软件,将会大有裨益。当然,错误检查系统也必须能够快速感测“硬”故障和避免无谓的重试。

静态和动态冗余

具有表决电路的基本模块冗余通常分类为静态,其中均为运行的“热”模块。 发生硬故障时,处理器模块可能被忽略或处于节电模式。

动态冗余涉及热或冷待机备用单元,根据故障检测逻辑和/或软件的要求接通和断开。动态冗余已广泛应用在航天飞机和空中客车飞机 上。 在后一个例子中,通过引入多样性对共模故障采取了进一步的预防措施,借此处理器模块基于不同的微控制器平台,使用由独立团队编写的软件。 这些系统配备双处理器 1oo1D 模块,单芯片,如 Hercules 双核设备,现在可替换它们。 例如,两个芯片可以组合成兼容 SIL4 的容错 1oo2D 系统。在这种情况下,两个处理器均“热”且接收相同的输入,包括共同的重置。 当命令进行切换时,待机单元的输出替换失败模块的输出。 虽然处理器时钟不同步,但切换时只能出现小故障。

结论

直到最近,因为巨大的开发费用,容错概念主要与涉及飞机和宇宙飞船的费用很高的项目联系在一起。 随着无人驾驶汽车在公路上成为现实,汽车系统可能会需要使用这些技术。 汽车和工业应用必须分别遵守国际可靠性标准 ISO26262和 IEC61508,幸运的是,新一代“安全”控制器将使工程师能够产生符合这些标准的设计。

发表评论 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
SIS设计必须遵守的十三大原则!
ESD紧急停车系统
史上最全(SIS)安全仪表系统解析
SIL级别
常用安全PLC 的结构和性能
容错之“错” 容错服务器技术vs双机冗余
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服