11.15 安全输出引脚(FS0B、FS1B、RSTB)
11.15.1 FS0B 引脚
FS0B 引脚是主要的安全输出引脚。当发生故障事件时,FS0B 被拉低(见第 12.5.5 节)。该引脚的目的是驱动一个独立于 MCU 的电气安全电路,以停用整个系统并将 ECU 设置为受保护的已知状态。在每次上电复位或每次唤醒事件(LPOFF)后,FS0B 引脚被拉低。当应用准备好启动时,MCU 可以选择释放 FS0B 引脚。必须连接一个外部上拉电路到 VDDIO 或 VSUP3。
如果上拉连接到 VDDIO,推荐的电阻值为 5.0 kΩ,因为在 LPOFF 模式下 VDDIO 是关闭的,所以没有电流。
如果上拉连接到 VSUP3,则电阻值必须大于 10 kΩ,因为在 LPOFF 模式下,须考虑上拉电阻中的电流。
11.15.2 FS1B 引脚
FS1B 引脚是次要的安全输出引脚。当 FS0B 被拉低时,FS1B 会根据可配置的延迟时间(t DELAY)或持续时间(t DUR)被拉低(见第 12.5.6 节)。该引脚可以用于:
在 FS0B 被拉低后,以可配置的延迟打开电机的相位,以去磁化电机线圈,并减少开关打开时的感应效应。
在 FS0B 被拉低后,禁用外部物理层,以可配置的持续时间,避免模块处于故障模式时的误通信。
当 t DELAY = 0 时,作为 FS0B 的冗余安全输出引脚。在这种情况下,FS1B 和 FS0B 同时被拉低。
任何其他需要第二个安全引脚的使用案例。
FS1B 引脚
在每次上电复位或每次唤醒事件(LPOFF)后,FS1B 引脚被拉低。然后,MCU 可以选择在应用准备好启动时释放 FS1B 引脚。必须连接一个外部上拉电路到 VPU_FS 或 VDDIO。
11.15.3 RSTB 引脚
RSTB 引脚必须连接到 MCU,并且是低有效的。必须连接一个外部上拉电阻到 VDDIO。在默认配置中,根据模式和产品配置,RST 延迟时间有三种可能的值:
最长的延迟在上电复位后自动使用,或者在 LPOFF 模式(低功耗关闭)后使用。
另外两种复位持续时间可以在 INIT_FSSM 寄存器中配置,分别为 1.0 ms 和 10 ms。最后配置的持续时间将在出现故障导致复位激活的正常操作中使用。INIT_FSSM 寄存器在 INIT_FS 阶段可进行写入。
11.16 VPU_FS(故障安全上拉)
该引脚旨在用作 FS1B 的上拉端,内部通过反向二极管保护连接到 V_PRE。当 FS1B 以 t DELAY 配置使用时,可配置的外部 RC 网络提供最小备份延迟,以防内部故障安全振荡器失效或电源丢失。这个独立的上拉(与 FS0B 上拉相比)可以避免两个安全输出之间的共同故障,并在所有条件下保证 FS1B 激活时与 FS0B 的延迟。当 FS1B 以 t DELAY = 0 或 t DUR 配置使用时,也可以拉到 VDDIO,需在安全分析中考虑与 FS0B 相同上拉造成的共同故障。
11.17 DEBUG 输入(进入调试模式)
DEBUG 引脚允许产品进入调试模式。要激活调试模式,施加到 DEBUG 引脚的电压必须在启动时的 V_DEBUG_IL 和 V_DEBUG_IH 范围内。如果施加到 DEBUG 引脚的电压超出这些限制,在 SELECT 引脚配置期间,设备将进入正常模式。
在调试模式下, watchdog 窗口完全打开,不需要 watchdog 刷新。这允许轻松调试硬件和软件例程(即 SPI 命令)。然而,整个 watchdog 功能仍然启用(种子、LFSR、WD 刷新计数器、WD 错误计数器等)。WD 错误会被检测并计数,根据 WD_IMPACT 位配置采取相应的反应。当调试模式被激活时,故障安全输出(FS0B,FS1B)在启动时会被拉低。释放过程和拉低条件与正常模式相同。当调试模式被激活时,没有深度故障安全状态。
CAN 收发器默认设置为正常操作模式,允许无需 SPI 配置的 CAN 通信(FS1B_CAN_IMP 位 = 0)。要退出调试模式,引脚必须通过外部下拉电阻接地,并且发生上电复位或从 LPOFF 唤醒。
12 功能设备操作
12.1 主要状态机的模式和状态描述
该设备具有多种操作模式。进入或离开每个模式的转换和条件在功能状态图中进行了说明(见图 16)。两个状态机并行工作。主状态机控制电源管理(VPRE、VCORE、VCCA、VAUX 等),而故障安全状态机控制所有安全方面(WD、RSTB、FS0B、FS1B 等)。
12.1.1 降压或升降压配置
需要一个外部低边逻辑电平 MOSFET(N 型)以在非反相升降压转换器中进行操作。在启动阶段(上电复位后或从 LPOFF 退出后)自动检测外部 MOSFET 的连接。
如果外部低边 MOSFET 未连接(GATE_LS 引脚连接到 PGND),该产品会被配置为标准的降压转换器。
如果外部低边 MOSFET 已连接(GATE_LS 引脚连接到外部 MOSFET 的门极),则该产品会被配置为非反相升降压转换器。
自动检测是通过在 Gate_LS 引脚上施加 300 μA 的电流并监测生成的相应电压来完成的。如果在 120 μs 超时之前检测到电压超过 120 mV,则锁定非反相升降压配置。否则,锁定标准的降压配置。升压驱动器的电流能力为 ±300 mA。
12.1.2 V_PRE 开启
预调节器是一个开关电源(SMPS)调节器。在此阶段,预调节器被开启,软启动以指定的持续时间 t_PRE_SOFT 控制 VPRE 输出电容的充电。
12.1.3 SELECT 引脚配置
此阶段检测在 VAUX 和 VCCA 上所需的电压水平,依据连接在 SELECT 引脚和地面或 VPRE 之间的电阻值,并配置深度故障安全功能。
12.1.4 V_CORE / V_AUX / V_CCA 开启
在此阶段,三种调节器 VCORE、VAUX、VCCA 会同时开启,并具有指定的软启动持续时间。此时,CAN_5V 也会启动。
12.1.5 INIT 主状态
该模式是在设备“加电”后自动进入的。当 RSTB 被释放时,初始化阶段开始,设备可以通过 SPI 进行配置。在 INIT 阶段,一些寄存器只能在此模式下配置(见表 19 和表 20)。其他寄存器可以在此模式下以及正常模式下进行写入。
一旦 INIT 寄存器配置完成,必须配置一个名为“INIT_INT”的最后寄存器,以切换到正常模式。在该寄存器中写入数据(即使是相同的默认值)会自动锁定 INIT 寄存器,并且产品将在主状态机中自动切换到正常模式。
12.1.6 正常模式
在此模式下,所有设备功能均可用。通过从 INIT 阶段发送 SPI 命令写入 INIT_INT 寄存器来进入此模式。在正常模式下,可以使用安全 SPI 命令将设备设置为低功耗模式(LPOFF)。
12.1.7 低功耗模式关闭
主状态机具有三种 LPOFF 模式,每种 LPOFF 模式都有不同的进入和退出条件,具体如下。在从 LPOFF 醒来后,所有调节器默认启用。在 LPOFF 中,除了 VKAM 外,所有调节器都被关闭。寄存器配置和 ISO 脉冲要求对这三种 LPOFF 模式有效。
12.1.7.1 LPOFF - 睡眠模式
进入低功耗模式 LPOFF - 睡眠模式仅当产品处于正常模式时,可以通过发送安全的 SPI 命令实现。在此模式下,所有调节器都被关闭,连接到 V_CORE 调节器的 MCU 不再供电。如果 VKAM 被使用(VKAM 默认开启的特定型号),则仅 VKAM 处于可用状态。
一旦 FS6500/FS4500 进入 LPOFF - 睡眠模式,设备便会监控外部事件以唤醒并退出低功耗模式。唤醒事件可以发生,并根据设备配置来源于以下几种:
物理层(CAN 或 LIN)
I/O 输入
定时器
当检测到唤醒事件时,设备通过检测 VPRE 的配置(降压或升降压)重新启动主状态机,唤醒源会报告到专用的 SPI 寄存器,并且故障安全状态机也会重新启动。
12.1.7.2 LPOFF - 自动唤醒
当设备处于 INIT 或正常模式,并且 V_PRE 电压水平超过 V_PRE_UV_4P3 阈值(典型值 4.3 V)时,便会进入 LPOFF - 自动唤醒模式。如果产品处于正常模式,也可以通过发送安全的 SPI 命令来进入此模式。此模式允许进行上电复位(POR)并完全重启故障安全状态机。在 1.0 ms 后,设备尝试通过再次开启 V_PRE 来恢复。
12.1.7.3 LPOFF - 深度故障安全
当设备处于深度故障安全模式并且开关关闭(IO_0 为低)时,进入 LPOFF - 深度故障安全模式。要退出此模式,需要将 IO_0 转换为高电平。IO_0 通常连接到开关的开关信号(参见第 12.3 节)。
12.1.7.4 LPOFF 中的寄存器配置
在 LPOFF 模式下,主状态机的寄存器设置得以保留,因为可用于唤醒操作的内部 2.5 V 主数字调节器仍然在线。然而,故障安全状态机的寄存器设置会被清除,因为在 LPOFF 中,2.5 V 故障安全数字调节器不可用。因此,在唤醒事件后,故障安全寄存器的配置必须在初始化阶段(256 ms 的开放窗口)期间重新完成。
12.1.7.5 LPOFF 中的 ISO 脉冲
如果应用程序必须在 LPOFF 模式下维持 V BAT 上的 ISO 脉冲,必须连接一个外部齐纳二极管和一个串联电阻到地(见图 15)。在 V BAT 上重复的 ISO 脉冲期间,连接在 V_SUP 线上的电容器会不断充电,并且由于需要维持 I/O、CAN 和 LIN 的唤醒能力所需的极低电流,它们无法放电。因此,除非人为地通过这些离散元件创建泄漏路径,否则 V_SUP 线上的电压可能会超过该引脚所支持的绝对最大额定值。
12.2 故障安全状态机的模式与状态描述
12.2.1 LBIST
逻辑自检(LBIST)包含在故障安全机器中,用于验证启动时故障安全状态机(FSSM)的正确功能。故障安全状态机会进行全面检查。如果报告出现问题,安全输出引脚 FS0B 和 FS1B 会保持低电平,并且会报告一个标志,RSTB 引脚会被释放,以允许 MCU 进行诊断。LBIST 在上电启动时和设备处于 LPOFF 模式下每次唤醒事件后运行。
LBIST 失败不会阻止 RSTB 引脚的释放,但会防止 FS0B 和 FS1B 引脚的释放。这可以让 MCU 进行诊断,同时保持应用在安全状态。
12.2.2 SELECT 引脚配置
此阶段检测在 VAUX 和 VCCA 上应用所需的电压水平,依据连接在 SELECT 引脚与地面或 VPRE 之间的电阻值,以及深度故障安全配置。此模式相当于主状态机中的模式。在故障安全机器中,这一检测用于内部设置 VCCA 和 VAUX 的 UV/OV 阈值以进行电压监控,并启用/禁用深度故障安全功能。
12.2.3 ABIST
模拟自检(ABIST)包含在故障安全机器中,用于验证设备模拟部分的正确功能,如电压监控中的过压和欠压检测以及故障安全输出反馈。ABIST 失败不会阻止 RSTB 引脚的释放,但会防止 FS0B 和 FS1B 引脚的释放。这可以让 MCU 进行诊断,同时保持应用在安全状态。
12.2.3.1 ABIST1
第一项 ABIST1(见表 9)始终在设备上电启动时以及每次设备处于 LPOFF 模式下的唤醒事件后运行。
12.2.3.2 ABIST2
第二项 ABIST2(见表 10)由 MCU 通过 SPI 命令按需运行。当 VAUX 被声明为安全关键时(过压和/或欠压会影响故障安全输出),必须执行 ABIST2 并通过测试,以释放 FS0B 引脚。因此,在启动时以及设备处于 LPOFF 模式下每次唤醒事件后,都必须执行 ABIST2,以释放故障安全引脚 FS0B。
12.2.4 释放 RSTB
在此状态下,设备释放 RSTB 引脚。
12.2.5 INIT_FS
在设备“上电”并且内置自检(逻辑 LBIST 和模拟 ABIST1)已执行后,自动进入此模式。INIT_FS 模式在 RSTB 被释放后立即开始。
在此模式下,设备可以通过 SPI 进行配置,最大时间为 256 ms,包括第一次看门狗刷新的时间。一些寄存器只能在此模式下进行配置,离开 INIT_FS 模式时会被锁定(见表 19 和表 20)。建议在发送第一次看门狗刷新之前,先对设备进行配置。当 MCU 发送第一次良好的看门狗刷新后,设备将离开此模式并进入正常的看门狗模式。
12.2.6 正常看门狗模式 (Normal WD)
在此模式下,设备等待来自 MCU 的定期看门狗刷新,时间在特定配置的窗口内。看门狗窗口周期的配置可以在 INIT_FS 阶段或在此模式下进行。如果发生故障导致 RSTB 激活(包括外部复位请求),则会退出此模式。
12.2.7 断言 RSTB
当设备将复位引脚拉低时,会启动一个延迟以释放 RSTB,如果没有故障存在。复位低电平持续时间可以通过 SPI 在 INIT_FSSM 寄存器中进行配置,该寄存器在 INIT_FS 阶段可供写入。
12.2.8 断言 FSxB 和 ABIST2
这些功能在故障安全状态机的 INIT_FS 或正常看门狗状态下并行执行。
12.3 深度故障安全状态
当启用深度故障安全功能时,故障安全状态机会监控和计数发生的故障数量,以便于故障检测(见第 12.5.3 节)。一旦故障错误计数器达到其最终值,或 RESET 引脚低电平保持超过 8.0 秒,设备将进入功能状态图(见图 16)中的深度故障安全状态。
当设备处于深度故障安全状态时,所有调节器都处于关闭状态(如果 VKAM 处于开启状态,则 VKAM 除外),RSTB、FS0B 和 FS1B 被激活。要退出此状态,需要进行开关操作。IO_0 通常连接到开关信号。开关关闭(IO_0 为低)将设备移动到 LPOFF-深度故障安全状态,而开关开启(IO_0 为高)则唤醒设备。
在上电阶段,当故障安全状态机进入“等待 V_PRE”状态时,8.0 秒计时器开始计时,并在 RSTB 引脚释放时停止。在 “INIT_FS” 状态期间,可以在寄存器 INIT_FS_IMPACT 中禁用 8.0 秒计时器。在“正常看门狗”状态期间,每次 RSTB 引脚被拉低时将激活 8.0 秒计时器。
12.5 故障安全机器
为了满足安全关键应用的需求,FS6500/FS4500 集成了一个专用的故障安全机器(FSM)。FSM 由三个主要子模块组成:电压监控器(VS)、故障安全状态机(FSSM)和故障安全输出驱动器(FSO)。FSM 在电气上与其余电路独立,旨在避免共同失效。
因此,FSM 拥有自己的电压调节器(模拟和数字)、专用带隙参考电压以及独立的振荡器。为了克服引脚提升问题,使用了三个电源引脚(VSUP 1、2 和 3)。内部电压调节器直接连接到 VSUP(每个引脚使用一个引线连接)。此外,接地连接也是冗余的,以避免接地损失。
设备中产生的所有电压由电压监控器进行监控(欠压和过压),并依靠专用的内部电压参考(与用于电压调节器的参考电压不同)。故障检测的结果通过 SPI 报告给 MCU,并传递给故障安全状态机(FSSM)进行处理。所有与安全相关的信号输入 FSSM,由其处理错误处理并控制故障安全输出。
该系统有三个故障安全输出:RSTB(拉低以重置 MCU)、FS0B 和 FS1B(拉低以控制任何故障安全电路)。故障安全机器负责将应用程序带入并维持在故障安全状态。
12.5.2 看门狗操作
FS6500/FS4500 中实现了一个窗口式看门狗,其基于“问答”原理(挑战者)。看门狗必须在打开的看门狗窗口中被 MCU 持续触发,否则会产生错误。错误处理和看门狗操作由故障安全状态机管理。出于调试目的,可以通过在启动时在 DEBUG 引脚上设置正确的电压来抑制此功能。
看门狗窗口的持续时间可以通过 SPI 在 INIT_FS 阶段或正常模式下进行选择。可用的选项有:1.0 ms、2.0 ms、3.0 ms、4.0 ms、6.0 ms、8.0 ms、12.0 ms、16.0 ms、24.0 ms、32.0 ms、64.0 ms、128.0 ms、256.0 ms、512.0 ms 和 1024.0 ms。看门狗也可以通过 SPI 寄存器在 INIT_FS 阶段进行抑制,以允许“重新编程”(即在车辆级别通过 CAN)。
FS6500/FS4500 中实现了一个线性反馈移位寄存器(LFSR),以生成 8 位伪随机字。MCU 可以发送 LFSR 的种子,或在 INIT 阶段使用 FS6500/FS4500 生成的 LFSR,并执行预定义的计算。结果在“开放”的看门狗窗口期间通过 SPI 发送,并由 FS6500/FS4500 验证。当结果正确时,生成新的 LFSR,并重新启动看门狗窗口。当结果错误时,WD 错误计数器增加,重新启动看门狗窗口,生成 INTB,而且 LFSR 值不变。在“闭合”看门狗窗口期间对 WD 寄存器的任何访问都被视为错误的看门狗刷新。
12.5.2.1 正常操作(第一次看门狗刷新)
在上电时,当 RSTB 被释放至高电平(约 16.5 毫秒后)时,INIT 阶段开始,最大持续时间为 256 毫秒,这被视为完全开放的看门狗窗口。在此初始化阶段,MCU 发送 LFSR 的种子,或使用由 FS6500/FS4500 生成的默认 LFSR 值(0xB2),该值在 WD_LFSR 寄存器中可用(见表 90)。使用此 LFSR,MCU 根据这个公式执行简单计算。例如,基于 LFSR 默认值(0xB2)的计算结果为 0x4D。
正常看门狗刷新
MCU 会将结果发送到 WD_ANSWER 寄存器(见表 92)。当看门狗在开放窗口期间正确刷新时,256 毫秒的开放窗口将被停止,初始化阶段也随之结束。一个新的 LFSR 被生成,并在 WD_LFSR 寄存器中可用(见表 90)。如果看门狗刷新错误,或者在这个 256 毫秒的开放窗口(INIT_FS 阶段)内没有刷新看门狗,设备将拉低 RSTB 和 FS0B,并将故障错误计数器增加 1。
在成功的看门狗刷新之后,设备进入正常看门狗刷新模式,在此模式下,开放窗口和闭合窗口的时长要么由在 WD_WINDOW 寄存器中初始化阶段设置的配置定义(见表 88),要么由寄存器中已存在的默认值(3.0 毫秒)定义。
12.5.2.2 正常看门狗刷新
看门狗必须在配置在 WD_ANSWER 寄存器中的窗口期的每个开放窗口期间进行刷新。任何看门狗刷新都会重新启动窗口。这确保了 MCU 和 FS6500/FS4500 之间的同步。
“窗口”的持续时间可以通过 SPI 进行选择,没有访问限制,这意味着可以在 INIT 阶段或正常模式下更改窗口持续时间。正常操作中进行的更改允许系统集成商动态配置看门狗窗口时长。
新的 WD 窗口持续时间(禁用之后除外)在写入 WD_ANSWER 寄存器时会被考虑(无论是正确还是错误的看门狗答案),或者当前一个看门狗窗口在没有任何写入的情况下结束时(看门狗超时)。
禁用后新的 WD 窗口持续时间在 SPI 命令被验证时会被考虑。
窗口的占空比设定为 50% ±10%,且不可修改。
12.5.2.3 调试模式下的看门狗
当设备处于调试模式(通过 DEBUG 引脚进入)时,看门狗继续运行,但不会通过拉低故障安全引脚来影响设备的操作。对于用户而言,操作看起来没有看门狗。如果需要,并且为了调试看门狗本身,用户可以像在正常模式下那样操作,并检查 LFSR 值、看门狗刷新计数器、看门狗错误计数器和复位计数器。这使得用户能够调试他们的软件,并确保在应用程序中采用良好的看门狗策略。
12.5.2.4 错误的看门狗刷新处理
设备中实现了错误计数器和策略,以管理来自 MCU 的错误看门狗刷新。根据连续错误看门狗刷新的数量,设备可以决定拉低 RSTB 和/或 FS0B 引脚,具体取决于在 INIT_FS 阶段设置的安全配置(INIT_SF_IMPACT 寄存器中的 WD_IMPACT 位,见表 86)。
12.5.2.5 看门狗错误计数器
看门狗错误计数器在设备中实现,以过滤不正确的看门狗刷新。每当发生看门狗故障时,该计数器增加 2。每次看门狗正确刷新时,WD 错误计数器减少 1。这个原则确保了循环的“OK/NOK”行为最终会收敛到故障检测。为了在应用程序中提供灵活性,该计数器的最大值可以在 INIT_WD_CNT 寄存器中进行配置,但仅在设备处于 INIT_FS 模式时。
12.5.2.6 看门狗刷新计数器
看门狗刷新计数器用于减少故障错误计数器。每当看门狗被正确刷新时,看门狗刷新计数器增加 1。当看门狗刷新计数器达到 6 且下一个看门狗刷新也是正确时,故障错误计数器减少 1(此情况适用于 WD_CNT_RFR_1:0 配置为 6)。
无论看门狗刷新计数器处于何种状态,每当发生错误的看门狗刷新时,看门狗刷新计数器将重置为 0。为了在应用程序中提供灵活性,该看门狗刷新计数器的最大值可以在 INIT_WD_CNT 寄存器中进行配置,但仅当设备处于 INIT_FS 模式时。
任何在“闭合”看门狗窗口期间对看门狗寄存器的访问都被视为错误的看门狗刷新。看门狗超时,即在闭合或开放窗口期间没有看门狗刷新,也被视为错误的看门狗刷新。
12.5.3 故障错误计数器
故障错误计数器用于管理和计算应用程序中发生的故障数量。该计数器不仅会因连续错误看门狗刷新的故障而增加,还会因其他故障源(如欠压、过压、外部复位等)而增加。
每当 RSTB 和/或 FS0B 引脚被拉低时,故障错误计数器增加 1。当 FS0B 被拉低时,每当达到看门狗错误计数器的最大值时,故障错误计数器也会增加 1。故障错误计数器有两个输出值(中间值和最终值)。
中间值可以根据 INIT_FAULT 寄存器中的 FLT_ERR_IMP_1:0 位配置,用于强制激活 FS0B 或生成 RSTB 脉冲。
最终值用于在 SELECT 引脚连接到接地时处理深度故障安全的过渡。如果 SELECT 引脚连接到 VPRE,主状态机将保持在正常模式,调节器将保持开启状态。
故障错误计数器的中间值可以通过 INIT_FAULT 寄存器中的 FLT_ERR_FS 位配置为‘1’或‘3’(见表 83)。故障错误计数器的最终值基于中间配置。此配置必须在 INIT_FS 阶段完成。
FLT_ERR_FS 配置
FLT_ERR_FS = 0: 中间值 = 3;最终值 = 6(见图 22)。
FLT_ERR_FS = 1: 中间值 = 1;最终值 = 2(见图 23)。
在任何情况下,如果 RSTB 引脚被拉低的持续时间超过八秒,设备将进入以下模式:
深度故障安全,如果 DFS 功能已启用(SELECT 引脚连接到接地)。
LPOFF 睡眠模式,如果 DFS 功能已禁用(SELECT 引脚连接到 VPRE)。
故障错误计数器增加的条件
以下故障会导致故障错误计数器增加,并且可以进行配置:
看门狗错误计数器达到最大值(默认为 6)。
VCORE、VCCA、VAUX 欠压。
VCORE、VCCA、VAUX 过压。
FCRBM 跟随 VCORE 配置。
IO_45 错误检测(外部 IC 错误)。
以下故障会导致故障错误计数器增加,但无法进行配置:
VPRE 过压。
在 INIT 阶段看门狗刷新不正常或看门狗超时。
SPI DED(数据错误检测)。
ABIST1、ABIST2 失败。
RSTB 短路到高电平(由于 FS0B 被拉低的级联效应)。
外部复位(除了设备发出复位信号后 MCU 的复位延续)。
IO_23 错误检测(FCCU)。
12.5.3.1 故障错误计数器的中间值
图 24 说明了当看门狗错误计数器达到最大值时,故障错误计数器的增加情况。
图 25 说明了故障错误计数器中间值下 RSTB 和 FS0B 的可能行为,具体取决于 WD_IMPACT_1:0 和 FLT_ERR_IMP_1:0 位的配置:
#1: 当 WD_IMPACT_1:0 = ’01’ 和 FLT_ERR_IMP_1:0 = ’01’ 时,WD 对 RSTB 有影响,仅在 FLT_ERR_CNT ≥ 中间值时拉低 FS0B。
#2: 当 WD_IMPACT_1:0 = ’10’ 和 FLT_ERR_IMP_1:0 = ’10’ 时,WD 对 FS0B 有影响,仅在 FLT_ERR_CNT ≥ 中间值且 WD 错误计数器 = WD_CNT_ERR[1:0] 时拉低 RSTB。
12.5.3.2 启动时或恢复自 LPOFF 模式的故障错误计数器
在启动时或从 LPOFF 模式恢复时,故障错误计数器从 1 开始,FS0B 被拉低。要解除 FS0B,故障错误计数器必须通过几次连续的良好看门狗刷新返回到 0 值。将正确的命令发送到 RELEASE_FSxB 寄存器(见图 27)。在默认的看门狗刷新计数器配置(WD_RFR_CNT = 6)下,七次连续的良好看门狗刷新会将故障错误计数器减小到 0(见图 26)。
12.5.4 RSTB 激活
RSTB 的激活取决于在 INIT_FS 阶段进行的故障安全状态机配置。以下故障会影响 RSTB 的激活并且可以进行配置:
看门狗错误计数器达到最大值(默认为 6)。
VCORE、VCCA、VAUX 欠压。
VCORE、VCCA、VAUX 过压。
FCRBM 跟随 VCORE 配置。
IO_23 错误检测(FCCU)。
故障错误计数器水平。
以下故障会影响 RSTB 的激活,但无法进行配置:
VPRE 过压。
在 INIT 阶段看门狗刷新不正常或看门狗超时。
FS0B 短路到高电平。
SPI 请求的 RSTB 脉冲。
12.5.5 FS0B 激活
FS0B 的激活同样取决于在 INIT_FS 阶段进行的故障安全状态机配置。以下故障会影响 FS0B 的激活并且可以进行配置:
看门狗错误计数器达到最大值(默认为 6)。
VCORE、VCCA、VAUX 欠压。
VCORE、VCCA、VAUX 过压。
FCRBM 跟随 VCORE 配置。
IO_23 错误检测(FCCU)。
IO_45 错误检测(外部 IC 错误)。
故障错误计数器水平。
以下故障会影响 FS0B 的激活,但无法进行配置:
VPRE 过压。
在 INIT 阶段看门狗刷新不正常或看门狗超时。
LBIST、ABIST1/2 失败。
RSTB、FS1B 短路到高电平。
SPI 请求的 FS0B 低电平。
VPU_FS 连接与保护
VPU_FS 通过反向二极管保护与 VPRE 内部连接,并通过 R_VPU_FS 进行短路保护。R_FS1B 电阻的增加是为了增强对 ISO 7637(14)脉冲的耐受能力。
12.5.6.1 t DELAY 操作
在 t DELAY 配置中,FS1B 在 FS0B 激活后延迟拉低,并保持拉低状态,直到通过 SPI 释放。FS0B 和 FS1B 激活之间的延迟可以通过 SPI 配置,范围从 0 毫秒到 3150 毫秒,具体组合由 FS1B_TIME_3:0 和 FS1B_TIME_RANGE 位决定。该数字延迟由故障安全逻辑生成,其准确度为 ±10%。如果 t DELAY = 0,则 FS1B 可以与 FS0B 同时激活;如果 t DELAY > 0,则将在可编程延迟后激活 FS1B(见图 29)。
为了确保 FS1B 延迟在所有系统故障情况下得到保证,必须将 VPU_FS 引脚用作 FS1B 的上拉(见图 28)。VPU_FS 上的 R_PD/C_PD 组件在系统故障(如内部故障安全振荡器失效或电源丢失)情况下提供可配置的备份延迟。VPU_FS 电路的耗电量是微不足道的(约 1.0 μA)。因此,外部组件 R_PD/C_PD 可以很容易地根据所需的备份延迟进行计算(见图 30)。
R_PD / C_PD 计算:
R_TOT = R_INT // R_PD, 其中 R_INT = 1.0 MΩ ±50%
V_PU_FS = [(V_PRE - V_DIODE) x R_TOT /(R_TOT + R_VPU_FS)]
V_PU_FS_TH = V_PU_FS x e(–t_DELAY / (R_TOT C_PD))
t_DELAY = –R_TOT C_PD x Ln (V_PU_FS_TH / V_PU_FS)
R_PD / C_PD 典型使用案例:
t_DELAY = 33 ms, V_PU_FS_TH = 3.2 V, V_PU_FS = 5.5 V
R_PD = 16 KΩ, C_PD = 3.3 μF
开关 S1 默认是打开的,必须通过 SPI 命令关闭,使用 FS1B_DLY_REQ 位在 SF_OUTPUT_REQUEST 寄存器中,然后才能释放 FS1B 引脚。V_PU_FS 的上升时间受 R_VPU_FS x C_PD 的时间常数限制。在 3 x R_VPU_FS x C_PD = 15 ms 后,V_PU_FS 达到 95%。建议选择高值的 R_PD 电阻,以使其相对于 R_VPU_FS 微不足道,并选择低值的 C_PD 电容,以减少 V_PU_FS 的上升时间。
连接到 VPU_FS 的外部 R_PD / C_PD 组件用于生成 FS1B 备份延迟。可以通过使用 FS1B_DLY_REQ 位在 SF_OUTPUT_REQUEST 寄存器中打开连接 VPRE 和 VPU_FS 的内部开关(FS0B 必须先被拉低)在应用层验证此备份延迟,以覆盖这些组件的潜在故障。备份延迟的准确性仅依赖于外部组件的准确性。
12.5.6.2 t_DURATION 操作
在 t_DURATION 配置中,FS1B 与 FS0B 同时拉低,持续一个可配置的时间,并在 t_DURATION 计时后自动释放(见图 31)。FS1B 的激活持续时间可以通过 SPI 配置,范围从 0 毫秒到 3150 毫秒,具体组合由 FS1B_TIME_3:0 和 FS1B_TIME_RANGE 位决定。该数字持续时间由故障安全逻辑生成,其准确度为 ±10%。
12.5.7 故障安全输出 (FS0B 和 FS1B) 释放
当故障发生时,设备将故障安全输出 FS0B 以及相应的 FS1B 拉低。在允许设备释放这些引脚之前,必须验证以下条件:
ABIST2_FS1B_OK = 1,如果部件编号包含 FS1B。
ABIST2_VAUX_OK = 1,但如果 VAUX_FS_OV_1:0 = VAUX_FS_UV_1:0 = “00”,则不满足。
故障已消除。
故障错误计数器必须归零。
如果 FS1B 的备份延迟已启用,则需要关闭 S1 开关 (FS1B_DLY_DRV bit = 1)。
RELEASE_FSxB 寄存器必须填写正确的值。
12.5.7.1 RELEASE_FSxB 寄存器
当故障消除且故障错误计数器恢复到等级 ‘0’ 时,必须在 RELEASE_FSxB 寄存器中填写正确的字。该值依赖于当前的 WD_LFSR。需要交换 LSB 和 MSB,并对每个位进行负操作。
FS0B 和 FS1B 可以独立释放,也可以同时释放,具体取决于 RELEASE_FSxB 寄存器的前三个位的配置(见表 12)。RELEASE_FSxB 写入命令应在读取 WD_LFSR 命令后进行。如果 FS0B 和 FS1B 依次释放,必须先为 FS0B 执行一次该过程,然后为 FS1B 再执行一次。
WD_LFSR_7:0 b7 b6 b5 b4 b3 b2 b1 b0
释放 FS0B RELEASE_FSxB_7:0 0 1 1 b0 b1 b2 b3
释放 FS1B RELEASE_FSxB_7:0 1 1 0 b3 b4 b5 b6
释放 FS0B 和 FS1B RELEASE_FSxB_7:0 1 0 1 b0 b1 b2 b6
表 12. RELEASE_FSxB 寄存器基于 LFSR 值
12.5.8 SPI DED
某些 SPI 寄存器影响故障安全功能的一些安全关键方面,因此需要防止单事件干扰(SEU)。只有故障安全寄存器受到影响。在 INIT_FS 模式下,可以访问故障安全寄存器进行产品配置。INIT_FS 阶段结束后,Hamming 电路被激活,以保护寄存器内容。
在此阶段,如果出现单个位翻转,则通过 Hamming 代码进行检测并自动纠正错误(对用户是完全透明的),并发送一个标志。如果出现两个错误(双重错误检测 DED),则通过 Hamming 代码进行检测,但检测到的错误无法纠正。此时发送一个标志并激活 FS0B。