SMU介绍 Safety Management Unit (SMU), SMU是TC3xxx系列MCU的安全体系架构非常重要核心的部件,它可以在MCU出现故障的时候提供一个接口管理MCU的行为。SMU集中收集所有基于不同软硬件安全机制的告警信号,每个告警可以单独配置触发内部操作行为或者通过故障信令协议(FSP)通知外部,MCU存在故障。每一个告警的严重程度可以根据安全应用的需要进行配置,默认情况下除过看门狗超时溢出,其余均是禁止的。为了安全起见,SMU分为两部分,SMU_core和SMU_stdby,相当于有一个备份。这两部分物理是完全隔离的,有不同的时钟和供电。SMU与嵌入式安全机制相结合,在微控制器的容错时间间隔(FTTI)内,能够检测和报告超过99%的风险. SMU接口 从图中可以清楚的看出内部的连接关系和信号走向。 SMU架构 从图中可以看出两部分的电源,时钟都是单独的额,两部分相互隔离。关于更多SMU详细的描述,可以参考数据手册,这里不在赘述。 举例说明 我们来举个例子说明SMU的使用,我们在设计电路的时候,比如TC3xxx通过SMU_FSP[0]也就是P33.8脚连接到了PMIC(可以是TLF35584)部分的ERR引脚上。在MCU故障的时候可以通过这个引脚输出一个低电平信号给到外部的电源管理IC。在无故障的时候输出方波信号,方波的频率可以配置。 FSP三种状态 上电复位态:上电复位后,SMU从port口断开,并且SMU FSP输出是故障态。 无故障态: 没有故障状态。 故障态:有故障存在 FSP模式 FSP存在三种模式,使用的时候根据自己的应用配置 我们通过使用第三种模式给PMIC提供一个信号。如果不配置,默认是第一种模式,通过FSP寄存器可以配置 例程测试 官方提供了4个SMU的例程,大家可以参考学习。 如果不修改FSP的模式配置,可以用示波器测试,结果类似下面的图 修改移植 可以参考以上4个例程根据自己的应用进行修改,将FSP模式修改为3,并且修改分频,通过FSP寄存器修改。 因为外部PMCI的ERR脚需要一个是10-45k频率的一个方波 所以我们需要修改FSP的分频,通过PRE2域来进行修改,只有四种选择,PRE1用来选择故障态时钟的分频,PRE2用来选择非故障态的时钟分频,因为SMU使用100M 时钟,我们来计算一下要让SMU在非故障态下输出方波频率为 100 000 000 / 4096 = 24.414 kHz 符合 10-45kHZ的范围要求,故将PRE2设置为3 代码修改 主要是需要修改FSP寄存器的配置部分代码,在初始化SMU函数中修改如下: 代码的修改可以参考手册给出的指导规则 测试 用示波器测试P33.8脚即SMU_FSP0 正常情况下输出为评率为24.4Khz的方波, 一旦MCU故障会拉低引脚,PMCI的控制IC会进行电源管理处理。 总结 MCU有很多故障,又分为很多组,是怎么映射的呢,可能很多人会有这个疑问,其实是有寄存器来映射 比如我们在代码中 SMU_AG10FSP.B.FE18 = 1; 就是将FSP映射到故障组10的第18个。
|