NXP恩智浦 S32G电源管理芯片 VR5510 安全概念 Safety Concept (万字长文详解,配21张彩图)

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节。

image-20240419220901411

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和信息娱乐应用。下面的方框图展示了其主要特点。

image-20240420171546891

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设备的功能模块图。

image-20240420172232048

使用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设备的典型应用的模块和连接概述,包括高级安全连接。

image-20240420172535256

  • 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解决方案的安全连接。

image-20240420174719483

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所示,支持双稳态协议:

image-20240421080254282

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所示。

image-20240421080437303

在INIT_FS状态下,S32G必须正确配置FCCU引脚电平,以避免在退出INIT_FS状态时发生故障。

4.4 看门狗 Watchdog

VR5510具有一个看门狗,必须由处理器定期刷新。这需要来自S32G的看门狗服务例程。如果未正确刷新看门狗,则VR5510可以检测到S32G上的软件故障。

这个看门狗是用于Simple和Challenger看门狗的窗口化看门狗。一个良好的看门狗刷新是在打开窗口期间正确响应的一种方式。而一个不良的看门狗刷新则指在打开窗口期间出现错误响应,或者在关闭窗口期间没有进行任何看门狗刷新,或者在关闭窗口期间正确响应了。

在一次良好或不良的看门狗刷新之后,立即开始一个新的窗口期,以使MCU与分时看门狗保持同步。

图8显示了看门狗窗口错误的可能性。

image-20240421080656644

看门狗窗口的持续时间和占空比是可配置的。

在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寄存器。

image-20240421080945172

结果在打开看门狗窗口期间通过I2C发送,并由VR5510进行验证。当结果正确时,看门狗窗口被重新启动并生成一个新的LFSR。当结果不正确时,WD错误计数器增加,看门狗窗口被重新启动,并且LFSR值不会改变。

4.4.3 Watchdog error counter 看门狗错误计数

VR5510具有两个不同的计数器:看门狗错误计数器和看门狗刷新计数器。看门狗计数策略适用于Challenger看门狗和Simple看门狗。

image-20240421081049203

设备中实现了看门狗错误计数器,用于过滤不正确的看门狗刷新。每次发生看门狗故障时,设备将该计数器增加两个。每次成功刷新看门狗时,该计数器减少一个。这一原则确保循环的“正常/异常”行为收敛到故障检测上。

为了在应用中提供灵活性,在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。

image-20240421082213280

4.5 电压监控

4.5.1 电压监控连接 Voltage monitor connections

表1显示了S32G-VNP-RDB2上用于S32G2和VR5510解决方案的电压监视器的所有设置/连接。

image-20240421082348249

表2显示了S32G-VNP-RDB3上用于S32G3、VR5510和PF5300解决方案的电压监视器上的所有设置/连接。

image-20240421082412342

注意:有关此解决方案的监控连接的详细信息,请参阅第4.2节。

对于所有的电压监测器,过压/欠压安全反应可以通过I2C编程在专用的OV/UV_FS_IMPACT寄存器中进行。有关安全反应的更多详细信息,请参阅第6节“故障影响配置”。

默认情况下,故障反应是:

  • 欠压:只有FS0B引脚被断言,
  • 过压:FS0B和RSTB被断言,调节器关闭。
4.5.2 S32G2应用的VCOREMON连接和设置

VCOREMON用于监测连接到S32G2VDD_CORE电源轨的BUCK1/2输出电压。上述过压/欠压设置与SVS电压兼容。

推荐的连接方式如图12所示。

image-20240421082616785

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%。

image-20240421082907151

LDO2_MON1连接到VR5510的VMON1输入。使用电阻分压器将监视输入电压设置为0.8V。

OV OTP阈值的推荐设置为5%。

UV OTP阈值的推荐设置为-5%。

注意:电阻应该是0.1%类型的。

4.5.5 VMON1连接和S32G3应用的设置

VR5510的VMON1应该监控PF5300的输出。

推荐的连接方式如图14所示。

image-20240421083021004

VR5510监控待机入口中PF5300输出的放电情况。通过将EXT_STBY_DISCH_OTP位设置为1,可以启用外部放电监测。

OV OTP阈值的推荐设置为6%。

UV OTP阈值的推荐设置为-4.5%。

4.5.6 VMON2连接和设置

