处理STM32应用程序中的软错误外文翻译资料

 2022-10-31 10:34:41

英语原文共 20 页,剩余内容已隐藏,支付完成后下载完整资料


AN4750

应用手册

处理STM32应用程序中的软错误

介绍

电子设备的安全要求随着大规模扩张而永久性增长,电子设备几乎控制了所有人类活动,这种巨大的扩张需要符合具体标准的流程。 主要目标是防止人身死亡,伤害和环境破坏,除此之外,还要考虑许多其他较低的因素在设计申请时的安全性,其中包括技术损失/贬值过程或关键数据或通信。在电子控制下的设备发生故障的情况下,客户对“简单”的不满意并不逊色。

符合国家和国际安全标准的发展过程是一个复杂的过程任务。 主要因素有现场经验,市场要求,保险范围,贸易和商业全球化。 这些标准是由具体立法和执行机构,而具体的认可测试机构则关心安全检查并验证所有必需的规则,流程和设备。

意法半导体支持两个基本的一般级别安全标准(ISO26262功能安全标准专注于特定的汽车产品):

1.IEC 60730和IEC 60335 - 具体针对家用电器的电气电子控制,被称为“B类”或“C类”标准;

2.IEC 61508 - 针对汽车行业“SIL”或“ASIL”的安全完整性水平的更常见的工业规范。

对于第一个,主要的ST重点是B类级别的支持。 第二个是一个通用的“母亲”规范,为汽车,健康,铁路,航空电子等许多应用领域生成许多衍生标准。 ST将应用目标定位到本标准的SIL3级别。

当通过认证的嵌入式自检软件模块(由ST或由另一第三方提供)被适当地实现到最终固件时,针对安全性的应用程序可以加快软件开发速度。 由于组件故障的有效和早期诊断,实施的可编程电子部件的内置硬件功能以及在应用设计阶段应用的适当的HW和SW方法都会降低危险事件的可能性。 一些应用的HW方法甚至可以提高组件的可靠性。

本应用笔记概述了错误及其可能的影响基于STM32微控制器的应用,专注于所谓的“软”错误处理,同时强调正确的软件和硬件方法来消除它们。 有关其他信息和示例,请参阅以下文档,网址为www.st.com

  1. AN3307“任何STM32应用程序获得IEC 60335 B类认证指南”
  2. AN4435“任何STM32应用程序中获得UL / CSA / IEC 60335 B类认证的指南”
  3. STM32安全手册。

目录

1故障的基本分类

2随机失效方法

3随机故障控制技术

3.1检测方法

3.2赔偿方式

4适用的冗余技术

4.1结构冗余

4.2功能冗余

4.3时间冗余

4.4信息冗余

5应用方法

5.1供应商焦点

5.2用户焦点

5.3适用于处理软错误的方法概述

5.4应用于SRAM的具体硬件方法

5.5应用于SRAM的具体软件方法

6总结

7修订历史

  1. 故障的基本分类

安全标准要求照顾系统和随机故障。

系统故障被认为是可预测的,并且可以通过在电子部件和实施的固件或软件的寿命期间严格地应用正确的过程来处理。

在意法半导体,这些要求收集在特定的内部质量文件中,涵盖了广泛的活动,如制造业,操作程序,设计(包括验证和验证),材料处理,生产测试,质量管理,软件开发,文档发布,现场反馈,问题跟踪等。内部规则的遵从和应用需要经过世界公认的机构定期检查和审核。

另一方面,限制不可预测的随机故障需要使用本文档中更详细描述的特定软件和硬件设计技术和方法。

从产品的角度来看,我们可以认识到单点,潜在或常见的故障类型。 单点故障具有立即的效果,而潜在的故障可能会与其他故障结合。 常见原因故障需要特别关注,因为即使是相当复杂的安全结构,例如当多个组件受到当代影响时,它们也可能无法使用。 对常见原因故障最敏感的结构通常是电力轨道,时钟分配树或公共控制和同步信号等共享系统。 在极端环境温度,低功率模式或特定发射,辐射或机械需求下,可以预期较重的影响。

  1. 随机失效方法

并非所有的随机故障导致危险事件。 在这种情况下,如果与其他一些错误或故障没有潜在的潜在相关性,则将它们视为与给定安全任务相关的“安全”故障。 基本上,标准要求对直接或间接相关的危险故障进行监控,以确定安全任务,并可能直接或以任何后果在电子控制下升级设备的危险情况。

随着时间的推移,发现和防止(检测到)危险错误的比例更高时,传播到危险事件中的故障的概率随之减少,同时最小化系统中保持休眠和未被检测到的危险错误的数量。将故障分解为故障循环 如图1所示,其中

  • 故障状态表示发生异常状态,可能导致系统故障
  • 错误状态是正确/真实与测量/观察/计算值之间的差异(可能检测的必要条件)
  • 当系统无法执行所需功能(然后防止危险事件)时,会发生故障状态

