NXP恩智浦 S32G电源管理芯片 VR5510 安全概念 Safety Concept (万字长文详解,配21张彩图)
1. 简介
本应用笔记描述了与S32G处理器和VR5510 PMIC相关的安全概念。该文档涵盖了S32G和VR5510的安全功能以及它们如何相互作用,以确保对ASIL D安全完整性级别进行系统级覆盖。
本应用笔记介绍了针对S32G3应用的VR5510和PF5300 PMIC解决方案。所有具体的修改和更新都在第4.2节中描述。
2. S32G Overview
2.1 S32G 应用处理器
多功能的S32G处理器通过结合不同的特性,使得下一代车辆网关和架构成为可能:
- 硬件安全。
- 与PMIC VR5510和PMIC PF5300结合使用的汽车安全完整性等级(ASIL)D安全。
- 高性能实时和应用处理。
- 服务导向网关、域控制器和安全协处理器的网络加速。
- 节能技术,如低功耗待机模式,与VR5510 PMIC结合使用。
2.2 S32G安全概念
S32G家族的安全概念是一种系统解决方案,旨在确保应用程序运行的平台能够防止随机硬件故障和共因故障。
该安全概念解决方案依赖于S32G芯片上的安全功能,并与外部设备(在本例中为PMIC VR5510)的安全功能接口进行交互。
PMIC VR5510提供了离芯片的安全机制,可以在S32G不再正常工作时管理系统转入到一个安全状态。VR5510还监控自身功能,并在发生内部故障时将系统转入到一个安全状态。
2.3 S32G/VR5510安全接口概览
以下部分提供了S32G和VR5510安全功能之间的接口概述。有关VR5510安全功能的更多详细信息,请参阅“S32G和VR5510安全功能”第4节。
2.3.1 芯片供应和电压监控
S32G上没有精密电压监测器。简单的供应电源存在检测器(SPD)旨在检测当供应从S32G断开连接时,并且只能在这种情况下检测到欠压条件。
VR5510监测所有S32G供电电压的欠压和过压情况,并具有可配置的阈值。当供电超出配置范围时,可以将VR5510配置为使S32G和系统进入安全状态。这个说法适用于S32G2和S32G3应用程序。
2.3.2 通信接口和实时监控
通讯接口是双向和被以下使用:
- 一个安全核心用于在系统启动时配置VR5510
- 一个安全核心用于向VR5510指示S32G正常运行并提供VR5510状态信息以响应S32G的请求
S32G的存活指示涉及在VR5510上激活看门狗服务。看门狗的类型(简单或挑战者)和服务时间窗口是可配置的。有关看门狗详细信息,请参见第4.4节“看门狗”部分。
2.3.3 复位控制和监控
复位接口是双向的和被使用:
- S32G的复位生成模块(MC_RGM)向VR5510指示S32G处于复位状态;
- VR5510可以在存在可能导致安全目标违规的故障时,强制S32G进入安全状态。
每当VR5510将S32G强制进入安全状态时,它同时指示一个与S32G状态指示无关的系统安全状态。
2.3.4 S32G错误监控 Error Supervision
错误收集和控制单元Fault collection and control unit (FCCU)在S32G上,是一个硬件单元,可以配置为在发生不可恢复故障时通过错误输出引脚指示。
VR5510监测FCCU错误输出引脚,并确保在S32G发生不可恢复故障时进入系统安全状态。
3. VR5510 和 PF5300 电源管理IC
3.1 VR5510描述
VR5510是S32G应用处理器的拟议电源管理集成电路(PMIC)。它是一款汽车多输出PMIC,主要用于网关、ADAS、V2X和信息娱乐应用。下面的方框图展示了其主要特点。
VR5510被分为两个领域:
- 主要领域,包括多个高效的开关模式和线性电压调节器。
- 安全领域,具有增强的安全功能,具备故障输出保护,并能够完全实现符合ASIL D标准的安全导向系统划分。
这些域在电上是独立的,物理上也是隔离的。故障安全域由自己的参考电压和电流供应,具有自己的振荡器,并且复制了模拟路径以最小化共同原因故障,并具有LBIST/ABIST来覆盖潜在故障。
3.2 VR5510 安全概论
VR5510的主要安全功能包括:
-
七个独立的电压监测器,用于检测调节器的过压/欠压情况;
-
窗口看门狗:提供两种类型(简单或挑战者);
-
FCCU监控;
-
三个安全输出(PGOOD、RSTB、FS0B);
-
结合S32G实现故障恢复策略;
-
潜在故障检测(ABIST、LBIST)。
更多信息能够在VR5510安全手册中。
3.3 PF5300描述
PF5300是为了与S32G3应用处理器中的VR5510相配套而提出的PMIC。PF53集成了一个高性能12A降压转换器,以给高端汽车处理器供电。这种电流能力使得S32G3核心可以得到供电。
时钟同步和扩频功能可降低系统的电磁兼容问题。内置的功能安全特性有助于稳健产品设计和快速上市时间。
图3显示了PF53设备的功能模块图。
使用S32G3处理器的应用程序包括QM版本的PF5300 PMIC。安全功能由VR5510 PMIC管理。有关硬件连接的更多详细信息,请参见 第4.2节“VR5510、PF5300和S32G3解决方案的安全硬件连接”。
4. S32G和VR5510安全功能
S32G-VNP-RDB3板是用作示例的参考设计板,用于展示本节中的电压监测连接和设置。
4.1 VR5510和S32G安全硬件连接
VR5510用于为S32G和多个外设(LPDDR4、CAN PHY等)提供电源。Figure 4展示了VR5510和S32G2设备的典型应用的模块和连接概述,包括高级安全连接。
- RSTB:在需要时用于重置应用处理器。当S32G请求或VR5510发生故障时,可以进行复位操作。
- PGOOD:连接到S32G的PORB引脚。用于指示所有电源输出是否正确。
- FS0B:安全别针用于将系统过渡到安全状态(例如可以连接到CAN PHY)。
- FCCU1/2负责监控S32G硬件错误输出。使用双稳态协议。
- 看门狗:监控S32G上的软件故障。
- 待机连接。
- STBY:此引脚在VR5510上内部连接到主域和安全域。安全域负责管理待机模式的进入。
4.2 VR5510,PF5300和S32G安全硬件连接解决方案
PF5300 BUCK的FB引脚应连接到S32G3的PMIC_SENSE,以避免电压降误差并优化电压精度。VR5510的VMON1应监测PF5300输出。
VR5510在待机模式下监测PF5300输出的放电情况。通过将EXT_STBY_DISCH_OTP位设置为1来启用外部放电监控。
VCOREMON应连接到VR5510 BUCK1输出。
HVLDO配置为开关模式,以跟踪PF5300 BUCK的输出电压。VDD_CORE和VDD_CORE_STBY域之间必须有最小电压降。将HVLDO_VMON_EN_OTP位设置为0可禁用HVLDOMON功能。
PF5300_PGOOD应该连接到VR5510的PSYNC引脚,以允许HVLDO过渡到开关模式。通过将PSYNC_PGOOD_EXT_OTP设置为1和PSYNC_EN_OTP设置为0来启用此功能。
Figure 5 显示了VR5510、PF5300和S32G3解决方案的安全连接。
4.3 FCCU监控
FCCU输入引脚用于向PMIC报告S32G硬件故障。VR5510在INIT_FS关闭后立即监视FCCU引脚。为此应用程序,FCCU引脚成对配置,因此FCCU_CFG [1:0] = 01。
当检测到FCCU故障时,在INIT_FS阶段可以通过FCCU12_FS_IMPACT位对RSTB和/或FS0B上的失效安全反应进行配置。
4.3.1 FCCU对称监控
当FCCU12成对使用时,如图6所示,支持双稳态协议:
FCCU故障信号的极性在INIT_FS阶段可以通过FCCU12_FLT_POL位进行配置。默认情况下,FCCU12_FLT_POL=0(表示当FCCU1=0或者FCCU2=1时为故障水平)
当检测到FCCU故障时,根据配置会在RSTB和/或FS0B上触发故障安全反应。这个配置必须在INIT_FS阶段通过FCCU12_FS_IMPACT位进行设置。
S32G-VNP-RDB2硬件连接如图7所示。
在INIT_FS状态下,S32G必须正确配置FCCU引脚电平,以避免在退出INIT_FS状态时发生故障。
4.4 看门狗 Watchdog
VR5510具有一个看门狗,必须由处理器定期刷新。这需要来自S32G的看门狗服务例程。如果未正确刷新看门狗,则VR5510可以检测到S32G上的软件故障。
这个看门狗是用于Simple和Challenger看门狗的窗口化看门狗。一个良好的看门狗刷新是在打开窗口期间正确响应的一种方式。而一个不良的看门狗刷新则指在打开窗口期间出现错误响应,或者在关闭窗口期间没有进行任何看门狗刷新,或者在关闭窗口期间正确响应了。
在一次良好或不良的看门狗刷新之后,立即开始一个新的窗口期,以使MCU与分时看门狗保持同步。
图8显示了看门狗窗口错误的可能性。
看门狗窗口的持续时间和占空比是可配置的。
在VR5510中,在初始化阶段INIF_FS期间,只能禁用看门狗。即使在此阶段已经禁用了看门狗,也需要进行良好的看门狗刷新来关闭INIT_FS。如果在INIT_FS阶段禁用了看门狗,则一旦INIT_FS关闭,禁用操作将生效。如果启用了看门狗,则MCU必须定期刷新看门狗。
有关INIT_FS和看门狗的更多详细信息,请参考VR5510数据手册。
4.4.1 Simple Watchdog
简单看门狗使用了一个独特的种子。MCU可以将自己的种子发送到WD_SEED位域(FS_WD_SEED寄存器),或者可以使用默认值0x5AB2。在打开看门狗窗口期间,这个种子必须写入WD_ANSWER位域(FS_WD_ANSWER寄存器)。当结果正确时,看门狗窗口会重新启动。当结果不正确时,WD错误计数器会递增,并且看门狗窗口会重新启动。
在简单看门狗配置中,不能将0xFFFF和0x0000的值写入WD_SEED中。如果尝试写入0x0000或者0xFFFF,则报告通信错误。
4.4.2 Challenger Watchdog
挑战者监视器基于与MCU的问答过程。在初始化阶段(INIT_FS)中,MCU发送LFSR的种子或使用VR5510生成的默认LFSR值(0x5AB2),该值可在WD_SEED寄存器中获得。使用这个LFSR,MCU根据下面的公式进行计算,并将结果写入WD_ANSWER寄存器。
结果在打开看门狗窗口期间通过I2C发送,并由VR5510进行验证。当结果正确时,看门狗窗口被重新启动并生成一个新的LFSR。当结果不正确时,WD错误计数器增加,看门狗窗口被重新启动,并且LFSR值不会改变。
4.4.3 Watchdog error counter 看门狗错误计数
VR5510具有两个不同的计数器:看门狗错误计数器和看门狗刷新计数器。看门狗计数策略适用于Challenger看门狗和Simple看门狗。
设备中实现了看门狗错误计数器,用于过滤不正确的看门狗刷新。每次发生看门狗故障时,设备将该计数器增加两个。每次成功刷新看门狗时,该计数器减少一个。这一原则确保循环的“正常/异常”行为收敛到故障检测上。
为了在应用中提供灵活性,在INIT_FS阶段可以通过配置WD_ERR_LIMIT[1:0]寄存器来设置该计数器的最大值。
为了诊断目的,MCU可以读取看门狗错误计数器中的WD_ERR_CNT[3:0]位域。
看门狗刷新计数器用于递减故障错误计数器。每次正确刷新看门狗时,看门狗刷新计数器增加一。每当看门狗刷新计数器达到其最大值(默认为6),并且下一个WD刷新也是良好的,则故障错误计数器减少一。无论看门狗刷新计数器处于何种位置,每次出现错误的刷新看门狗时,将重置为零。
为了在应用中提供灵活性,可以在INIT_FS阶段通过WD_RFR_LIMIT[1:0]寄存器配置看门狗刷新计数器的最大值。
MCU可以通过WD_RFR_CNT[2:0]位读取看门狗刷新计数器的值,用于诊断目的。
4.4.4 MCU故障恢复策略
该函数扩展了看门狗窗口,允许微控制器执行故障恢复策略。目标是在故障事件后,防止微控制器在尝试恢复应用程序时被重置。
当MCU通过其FCCU引脚触发故障时,设备会断言FS0B引脚,并且看门狗窗口持续时间自动变为一个开放的窗口(不再有任何工作周期)。在INIT_FS阶段,可以使用WDW_RECOVERY [3:0]位字段将此开放窗口持续时间配置为最大1024毫秒。
当FCCU引脚指示出错误并且FS0B被断言时,从WD_WINDOW过渡到WDW_RECOVERY。
如果MCU在WDW_RECOVERY持续时间结束之前发送一个良好的看门狗刷新信号,且FCCU引脚不再指示错误,则设备会切换回WD_WINDOW持续时间和相关的占空比。否则,将开始一个新的WDW_RECOVERY周期。
如果MCU在WDW_RECOVERY持续时间结束之前没有发送一个良好的看门狗刷新信号,将会产生一个复位脉冲,并且故障安全状态机将返回到INIT_FS。
4.5 电压监控
4.5.1 电压监控连接 Voltage monitor connections
表1显示了S32G-VNP-RDB2上用于S32G2和VR5510解决方案的电压监视器的所有设置/连接。
表2显示了S32G-VNP-RDB3上用于S32G3、VR5510和PF5300解决方案的电压监视器上的所有设置/连接。
注意:有关此解决方案的监控连接的详细信息,请参阅第4.2节。
对于所有的电压监测器,过压/欠压安全反应可以通过I2C编程在专用的OV/UV_FS_IMPACT寄存器中进行。有关安全反应的更多详细信息,请参阅第6节“故障影响配置”。
默认情况下,故障反应是:
- 欠压:只有FS0B引脚被断言,
- 过压:FS0B和RSTB被断言,调节器关闭。
4.5.2 S32G2应用的VCOREMON连接和设置
VCOREMON用于监测连接到S32G2VDD_CORE电源轨的BUCK1/2输出电压。上述过压/欠压设置与SVS电压兼容。
推荐的连接方式如图12所示。
OV OTP阈值的推荐设置为6%。
UV OTP阈值的推荐设置为-4.5%。
这些设置支持SVS用例。
VCOREMON用于监控连接到LPDDR4输入供应的BUCK1输出电压。
OV OTP阈值的推荐设置为4.5%。
UV OTP阈值的推荐设置为-4.5%。
4.5.3 S32G3应用的VCOREMON连接和设置
VCOREMON用于监测连接到LPDDR4输入供应的BUCK1输出电压。
OV OTP阈值的推荐设置为4.5%。
UV OTP阈值的推荐设置为-4.5%。
4.5.4. S32G2应用的VMON1连接和设置
VMON1用于监控LDO2稳压器。这些稳压器的输出电压设置为1.8V。
VR5510的VMON1应该监测PF5300的输出。VR5510在待机模式下监测PF5300输出的放电情况。通过将EXT_STBY_DISCH_OTP位设置为1,可以启用外部放电监测功能。
OV OTP阈值的推荐设置为6%。
UV OTP阈值的推荐设置为-4.5%。
LDO2_MON1连接到VR5510的VMON1输入。使用电阻分压器将监视输入电压设置为0.8V。
OV OTP阈值的推荐设置为5%。
UV OTP阈值的推荐设置为-5%。
注意:电阻应该是0.1%类型的。
4.5.5 VMON1连接和S32G3应用的设置
VR5510的VMON1应该监控PF5300的输出。
推荐的连接方式如图14所示。
VR5510监控待机入口中PF5300输出的放电情况。通过将EXT_STBY_DISCH_OTP位设置为1,可以启用外部放电监测。
OV OTP阈值的推荐设置为6%。
UV OTP阈值的推荐设置为-4.5%。
4.5.6 VMON2连接和设置
VMON2用于监控BUCK3稳压器。该稳压器的输出电压设置为1.1V,用于供电LPDDR4。
OV OTP阈值的推荐设置为4.5%。
UV OTP阈值的推荐设置为-2.5%。
注意:电阻应选择0.1%型号。
4.5.7 VMON3连接和设置
VMON3用于监控VPRE调节器。该调节器的输出电压设置为3.3V。
OV OTP阈值的推荐设置为6%。
UV OTP阈值的推荐设置为-4.5%。
注意:电阻应选择0.1%型号。
4.5.8 VMON4连接和设置
VMON4用于监控LDO1稳压器。该稳压器的输出电压设置为1.8V。
OV OTP阈值的推荐设置为5%。
UV OTP阈值的推荐设置为-5%。
注意:电阻应该是0.1%型号。
4.5.9 VDDIOMON连接和设置
VDDIOMON用于监控LDO3稳压器。该稳压器的输出电压设置为3.3伏特。
此监视器不需要外部电阻分压器。电压是通过OTP内部设置的。
OV OTP阈值的推荐设置为5%。
UV OTP阈值的推荐设置为-5%。
注意:电阻应选择0.1%型号。
4.5.10 HVLDOMON连接和设置(不包括S32G3)
HVLDOMON用于监控HVLDO调节器。该调节器的输出电压为0.8V。
此监视器不需要外部电阻分压器。电压由OTP内部设置。
在正常情况下,此监视器检查HVLDO是否工作(开/关切换模式)。它并不精确地监测电压,因为电压已经被VCOREMON监测了。
OV OTP阈值的推荐设置为7%。
UV OTP阈值的推荐设置为7%。
对于S32G3解决方案,HVLDOMON被OTP禁用。
5. 运行模式 Modes of Operation
5.1 S32G和VR5510的启动顺序
在从无电源状态下离开时,假定S32G由VR5510保持在上电复位(POR)状态,直到安全相关的电源供应线稳定在S32G的正常工作范围内。正确的监测范围必须通过OTP进行配置。
在这里,未供电状态也指待机模式,只有待机域保持通电。从待机模式退出类似于从完全未供电状态退出,在此过程中,S32G必须保持在POR状态,直到芯片的所有主要工作电源稳定。
5.1.1 启动流程图
VR5510和S32G在供电电压稳定且处于S32G的安全工作模式之前会被保持复位状态。
5.1.2 VR5510 LBIST 和 ABIST
VR5510的故障安全状态机包括一个逻辑内置自检(LBIST),用于验证安全监控逻辑的正确功能。每次上电复位(POR)或从待机唤醒后,都会执行LBIST。如果LBIST失败,则释放RSTB和PGOOD信号,但FS0B保持低电平且无法释放。
LBIST_PASS标志(FS_DIAG_SAFETY寄存器)可通过I2C用于MCU诊断。
VR5510的故障安全状态机包括两个模拟内置自检(ABIST),用于验证安全模拟监测的正确功能。 ABIST1在每次POR之后或从待机唤醒后自动执行。由OTP确定在ABIST1期间检查哪个调节器。 ABIST2通过I2C请求在INIT_FS阶段之后执行。如果一个或两个ABIST失败,RSTB和PGOOD将被释放,但FS0B保持低电平且无法释放。
FS_DIAG_SAFETY寄存器中的ABIST1_OK和ABIST2_OK标志可通过I2C用于MCU诊断。
5.1.3 S32G LBIST and MBIST
在POR序列之后,作为初始引导序列的一部分,S32G上可用LBIST和MBIST。这些测试是可选的,并且必须根据需要进行配置。MBIST和LBIST被实现在多个分区中并行运行。只能运行经过验证的MBIST和LBIST测试序列。请参阅S32G RM自测控制单元部分,其中详细说明了经过验证的序列。
在配置的测试序列完成后,将进行一次破坏性重置。重置执行后,可以配置LBIST和MBIST的故障状态指示。可能的反应包括进一步的重置或在ERROUT引脚上显示故障指示。没有故障指示是有效的配置,这意味着通过软件处理检测到的任何故障。
5.1.4 RSTB release,S32G启动
假设VR5510会将S32G的RESET_B输入保持低电平,直到电源稳定。这是为了防止引脚上出现干扰信号,使得芯片在复位时被其他系统误认为不在复位(RESET_B也是一个输出)。
5.1.5 INIT_FS in VR5510
当VR5510的ABIST1完成后,设备进入初始化阶段(INIT_FS)。RSTB和PGOOD引脚被释放,设备的初始化阶段开始。初始化持续时间是可编程窗口,基于WD_INIT_TIMEOUT_OTP[1:0]位域(CFG_2_OTP寄存器)。
在初始化过程中,S32G可以修改VR5510的一些默认功能,例如看门狗、过压/欠压影响、ABIST2、FCCU监控、SVS和故障安全状态机设置。
5.1.6 Entry to runtime normal operation
一旦软件在安全启动阶段启动,S32G会配置MCU和VR5510上的安全功能。
在进入正常操作之前,S32G必须按照所示的顺序执行以下步骤:
- 将FCCU错误状态配置为“无故障”。
- 通过第一个良好的看门狗刷新结束INIT_FS状态。此刷新必须在初始化持续时间到期之前发送。
- 请求释放FS0B输出。
请参考VR5510数据手册以获取有关FS0B版本的更多详细信息。
当所有这些操作都完成后,系统可以进入正常运行阶段并执行应用程序的安全功能。
第一个有效的看门狗刷新关闭INIT_FS。在初始化持续时间到期之前必须发送此刷新。
5.1.7 Disabling watchdog and FCCU on INIT_FS
在VR5510上,只能通过I2C在INIT_FS期间禁用看门狗。
要禁用看门狗,需要修改FS_WD_WINDOW寄存器的看门狗窗口期配置位。WD_WINDOW[3:0]必须设置为0x00,并且相反的数据必须写入FS_NOT_WD_WINDOW寄存器的NOT_WD_WINDOW[3:0]位。请执行以下命令:
FS_WD_WINDOW=0x020B //Disable watchdog
FS_NOT_WD_WINDOW=0xFDF4
当设备退出INIT_FS状态时,FCCU监控开始。为了避免S32G引起的故障,必须将FCCU引脚置于正确状态,或者禁用FCCU监控。可以通过FS_I_SAFE_INPUTS寄存器的FCCU_CFG[1:0]位来禁用FCCU监控。请写下以下命令。
Write
FS_I_SAFE_INPUTS=0x01CA
FS_I_NOT_SAFE_INPUTS=0xFE35
需要进行一次良好的看门狗刷新才能退出Init_FS状态。正确答案必须写入FS_WD_ANSWER寄存器的WD_ANSWER[15:0]位域中。请编写以下命令之一。
FS_WD_ANSWER= 0xA54D // Challenger watchdog refresh
FS_WD_ANSWER=0x5AB2 // Simple watchdog refresh
The list of commands are:
FS_WD_WINDOW=0x020B //Disable watchdog
FS_NOT_WD_WINDOW=0xFDF4
FS_I_SAFE_INPUTS=0x01CA
FS_I_NOT_SAFE_INPUTS=0xFE35
FS_WD_ANSWER= 0xA54D or FS_WD_ANSWER=0x5AB2 // Good watchdog to exit
INIT_FS
在WD_INIT_TIMEOUT到期之前,必须先编写使得退出INIT_FS状态的看门狗刷新。该计时器的值可以由CFG_2_OTP寄存器中的WD_INIT_TIMEOUT_OTP[1:0]位进行配置。对于S32G OTP来说,该计时器为1024毫秒。
5.2 Runtime mode运行模式: WD refresh, FCCU monitoring safety output
在运行模式时,对于S32G的安全上下文的安全功能–在FMEDA中被确定为必要的安全机制,已经配置和测试,安全功能已经被执行。
安全环境的一个关键部分是为每个配置的安全机制中指示的故障配置故障收集和控制单元。反应可以是:
- 报警状态软件恢复 - 不会立即导致安全目标违规的故障可以通过中断服务例程处理,允许应用程序在配置的时间内尝试修复问题,而无需重置S32G并返回到正常运行。在这种情况下,通常不会向VR5510指示故障。
- 故障状态软件恢复 - 允许应用软件确定故障来源并在请求重置以恢复安全环境时保存信息,此时通常会在NMI处理程序中向VR5510指示故障。
- 硬件故障恢复-导致立即进行硬件重置而无需任何软件执行的故障。该故障会被指示给VR5510。
在运行时,看门狗刷新通常由主安全核心(Cortex-M7核心0)通过I2C接口进行。这样做是为了确保主安全核心正常运行,并能可靠地对故障作出反应。
5.3 安全状态,安全反应 Safe state, safety reaction
当S32G未供电、外部指示故障和/或复位时,它处于安全状态。
当S32G在其错误输出引脚或复位引脚上指示故障时,必须配置VR5510以提供安全状态转换信号,以确保系统在S32G存在故障的情况下处于安全状态。
如果对故障的反应是复位,则安全状态是过渡性的,并且由于复位而重新启动安全功能。
5.3.1 Fault Error Counter
VR5510集成了一个可配置的故障错误计数器,用于计算与设备本身相关的故障数量以及由外部事件引起的故障。
在POR或从待机状态恢复后,故障错误计数器从1级开始。最终的故障错误计数器值用于进入深度失效安全模式。在INIT_FS阶段,该计数器的最大值可以通过FLT_ERR_CNT_LIMIT[1:0]位进行配置,范围为2到12之间。
故障错误计数器有两个输出值:中间和最终。根据FLT_ERR_IMPACT[1:0]寄存器的配置,中间值可以用于强制激活FS0B或生成RSTB脉冲以及FS0B激活。
5.3.2 VR5510 Deep Fail-safe state
深度故障安全状态是主状态机的一部分。
如果启用的调节器发生VPRE_FB_OV或温度关闭检测,或者故障安全状态机发出深度故障安全请求(DFS = 1),设备将停止操作并直接进入DEEP-FS模式,而不会启动关机序列。
当PWRON1引脚设置为零时,该设备将从深度故障安全模式退出到“从DEEP_FS唤醒”的状态。当启用自动重试时,VR5510也会退出深度故障安全模式。
S32G的默认配置启用了自动重试超时功能。设备在四秒后退出深度故障安全模式,且自动重试次数无限制。
这个配置可以通过OTP进行修改。自动重试可以通过CFG_SM_2_OTP寄存器中的AUTORETRY_EN_OTP位来禁用。超时时间可以通过CFG_CLOCK_3_OTP寄存器中的AUTORETRY_TIMEOUT_OTP位配置为4秒或100毫秒。自动重试次数可以通过CFG_SM_2_OTP寄存器中的AUTORETRY_INFINITE_OTP位设置为15次或无限次数。
当VSUP > VSUP_UVH且PWRON1> PWRON1VIH时,设备会重新启动。
5.4 Shutdown/Standby 下电/待机
系统的关机或待机入口可能包括在软件控制下对S32G芯片上的硬件机制进行自检例程(通常使用错误注入)。这些测试应该在安全状态下进行,这需要S32G在FCCU的错误输出引脚上指示故障。
5.4.1 下电流程图
在对S32G进行关机测试之前,必须向VR5510发送一个请求,使其进入INIT_FS状态。这样可以防止VR5510对S32G的错误指示做出反应,并随后强制将S32G重置。
一旦VR5510处于INIT_FS状态,进入该状态的默认时间阈值为1024毫秒,并且所有测试必须在此时间之前完成。在此时间结束时,VR5510会强制进行系统复位。
一旦测试完成,S32G会请求VR5510关机或进入待机模式。有关待机模式的更多详细信息,请参见第7节“待机模式”。
6. 故障响应配置 Fault impact Configuration
在正常操作中,FS0B和RSTB被释放。每个故障对PGOOD、RSTB和FS0B引脚的影响可以进行配置。配置为断言RSTB和FS0B的故障会增加故障错误计数器。
如果没有通过故障断言RSTB和FS0B,则不会增加故障计数器。在这种情况下,只有标志可用于MCU诊断。
如果一个故障持续存在较长时间(始终断言RSTB),则8秒定时器启动。一旦8秒定时器到期,VR5510将转入深度失效安全状态。
橙色单元格表示该反应不可配置。绿色单元格表示在初始化文件系统期间,PGOOD可以通过OTP进行配置,而RSTB/FS0B可以通过I2C进行配置。
如果RSTB2PGOOD_OTP = 0,则根据上表,RSTB和PGOOD引脚独立工作。如果RSTB2PGOOD_OTP = 1(S32G的默认配置),则RSTB和PGOOD引脚同时工作,并且除非检测到外部的RSTB或外部复位,否则所有断言RSTB的故障也会断言PGOOD。
7. Standby Mode 待机模式
7.1 待机描述 Standby description
在待机模式下,只有S32G的一部分被供电,因此只需提供部分电源。不必要的PMIC调节器在待机模式下被禁用。
为了启用待机请求,需要将S32G的PMIC_STBY_MODE_B引脚连接到VR5510的STBY引脚。为了在进入和退出待机模式时进行通信,需要将S32G的PMIC_VDD_OK引脚连接到VR5510的STBY_PGOOD引脚。
7.2 待机进入 Standby entry
从运行模式切换到待机模式始于S32G内部。
在S32G内部,配置了待机RAM并请求所有活动停止。当所有活动停止后,配置正在关闭时运行的时钟,然后进入待机模式。然后,S32G请求将PMIC切换到待机模式。
在从运行模式切换到待机模式的过程中,应用软件使用I2C模块与VR5510进行通信,以告知设备正在转入待机模式。这种通信是通过向待机时间窗口寄存器写入实现的。
PMIC只有在来自S32G的有效STBY请求时才会转换到待机模式。为了启用此请求,将S32G的PMIC_STBY_MODE_B引脚连接到VR5510的STBY引脚上。
VR5510和S32G应用程序提供了一种安全的过渡到待机模式(OTP启用)。安全过渡需要在TIMING_WINDOW_STBY计时器到期之前进行I2C请求,然后进行STBY引脚转换。
如果TIMING_WINDOW_STBY过期,RSTB引脚将被断言。图20显示了VR5510的待机转换。
当安全逻辑Safety Logic接收到VALID_STBY请求时,它会向主逻辑Main Logic发送待机过渡请求,然后关闭。
主逻辑Main Logic启动STBY_TIMER。该计时器防止设备陷入待机模式。如果计时器超时,寄存器STBY_TIMER_G报告计时器过期,并使设备进入关闭模式。
主逻辑通过关闭禁用的调节器进入待机模式。在过渡到待机模式时,对于禁用的调节器没有关机顺序。
在VR5510、PF5300和S32G3应用中,待机模式下PF5300将被关闭。有关待机模式的更多详细信息,请参阅AN12880《VR5510低功耗待机模式》。VR5510 low-power Standby mode
STBY_PGOOD功能验证所有禁用的调节器的输出电压是否低于预设阈值。STBY_PGOOD功能指示正确进入待机模式,将STBY_PGOOD断言为低电平。VR5510使用专用下拉电阻尽快放电调节器。
在待机模式下,为了避免对S32G进行复位,PGOOD和RSTB保持高电平。
现在两个设备都处于待机模式。VR5510等待来自S32G的唤醒请求。
7.3 退出待机模式 Standby exit
请求从S32G请求待机退出。在这种情况下,只需要STBY引脚转换,并且PMIC首先从正常模式过渡到正常模式。
图21显示了VR5510的退出过渡。
当MCU发出有效的待机退出请求时,STBY计时器将停止并且设备将被开启。开机顺序是由OTP配置的顺序进行的。在S32G3解决方案中,PF5300将按照电源开启顺序进行配置。
当设备进入正常模式并且所有电压调节器都正确时,STBY_PGOOD引脚转换到高电平表示待机退出过渡已经正确完成。然后S32G就会退出待机模式。
7.4 待机故障反应 Standy fault reaction
VR5510可以在待机模式下检测到两种故障:待机计时器超时或POR触发。
在待机模式下,主逻辑中的活动待机计时器防止系统陷入待机模式。如果STBY计时器超时,设备将进入关闭模式,并且寄存器M_FLAG中的STBY_TIMER_G被设置为逻辑1。VR5510完全断电,导致S32G也关闭。接下来的上电序列由插槽完成,根据OTP配置。因此,设备进行完全重置。
在正常模式和待机模式下,设备监测VSUP、VPRE和VBOS。如果出现VSUP(VSUP<VSUP_POR)、VPRE(VPRE<VPRE_POR)或VBOS(VBOS<VBOS_POR)的丢失,系统将停止运行并直接进入关闭模式。
更多关于待机模式的示例和详细信息,请参考AN12880。