VMON2用于监控BUCK3稳压器。该稳压器的输出电压设置为1.1V,用于供电LPDDR4。

image-20240421083140998

OV OTP阈值的推荐设置为4.5%。

UV OTP阈值的推荐设置为-2.5%。

注意:电阻应选择0.1%型号。

4.5.7 VMON3连接和设置

VMON3用于监控VPRE调节器。该调节器的输出电压设置为3.3V。

image-20240421083232219

OV OTP阈值的推荐设置为6%。

UV OTP阈值的推荐设置为-4.5%。

注意:电阻应选择0.1%型号。

4.5.8 VMON4连接和设置

VMON4用于监控LDO1稳压器。该稳压器的输出电压设置为1.8V。

image-20240421083321887

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 启动流程图

image-20240421083706774

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必须按照所示的顺序执行以下步骤:

  1. 将FCCU错误状态配置为“无故障”。
  2. 通过第一个良好的看门狗刷新结束INIT_FS状态。此刷新必须在初始化持续时间到期之前发送。
  3. 请求释放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 下电流程图

image-20240424072537123

在对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将转入深度失效安全状态。

image-20240424072948747

橙色单元格表示该反应不可配置。绿色单元格表示在初始化文件系统期间,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的待机转换。

image-20240424073529033

当安全逻辑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的退出过渡。

image-20240424074551667

当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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/578262.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode-轮转数字

189. 轮转数组 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/rotate-array/ 目录 189. 轮转数组 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/rotate-array/ 题目 解题 第一种方法 第二种方法 题目 给定一个整数数组 …

【深度学习(1)】研0和研1如何上手深度学习及定方向

深度学习&#xff08;1&#xff09; 基础部分书籍鱼书 (理论部分) 视频课程我是土堆&#xff08;代码部分&#xff09; 提升部分李沐的动手学深度学习李沐老师的书 定方向网站&#xff1a; paperwithcode谷歌学术找论文 基础部分 书籍 鱼书 (理论部分) 适合入门&#xff0c;…

Java项目:基于SSM框架实现的汽车推荐系统分前后台(源码+数据库)

一、项目简介 本项目是一套基于SSM框架实现的汽车推荐系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单、功能齐全…

Servlet和Tomcat运作过程

记录一下前后端请求交互过程&#xff08;不涉及Spring框架&#xff09;&#xff1a; 编写一个UserServlet 在web.xml文件中编写映射路径 编写前端

linux系统-FTP服务配置

目录 一、FTP简介 1.什么是FTP&#xff1f;&#xff1f;&#xff1f; 2.FTP的两种模式 二、安装配置FTP服务 1.关闭防火墙和核心防护 2.安装VSFTPD 3.修改配置文件 4.黑白名单设置 一、FTP简介 1.什么是FTP&#xff1f;&…

jvm中的引用类型

Java中的引用类型 1.强引用 一个对象A被局部变量、静态变量引用了就产生了强引用。因为局部变量、静态变量都是被GC Root对象关联上的&#xff0c;所以被引用的对象A&#xff0c;就在GC Root的引用链上了。只要这一层关系存在&#xff0c;对象A就不会被垃圾回收器回收。所以只要…

Linux---自定义协议

应用层协议 一、协议定制---以网络计算器为例 网络计算机功能---进行-*/^&|的运算并返回结果 请求和响应的结构体如下 // Protocol.hpp #pragma once #include <iostream> #include <memory> class Request { public:Request(){}Request(int data_x, int da…

无人机探测技术,无人机侦测频谱仪技术实现详解

频谱仪&#xff0c;又称为频谱分析仪&#xff0c;是一种用于测量电信号频谱特性的仪器。其基本原理是通过将时域信号转换为频域信号&#xff0c;进而分析信号的频率成分、功率分布、谐波失真等参数。频谱仪利用快速傅里叶变换&#xff08;FFT&#xff09;算法&#xff0c;将采集…

13 c++版本的五子棋

前言 呵呵 这大概是 大学里面的 c 五子棋了吧 有一些 面向对象的理解, 但是不多 这里 具体的实现 就不赘述, 仅仅是 发一下代码 以及 具体的使用 然后 貌似 放在 win10 上面执行 还有一些问题, 渲染的, 应该很好调整 五子棋 #include<Windows.h> #include<io…

