摘要
本篇文档主要用来介绍英飞凌MCU控制芯片SAK-TC334LP-32F300F AA的使用,基于电动助力转向应用来介绍。包含一些安全机制的执行。
术语
序号 | 缩写 | 描述 |
---|---|---|
1 | MCU | Microcontroller chip Unit |
2 | FTTI | Fault Tolerant Time Interval |
3 | SEooC | Safety element out of context |
4 | ASIL | Automotive Safety Integrity Level |
5 | BIST | Built-In Self-Test |
6 | CAN | Controller Area Network |
7 | CCF | Common Cause Failure |
8 | EMC | Electro Magnetic Compatibility |
9 | EMI | Electro Magnetic Interference |
10 | ESD | Electro Static Discharge |
11 | FDTI | Fault Detection Time Interval |
12 | FHTI | Fault Handling Time Interval |
13 | FIT | Failures In Time (in this standard a FIT is 10E-9 failures per operational hour) |
14 | FRTI | Fault Reaction Time Interval |
15 | FTA | Fault Tree Analysis |
16 | FTTI | Fault Tolerant Time Interval |
17 | HARA | Hazard Analysis and Risk Assessment |
18 | HW | Hardware |
19 | I/O | Input – Output |
20 | LFM | Latent-Fault Metric |
21 | QM | Quality Management |
22 | RF | Residual Fault |
23 | SG | Safety Goal |
24 | SPFM | Single-Point Fault Metric |
TC334概述
AURIX™TC3xx微控制器在一个硅芯片内结合了三种强大的技术,实现了嵌入式应用的功率、速度和经济性达到新的水平,包含精简指令集,DSP,以及片上存储器和大量外设。具有极高的性能和实时性。符合功能安全等级ASIL D应用,满足电动助力转向对MCU的需求。更多MCU特性可参阅参考手册,这里不在赘述。
所有术语的定义可以参考ISO-26262-1或者GB T 34590.1相关描述
故障(Faults): 能够引起要素 或相关项失效的异常情况
要素:系统、组件、硬件元器件或软件单元。
相关项:实现整车层面功能或部分功能的系统或系统组合
单点故障:
要素中直接导致违背安全目标的硬件故障, 且该要素中的故障未被任何安全机制覆盖。
多点故障:
在未被探测或未被感知到的情况下,与其他独立故障组合可能导致一个多点失效的一个故障。
注意:一个多点故障仅在识别出多点失效后才能被辨认出来
除非特别说明,一般多点故障认为是安全故障。
潜伏故障:
在多点故障探测时间间隔内,未被安全机制探测到,且未被驾驶员感知到的多点故障。
残余故障:
发生在硬件要素中,可导致违背安全目标的随机硬件故障中未被安全机制覆盖的部分。
安全故障:
不会显著增加违背安全目标的概率的故障。
单点故障,残余故障或者双点故障不是安全故障。
ISO26262-5要求分析证据(例如使用FMEDA)证明硬件架构的安全要求满足SPF和LF指标要求(见下表):
由于故障出现,导致要素或相关项预期行为的终止。终止可能是永久或暂时的。
级联失效:
由一个根本原因[来自要素内部或者外部]导致某个相关项的要素的失效,进而引起相同或不同相关项的另一个要素或多个要素的失效。
共因失效:
由单一特定事件或根本原因直接导致一个相关项中两个或多个要素的失效,该事件或根本原因可来自所有这些要素的内部或者外部。
相关失效:
不具有统计独立性的失效,即失效组合发生的概率不等于所有考虑的独立失效发生概率的乘积。相关失效包括共因失效和级联失效。
多点失效:
由几个独立的硬件故障组合引发,直接导致违背安全目标的失效
单点失效:
由单点故障引起的失效。
级联失效是相关失效而不是共因失效,共因失效是相关失效而不是级联失效,相关失效包括级联失效和共因失效
错误:计算的,观测的,测量的值或者条件与真实的,规定的,理论上正确的值或者条件之间的差异。
错误和故障以及失效的关系:
故障会产生错误,导致要素失去执行某个功能的能力。
错误和失效有两种不同的原因:
系统的(软件或者硬件)
由于设计或规格问题,这些错误存在于给定系列的所有设备中可重复性和确定性。软件本质上只会产生系统错误。他们只能通过改变设计过程来解决。
随机硬件
由特定的物理条件(温度、老化、电磁辐射等)引起的概率分布和相关的风险可以被计算和降低。它们可以是永久的、间歇的或短暂的故障
安全系统的主要范围是能够检测到一个或几个故障并使系统进入某种状态具有合理的风险水平(安全状态) 因此,系统对给定故障的反应是至关重要的,比本故障可能产生的危害发生的速度快。ISO 26262-1引入的不同在功能安全方面定义特定时间间隔的术语:
FAULT TOLERANT TIME INTERVAL – FTTI 故障容错时间间隔
在安全机制未被激活情况下,从相关项内部故障发生到可能发生危害事件的最短时间间隔
FAULT DETECTION TIME INTERVAL – FDTI 故障探测时间间隔
从故障发生到被探测到的时间间隔
FAULT REACTION TIME INTERVAL – FRTI 故障响应时间间隔
从探测到故障到进入安全状态或进入紧急运行的时间间隔。
FAULT HANDLING TIME INTERVAL – FHTI
故障探测时间间隔和故障响应时间间隔的总和
FTTI > FHTI = FDTI + FRTI
多点失效的探测时间一般定义为一个驾驶周期(12h)
故障反应时间间隔是所有涉及功能安全机制的反应时间的最大值,由内部处理时间和外部指示时间组成.
有关时间的考虑必须参照ISO26262:2018/GB T34590标准。
SEooC(safety element out of contex) 独立于环境的安全要素,不是在特定的相关项定义下开发的安全相关要素。
一个SEooC的安全要素可以是一个系统、系统组合、一个软件组件、一个软件单元、一个硬件组件、或一个硬件元器件。像TC334就是一个SEooC.
有关SEooC更多详细的描述可以参考ISO-26262-10 第九章。
AURIX™TC3xx是为各种汽车应用开发的MCU。因为它的用途不是量身定做的,对于特定项目,根据ISO 26262-10, AURIX™TC3xx是一个SEooC硬件组件。作为ISO26262-10强调,MCU的开发始于系统级属性的假设和要求。系统集成商有责任将SEooC假设集成到他的产品中使用。根据ISO 26262的分类,单片机是一个硬件部件,是系统的一部分在项目级别执行一组功能。在ISO 26262-1中定义的系统至少由3个元素组成相关元件:传感器、控制器和执行器。图中显示了AURIX™TC3xx的典型使用电子控制单元[ECU]的上下文环境背景。
输入由系统级的一个或者多个传感器提供。
信号由[ECU]上的硬件组件处理后,传输转发到单片机的输入通道。
微控制器处理数据并提供输出以驱动一个或多个执行器,或通过通信网络将输出传输到另一个[ECU]。
MCU有不同的复位源,这取决于触发复位的事件。取决于重置类型,MCU的不同模块会被影响。不同的复位类型如下所示:
冷开机复位
热开机复位
系统复位
应用复位
模块复位
具体区别如下所示:
在任何情况下,MCU都是处于以下模式中的一种
完全下电模式
上电模式
复位模式
运行模式
内部错误模式
待机模式
睡眠模式
调试模式
MCU从整个无电状态到引导启动流程的执行,可以分为三个不同的阶段,一些安全机制会在这个期间运行,潜伏故障的测试也在这个期间执行。
模拟部分上电
当外部供电电压达到2.4V,内部电路激活,PMS模块检查100Mhz时钟,如果时钟稳定,则PBIST自动运行。
引导固件
PORST释放后,FW立即开始执行。FW位于BootROM,用户可以通过UCB寄存器配置。FW的执行由CPU0完成;而所有其他CPU都处于暂停状态。根据触发复位的事件不同,FW会执行不同的复位操作,设备的全部或部分初始化。
应用软件启动
在内置固件结束时候,程序计数器PC会跳到第一条用户指令,用户软件开始执行。整个流程如下图所示
如果安全机制检测到故障,则产生SMU告警事件。每种报警的严重程度,应根据安全应用的要求配置。默认每个报警除看门狗超时和恢复定时器告警外是禁止的。由统集成商决定,以确定在响应故障时激活哪种操作,如下图所示:
AURIX™TC3xx已被开发为可在E/E系统中作为[ECU]运行的SEooC。因为它是正确的系统集成商必须通过系统级硬件来满足许多要求元素,应用程序软件例程或设计措施。这些措施的主要目的是确保设备的正确操作,并在MCU出现故障时将整个系统置于安全状态。
单片机是有源电子元件,因此,为了正常工作,所有工作电压在设备运行过程中,必须满足运行条件。如果微控制器不是在指定的工作范围内工作或外部电源电压受到瞬变(尖峰,振荡等),MCU可能无法正常工作并导致系统处于危险状态。
SMU产生的每条告警都可以配置为激活以下一种或多种措施MCU故障信号
FSP
ES
通过NMI或者ISR通知应用程序
在系统开发过程中,应考虑MCU无法发出内部故障的信号。这种情况可能由不同的原因产生,例如,如果代码执行延迟或完全停止,或由于电源管理系统故障而导致整个MCU不活动。通过利用外部时间窗看门狗来监控单片机的正确运行,是可以检测到的,并在系统级执行适当的反应。外部看门狗的使用减少了共因失效。
根据ISO26262标准,潜在故障是未被探测的多点故障,可以被分为两类:
不能被感知和探测的影响任务逻辑的多点故障
安全机制不能探测的故障
TC3xx系列提供四种不同的基于HW的自检(BIST),它们参与LF指标并可以执行,在引导时由固件(如果由用户启用)或在运行时由应用程序软件自动执行(除了冷上电复位后自动执行的PBIST)
外部电源故障会导致MCU以不可预测的方式工作,并直接导致故障,对安全目标的违反。因此,与电源电压有关的故障被视为单点故障。PMS中的几个安全机制专门用于在运行期间监测电压水平,当出现欠压或过压时,产生SMU告警。根据ISO 26262-5,这些电压检测器中的一个出现故障,监视器被认为是潜在故障,因为在电源故障的组合将导致一个MCU中未检测到的故障。
LBIST是一种硬件安全机制,它可以用于检测单片机数字逻辑中的潜在故障。LBIST结构采用伪随机
伪随机图形发生器(PRPG)生成的图形以并行方式传输到全扫描电路,将测试响应压缩成一个带有MISR (Multiple-InputSignature Register)的签名。
为了增加潜在故障覆盖率,在PBIST和PORST之后执行一个称为MONBIST的额外测试, 本试验用于掩盖二次电压监测器的潜在故障和相关报警路径和FSP错误引脚路由到备用SMU。MONBIST应由Application SW配置.
在ISO26262中,SRAM的存储单元故障被认为是潜在故障。AURIX TC3xx提供了一个可以在每个SRAM实例上执行的硬件自测(MBIST)。根据ISO 26262的规定,每个驾驶周期应至少覆盖一次潜在故障探测。用户可以自由选择在什么时间执行MBIST(启动、运行、关闭)时。
参考安全手册第5章
参考安全手册第6章
最后祝大家:龙年大吉,身体健康,万事如意!!!