检测和预防措施必须适应整个过程安全时间(PST)一旦出现危险故障,应用程序就可以防止任何危险事件。此间隔必须包括所有可能的延迟和系统反应时间(包括传感器和执行器)。 当计算PST时,需要考虑所有延迟,其中包括所谓的诊断测试间隔(DTI),即执行特定诊断覆盖范围的测试所需的时间。

为了量化目的,标准认识到确定的故障率分配方案(如图2所示)和根据该分类计算的一些量化因子,即

  • 安全故障分数(SFF):包括危险检测故障和总故障率在内的整个覆盖故障率之间的比率;
  • 诊断覆盖率(DC),危险检测到的故障率与整个危险故障率之间的比率。

SFF是根据不同误差等级的速率(近似概率)计算的

强烈依赖于DC,从下面的等式可以看出:

SFF = (sum;lambda; S sum;lambda; DD ) / (sum;lambda; S sum;lambda; D )

DC = sum;lambda; DD / sum;lambda; D

其中:

Sigma;lambda;S是安全故障(检测和未检测到)的总速率,等于Sigma;lambda;SD Sigma;lambda;SU

Sigma;lambda;D是危险故障(检测和未检测到)的总速率,或Sigma;lambda;DD Sigma;lambda;DU

Sigma;lambda;DD是危险检测故障的总速率,等于Sigma;lambda;D x DC

Sigma;lambda;DU是危险未检测到故障的总速率,或Sigma;lambda;D x(1-DC)

费率是根据系统的PHF(每小时的故障概率)计算的以连续或高需求模式运行(安全任务需要永久性或当系统以低需求模式工作时(不需要系统地安装任务,例如按下紧急按钮),PFD(按需故障概率))或PFD(按需故障概率)。速率很大程度上取决于安全任务的应用和定义, 这意味着部分硬件会影响安全。

随机故障可导致永久(硬)或可恢复(软)错误。

随机硬故障导致组件的永久性物理破坏。 系统无法在正常运行中继续运行,无需对损害进行任何补偿。 如果不能进行补偿,系统必须处于安全状态,直到被修复为止(错误被钝化)。 通常,信号被卡住或与另一个短路。 硬故障的标准值可以在1-100 FIT /设备的范围内。

随机软故障是可逆的,某种恢复过程通常是适用的。 通常,触发器门,寄存器或SRAM单元可以被EMI或SER-宇宙或其他通量(alpha;或中子粒子或间歇)的可恢复影响。 这可能导致信号的潜在弱点,噪音,串扰或尖峰。 特别地,高能量粒子也会导致永久的物理缺陷。 宇宙射线(中子通量)取决于位置(纬度)和高度,因此它是部分可预测的。 alpha;通量强烈依赖于几个技术参数(例如模具化合物,发射同位素的焊料),所以很难估计或计算它(材料污染增加了其他变量)。

辐射水平以每小时每cm 2(cph / cm 2)的计数表示,并且通量可以在0.001至100cph / cm 2的范围内,这取决于所用材料的污染水平。

对使用的技术有很强的依赖性。 软件错误越来越成为增加组件密度和低于130nm的布局规则的一个问题,特别是在SRAM上(通常微控制器的其他逻辑块不使用如此激进的设计规则,并不是这些块中的所有翻转都会导致错误)。

其他最负面的因素是电源电压较低,电池电容较小,时钟速度更快,设计复杂度和使用频率。

即使纬度和高度影响曝光水平(后者更重要),因此电子专用于航空电子和宇宙系统的问题可能是严重的。

另一方面,短位线,晶圆薄化,辐射硬化技术和辐射防护材料的使用正在积极影响因素。 得益于这些缓解技术,特别是在当今常用技术(180-40nm)范围内,标准纬度系统的缩放趋势几乎保持不变。

软故障发生得更加频繁,那就是硬性故障。 通常,它们以每Mbit的FIT测量,并且对于90nm技术可以预期在200至2000 FIT / Mbit的范围内,主要影响触发器门(内部逻辑)和SRAM单元(存储器,寄存器,缓冲器等))。 对于具有大记忆力的设备,可能会成为一个严重问题。 客户可以要求从ST获得特定产品的FIT信息。

软故障可以是闭锁或瞬态类型。 可以使用仅检测方法来处理它们,其可以与补偿集成,即基于检测的更复杂的过程,其允许系统抵抗错误并继续正常操作。 通常这两种方法都基于系统中存在的最小冗余级别。

