世纪电源网社区logo
社区
Datasheet
标题
返回顶部
未解决

避免故障,容错设计

[复制链接]
查看: 2257 |回复: 2
1
oushi
  • oushi
  • 离线
  • LV1
  • 本网技工
  • 积分:62
  • |
  • 主题:10
  • |
  • 帖子:10
积分:62
LV1
本网技工
  • 2017-8-28 11:32:56
10问答币
第 1 部分:达到可靠设计的途径:避免故障
(转载于欧时电子)随着 Texas Instruments、Freescale 和 Infineon “安全”微控制器的发布或 发表,我们将在第一部分讲述安全关键系 统可靠性和冗余背后的理论和实用技术。
在 20 世纪的最后 25 年内,“计算机”已成为“不可靠性” 的代名词。 任何时候系统出现问题,总认为出错的是计算 机。 经常不经证实,就变成程序员或操作员掩饰人为失误的 一种便利途径。 计算机成为了我们自己过失的替罪羊,只要 所谓的“计算机错误”没有导致伤亡,每个人也都很开心地 容忍这种情况。 但随着技术进步,计算机已成为车载而后是 空载设备,控制着非安全性的关键的功能,比如雨刮器和导 航。 当飞行控制统电脑化时一切都改变了:首先用于军用飞 机,而后是像 Airbus A320 这样的民用飞机。 现今甚至汽车 也装满了微控制器,它们也在掌控安全关键功能,比如紧急 刹车和安全气囊的运作。 最近,Google 已经证实了 真正无 人驾驶汽车是一个能实践的计划。 现在所有这些会怎样对待 公众对计算机故障的态度呢? 庆幸的是,飞机和汽车制造商 早就意识到将涉及数以百计死亡人数的飞机失事或高速路连 环车祸归结于一个“计算机错误”,这是不能接受的。 过去 五十年间,大量计算机无误化研究已向两个方向着手:首先 是避免故障,然后是随着机械智能发展的故障容忍度。
作为一个概念,不同的计算机操作员和用户对计算机可靠性 有许多不同的松散定义。 这还取决于观点角度;一个计算 机安装经理可能会觉得他的系统是可靠的,因为一般情况下 吞吐量已合乎要求。 操作员的观点可能就不那么宽大了, 若要实现该吞吐量,他必须频繁地矫正错误并需要维修工程 师来更换元件。 而维修工程师可能会认为此系统完全不可 靠,因为他要执行预防性措施,也要定位潜在故障和消除其 他暂时尚未引致错误“往下跑”的故障。 这种获取可靠性的 传统人工方法,其实对于像飞行控制这样的安全关键系统还 是不够好。
可靠性定义
  • 可靠性是指特定系统在既定时间段中执行某规定功能的 可能性。
因此可靠性是个时间函数,变化介于 1 (完全可靠)和 0 ( 完全不可靠)之间。 设计师的目标是将系统的这个数据尽可 能地兼长久地保持一致,至少维持到任务时间或寿命要求实 现为止。 当系统内确实出现问题时,则需要故障、失效和错 误的基本定义:-

  • 一个故障是系统没有正确执行指定任务的直接原因。 故 障可存在于硬件、计时器或软件(漏洞)中。 可为永久 性(硬故障)或暂时性故障。
  • 一次失灵指的是因一个故障而引起的系统规范的偏离实 际上,这意味着处理器依次经历若干正确状态后进入了 一个错误状态。
  • 错误则是在某个程序计算中以错误形式表现出来的计算 机失效。

设计系统时,必须要考虑故障的可能原因,我们称之为“威 胁”。

  • 一个威胁是一种产生故障的压力,可能是正常环境、异 常环境或者设计错误。

