FS84 / FS85是汽车功能安全多输出电源集成电路,适用于雷达、视觉、ADAS域控制器、无线电和信息娱乐应用。它包括多个开关模式和线性稳压器,提供外部频率同步输入和输出,以优化系统EMC性能。
其具有故障安全输出的功能安全特征,涵盖ASIL B和ASIL D安全完整性级别,开发符合ISO 26262标准。它有两个状态机,如下图所示:
主状态机:电源,待机模式和唤醒源的管理;
故障安全状态机:电源管理监视,MCU监视和外部IC监视。
图 1 FS84/85功能框图
从表中可以看出ASIL B和ASIL D的区别,下面针对您想了解的各个功能安全特性做介绍。
1、 PGOOD, RSTB, FS0B
这三个安全输出引脚分层实现,以保证安全状态:
PGOOD:优先级为1,如果PGOOD置位,则RSTB和FS0B都被置位;
RSTB:优先级为2,如果RSTB被置位,则FS0B被置位但PGOOD可能不被置位;
FS0B:优先级为3,如果FS0B有效,则可能不会置位RSTB和PGOOD。
RSTB的释放由故障安全状态机去管理,并且依赖于PGOOD释放和ABIST1执行。由OTP时配置分配给PGOOD和ABIST1的电压监视确定什么时候去释放RSTB。
2、电压监控器
电压监控器负责VCOREMON、VDDIO和VMONx引脚的过压和欠压监控。当这些引脚之一监视的FS84 / FS85稳压器发生过压时,相关的FS84 / FS85稳压器将关闭,直到故障消除。
3、看门狗
ASIL B和ASIL D分别对应Simple 和Challenger看门狗监视器。
Challenger 看门狗基于MCU的question/answer流程。在FS85中通过LFSR(Linear Feedback Shift Register)实现生成16位伪随机字。MCU可以使用FS85生成的LFSR,并执行预定义的计算。在看门狗打开窗口期间通过SPI/I²C发送,并由FS85验证结果。当结果正确时,将重新启动看门狗程序窗口并生成新的LFSR;当结果错误时,看门狗错误计数器递增,看门狗窗口重新启动并且LFSR值不会改变。
当看门狗错误计数器达到其最大值时,在INIT_FS阶段使用WD_FS_IMPACT [1:0]位进行配置的RSTB/FS0B会进行故障安全响应。
Simple看门狗是简缩版,这里不再赘述。
4、FCCU监控
通过OTP_FCCU_EN位启用FCCU监视功能。FCCU引脚负责监控MCU的硬件故障。FCCU引脚可以通过成对或单个独立输入进行配置。一旦INIT_FS被第一个正常的看门狗刷新关闭,FCCU监控就会激活。
5、MCU故障恢复策略
OTP_FLT_RECOVERY_EN位启用故障恢复策略功能。此功能扩展了窗口看门狗,允许MCU执行故障恢复策略。目的是在故障事件发生后尝试恢复应用程序时不重置MCU。当MCU通过其FCCU引脚触发故障时,FS0B引脚被器件置位。
当FCCU引脚指示错误并且FS0B有效时,会发生从WDW_PERIOD到WDW_RECOVERY的转换。如果MCU在WDW_RECOVERY持续时间结束之前发送了正常看门狗刷新,如果FCCU引脚不再指示错误,则器件将切换回WDW_PERIOD持续时间和相关的占空比。否则,将启动新的WDW_RECOVERY周期。如果MCU在WDW_RECOVERY持续时间结束之前未发送正常的看门狗刷新,则会生成复位脉冲,故障安全状态机将返回INIT_FS。
图 2 MCU故障恢复策略
6、外部IC监控(ERRMON)
外部IC监视功能由OTP_ERRMON_EN位使能。ERRMON引脚负责监控应用中的外部IC,既不是FS85,也不是MCU。一旦INIT_FS被第一个正常看门狗刷新关闭,ERRMON监控就会激活。在INIT_FS阶段,ERRMON故障信号的极性可通过ERRMON_FLT_POL位进行配置。
7、逻辑BIST(Built-in self-test)
故障安全状态机包括逻辑内置自检(LBIST),以验证安全逻辑监控的正确功能。LBIST在每次POR之后执行,或者每次从待机状态唤醒之后执行。如果LBIST发生故障,RSTB和PGOOD将被释放,但FS0B仍然保持低电平且无法释放。标志LBIST_OK可通过SPI/I²C进行MCU诊断。
8、模拟BIST(Built-in self-test)
故障安全状态机包括两个模拟内置自检(ABIST),用于验证安全模拟监控的正确功能。每次POR后或每次从待机状态唤醒后自动执行ABIST1。在ABIST1期间检查哪个调节器由OTP完成。
在INIT_FS阶段之后,ABIST2由SPI/I²C和Vxxx_ABIST2位执行。如果ABIST发生故障,RSTB和PGOOD将被释放,但FS0B仍然保持低电平且无法释放。标志ABIST1_OK和ABIST2_OK可通过SPI/I²C进行MCU诊断。