锁存故障可以通过硬件和软件进行管理,而瞬态故障需要快速硬件方法才能捕获。 软件测试无法有效地完全覆盖这些临时和短期的生命错误,因为它们本质上较慢,并受到执行时间(DTI)的限制。 这就是为什么软件测试的诊断覆盖范围永远不能达到内置专用硬件测试或补偿结构提供的覆盖范围。

  1. 随机故障控制技术

原则上,可以通过检测来管理随机故障,随后可以补偿。

3.1检测方法

当系统中存在冗余时,最简单的方法是比较两个独立的计算结果,输入,数据等。有价值的检测方法可以基于验收测试(例如有效间隔,范围或值的组合),当 功能结果与一些一致性约束进行比较。 另一种检测方法是比较来自相对于彼此或具体计算的预期结果的几个组件的结果(例如,例如用于RAM测试的正交测试)。

当检测到唯一适用的方法时,在检测到危险错误后,系统应停止并置于故障安全状态,或通过确认恢复过程,如复位,回滚或其他特定检查,如更换受影响的部件(至 钝化错误)。 特别地,如果可以容忍,系统可以继续以某种降级模式运行,或者提供错误/不正确的结果,向其环境指示它已经失败。

3.2补偿方式

补偿方式通常允许系统继续正常运行。

补偿可以通过纠错或掩蔽来提供。 在校正模式中,使用冗余信息(例如ECC)从错误的信息中计算出正确的结果。在掩蔽模式中,错误的结果被忽略,并且如果可用(下一个通道,输入,输出或数据)使用冗余资源。 可以根据确定的投票过程的结果来确定正确的结果,仅识别组件的坏的和正确的部分,或者损坏和正确的数据。

标准识别硬容错(HFT - 系统在正常运行时可以吸收的最大错误数)。

除了具体的功能测试外,冗余是必不可少的诊断原理。 大多数检测和补偿技术需要确保冗余度才能有效。补偿比检测要求要高得多,因为不仅仅是一个差异,而且还需要另外识别正确的状态。 为此,必须采用具体的比较和投票机制和逻辑。

NooM表示法用于描述系统中可用的输出和冗余通道的数量。

这里1oo2d表示具有内置诊断(投票系统)的两个通道的一个通用输出。

类似地,当使用两个独立的致动器而不是直接连接到系统A和B输出(例如串联闭合管道的两个通风口或两个串联中断信号的独立断路器)时,可以使用2oo2系统, 电力线)。

4. 适用的冗余技术

可以通过广泛的不同方法和技术实现所需的冗余水平。 这些技术可以通过硬件和软件实现,也可以通过它们的组合来实现,以最大限度地提高效率和诊断覆盖。 添加正确和故障路径之间的输出和具体投票机制的比较是需要补偿时每个冗余系统实现的组成部分。

4.1结构冗余

结构冗余是基于执行当代相同任务的平行相同(对称)结构。

在系统级,可以使用双寄存器,存储器,CPU或甚至内置的整个微控制器。 在应用层面上,一些关键的输入或输出可以增加一倍或三倍(数字和模拟),可以使用一对协同的微控制器,双重传感器,执行器,通信总线可以应用等。

4.2功能冗余

功能冗余是基于并行多种(非对称)硬件结构或不同的SW方法,适用于单个任务。

例如,CPU行为可以由特定的内置HW检查器进行监控,或者执行主要任务的32位微控制器可以通过外部更简单的8位元件来检测某些交错结果或者保护主系统行为的某些特定方面 同时比较其投入和产出。 软件可以通过一些粗略简化的算法来计算和重新检查一些复杂流点计算的结果, 具有固定点的整数计算或某些复杂逻辑决策方案的结果与简化逻辑决策方案进行比较。

4.3时间冗余

当相同的方法在不同的时隙中由相同的HW或SW应用更多次时,实现了时间冗余。

典型的例子是锁步双核微控制器,其中每个核执行相同的任务,但在核心时钟脉冲的不同阶段。 在应用层面,软件可以依次重复相同的计算或逻辑任务,并比较结果。

4.4信息冗余

信息冗余是当数据上实现添加信息并通过HW或SW进行符合性评估(例如,奇偶校验位,ECC,CRC校验模式,数据协议,数据复制等的实现)时最常见的冗余。

5. 应用方法

5.1供应商焦点

从安全的角度来看,微控制器是一个复杂的可编程电子元件,必须满足相关标准的特定要求。

当支持微控制器的安全性时,供应商将产品视为组件,因为其最终应用和安全任务未提前知道。这些工作总是覆盖组件的总体可靠性,并实现由 应用程序所针对的给定安全完整性级别的标准。

诸如微控制器的复杂组件可以被认为是参与安全任务

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[141976],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。