• 160查看
  • 0回复

[芯片硬件] TC3xx启动的功能安全机制浅析

[复制链接]


该用户从未签到

发表于 19-3-2025 20:14:15 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


目录
1.SM基本概念

2.启动中safety相关解读

2.1 芯片启动阶段

2.2 应用启动阶段

3.小结

之前描述TC3xx Boot Firmware逻辑时提到了功能安全的内容,但没有完全展开;启动阶段与功能安全相关的内容如下图所示:

TC3xx启动的功能安全机制浅析w1.jpg
其中,

    灰色背景指在BootRom Fireware里的运行逻辑,这部分我们改变不了,但是可以通过UCB进行配置;浅绿色背景是应用启动阶段,包含用户的启动代码,这部分就随心所欲了;
但是,在背景里有很多不同颜色的内容,例如SM、ESM、SMC等等,这些到底表示什么?对于启动代码的设计有什么帮助?我们来具体分析分析。1.SM基本概念

SM是safety mechanism的缩写,什么是SM。根据英飞凌定义:
Safety Mechanism是用于避免\控制系统失效、探测\控制随机硬件失效的一种活动或者技术手段。
这就比较明确了,安全机制来管控失效,而系统失效(Systematic Failures)我们可以在设计阶段尽量去避免;随机硬件失效(Random Hardware Failures)则只能在系统运行时探测和控制,根据安全机制的作用域,可以划分为2大类:

    Safety Mechanism(SM):可以交由MCU内部的软件或者硬件处理的机制;External Safety Mechanism(ESM):需要有系统级别的软件或者硬件方案来处理的机制
而之前我们聊过SMU,alarm的行为是需要应用软件进行配置的,因此SMC(Safety Mechanism Configuration)就是用来提示使用者Check是否根据系统定义正确配置了alarm行为。2.启动中safety相关解读

2.1 芯片启动阶段

芯片启动阶段包括两大块内容,模拟上电和BootFirmware运行,其功能安全相关流程如下:
TC3xx启动的功能安全机制浅析w2.jpg
系统上电后,一旦电压和Backup时钟达到目标值后,硬件会触发SM[HW]:PMS:PBIST,该机制的具体含义如下图所示:
TC3xx启动的功能安全机制浅析w3.jpg
那么很明显,这个PBIST就是由MCU内部PMS这个模块硬件实现,全称Power Built-in Self Test;PBIST仅在冷启动释放前对电压监控、供电功能等进行自测,这个如果没测过,片子就挂了,所以它不需要有任何alarm,硬件全权处理。测试通过后解除断言,就来到了我们比较熟悉的Boot Firmware阶段。这个阶段虽然修改不了代码,但是可以通过UCB配置影响运行逻辑;在上述示例中,首先要求了SSW RAM INIT,这是因为冷启动后RAM里是随机值,如果去做Memory BIST,肯定全是错误,因此TC3xx提供了UCB17\25(UCB_DFLASH)使得用户可以根据需要配置哪些RAM需要在SSW阶段进行初始化:
TC3xx启动的功能安全机制浅析w4.jpg
对应寄存器DMU_HF_PROCONRAM.LMUSEL\RAMINSEL,如下图:
TC3xx启动的功能安全机制浅析w5.jpg
对应配置项如下:
TC3xx启动的功能安全机制浅析w6.jpg

TC3xx启动的功能安全机制浅析w7.jpg
当SSW(Boot Firmware1)根据UCB配置将数据装载至相关寄存器后,还会有一套程序CHSW(Boot Firmware2)对结果做一系列检查,预防该阶段出现随机硬件失效,对应安全机制:SM[SW]:FW:MCU_STARTUP_PREOS_FW。同样的,上述机制依旧没有alarm对应,SSW阶段探测到错误,通过ESR0报告使得MCU进入错误状态;CHSW则会将错误状态记录到STEMEx,由用户来判断这部分错误:
TC3xx启动的功能安全机制浅析w8.jpg
在CHSW运行前,英飞凌提供了LBIST相关配置,我们在BMHD里配置了LBISTENA = 1B,SSW阶段会自动运行LBIST,对应安全机制SM[HW]:MCU:LBIST,该机制是通过检测MCU数字逻辑电路来探测潜伏和多点故障。LBIST的触发是需要软件配置Pattern等参数等,对应寄存器SCU_LBISTCTRLx;那么在SSW阶段如果我们配置了UCB.BMHD.LBISTENA = 1,SSW就会使用一套默认配置,这个可以在每个具体型号片子手册里找到,例如TC37x AA的LBIST Configuration 配置如下:
TC3xx启动的功能安全机制浅析w9.jpg
需要注意的是,一旦LBIST启动MCU就不能用了,因此LBIST结束后保存相关结果到寄存器,并产生系统复位,重新运行SSW。2.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_StandbySMC[SW]:VMT:MBIST        应用软件用于配置哪些Memory并触发MBIST,对应配置模块MTUSMC[SW]:MCU:LBIST_CFG
应用软件用于配置LBIST Pattern并触发,对应配置模块SCU_LBIST

