1024程序员节日快乐!!!
Hitex按照ISO26262标准作为安全要素开发,系统需要根据不同ASIL等级的要求,针对不同比例的单点故障(SPF)和潜在故障(LF)进行检测,为英飞凌AURIX系列芯片的功能安全提供解决方案。
文章按照Hitex提供的基于EB Tresos工具用于模块自定义配置SafeTpack开发的软件包,应用此软件包,便能覆盖大部分英飞凌AURIX芯片Safety Manual中规定的系统应当依赖于应用程序实现多项安全机制以减少系统的故障,快速的实现AURIX芯片监控层级的软件功能安全要求。
一 SafeTpack软件架构图
为了实现重要部件的安全完整性,SafeTpack 提供两种测试类型:
(1)启动阶段:仅运行一次的测试,通常在测试处理程序的启动阶段集成。SMU不会标记硬件安全机制检测到的任何错误。测试结果和内部程序流监控的结果将提供给函数的调用者。
(2)运行阶段:在正常运行期间运行的测试,在诊断测试间隔内循环运行。向调用者提供测试结果和内部程序流监控结果。
二 SMU介绍
安全管理模块(Safety Management Unit)是实现AURIX安全措施的核心组件,负责监控微控制器内部的多个关键功能,包括电源、时钟系统、和内存等,以确保系统运行可靠。
(1)故障检测:检测系统中的各种潜在故障,如欠压、过压、温度异常、时钟失效、内存错误、总线错误等。
(2)故障配置:根据报警的严重性,可单独配置每个故障触发的内部动作、向外部通知故障,并保存故障标志。
(3)故障响应:一旦检测到故障,SMU可以根据用户的配置,立即做出反应,例如关闭受影响的输出、将设备置于安全状态、通知外部监控单元。
为减轻潜在的共因故障,SMU分为两部分:SMU_core和SMU_stdby。这两部分SMU之间存在物理隔离,它们位于不同的时钟和电源域中。这就保证了无论发生故障时的时钟频率如何跳变,SMU都能处理任何传入的报警。
MCU中各IPs中的故障被收集到SMU,在Alarm Handler中被识别后,可以选择配置以下5类响应:
(1)CPU Reset
(2)NMI中断
(3)SCU复位
(4)Port输出急停
(5)IR中断
为了能更好地保证功能安全目标的实现,SMU还有一些其他特性可供使用:
-
报警标志存储在一个只能由Power-on Reset重置的诊断寄存器中,以便进行故障诊断以及恢复
-
提供故障注入功能,使得基于软件便能触发具有与硬