为了得到对可靠性的数学函数,要做两个主要假设。 一、设 备失效随机发生,因此在统计上是独立的;二、失效率,以 每小时多少失效来表示,在设备使用寿命期间是恒定的。 这 两种假设都不牢靠,但当符合某些条件时,它们对于系统分 析相当有效的统计独立性假设一个元件失效不会向其相邻元 件构成压力因而增加可能失效率。
当计算机以分立晶体管、电阻器等构筑时,那么一电容器的 短路失效可以导致晶体管过载,并引起级联失效。 集成电路 逻辑元件不容易受级联损坏影响,应该更符合可靠性模型。 若要达到恒定失效率要求,则需略去系统寿命最初的老化和 磨损阶段,(图 1),仅使用“浴缸型”曲线的平坦部分。 (软件)烧录阶段需除去所有本质有故障的元件、硬件设计 错误和程序“漏洞”。 因此,一个非冗余系统模块随时间变 化的理论可靠性表示如下:-
R(t) = e-lt 表示恒定失效率。


图 1. 随时间变化的元件失效率
由此得出如图 2 所示的指数曲线。 当时间 time = 0 时(系 统进入其使用寿命的恒定失效率区),此模块理论上完全可 靠,R(t) = 1 (图 1)。

图 2. 单工单元的可靠性
故障避免

“Google 演示真正无人驾驶汽车是一个能实践的计划。”

当然,必须要找到某种方法来判定系统失效率已趋稳定。 在 实践中,这种方法则是通过对系统进行高成本的浸泡测试, 直至离开(软件)烧录阶段。 一般情况下,只有军用的和某 些生命攸关的设备制造商才会采用以上做法。 至于商用和家 用系统,新产品倾向于让客户试用,再根据收到的反馈对可 靠性计算作出调整。 平均故障间隔时间 (MTBF) 经常作为一 个可靠性参数,即失效率的倒数 l。 为了取得 l 的数据或一 个模块的 MTBF,需使用统计失效独立性假设将所有独立元 件失效率加起来。 从图 2 的图表中可以看出对于该特定情 况,t = MTBF,R(t) = 0.37。 换句话说,随着系统接近与其 MTBF 相应的阶段,持续无失效运行的可能性仅有 37%。
传统的故障避免和故障容忍目标在于通过改进独立模块和元 件 MTBF 来提高系统的 MTBF。 当设备规定使用寿命或任 务时间大大小于系统 MTBF 时则会采取上述措施,可产出 90-99% 的成功运行的可能性。 通常情况,我们将任务时间 作为计算基准,尤其是在 MTBF 可能仅以小时为单位的军用 飞机领域。 故障避免可以多种方式实现:-

  • 元件质量控制。 如今这意味着要提高对假冒部件的警 惕性。
  • 严重元件降额,比如说,仅使用10% 的功率功能。
  • 使用汽车或军用级温度范围版本的部件。
  • 降低环境造成的压力,如使用冷却系统等。
  • 使用最少的元件来完成工作,即,具设计效率、无冗余。

基于减重的要求,这些技术已以任何代价广泛应用于军用应 用。 对长期可靠性的需求往往排在第二位,因为该领域的 任务时间常以小时计算,有时甚至以分钟或秒来计算武器系 统,比如导弹。 对于军用设备来说,长期断电存储中的低退 化是更为重要的。 较之民用设备,安全也是较小的议题。
民用航空和汽车项目可能任务时间都比较短,但故障避免的 设计成本比较高昂。 所幸的是,大型集成电路提供了低成本 故障避免的前景:自检系统、板载“备件”和自动恢复。 在非军事应用 中,故障避免将会取得一定进展,例 如无人驾驶汽车,不仅有可能而且 安全。
在第 2 部分中,我们将着眼于故障 容忍设计的理论和实际含义,包括 Airbus 的航空、航天飞机的空间探索 以及机器人行星探测器。
第一部分讨论了故障避免:本期我们将描述硬件 设计技术,以便基于微控制器的系统中发生瞬时 故障和硬故障时,能够积极应对。
容错设计认为,无论采取多少措施避免故障,都防不胜防。

  • 故障安全系统在检测到故障后无法恢复安全运行,但它会以可预见的 方式关机,不会产生错误的输出。
  • 容错系统具有内置的能力(无需外部帮助),可在出现某一套运行故 障时,保持持续正确执行其程序和输入/输出功能

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

  • 错误检测。
    系统必须能够检测自身错误。
  • 故障诊断。
    在运行应用程序中检测到错误后,系统必须能够将故障与一组元件或 模块相隔离,这样可以绕过故障、或在处理器控制下换新或关闭。
  • 故障修复。
    一旦查明故障,系统必须采取措施消除或最小化其影响。 对于瞬时 故障,可能只需简单“重试”。