安规电容定义和应用

安规电容 定义 失效后&#xff0c;不会导致电击&#xff0c;不危及人身安全的电容器&#xff0c;称之为安规电容 分类 分为X电容和Y电容 X电容–跨接在电力线&#xff08;L-N&#xff09;之间的电容&#xff0c;一般选用金属薄膜电容&#xff0c;X电容有多种颜色&#xff…

VUE3----Swiper滑动切换图片

Swiper滑动切换图片 可以切换焦点图&#xff0c;兼容小程序 <template><view class"cc-swiper-container" v-if"imageList.length > 0"><swiper class"swiper":class"swiperClassName" :circular"circular&q…

Docker常用命令(镜像、容器)

一、镜像 1.1 存出镜像 1.2 载入镜像 1.3 上传镜像 二、容器 2.1 容器创建 2.2 查看容器的运行状态 ​2.3 启动容器 2.4 创建并启动容器 2.5 在后台持续运行 docker run 创建的容器 2.6 终止容器运行 2.7 容器的进入 ​2.8把宿主机的文件传入到容器内部 2.9 从容器…

C语言 | Leetcode C语言题解之第51题N皇后

题目&#xff1a; 题解&#xff1a; int solutionsSize;char** generateBoard(int* queens, int n) {char** board (char**)malloc(sizeof(char*) * n);for (int i 0; i < n; i) {board[i] (char*)malloc(sizeof(char) * (n 1));for (int j 0; j < n; j) board[i][…

Spring Cloud学习笔记(Feigh):简介,实战简单样例

这是本人学习的总结&#xff0c;主要学习资料如下 - 马士兵教育 1、Netflix Feign简介2、Open Feign的简单样例2.1、dependency2.2、代码样例 1、Netflix Feign简介 Netfilx Feign是用来帮助发送远程服务的&#xff0c;它让开发者觉得调用远程服务就像是调用本地方法一样&…

服务器数据恢复—ESXi无法识别数据存储和VMFS文件系统如何恢复数据?

服务器数据恢复环境&#xff1a; 一台某品牌服务器&#xff0c;通过FreeNAS来做iSCSI&#xff0c;然后使用两台同品牌服务器做ESXi虚拟化系统。 FreeNAS层为UFS2文件系统&#xff0c;使用整个存储建一个稀疏模式的文件&#xff0c;挂载到ESXi虚拟化系统。ESXi虚拟化系统中有3台…

怎样通过HTTP协议实现远程控制两路开关

怎样通过HTTP协议实现远程控制两路开关呢&#xff1f; 本文描述了使用HTTP协议调用HTTP接口&#xff0c;实现控制两路开关&#xff0c;两路开关可控制两路照明、排风扇等电器。 可选用产品&#xff1a;可根据实际场景需求&#xff0c;选择对应的规格 序号设备名称厂商1智能Wi…

flutter开发实战-build apk名称及指令abiFilters常用gradle设置

flutter开发实战-build apk名称及指令abiFilters常用gradle设置 最近通过打包flutter build apk lib/main.dart --release&#xff0c;发现apk命名规则需要在build.gradle设置。这里记录一下。 一、apk命名规则 在android/app/build.gradle中需要设置 android.applicationVa…

OpenWrt上的docker容器无法访问外网解决

容器里能ping通OpenWrt的管理地址和wan口地址&#xff0c;但ping外网别的ip或域名就无法访问 简单修改设置就可以&#xff1a; Luci>网络>防火墙>转发&#xff1a;接受 ->保存应用

俩招解决vs code中文编译乱码现象

如下图所示 输出会出现乱码,引起这个情况的原因是什么呢? 本页面的编码形式可能不是 utf-8 的形式。 解决方法一 可以尝试使用命令 system("chcp 65001"); system("chcp 65001"); system("chcp 65001"); 这条命令在C程序中用于解决中文乱码问…

银行押款车远程监控系统的实际需求与特点

随着金融行业的快速发展&#xff0c;银行押款车的安全性问题日益受到重视。传统的押款车监控方式已经无法满足现代安全管理的需求&#xff0c;因此&#xff0c;一种结合先进技术的远程监控系统应运而生。本文旨在探讨在运钞车上安装车载摄像机和集成有GPS、无线4G网络传输模块的…
最新文章