简单MCU
通常,单核的MCU结构简要如下:
流水线
CPU在时钟的脉动下工作,一个指令需要取指、解码、执行大致3个阶段,至少3个时钟。为了充分利用时间,不是执行结束再取指,而是一边下一步一边取值,这就是流水线。
Cashe
通常,外部存储,特别是NVM,速度可能比CPU慢很多,cashe就是解决这个问题的,cashe从外存一次读取一个页面,CPU平常从cashe取指,只有cashe没有的时候才从外存去取,同时cashe也会不断更新自己的页面。
多核
锁步核
下图所示为双核锁步,主CPU0和比较CPU1执行同样的指令,CPU1延时执行,CPU执行结束延时,然后比较。
总线访问
如图,每个CPU都设有本地存储,可以直接访问。除此之外,CPU之间还可以访问系统上其它的资源,这时就会共用一个总线,此时就需要一种总线访问的控制机制。
26262要求
需分析的失效模式
要素 | 99%高诊断覆盖率、所需分析的失效模式 | |
电源 | 漂移和振荡;过压或欠压;电源尖峰 | |
时钟 | 直流故障模型;频率错误;周期抖动 | |
NVM | 数据、地址、控制总线接口; 控制线和逻辑的直流故障模型 | |
RAM | 数据、地址、控制总线接口; 控制线和逻辑的直流故障模型; 位存储单元软错误模型 | |
IO | 直流故障模型;漂移和振荡 | |
CPU | ALU的数据路径 | 直流故障模型;软错误模型 |
寄存器、内部RAM、 地址运算 | 直流故障模型,包括寄存器无寻址、错误寻址、或者多个寻址;软错误模型 | |
控制逻辑 | 编码错误、执行错误或者没有执行;无序执行;执行过快或者过慢;堆栈溢出 | |
中断处理 | 遗漏或者连续的中断;执行了错误的中断;错误的优先级; 缓慢或干扰中断处理导致丢失或延误的中断服务 | |
配置寄存器 | 寄存器损坏;卡滞故障模型 | |
其它 | 直流故障模型;软错误模型 | |
通信 | 片上通信; 含总线仲裁 | 直流故障模型(数据控制, 地址和仲裁信号);超时; 没有或者持续不断或者错误的仲裁;软错误 |
数据传输 | 通信节点失效;消息损坏;消息延迟;消息丢失;非预期消息重复;顺序错误;消息插入;伪消息 |
安全措施
安全措施 | 覆盖率 | 备注 | |
CPU | 硬件支持的自检 | 中 | 取决于自检质量 |
软件自检 | |||
单硬件通道软件多样化冗余 | 高 | 取决于冗余质量。共模失效会降低诊断覆盖率 | |
硬件冗余(双核锁步、非对称冗余、编码处理) | |||
软件比较 | 高 | 取决于比较质量 | |
配置寄存器测试 | 仅配置寄存器 | ||
集成硬件一致性监控 | 仅覆盖非法硬件异常 | ||
堆栈溢出探测 | 低 | 仅堆栈边界测试 | |
NVM | 使用错误探测纠错码(E D C) | 高 | 取决于冗余的比特数;可用来纠错 |
储存器特征码 | - | ||
存储块复制 | - | ||
奇偶校验、改进的校验和 | 低 | - | |
RAM | 使用错误探测纠错码(E D C) | 高 | 取决于冗余的比特数;可用来纠错 |
存储块复制 | 共因失效模式会降低诊断覆盖率 | ||
运行校验和/CRC | 特征码的有效性取决于一个与被 保护的存储块长度有关的多项式。 应当注意在校验和计算期间, 用于确定校验和的值不能被改变。 如果返回的是随机数据模式,则可能性就是校验和最大值的倒数 | ||
RAM跨步测试 | 高 | 对链接单元的覆盖率取决于写和读的次序。测试通常不适合在运行时进行 | |
RAM模式测试 | 中 | 对卡滞失效具有高覆盖率,对链接失效没有覆盖。适合在中断保护下运行 | |
奇偶校验位 | 低 | - | |
电源 | 电压或者电流控制( 输出) | 高 | - |
时钟 时序 | 具有独立时间基准和时间窗口的 看门狗 | 中 | 取决于时间窗口的时间限制 |
程序序列的逻辑监控 | 仅当外部暂时事件影响逻辑程序流时才能有效预防时钟失效。 提供了可能导致软件运行次序紊乱的内部硬件失效的覆盖率(比如中断频率错误) | ||
程序序列的时间和逻辑联合监控 | 高 | - | |
基于时间相关性的程序序列的 时间和逻辑联合监控 | 提供了对可能导致软件运行序列紊乱的内部硬件失效的覆盖。 当采用非对称设计时,提供了对主设备和监控设备间通信次序的覆盖。注:针对中断、CPU负载等导致的执行不稳定设计相应方法 | ||
组合 时序 逻辑 | 硬件自检 | 高 | 取决于自检的类型。门级是此测试的适当级别 |
软件自检 | 中 | - | |
片上 通信 | 测试模式 | 高 | 取决于模式类型 |
全硬件冗余 | 共因失效模式会降低诊断覆盖率 | ||
多位硬件冗余 | 中 | 适当的数据、地址和控制线的交错,且如果与一些完全冗余相结合(如 提供给仲裁),可达到高的诊断覆盖率 |
TC3xx实施
CPU | 锁步核,比较逻辑错误注入测试 |
SRI接口ECC,SRI总线错误注入测试 | |
寄存器写保护 | |
NVM/RAM | 存储内容ECC |
访问控制 | |
寄存器保护 | |
时钟 | 振荡器看门狗 |
内部备份时钟 | |
时钟监测 | |
寄存器位翻转硬件检测 | |
电源 | 输出监控 |
反馈ADC | |
SRI系统资源互联 | EDC错误检测码 |
故障注入测试 | |
超时 | |
SMU安全管理单元 | 所有安全机制警报归入SMU处理 |