理想情况下,上述三个过程要尽快发生,以保持对数据吞吐量的最小干 扰。 用额外硬件或/和软件的形式引入了保护冗余,以力图实现发生故 障之后几乎即时恢复的设计目标。 实际上,通常无法满足可能会发生 的每一种元件故障。 一些故障会导致灾难性的系统损失,能做的一切 就是将其发生概率减至可以接受的低水平。 非冗余电路(如时钟发生 器)的设计需要特别注意,以降低单个故障关闭其他容错系统的概率。
保险范围是检测到并安全地处理故障的条件概率。 术语“安全”可以 指没有不良影响的系统关机(故障安全),也可以指隔离故障元件并继 续运行(基于冗余的系统中的容错设计)。 此术语也称作安全失效分 数 (SFF),并表示为百分比。 当然,有些情况,甚至受控的功能损失也 是不可接受的:如果无人驾驶汽车的自动控制在高速操纵过程中关机, 想想会发生什么情况。 在这种情况下,容错设计是唯一的选择。
保险范围的概念允许按照检测和处理所有可能故障模式的能力,来评估 特定可靠性方案的有效性。 如果要实现预测的可靠性,保险范围必须 几乎是全部。容错设计和故障避免并不相互排斥,且在构成特定设计 时可以将两种技术组合在一起。 引入冗余元件和包括备用组件并不会 自动提高系统可靠性。 事实上,与单工系统相比,总体低质量的元件 复制会使冗余系统更不太可能完成任务。 为了实现容错计算的最大益 处,有必要使用高品质的组件和降额设计。 这意味着即使存在故障元 件,系统的可用性也会增加,任务成功概率也会提高。 在设计阶段特 别注意可用性问题,使得 2003 年发射的火星探测漫游者超过了预期任务 寿命许多年。
单工和单工 + 诊断
单工或 1oo1(一分之一)系统无法检测故障,且具有很高的故障不安 全概率。 在单工 + 诊断或 1oo1D 中,整合了检查电路以监控处理器运 行,而不会在对速度要求苛刻的实时系统中产生任何“开销”。
“看门狗”定时器,有时配置在处理器芯片上或作为单独监控设备的 一部分,广泛用于检测处理器故障。 当程序产生的信号消失时,它通 常强制系统复位。 这些非常简单的设备通常也包含电源监控。 为满 足新的安全标准 ISO26262 和 IEC61508,需要更加全面的解决方案。 用于基于 MCU [1] 的 ARM Cortex M3 的 Yogitech fRCPU 是一个例 子,用于其 TriCore™ 处理器的英飞凌 CIC61508 Signature Window Watchdog [2] 是另一个例子。 这些诊断设备将单工或 1oo1 系统变为 1oo1D 类型,可用于实现 IEC61508 SIL3 认证的系统。 这意味着它的 SFF > 99% 且输入将为故障安全。
Texas Instruments TMS470M“安全”微控制器是其 Hercules™ 系列的 一部分,配备单个 Cortex-M3 内核,错误纠正和自测逻辑均整合在一个 芯片上 [3]。 但是它未能符合 IEC61508 安全标准,因为 SFF 小于 60% 。 这是因为 60% 以上可能由内核造成的瞬时或系统错误,错误检查逻 辑无法检测到。 提高保险范围的方法是历史悠久的技术,即两个或多 个内核上运行相同的程序并比较输出。
多处理器模块冗余
传统上,计算机控制系统中的冗余是指双重(DMR 或 2oo2)、三重 (TMR 或 2oo3)或甚至四重处理器单元,每个处理器单元以“锁步” 运行相同的程序。 仅当大多数处理器同意,比较或表决逻辑才允许输 出通达执行器。 这意味着,DMR 不能容错,因为表决逻辑不能判断哪 个输出不正确,因此必须以故障安全方式关闭两个处理器。 但是,SFF > 99% 的 DMR 仍能符合 SIL3 标准。 只要其余两个同意,TMR 允许一 个处理器无法继续运行。 (图 1)QMR 系统应能处理两个故障,而不 会降低性能。 如果基于 TMR 和 QMR 的系统可实现SFF > 99%,则应 符合 SIL4 的标准,因为它们也能容错。

