在聊功能安全的时候,我们常常被一些高大上的概念搞得晕头转向;撇开这些概念,我们来思考执行层面,这些功能机制最后落实到具体硬件和软件的哪些模块?
鉴于目前市面上主流车规MCU的ASIL等级都比较高,因此我们可以从芯片自带的Safety相关模块窥探一二。
所以,今天我们就来聊聊芯片内部安全机制触发后是谁来统一管理(基于TC3xx)。
1.SMU简介
SMU全称Safety Management Unit,它主要作用是当检测到故障时让MCU进入到一个安全状态,具体来讲,就是MCU内部的硬件安全机制触发报警,该报警统一由SMU处理,并根据软件配置的预定义动作进行响应,从而使MCU进入到安全状态。
想要具体了解英飞凌TC3xx的硬件安全机制,可查阅相关《Safety Mannul》。
根据英飞凌官方培训资料,SMU在TC3xx的逻辑框图如下:
可以看到,与之关联的模块包括SCU、Port、IR、OCDS、PMS等,此外还有很多功能安全机制使用硬线连接到SMU模块。
其具体工作路径如下:
当有功能安全机制触发alarm后,SMU会对传到模块中的alarm进行响应,并根据软件配置的预定义动作通知内部模块或者外部环境。
内部响应动作包括如下4类:
向CPUs发出中断请求
发出NMI
触发某个CPU的复位
通知RCU进行应用或者系统复位
外部响应动作:
使用Error Pin与外部安全状态管理模块进行通信
上述响应动作可以同时使用,整体汇总如下:
针对内部响应动作,我们很容易理解;但是这个Error Pin通过FSP(Fault Signaling Protocol)协议对外输出错误状态,它是输出给谁来处理呢?
毫无疑问,既然英飞凌已经做了ErrorPin设计,那么对于这个Pin的应用场景也应该是有所考量的。
所以在官网上,我找到了与其适配的系统级解决方案,如下:
TC3xx的ErrorPin(P33.8)与PMIC TLF35584的Error PIN相连接,35584在接收到相应的错误状态后,可以通过SSx(Safety State)脚再向外输出错误状态,例如控制逆变器功能降级,使ECU进入到安全状态。
此外SMU还可以通过PORST引脚接收外部的错误状态,在不经由CPU干预的情况下直接进行复位。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/djkeyzx/article/details/136325399
|