目录
[2. 应用启动阶段](#2. 应用启动阶段)
1.引入
TC3xx启动的功能安全机制浅析(1)-CSDN博客我们简述了SM基本概念以及芯片启动阶段Safety机制,接下来我们继续描述应用启动阶段相关功能安全机制
2. 应用启动阶段
在用户启动阶段,与功能安全相关的内容是比较多的,我们要考虑LBIST触发(如果SSW没有触发LBIST)、LBIST结果检查,MONBIST触发,MBIST触发,SMU的alarm配置等。
因此我们首先总结需要配置的安全机制,包括:
SMC[SW]:PMS:MONBIST_CFG
应用软件用于配置MONBIST参数并触发MONBIST( Monitor Built-in Self Test,用于检测二级电压监控、standby alarm path路径是否正常),对应配置模块PMS\SMU_Standby
SMC[SW]:VMT:MBIST
应用软件用于配置哪些Memory并触发MBIST,对应配置模块MTU
SMC[SW]:MCU:LBIST_CFG
应用软件用于配置LBIST Pattern并触发,对应配置模块SCU_LBIST
具体配置方法可以在之前SMU、MTU的文章里面查询。
接下来我们继续基于流程来讨论.
应用代码开始运行后,根据当前产品ASIL等级,选择性做如下功能安全相关操作:
(1)需要检查LBIST结果,如果没有SSW没有触发,则需要在该阶段触发;对应安全机制ESM[SW]:MCU:LBIST_RESULT,由于是系统级别的机制,因此也没有alarm进行匹配。
(2)配置并触发MONBIST,测试完成后,还需要通过相应寄存器MONBISTAT检查MONBIST结果。这一部分异常处理措施也是由产品系统来定义,对应机制ESM[SW]:PMS:MONBIST_RESULT;
(3)MONBIST处理完成后,应用软件需要检查Boot Firmware是否正确执行,包括寄存器值的设置、SMU alarm是否都在预定义的范围里,如果检查有问题,就需要考虑通过再次冷复位,来判断是否出现了芯片级别的永久失效,对应机制ESM[SW]:SYS:MCU_FW_CHECK 、ESM[SW]:SYS:MCU_STARTUP.;
(4)如果都通过了,就需要对SMU alive、REG_MONITOR进行测试。
针对SMU Alive,需要使用SMU指令SMU_AliveTest(),进行测试,对应alarm21[16]:
针对REG_MONITOR,我们需要配置SMU_Stanby 对应寄存器例如RMCTL,进行测试,对应alarm共计11个。
(5)通过配置MTU相关寄存器,我们可以保证RAM没有故障,对应alarm如下:
(6)最后确保使能与应用相关的所有SMU警报。需要注意一点,在PLL配置时需要注意Clock Monitor、PLL loss of lock detection等alarm的行为。
3.小结
上文我们简单总结了SM基本概念,梳理了启动阶段定义的各种安全机制,包括SM和ESM。不得不感叹英飞凌在车规MCU的经验老道,在方案设计上十分周全。
好好学习,站在巨人的肩膀上才能看得更远。