图 1. 基于三重模块冗余的单容错系统
德州仪器基于 Hercules Cortex-R4F 的 TMS570LS 和 RM48x 微控制器 包含两个处理器内核,以锁步执行相同程序,但一个仅用作从属检查 设备,产生输出以便与主设备 [3] 比较。 只有总输出可用于系统的其 余部分,因此无法使用一个设备建造 DMR 1oo2 系统。 相反,我们有 1oo1D 配置,符合 IEC61508 SIL3 的 SFF > 99% 标准。
瞬时故障和硬故障
如果检查系统出现错误,可能只是一次性错误所导致,例如游离的宇宙 粒子的冲击翻转了 RAM 单元状态。 通过简单重试引起错误的程序段, 可以消除这种瞬时故障的影响。 系统中必须内置执行重试的能力, 否则硬件资源会发生不必要的关闭。 如果系统在嘈杂的电子环境中工 作,花费时间和精力校正这些电路/软件,将会大有裨益。 当然,错误 检查系统也必须能够快速感测“硬”故障和避免无谓的重试。
静态和动态冗余
具有表决电路的基本模块冗余通常分类为静态,其中均为运行的“热” 模块。 发生硬故障时, 处理器模块可能被忽略或处于节电模式。
动态冗余涉及热或冷待机备用单元,根据故障检测逻辑和/或软件的要 求接通和断开。 动态冗余已广泛应用在航天飞机 [4] 和空中客车飞机 [5] 上。 在后一个例子中,通过引入多样性对共模故障采取了进一步 的预防措施,借此处理器模块基于不同的微控制器平台,使用由独立 团队编写的软件。 这些系统配备双处理器 1oo1D 模块,单芯片,如 Hercules 双核设备,现在可替换它们。 例如,两个芯片可以组合成兼 容 SIL4 的容错 1oo2D 系统。 (图 2)在这种情况下,两个处理器均“ 热”且接收相同的输入,包括共同的重置。 当命令进行切换时,待机 单元的输出替换失败模块的输出。 虽然处理器时钟不同步,但切换时 只能出现小故障。

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

gxg1122
  • 积分:9036
  • |
  • 主题:41
  • |
  • 帖子:1255
积分:9036
LV8
副总工程师
  • 2017-8-28 13:01:55
  • 倒数2
 
为了高可靠性就成本提高很多。
tini1234
  • 积分:4101
  • |
  • 主题:17
  • |
  • 帖子:258
积分:4101
LV8
副总工程师
最新回复
  • 2017-11-11 09:29:10
  • 倒数1
 
这个好,成本也高。
热门技术、经典电源设计资源推荐

世纪电源网总部

地 址:天津市南开区黄河道大通大厦8层

电 话:400-022-5587

传 真:(022)27690960

邮 编:300110

E-mail:21dy#21dianyuan.com(#换成@)

世纪电源网分部

广 东:(0755)82437996 /(138 2356 2357)

北 京:(010)69525295 /(15901552591)

上 海:(021)24200688 /(13585599008)

香 港:HK(852)92121212

China(86)15220029145

网站简介 | 网站帮助 | 意见反馈 | 联系我们 | 广告服务 | 法律声明 | 友情链接 | 清除Cookie | 小黑屋 | 不良信息举报 | 网站举报

Copyright 2008-2024 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348号-2   津公网安备 12010402000296号