目录
[1.PMS 电源监控速览](#1.PMS 电源监控速览)
1.PMS 电源监控速览
英飞凌TC3xx芯片的四种硬件机制,分别是:
- PMS:PBIST: Power Built-in Self Test.
- MCU:LBIST: Logic Built-in Self Test.
- PMS:MONBIST: Monitor Built-in Self Test.
- VMT:MBIST: Memory Built-in Self Test.
我们已经探讨了LBIST和MBIST两种,接下来我们聊聊比较少接触的PBIST、MONBIST。
在讲这个之前,我们首先回顾下TC3xx电源监控的原理。
TC3xx PMS模块有两级电源监控模式,分别为Primary Monitor(主监控)、Secondary Monitor(次级监控)
其中,主监控用于监控VEXT(外部电源)、 VDDP3、VDD三种电源,;次级监控除了上述提到的VEXT、VDDP3、VDD外,还监控VEVRSB(Standby)、 VDDM、 VDDPD;如下图:
主监控对应的三个电源都有一个最小的阈值 ,如果监控到小于最小的threshold就会触发LVD Reset,此外针对过压、欠压的瞬态探测,会产生alarm给到SMU和HSM,分别用于功能安全和信息安全考虑,如下图红色路径所示:
针对次级监控我们可以看到,它主要是监控过压欠压,产生Alarm给到SMU。如下图绿色部分:
主监控和次级监控使用的参考VREF均来源SHPBG(Secondary Bandgap Reference)中的一个模块。为了功能安全的考虑,和多样性。
2.PBIST
PBIST:Power Built-in Self Test。从字面上看就和电源相关,该测试主要是在MCU冷启动(Cold PORST)释放之前对电源、电压等功能进行自检。
英飞凌TC3xx不同供电输入给不同功能域,如下所示:
因此启动阶段电压检测就尤为重要,根据第一节定义,芯片启动时最终要的参考电压VREF的准确性需要由PLPBG和SHPBG进行相互检测,保证电源部分的冗余性,如下图蓝框部分:
其次,在PBIST状态下、EVR33、EVRC regulator启动之前,VEXT、VEXRSB由次级监控进行检测,一旦发现电压不在范围内,则不会释放CPU。
最后,VEVRSB、VEXT、VDDPR、VDD、VDDPD等过压欠压进行测试,这些参考配置电压值均在EVROVMON、EVRMON2、EVRUVMON、EVRUVMON2寄存器展示;
由于这部分动作是在冷复位释放之前进行,使用者几乎影响不到这块内容,因此我们从SafeTlib里找不到任何关于PBIST的配置。
PS:在写这部分内容时,最初思路是准备描述PMS结构、在演进到电源监测模块,但在写的时候发现没办法用易懂语言描述,故PMS这章内容后面会单独出一篇文章。
3.MONBIST
MONBIST全称Secondary Monitor and Standby Built-in Self Test;顾名思义,这部分功能是为了次级监控的自检,同时也可测试部分standby smu的alarm通路。
通过MONBIST,可以有效增加电源次级监控器(Secondaty monitors)的潜伏故障诊断覆盖率。它主要通过配置Standby SMU模块相关寄存器使能,因此这部分内容我们就可以在SafetyLib中进行实现。
需要注意的内容总结如下:
- 保证Standby SMU使能,可以参考CMD_STDBY.SMUEN:
- 设置PMSWCR0.VEXTSTBYEN\VDDSTBYEN为disable,防止MONBIST期间进入Standby;
- 测试之前需要清除所有测试标记位,参考MONBISTSTAT:
- 根据推荐配置EVRMONFILT激活过滤器,写入EVRMONCTRL0xa5a5a5激活过压、欠压alarm;
- MONBIST期间,Standby的FSP配置需要关闭,防止错误使用了Error Pin。
4.小结
总结下来,英飞凌4种硬件BIST机制,我们需要关心的就是LBIST、MBIST、MONBIST,分别关联模块SCU.LBIST、MTU(MBIST)、SMU Core\Standby(MONBIST),因此搞懂这几个模块的配置关联关系,理清上电启动LBIST、MBIST、MONBIST执行顺序,这样才能做好一颗芯片的功能安全软件。