具体配置方法可以在之前SMU、MTU的文章里面查询。接下来我们继续基于流程来讨论.
TC3xx启动的功能安全机制浅析w10.jpg
应用代码开始运行后,根据当前产品ASIL等级,选择性做如下功能安全相关操作:(1)需要检查LBIST结果,如果没有SSW没有触发,则需要在该阶段触发;对应安全机制ESM[SW]:MCU:LBIST_RESULT,由于是系统级别的机制,因此也没有alarm进行匹配。
TC3xx启动的功能安全机制浅析w11.jpg
(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]:
TC3xx启动的功能安全机制浅析w12.jpg
针对REG_MONITOR,我们需要配置SMU_Stanby 对应寄存器例如RMCTL,进行测试,对应alarm共计11个。(5)通过配置MTU相关寄存器,我们可以保证RAM没有故障,对应alarm如下:
TC3xx启动的功能安全机制浅析w13.jpg
(6)最后确保使能与应用相关的所有SMU警报。需要注意一点,在PLL配置时需要注意Clock Monitor、PLL loss of lock detection等alarm的行为。3.小结

上文我们简单总结了SM基本概念,梳理了启动阶段定义的各种安全机制,包括SM和ESM。不得不感叹英飞凌在车规MCU的经验老道,在方案设计上十分周全。好好学习,站在巨人的肩膀上才能看得更远。
-end-

分享不易,恳请点个【👍】和【在看】


该用户从未签到

发表于 19-3-2025 21:28:00 | 显示全部楼层
针对您提供的TC3xx启动的功能安全机制浅析目录,以下是我的专业回复:

一、SM基本概念:
SM代表安全管理,是功能安全机制中的核心部分,确保芯片及应用在启动过程中的安全性。

二、启动中的Safety相关解读:

1. 芯片启动阶段:
SM在此阶段主要负责安全引导,验证启动代码的完整性和合法性,防止篡改或恶意代码侵入。

2. 应用启动阶段:
此阶段SM继续监控,确保应用软件的正常运行,防止潜在的恶意攻击。此外,UCB(统一通信总线)在此阶段用于配置安全参数,增强系统的灵活性和安全性。

三、小结:
功能安全机制在TC3xx启动过程中起到至关重要的作用,确保系统的稳定性和安全性。不同颜色的背景标识代表不同的运行阶段和重要性,为启动代码设计提供了明确的指导方向。在设计启动代码时,应充分考虑功能安全机制的要求,确保系统的安全可靠运行。
回复 支持 反对

使用道具 举报


  • TA的每日心情
    无聊
    1-7-2015 18:46
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 19-3-2025 21:28:00 | 显示全部楼层
    回复:

    关于TC3xx启动的功能安全机制浅析

    一、SM基本概念:
    SM代表安全管理,是功能安全中的核心部分,确保系统在各种异常情况下都能保持安全运行。

    二、启动中的Safety相关解读:

    1. 芯片启动阶段:
    在此阶段,SM负责初始化安全环境,验证硬件的完整性,确保从BootRom到主应用的转换过程中无安全隐患。

    2. 应用启动阶段:
    应用启动阶段,SM监控并管理应用层的安全运行,确保应用代码的安全性和稳定性。

    三、小结:
    在TC3xx启动过程中,功能安全机制至关重要。SM及其相关概念(如ESM、SMC等)为启动代码的设计提供了强大的安全保障。通过对不同阶段的细致管理,确保系统从启动到运行都处在安全的环境中。

    关于背景中的不同颜色的内容,灰色背景代表BootRom Fireware中的固定逻辑,浅绿色背景代表用户可自由设计的启动代码区域。这些颜色区分有助于开发者更好地理解并设计安全的启动流程。
    回复 支持 反对

    使用道具 举报

    快速发帖

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

    GMT+8, 6-4-2025 16:43 , Processed in 0.410031 second(s), 36 queries .

    Powered by Discuz! X3.5

    © 2001-2013 Comsenz Inc.