ZHCSGL9A July   2016  – May 2017 TPS65381A-Q1

PRODUCTION DATA.  

  1. 器件概述
    1. 1.1 特性
    2. 1.2 应用
    3. 1.3 说明
    4. 1.4 典型应用图
  2. 修订历史记录
  3. 引脚配置和功能
  4. 规格
    1. 4.1 绝对最大额定值
    2. 4.2 ESD 额定值
    3. 4.3 建议运行条件
    4. 4.4 热性能信息
    5. 4.5 电气特性
    6. 4.6 时序要求
    7. 4.7 开关特性
    8. 4.8 典型特性
  5. 详细 说明
    1. 5.1 概述
    2. 5.2 功能框图
    3. 5.3 功能 说明
      1. 5.3.1 VDD6 降压开关模式电源
      2. 5.3.2 VDD5 线性稳压器
      3. 5.3.3 VDD3/5 线性稳压器
      4. 5.3.4 VDD1 线性稳压器
      5. 5.3.5 VSOUT1 线性稳压器
      6. 5.3.6 电荷泵
      7. 5.3.7 唤醒
      8. 5.3.8 复位延长
    4. 5.4 器件功能模式
      1. 5.4.1  上电和断电行为
      2. 5.4.2  安全功能和诊断概述
      3. 5.4.3  电压监控器 (VMON)
      4. 5.4.4  TPS65381A-Q1 内部错误信号
      5. 5.4.5  时钟丢失监控器 (LCMON)
      6. 5.4.6  模拟内置自检 (ABIST)
      7. 5.4.7  逻辑内置自检 (LBIST)
      8. 5.4.8  结温监控和电流限制
      9. 5.4.9  诊断多路复用器和诊断输出引脚 (DIAG_OUT)
        1. 5.4.9.1 模拟多路复用器 (AMUX)
        2. 5.4.9.2 数字多路复用器 (DMUX)
        3. 5.4.9.3 诊断多路复用器输出状态(通过 MUX_OUT 位)
        4. 5.4.9.4 多路复用器互连检查
      10. 5.4.10 看门狗计时器 (WD)
      11. 5.4.11 看门狗失效计数器、状态和失效事件
      12. 5.4.12 看门狗序列
      13. 5.4.13 MCU 与看门狗的同步
      14. 5.4.14 触发模式(默认模式)
      15. 5.4.15 Q&A 模式
        1. 5.4.15.1 看门狗 Q&A 相关定义
        2. 5.4.15.2 Q&A 模式下的看门狗序列
        3. 5.4.15.3 问题(令牌)生成
        4. 5.4.15.4 应答比较和参考应答
          1. 5.4.15.4.1 2 位看门狗应答计数器的序列
        5. 5.4.15.5 看门狗 Q&A 模式序列事件和 WD_STATUS 寄存器更新
      16. 5.4.16 MCU 错误信号监控器 (MCU ESM)
        1. 5.4.16.1 TMS570 模式
        2. 5.4.16.2 PWM 模式
      17. 5.4.17 器件配置寄存器保护
      18. 5.4.18 启用和复位驱动器电路
      19. 5.4.19 器件运行状态
      20. 5.4.20 待机状态
      21. 5.4.21 复位状态
      22. 5.4.22 诊断状态
      23. 5.4.23 活动状态
      24. 5.4.24 安全状态
      25. 5.4.25 状态转换优先级
      26. 5.4.26 上电复位 (NPOR)
    5. 5.5 寄存器映射
      1. 5.5.1 串行外设接口 (SPI)
        1. 5.5.1.1 SPI 命令传输阶段
        2. 5.5.1.2 SPI 数据传输阶段
        3. 5.5.1.3 器件状态标志字节响应
        4. 5.5.1.4 器件 SPI 数据响应
        5. 5.5.1.5 SPI 帧概览
      2. 5.5.2 SPI 寄存器写入访问锁定(SW_LOCK 命令)
      3. 5.5.3 SPI 寄存器(SPI 映射响应)
        1. 5.5.3.1 器件版本和 ID
          1. 5.5.3.1.1 DEV_REV 寄存器
          2. 5.5.3.1.2 DEV_ID 寄存器
        2. 5.5.3.2 器件状态
          1. 5.5.3.2.1 DEV_STAT 寄存器
        3. 5.5.3.3 器件配置
          1. 5.5.3.3.1 DEV_CFG1 寄存器
          2. 5.5.3.3.2 DEV_CFG2 寄存器
      4. 5.5.4 器件安全状态和控制寄存器
        1. 5.5.4.1  VMON_STAT_1 寄存器
        2. 5.5.4.2  VMON_STAT_2 寄存器
        3. 5.5.4.3  SAFETY_STAT_1 寄存器
        4. 5.5.4.4  SAFETY_STAT_2 寄存器
        5. 5.5.4.5  SAFETY_STAT_3 寄存器
        6. 5.5.4.6  SAFETY_STAT_4 寄存器
        7. 5.5.4.7  SAFETY_STAT_5 寄存器
        8. 5.5.4.8  SAFETY_ERR_CFG 寄存器
        9. 5.5.4.9  SAFETY_BIST_CTRL 寄存器
        10. 5.5.4.10 SAFETY_CHECK_CTRL 寄存器
        11. 5.5.4.11 SAFETY_FUNC_CFG 寄存器
        12. 5.5.4.12 SAFETY_ERR_STAT 寄存器
        13. 5.5.4.13 SAFETY_ERR_PWM_H 寄存器
        14. 5.5.4.14 SAFETY_ERR_PWM_L 寄存器
        15. 5.5.4.15 SAFETY_PWD_THR_CFG 寄存器
        16. 5.5.4.16 SAFETY_CFG_CRC 寄存器
        17. 5.5.4.17 诊断
          1. 5.5.4.17.1 DIAG_CFG_CTRL 寄存器
          2. 5.5.4.17.2 DIAG_MUX_SEL 寄存器
      5. 5.5.5 看门狗计时器
        1. 5.5.5.1 WD_TOKEN_FDBK 寄存器
        2. 5.5.5.2 WD_WIN1_CFG 寄存器
        3. 5.5.5.3 WD_WIN2_CFG 寄存器
        4. 5.5.5.4 WD_TOKEN_VALUE 寄存器
        5. 5.5.5.5 WD_STATUS 寄存器
        6. 5.5.5.6 WD_ANSWER 寄存器
      6. 5.5.6 传感器电源
        1. 5.5.6.1 SENS_CTRL 寄存器
  6. 应用和实现
    1. 6.1 应用信息
    2. 6.2 典型应用
      1. 6.2.1 设计要求
      2. 6.2.2 详细设计流程
        1. 6.2.2.1 VDD6 前置稳压器
        2. 6.2.2.2 VDD1 线性控制器
        3. 6.2.2.3 VSOUT1 跟踪线性稳压器(配置为跟踪 VDD5)
        4. 6.2.2.4 VSOUT1 跟踪线性稳压器的替代用法(配置为 3.3V 模式下的 6V 输出跟踪 VDD3/5)
        5. 6.2.2.5 为从 VDD5 到 5V 输入的 9V 输出跟踪配置的 VSOUT1 跟踪线性稳压器的替代用法
        6. 6.2.2.6 在非跟踪模式下配置(提供 4.5V 输出)的 VSOUT1 跟踪线性稳压器的替代用法
      3. 6.2.3 应用曲线
    3. 6.3 系统示例
  7. 电源建议
  8. 布局
    1. 8.1 布局准则
      1. 8.1.1 VDD6 降压前置稳压器
      2. 8.1.2 VDD1 线性稳压器控制器
      3. 8.1.3 VDD5 和 VDD3/5 线性稳压器
      4. 8.1.4 VSOUT1 跟踪线性稳压器
      5. 8.1.5 电荷泵
      6. 8.1.6 其他注意事项
    2. 8.2 布局示例
    3. 8.3 功率耗散和热效应注意事项
  9. 器件和文档支持
    1. 9.1 文档支持
      1. 9.1.1 相关文档
    2. 9.2 接收文档更新通知
    3. 9.3 社区资源
    4. 9.4 商标
    5. 9.5 静电放电警告
    6. 9.6 术语表
  10. 10机械、封装和可订购信息

封装选项

机械数据 (封装 | 引脚)
散热焊盘机械数据 (封装 | 引脚)
订购信息

详细 说明

概述

该器件集成了一个具有内部 FET 的异步降压开关模式电源转换器,该 FET 将输入电池电压转换成 6V 前置稳压器输出,从而为集成稳压器供电。

例如,一个具有内部 FET 的固定 5V 线性稳压器被用作一个 CAN 电源。第二个同样具有内部 FET 的线性稳压器将 6V 电压调节为可选的 5V 或 3.3V MCU I/O 电压。具有外部 FET 和电阻分压器的线性稳压器控制器将 6V 电压调节成可外部调节的内核电压(介于 0.8V 和 3.3V 之间)。具有两种不同运行模式(跟踪模式和非跟踪模式)且具有可调电压(介于 3.3V 和 9.5V 之间)的线性稳压器可以用作外部传感器的电源。

该器件监控所有稳压器输出、电池电压和内部电源轨上的欠压和过压情况。第二个带隙基准用于欠压和过压监控,独立于用于稳压电路的主带隙基准。此外,还实现了稳压器电流限制和温度保护。

该器件支持通过 IGNITION 或 CAN 收发器唤醒。

功能框图

TPS65381A-Q1 FBD_lvsbc4.gif

功能 说明

VDD6 降压开关模式电源

VDD6 降压开关模式电源的用途是降低作为前置稳压器的器件内的功率耗散。VDD6 电源将电池电压(主电源电压)范围调节至 6V。VDD6 输出用作 VDD5、VDD3/5、VDD1 的输入电压,还可以用于 VSOUT1 稳压器,具体取决于所需的 VSOUT1 输出电压。VDD6 电源用作前置稳压器,因此 VDD6 的输出精度低于其他集成稳压器。VDD6 电流容量设置为在 VDD5、VDD3/5、VDD1 和 VSOUT1 稳压器各自的最大输出电流下为其供电。应执行功率耗散和热分析,以确保 PCB 设计和热管理能够支持应用中需要的功率耗散。

该开关模式电源以固定频率自适应导通时间控制 PWM 运行。控制环路基于迟滞比较器。如果 VDD6 引脚上的感应电压低于迟滞比较器阈值,则该内部 N 通道 MOSFET 会在每个周期开始时打开。当 MOSFET 打开时,它会以最小 7% 的占空比(fclk_VDD6 的 7%)导通。当迟滞比较器检测到 VDD6 引脚上的电压高于阈值时,MOSFET 会关闭。如果在发生时钟边沿事件时输出电压保持高于迟滞比较器,则 VDD6 稳压器可能会跳过一些脉冲。当 MOSFET 关闭时,外部肖特基二极管会在开关周期的其余部分对电感器中存储的能量进行再循环。对于 VBATP 引脚上低于大约 7V 的电源电压,VDD6 稳压器会进入压降模式(100% 占空比)。

电流限制电路为内部 MOSFET 提供了过大功率耗散保护。VDD6 稳压器还与 VDD3/5 稳压器共享过热保护电路。当该电路检测到过热情况时,器件会转换至待机模式(所有稳压器都关闭)。

由于 VDD6 稳压器的控制环路基于迟滞比较器,因此必须考虑输出上的有效电容以及输出电容的等效串联电阻 (ESR)。在运行电压(6V,直流偏置降额)下,输出电容器上的有效电容、容差、温度范围和使用寿命必须符合 VDD6 (CVDD6) 的有效电容范围。电容器供应商应提供计算有效电容所需的降额数据。迟滞比较器还需要指定的 ESR,以确保运行正常。通常,低 ESR 陶瓷电容器用作输出电容,因此需要使用外部电阻器将总 ESR 调节至 CVDD6 的指定 ESR 范围。实现正常运行的一般准则是 RESR = L/(15 × CEffective)。使用较高的有效输出电容可实现较低的 ESR,这进而可以实现较低的电压纹波。此外,电感会影响系统:使用较低的电感值可实现较低的 ESR,不过,电感峰值电流将较高。

VDD5 线性稳压器

VDD5 引脚在整个温度和电池电源电压范围内可实现 5V ±2% 输出的稳压电源。需要使用低 ESR 陶瓷电容器以实现环路稳定。该电容器必须放置在靠近器件引脚的位置。电流限制对该输出进行接地短路保护。该输出还会在开通期间以及线路或负载瞬态期间限制输出电压过冲。

在进行初始 IGN 或 CANWU 循环通电后,该稳压器上的软启动电路会立即启动,所需时间通常为 1ms 至 2ms。该输出可能需要较大的输出电容器,以确保在负载瞬态期间输出不会降至低于所需的稳压规格。

结过热保护为内部 MOSFET 提供了过大功率耗散保护。如果 VDD5 引脚上发生过热情况,则通过清除 SENS_CTRL 寄存器中的 D4 位仅使 VDD5 稳压器关闭。要重新启用 VDD5 引脚,必须再次设置 SENS_CTRL 寄存器中的 D4 位。

VDD3/5 线性稳压器

VDD3/5 引脚是 3.3V 或 5V ±2% 过热和电池电源电压范围内的稳压电源。输出电压电平通过 SEL_VDD3/5 引脚进行选择(引脚开路将选择 3.3V,引脚接地将选择 5V)。在首次初始 IGN 或 CANWU 循环通电时直接对该选择引脚的状态进行采样和锁存。锁存之后,在首次初始 IGN 或 CANWU 循环通电之后该选择引脚状态的任何变化都不会更改初始选择的 VDD3/5 变压器状态。

需要使用低 ESR 陶瓷电容器以实现环路稳定。该电容器必须放置在靠近器件引脚的位置。电流限制对该输出进行接地短路保护。该输出还会在开通期间或者线路或负载瞬态期间限制输出电压过冲。

在进行初始 IGN 或 CANWU 循环通电后,该稳压器上的软启动电路会立即启动,所需时间通常为 1ms 至 2ms。该输出可能需要较大的输出电容器,以确保在负载瞬态期间输出不会降至低于所需的调节规格。

电流限制电路和结过热保护为内部 MOSFET 提供了过大功率耗散保护。如果在 VDD3/5 引脚上发生过热情况,TPS65381A-Q1 器件会进入待机模式(所有稳压器都关闭)。

VDD1 线性稳压器

VDD1 引脚是可调稳压电源(0.8V 至 3.3V)。该稳压器使用 ±2% 基准 (VDD1SENSE)。外部反馈电阻分压器电阻器的容差会影响总体 VDD1 调节容差。为了降低片上功耗,使用了外部功率 NMOS。此外集成了环路控制器和栅极驱动器。TI 建议在外部功率 NMOS 的栅极和源极之间应用值介于 100kΩ 和 1MΩ 之间的电阻器。这样在开通期间或者线路或负载瞬态期间,VDD1 栅极输出受到限制,以防止栅极/源极过压应力。

在进行初始 IGN 或 CANWU 循环通电后,该稳压器上的软启动电路会立即启动,所需时间通常为 1ms 至 2ms。该软启动用于防止在启动时出现任何电压过冲。VDD1 输出可能需要较大的输出电容器,以确保在负载瞬态期间输出不会降至低于所需的调节规格。

VDD1 LDO 未配备用于外部 NMOS FET 的电流限制和过热保护功能。因此,建议通过 VDD6 引脚为 VDD1 引脚供电(请参阅Section 5.2)。这样,VDD6 引脚电流限制就用作 VDD1 引脚的电流限制,功率耗散也会受到限制。为了避免损坏外部 NMOS FET,建议所选 VDD1 引脚的电流额定值远高于最大指定 VDD6 电流限制。

如果未使用 VDD1 稳压器,则将 VDD1_G 和 VDD1_SENSE 引脚保持开路。VDD1_SENSE 引脚上的内部上拉器件可检测到连接开路并将 VDD1_SENSE 引脚上拉。这会强制调节环路降低 VDD1_G 输出。该机制还会屏蔽 VMON_STAT_2 寄存器中的 VDD1_OV 标志,因此还会屏蔽 VDD1 过压 (OV) 条件下的 ENDRV 引脚操作。这些操作与将 DEV_CFG1 寄存器中的 NMASK_VDD1_UV_OV 位清零等效。VDD1_SENSE 引脚上的该内部上拉器件还会在与 VDD1_SENSE 的连接开路时防止 MCU 内核电源上产生实际 VDD1 过压。因此,在这种情况下,VDD1 输出电压为 0V。

默认情况下,禁用 VDD1 监控。如果在应用中使用了 VDD1 引脚,那么 TI 建议在器件处于诊断状态时将 DEV_CFG1 寄存器中的 NMASK_VDD1_UV_OV 位设置为 1。利用该设置,可以在检测到 VDD1 欠压事件时驱动并延长外部 MCU 复位。

VSOUT1 线性稳压器

VSOUT1 稳压器是具有以下两种不同模式的稳压电源:跟踪模式和非跟踪模式。模式选择通过 VTRACK1 引脚实现。当 VTRACK1 引脚上施加的电压高于 1.2V 时,VSOUT1 引脚处于跟踪模式。当 VTRACK1 引脚接地短路时,VSOUT1 稳压器处于非跟踪模式。该模式选择在首次 VDDx 电源轨上升期间发生,并在首次 VDDx 上升结束后锁存。因此,VDDx 上升完成之后,VTRACK1 引脚上的任何变化都不再影响所选的跟踪或非跟踪模式。

在跟踪模式下,VSOUT1 稳压器跟踪 VTRACK1 引脚上的输入基准电压,并具有由外部电阻分压器决定的增益系数。VTRACK1 和 VSFB1 引脚之间的跟踪失调电压为 ±35mV。例如,该模式允许 VSOUT1 输出电压在跟踪 VDD3 (3.3V) 电源时为 5V。在单位增益反馈中,VSOUT1 输出电压可能直接遵循 VDD5 引脚或 VDD3 引脚。

在非跟踪模式下,VSOUT1 输出电压与 VSFB1 引脚上的 2.5V 固定基准电压成正比,并具有由外部电阻分压器决定的增益系数。该模式允许 VSOUT1 引脚电压为内部基准电压的任何倍数。

在跟踪和非跟踪模式下,VSOUT1 输出电压必须为 3.3V 或更高。VSOUT1 稳压器可以在指定限制内跟踪采用 3.3V 设置的 VDD3/5 引脚。

VSOUT1 稳压器具有用于降低内部功率耗散的单独输入电源。例如,对于 3.3V 或 5V 输出电压,VDD6 电源可以用作输入电源。对于大于 5V 的输出电压,VBATP 引脚可以用作输入电源。内部 FET 的最大功率耗散不得超过 0.6W,以避免过热(热关断)。

需要使用低 ESR 陶瓷电容器以实现环路稳定;该电容器必须放置在靠近器件引脚的位置。该电源会在开通期间或者线路或负载瞬态期间限制输出电压过冲。

该电源轨会超出 ECU,因此由电流限制为其提供外部机箱接地短路保护。电源轨可能在指定的短路电压范围 VSOUT1SH 内在外部发生短路。如果输出可能在对指定的短路电压范围之外的电压短路,则需要提供额外的外部保护。

在启动时默认禁用 VSOUT1 稳压器。在 NRES 引脚释放后,MCU 可以通过使用 SPI 命令设置 SENS_CTRL 寄存器中的 D0 位来启用 VSOUT1 稳压器。在执行该 SPI 命令之后,该稳压器上的软启动电路会立即启动,所需时间通常为 1ms 至 2ms。该输出可能需要较大的输出电容器,以确保在负载瞬态期间输出不会降至低于所需的调节规格。无论是处于跟踪模式还是处于非跟踪模式,VSFB1 引脚都会在软启动完成后变至所需的值。

电流限制电路和结过热保护为内部 MOSFET 提供了过大功率耗散保护。如果 VSOUT1 引脚上发生过热情况,则通过清除 SENS_CTRL 寄存器中的 0 位仅使 VSOUT1 稳压器关闭。要重新启用 VSOUT1 引脚,首先必须在读取时清除 SAFETY_STAT 1 寄存器中的 2 位,然后必须再次设置 SENS_CTRL 寄存器中的 0 位。

VSOUT1 引脚电压可由 MCU 的 ADC 输入通过 DIAG_OUT 引脚进行观察(请参阅Section 5.4.9),这样就可以在启用 VSOUT1 LDO 之前检测到对任何其他电源的短路情况。

NOTE

VSOUT1_EN 位在 SENS_CTRL 寄存器中,该寄存器仅由上电复位 (NPOR) 事件重新初始化,复位状态转换不会对其进行重新初始化。如果 VSOUT1_EN 位以前设置为 1,则在发生会导致转换至复位状态的事件后,该位仍设置为 1 并且 VSOUT1 稳压器仍保持启用状态。如果发生可导致 VSOUT1 引脚欠压或过压的故障,而 BIST 在复位转换至诊断状态时自动运行,那么在 BIST 运行期间的 VSOUT1_UV 或 VSOUT1_OV 条件会由于检测到 ABIST_ERR 导致器件进入安全状态。

电荷泵

电荷泵用于通过 VBATP 电源生成过驱电压,而 VBATP 电源则用于驱动 VDDx 和 VSOUT1 电源轨中内部 NMOS FET 的栅极。电荷泵是迟滞架构,当 VCP 电压足够高时,CP_OV 位会设置并且电荷泵停止泵浦,直到 VCP 电压降至低于阈值,此时 CP_OV 位将清除并且电荷泵再次开始泵浦。通过线性稳压器 VCP12 和 VCP17 在内部为器件提供电荷泵过驱。此外,该过驱电压可以驱动用作电池反向保护的外部 NMOS FET 的栅极。传统电池反向阻断二极管相比,此类电池反向保护支持以更低的电池电压运行。在使用电荷泵 (VCP) 驱动 NMOS 的栅极以实现电池反向保护时,必须在 VCP 引脚和 NMOS FET 的栅极之间连接一个大约 10kΩ 的串行电阻(请参阅Section 5.2)。需要使用该串联电阻在 NMOS FET 的栅极被驱动至负电压时限制任何流出 VCP 引脚的电流,因为 VCP 引脚的绝对最大额定值由于连接至基板(接地)的寄生反向二极管被限制为 –0.3V。

电荷泵需要两个外部电容器、一个泵电容 (Cpump) 和一个储能电容 (Cstore)。为在低电池电压下也能通过电荷泵提供足够的过驱电压,VCP 引脚上的外部负载电流必须小于 100µA。

唤醒

TPS65381A-Q1 器件具有两个唤醒引脚:IGN 和 CANWU。两个引脚都具有 2V 至 3V 的唤醒阈值以及 50mV 至 200mV 的迟滞。

IGN 唤醒引脚是电平敏感型引脚,能够以 IGN_deg 抗尖峰脉冲(滤波)时间进行抗尖峰脉冲。TPS65381A-Q1 器件为该 IGN 引脚提供电源锁存功能 (POST_RUN),允许 MCU 决定何时通过 SPI 命令关断 TPS65381A-Q1 器件。为此,MCU 必须在 SPI SAFETY_FUNC_CFG 寄存器中设置 IGN 电源锁存位 4 (IGN_PWRL),并且在 SPI 寄存器 DEV_STAT 位 0 (IGN) 上读取抗尖峰脉冲(滤波)IGN 引脚的取消锁存状态。要进入待机状态,MCU 必须清除 IGN_PWRL 位。为此,TPS65381A-Q1 器件必须处于诊断状态,因为该 SPI 寄存器仅在诊断状态下可写。IGN_PWRL 位也会在检测到 CANWU 唤醒事件后清除。此外,TPS65381A-Q1 器件可在 POST_RUN 期间检测到 IGN 唤醒事件后提供可选的到复位状态的转换(请参阅Figure 5-2)。

CANWU 引脚是电平敏感型引脚,能够以 CANWU_deg(滤波)时间进行抗尖峰脉冲。抗尖峰脉冲(滤波)CANWU 唤醒信号会锁存至 CANWU_L,允许 MCU 决定何时通过 WR_CAN_STBY SPI 命令关断 TPS65381A-Q1 器件。

NOTE

不应在 CANWU 引脚或 IGN 引脚仍处于高电平时将 WR_CAN_STBY 命令写入器件。器件开始转换至待机状态,并且会由于在 CANWU 或 IGN 引脚上接收到唤醒请求而立即转换至复位状态。寄存器会根据后 LBIST(由于复位转换)或根据 NPOR(由于待机转换)重新初始化。

IGN 和 CANWU 引脚是高电压引脚。如果这些引脚连接至具有瞬态的线路,则应在应用中提供适当的滤波和保护,以确保这些引脚处于指定的电压范围内。

NOTE

如果应用不需要通过 IGN(点火开关或 KL15)唤醒或通过 CANWU(CAN 或其他收发器)唤醒,但器件需要在提供电源时随时唤醒,则可通过将 10kΩ 或更大的串联电阻器将 IGN 引脚连接至 VBATP 引脚(和 VBAT_SAFING)的方法来实现。当 VBATP 电源打开时,IGN 引脚也会变为高电平,并且一旦电压电平允许针对 VBATP 和 VBAT_SAFING 引脚释放 NPOR 电路并且 IGN 为高电平就允许器件唤醒(上电)。

复位延长

在上电事件期间,TPS65381A-Q1 器件会在 VDD3/5 和 VDD1 引脚越过各自的欠压阈值时通过 NRES 引脚以特定的延迟时间(复位延长时间)向外部 MCU 发送复位通知。

该复位延长时间可以通过 RESEXT 引脚与接地之间的电阻器从外部进行配置。在将 RESEXT 引脚接地短路时,最短复位延长时间通常为 1.4ms。对于 22kΩ 的外部电阻器而言,典型的复位延长时间为 4.5ms。

器件功能模式

上电和断电行为

Figure 5-1 显示了上电和断电行为。

TPS65381A-Q1 PwrUp_Dn_SLVSBC4.gif
在上电事件期间,模拟 BIST (ABIST) 会在 VDD6 轨电压高于欠压阈值后自动启动。如果 ABIST 启动失败,则器件会转换至安全状态。
器件可能无法在 BIST 期间响应 MCU SPI 通信,因此如果 MCU 的引导速度快于 BIST,那么它应一直等到 BIST 完成才能使用 SPI 通信。如果 ABIST、LBIST 或者两者均启动失败,则器件会转换至安全状态。
ENDRV 引脚的电平大小取决于看门狗故障计数器 WD_FAIL_CNT[2:0]、ENABLE_DRV 位以及Figure 5-14 中显示的信号。MCU 只应在 WD_FAIL_CNT[2:0] 计数器低于 5 时设置 ENABLE_DRV 位。
Figure 5-1 上电和断电行为
TPS65381A-Q1 IGN_Pwr_Ltch_SLVSBC4.gif
在 VBAT 缓慢下降情况下以及当 VDD3/5 轨电压配置为 5V 电源轨时,NRES 输出可能会在 VBAT 处于大约 6.3V 时被拉低。这是由 VDD3/5 电源轨上的欠压瞬态导致的。
在 VBAT 缓慢上升情况下以及当 VDD3/5 轨电压配置为 5V 电源轨时,NRES 输出可能会在 VBAT 处于大约 6.6V 时被拉低。这是由 VDD3/5 电源轨上的欠压瞬态导致的。
在类似的情况下,可以在 VDD5 和 VSOUT1 电源轨上观察到欠压瞬态。
Figure 5-2 IGN 电源锁存和 POST_RUN 复位

安全功能和诊断概述

TPS65381A-Q1 器件适用于汽车和工业安全相关 应用。下列监控和保护块可用提高诊断覆盖率并减小未检测到故障的比率:

  • 电压监控器 (VMON)
  • 针对安全模拟块的模拟内置自检 (ABIST) 诊断
  • 针对安全控制器功能的逻辑内置自检 (LBIST)
  • 时钟丢失监控器 (LCMON)
  • 针对所有具有内部 FET 的电源的结温监控
  • 针对所有电源的电流限制
  • 用于外部监控诊断和调试的模拟多路复用器 (AMUX)
  • 用于外部监控诊断和调试的数字多路复用器 (DMUX)
  • 可配置为触发模式(打开和关闭窗口)或问答模式的看门狗
  • 用于监控功能安全架构 MCU 的错误输出的 MCU 错误信号监控器 (ESM)
  • 用于外部功率级或外设唤醒的受控和受保护使能输出 (ENDRV)
  • 器件配置寄存器 CRC 保护
  • 带奇偶校验的 SPI 命令解码器
  • SPI 数据输出反馈校验
  • 用于初始化外部 MCU 的复位电路
  • EEPROM 模拟调整内容 CRC 保护
  • 在检测到错误事件时具有安全状态的器件状态控制器

电压监控器 (VMON)

VBAT 电源电压、所有稳压器输出和内部生成的电压由电压监控器模块 (VMON) 进行监控。欠压或过压情况由相应的 VMON 寄存器状态标志位进行指示:

  • 当电源处于规格范围之内时 VMON 标志位会清零
  • 当电源超出容差范围时 VMON 标志位设置为 1

监控通过欠压和过压比较器实现。VMON 模块的基准电压 (BANDGAP_REF2) 独立于稳压器使用的系统基准电压 (BANDGAP_REF1)。尖峰脉冲滤波功能可确保在无 VMON 状态标志位错误设置的情况下进行可靠的监控。完整的 VMON 块由单独的电源引脚 VBAT_SAFING 供电。

VMON 比较器诊断涵盖在器件启动和上电期间执行的 ABIST 中,或者在器件处于诊断或活动状态时由外部 MCU SPI 请求通过 SPI 命令激活。每个受监控的电压轨均在相应的比较器输入上针对欠压和过压情况进行仿真,因此这会强制相应的比较器进行多次切换(处于由 ABIST 控制器监视和检查的切换模式)。在该自检过程中,受监控的电压轨自身不受影响,因此在其中的任何电压轨上都不会由于该自检发生实际欠压或过压事件。

Table 5-1 列出了所执行的电压监控概述。如此表所示,针对部分内部电源轨实施了过压保护。

Table 5-1 电压监控概述(1)

电压轨 输出电压 创建时所使用的基准 监控监测阈值 监控所依据的基准 受监控的引脚 OV 保护级别 OV 保护基准 对器件行为的影响
UV OV UV OV
电源输入
VBAT N/A N/A 4.2 至 4.5V 34.7 至 36.7V VMON_BG VBATP N/A N/A SPI 标志 VMON_STAT_1 D6
待机状态
NRES = 0,ENDRV = 0
SPI 标志 VMON_STAT_1 D7
复位状态(当 MASK_VBATP_OV = 0 时)
电源输出
VDD6 6V ± 10% MAIN_BG 5.2 至 5.4V 7.8 至 8.2V VMON_BG VDD6 N/A N/A SPI 标志 VMON_STAT_2 D6 SPI 标志 VMON_STAT_2 D7
VDD5 5V ± 2% MAIN_BG 4.5 至 4.85V 5.2 至 5.45V VMON_BG VDD5 N/A N/A SPI 标志 VMON_STAT_2 D4 SPI 标志 VMON_STAT_2 D5
ENDRV = 0
VDD3/5 (5V) 5V ± 2% MAIN_BG 4.5 至 4.85V 5.2 至 5.5V VMON_BG VDD3/5 N/A N/A SPI 标志 VMON_STAT_2 D2
复位状态
NRES = 0,ENDRV = 0
SPI 标志 VMON_STAT_2 D3
ENDRV = 0
VDD3/5 (3.3V) 3.3V ± 2% 3 至 3.17V 3.43 至 3.6V
VDD1 0.8V 至 3.3V –1% 至 +2%
VDD1_SENSE = 800mV –1% 至 +2%
MAIN_BG 0.94 至 0.98 × VDD1 1.03 至 1.06 × VDD1 VMON_BG VDD1_SENSE N/A N/A SPI 标志 VMON_STAT_2 D0
复位状态
NRES = 0,ENDRV = 0
(当 NMASK_VDD1_UV_OV=1 时)
SPI 标志 VMON_STAT_2 D1
ENDRV = 0
(当 NMASK_VDD1_UV_OV=1 时)
VSOUT1(非跟踪) 3.3V 至 9.5V ± 2%
VDSFB1 = 2.5V ± 2%
MAIN_BG 0.88 至 0.94 × VSOUT1 1.06 至 1.12 × VSOUT1 MAIN_BG VSFB1 N/A N/A SAFETY_STAT1 D5 SPI 标志 SAFETY_STAT1 D4
VSOUT1(跟踪) 3.3V 至 9.5V ± 2%
VDSFB1 = VTRACK1 ± 20mV
VTRACK1 VTRACK1 VSFB1 N/A N/A
内部电源
VCP17 17V(典型值) MAIN_BG N/A 27V(典型值) VMON_BG N/A 27V(典型值) VMON_BG N/A SPI 标志 VMON_STAT_1 D5 → 待机状态
NRES = 0,ENDRV = 0
VCP12 12V(典型值) MAIN_BG 7.43V(典型值) 14.2V(典型值) VMON_BG N/A 14.2V(典型值) VMON_BG SPI 标志 VMON_STAT_1 D3 SPI 标志 VMON_STAT_1 D4
VDD5、VDD3/5 和 VDD1 不工作 → 待机状态
NRES = 0,ENDRV = 0
AVDD 6.9V(典型值) 内部 LV 齐纳二极管 3.6V(典型值) N/A 独立本地带隙 N/A N/A 内部 MV 齐纳二极管 NPOR → 待机状态
NRES = 0,ENDRV = 0
没有变化
AVDD_VMON 6.9V(典型值) 内部 LV 齐纳二极管 3.56V(典型值) N/A 独立本地带隙 间接监控 VBAT_SAFING < 10.48V 内部 MV 齐纳二极管 SPI 标志 VMON_STAT_1 D2 → NPOR → 待机状态
NRES = 0,ENDRV = 0
SPI 标志 VMON_STAT_1 D2 → NPOR → 待机状态
NRES = 0,ENDRV = 0
DVDD 3V(典型值) MAIN_BG 2.472V(典型值) 3.501V(典型值) VMON_BG N/A N/A N/A NPOR → 待机状态
NRES = 0,ENDRV = 0
NPOR → 待机状态
NRES = 0,ENDRV = 0
内部基准
MAIN_BG 2.5V ± 2% MAIN_BG 2.364V(典型值) 2.617V(典型值) VMON_BG N/A N/A N/A 待机状态
NRES = 0,ENDRV = 0
待机状态
NRES = 0,ENDRV = 0
VMON_BG 2.5V ± 2% VMON_BG 2.364V(典型值) 2.617V(典型值) MAIN_BG N/A N/A N/A 待机状态
NRES = 0,ENDRV = 0
待机状态
NRES = 0,ENDRV = 0
N/A = 不适用

TPS65381A-Q1 内部错误信号

Table 5-2 提供了有关 TPS65381A-Q1 器件内部错误信号以及这些信号对器件行为的影响的概述。

Table 5-2 内部错误信号

检测条件(阈值电平) 设置标志的抗尖峰脉冲时间 (µs) 设置标志时的器件状态
DMUX POS 编号 信号名称 说明 最小值 典型值 最大值 单位 电气特性编号 最小值 典型值 最大值 电气特性编号 NRES ENDRV 器件状态
D1.2 NAVDD_UV AVDD 欠压比较器输出(反相) 3.6 V 15 30 低电平 低电平 待机
D1.3 BG_ERR1 VMON 或主带隙关闭(当 VMON 带隙 > 主带隙时设置为 1) 主带隙 = 2.364(VMON 带隙 = 2.477) V 15 30 低电平 低电平 待机
D1.4 BG_ERR2 VMON 或主带隙关闭(当 VMON 带隙 < 主带隙时设置为 1) 主带隙 = 2.617(VMON 带隙 = 2.477) V 15 30 低电平 低电平 待机
D1.5 NVCP12_UV VCP12 电荷泵欠压比较器(反相) 7.43 V 15 30 不变 不变 不变
D1.6 VCP12_OV VCP12 电荷泵过压比较器 14.2 V 15 30 低电平 低电平 待机
D1.7 VCP17_OV VCP17 电荷泵过压比较器 21 V 15 30 低电平 低电平 待机
D1.8 NVDD6_UV VDD6 欠压比较器(反相) 5.2 5.4 V 6.22 10 40 6.18 不变 不变 不变
D1.9 VDD6_OV VDD6 过压比较器 7.8 8.2 V 6.23 10 40 6.18 不变 不变 不变
D1.10 NVDD5_UV VDD5 欠压比较器(反相) 4.5 4.85 V 6.8 10 40 6.18 不变 不变 不变
D1.11 VDD5_OV VDD5 过压比较器 5.2 5.45 V 6.10 10 40 6.18 不变 低电平 不变
D1.12 NVDD3/5_UV VDD3/5 欠压比较器;3.3V 设置(反相) 3 3.17 V 6.12 10 40 6.18 低电平 低电平 复位
VDD3/5 欠压比较器;5V 设置(反相) 4.5 4.85
D1.13 VDD3/5_OV VDD3/5 过压比较器;3.3V 设置 3.43 3.6 V 6.14 10 40 6.18 不变 低电平 不变
VDD3/5 过压比较器;5V 设置 5.2 5.5
D1.14 NVDD1_UV VDD1 欠压比较器(反相) 0.94 0.98 VDD1 6.16 10 40 6.18 当 NMASK_VDD1_UV_OV = 0(默认配置)时不变 当 NMASK_VDD1_UV_OV = 0(默认配置)时不变 当 NMASK_VDD1_UV_OV = 0(默认配置)时不变
当 NMASK_VDD1_UV_OV = 1 时:NRES = 低电平 当 NMASK_VDD1_UV_OV = 1 时:ENDRV = 低电平 当 NMASK_VDD1_UV_OV = 1 时:复位
D1.15 VDD1_OV VDD1 过压比较器 1.03 1.06 VDD1 6.17 10 40 6.18 不变 不变(默认配置) 不变
当 MASK_VDD1_UV_OV = 1 时:ENDRV = 低电平
D1.16 LOCLK 系统时钟丢失比较器 0.742 2.64 MHz 0.379 1.346 低电平 低电平 待机
D3.4 CP_OV 电荷泵过压比较器 VBAT + 12 V N/A N/A N/A 不变 不变 不变
D3.5 NCP_UV 电荷泵欠压比较器(反相) VBAT + 6 V N/A N/A N/A 不变 不变 不变
D3.8 CP_DIFF3V 指示 VCP-VBATP > 3V VBAT + 3 V N/A N/A N/A 不变 不变 不变
D3.10 NVBAT_UV VBAT 欠压比较器(反相) 4.2 4.5 V 6.1 200 6.7 低电平 低电平 待机
D3.11 VBATP_OV VBAT 过压比较器 34.7 36.7 V 6.5 200 6.7 低电平(默认配置) 低电平(默认配置) 复位(默认配置)
当 MASK_VBATP_OV = 1 时:NRES 不变 当 MASK_VBATP_OV = 1 时:ENDRV 不变 当 MASK_VBATP_OV = 1 时:器件状态不变
D3.12 VDD5_OT VDD5 过热 175 210 °C 3.13 45 64 低电平 低电平 器件状态取决于 NMASK_VDD5_OT 位设置:
NMASK_VDD5_OT = 0:对器件状态没有影响
NMASK_VDD5_OT = 1:VDD5 禁用 → 复位
D3.13 VDD3/5_OT VDD3/5 过热 175 210 °C 2.13 45 64 低电平 低电平 器件状态取决于 NMASK_VDD3/5_OT 位设置:
NMASK_VDD3/5_OT = 0:VDD3/5 禁用 → VDD3/5 UV 事件 → 复位
NMASK_VDD3/5_OT = 1:待机
D3.14 VSOUT1_OT VSOUT1 过热 175 210 °C 5.13 45 64 不变 不变 不变
D3.15 VDD5_CL VDD5 电流限制(1) 350 650 mA 2.14 15 30 不变 不变 不变
D3.16 VDD3/5_CL VDD3/5 电流限制 350 650 mA 3.14 15 30 不变 不变 不变
D4.2 VSOUT1_CL VSOUT1 电流限制 100 500 mA 5.19 15 30 不变 不变 不变
D4.3 NVSOUT1_UV VSOUT1 欠压比较器(反相) 0.88 0.94 VSOUT1 6.19 10 40 6.21 不变 不变 不变
D4.4 VSOUT1_OV VSOUT1 过压比较器 1.06 1.12 VSOUT1 6.20 10 40 6.21 不变 不变 不变
D4.5 NDVDD_UV DVDD 欠压比较器(反相) 2.472 V 0 低电平 低电平 待机
D4.6 DVDD_OV DVDD 过压比较器 3.501 V 0 低电平 低电平 待机
D4.8 VS_TRK_MODE VSOUT1 处于跟踪模式指示 1.2 V 5.3a N/A N/A N/A 不变 不变 不变
D4.9 VMON_TRIM_ERR VMON 调整错误 在 VMON 调整寄存器中检测到位翻转时设置 5 10 低电平 低电平 待机
VDD5_CL DMUX 输出仅在 SENS_CTRL 寄存器中的 VDD5_EN 位设置为 1 时有效。当 VDD5_EN 清零时,该 VDD5_CL 将处于高电平。

时钟丢失监控器 (LCMON)

LCMON 检测内部振荡器故障,包括:

  • 振荡器时钟卡在高电平或卡在低电平
  • 时钟频率降低

在释放上电复位 (NPOR) 之后,在上电事件期间会启用 LCMON。在器件正常运行(待机、复位、诊断、活动和安全状态)期间,时钟监控器保持活动状态。如果发生时钟故障:

  • 器件转换至待机状态。
  • 所有稳压器禁用。
  • 数字内核重新初始化。
  • 外部 MCU 复位置于低电平。
  • 故障情况由 SAFETY_STAT_4 寄存器中的 LOCLK 位进行指示。

LCMON 具有由模拟 BIST (ABIST) 激活和监控的自检结构。当器件处于诊断状态或激活状态时,外部 MCU 可以随时重新检查 LCMON。已启用诊断对导致时钟监控器输出进行切换的时钟故障进行仿真。时钟监控器切换模式由 ABIST 进行检查,同时外部 MCU 可以在活动检测期间检查时钟丢失状态位是否设置。在该自检期间,实际振荡器频率 (4MHz) 不会由于该自检而变化。

模拟内置自检 (ABIST)

ABIST 是用于对关键模拟功能执行自检诊断的控制器和监控器电路:

  • VMON 欠压和过压比较器
  • 时钟监控器 (LCMON)
  • EEPROM 模拟调整内容校验(CRC 保护)

在对 VMON 欠压和过压比较器进行自检期间,受监控的电压轨保持不变,因此在其中的任何电压轨上都不会由于这些自检发生实际欠压或过压事件。此外,在对时钟监控器进行自检期间,实际振荡器频率 (4MHz) 也不会因该自检而变化。

TPS65381A-Q1 Ana_BIST_States_lvsbc4.gif
有关任何 ABIST 功能失败对器件状态产生影响的信息,请参阅Section 5.4.19
Figure 5-3 模拟 BIST 运行状态

ABIST 在每次发生器件上电事件或任何到复位状态的转换时激活。还可以通过在 SAFETY_BIST_CTRL 寄存器中设置 ABIST_EN 位由外部 MCU 运行 ABIST。在 ABIST 运行期间,器件无法监控稳压电源的状态,并且 ENDRV 引脚会被拉低。ABIST 运行时间大约为 300µs。还可以按照 MCU 请求在活动状态下执行 ABIST,具体取决于系统安全要求(如系统故障响应时间),在 ABIST 运行期间 ENDRV 引脚将处于低电平。

正在运行的 ABIST 在 SAFETY_STAT_3 寄存器的 ABIST_RUN 位(D0 位)中进行指示。该位在 ABIST 运行期间设置成 1,并在 ABIST 完成后清零。如果在处于诊断状态时发生 ABIST 故障(包括上电事件),则器件会进入安全状态,而不会将复位外部 MCU 的信号变为有效,并且 ABIST_ERR 状态标志在数字内核中保持锁存状态,直到 ABIST 成功运行。这允许外部 MCU 通过读取 SAFETY_STAT_3 寄存器中的 ABIST_ERR 位来检测 ABIST 故障。如果在处于活动状态时发生 ABIST 故障,则器件会设置 ABIST_ERR 状态标志,但不会发生任何状态转换。

逻辑内置自检 (LBIST)

逻辑 BIST (LBIST) 测试数字内核安全功能。LBIST 具有以下特性:

  • 应用可控制的逻辑 BIST 引擎,该引擎向数字内核应用测试矢量。
  • LBIST 向被测试的逻辑块提供卡在故障测试覆盖范围。
  • LBIST 运行时间通常为 4.2ms (±5%)。在执行 LBIST 之后会等待 16ms(典型值)以填充 LBIST 所覆盖的数字滤波器。在此期间,ABIST 会运行。总 BIST 时间大约为 21ms。在 BIST 期间 SPI 寄存器可能不可用,因此在 BIST 正在运行时不应进行任何 SPI 读取或写入。
  • LBIST 引擎具有作为失效防护功能的超时计数器。

在上电事件期间任何退出复位状态的转换都会在诊断状态下激活和运行 BIST(LBIST 以及 ABIST)。除非设置了 SAFETY_BIST_CTRL 寄存器中的 AUTO_BIST_DIS 位,否则任何其他退出复位状态的转换也会激活 BIST。

通过在 SAFETY_BIST_CTRL 寄存器中设置 LBIST_EN 位,MCU 可以运行 LBIST (BIST)。

NOTE

在活动状态下,如果通过将 LBIST_EN 位设置为 1 来启动 LBIST 手动运行,则必须考虑以下注意事项。LBIST 只应在系统安全时序要求能够允许总 BIST 时间为 21ms 并且 ENDRV 在该 21ms 的时间内处于低电平时以活动状态运行。

NOTE

在活动、诊断或安全状态下,如果通过将 LBIST_EN 位设置为 1 来启动 LBIST 手动运行,则必须考虑以下注意事项。在 LBIST 完成之后,WD_FAIL_CNT[2:0] 计数器重新初始化为 5。MCU 应通过对 WD_WIN1_CFG 或 WD_WIN2_CFG 寄存器进行写入或通过立即引起不良事件来与 TPS65381A-Q1 看门狗重新同步。这两个重新同步选项都会启动新的看门狗序列并使 WD_FAIL_CNT[2:0] 计数器递增。如果 WD_RST_EN 位设置为 1(启用),则 MCU 中的看门狗服务例程必须确保良好事件发送至看门狗以开始使 WD_FAIL_CNT[2:0] 计数器递减,直到其达到 7 +1,这会导致转换至复位状态。在 LBIST 完成之后,某些寄存器会重新初始化。如果这些配置寄存器从初始化的值变为其他值,那么必须将这些寄存器重新配置为应用所需的设置。

NOTE

在诊断状态下,如果通过将 LBIST_EN 位设置为 1 来启动 LBIST 手动运行,则必须考虑以下注意事项。将 LBIST_EN 位设置为 1 可将 DIAG_EXIT_MASK 位清零。如果 DIAG_EXIT_MASK 位用于将器件保持在诊断状态以进行软件调试,则在 LBIST 完成后必须再次将其设置为 1 以保持在诊断状态。诊断状态超时计数器仅在 LBIST 运行期间停止。在 LBIST 完成之后,超时计数器从最后的值继续计数。对于从诊断状态到活动状态的转换,DIAG_EXIT 位必须设置为 1。

在 BIST 运行期间,器件无法监控稳压电源的状态并且无法响应任何 SPI 命令,因此无法通过看门狗计时器监控 MCU 的状态。在 BIST 运行期间,ENDRV 引脚会被拉低,并且看门狗失效计数器会重新初始化为 5。在 BIST 完成之后,以下功能和寄存器会重新初始化:

  • DEV_STAT
  • SAFETY_STAT_2
  • SAFETY_STAT_4
  • SAFETY_STAT_5(但 FSM[2:0] 会立即更新以反映当前器件状态)
  • WD_TOKEN_VALUE
  • WD_STATUS
  • SAFETY_CHECK_CTRL
  • DIAG_CFG_CTRL
  • DIAG_MUX_SEL

正在运行的 LBIST 在 SAFETY_STAT_3 寄存器的 LBIST_RUN 位(D1 位)中进行指示。该位在 LBIST 运行时设置成 1,并在 LBIST 完成后清零。在 LBIST 运行之后,整个 BIST 完成由 MCU 通过针对 LBIST_RUN 和 ABIST_RUN 位读取 0 进行确认。

如果在诊断状态下发生 LBIST 故障,则器件进入安全状态。外部 MCU 可以通过读取 SAFETY_STAT_3 寄存器中的 LBIST_ERR 位来检测 LBIST 故障。如果在处于活动状态时发生 LBIST 故障,则器件会设置 LBIST_ERR 状态标志,但不会发生任何状态转换。由于在 LBIST 期间会运行 ABIST,因此 ABIST_ERR 位也可以由 MCU 进行监控。

结温监控和电流限制

每个具有内部功率 FET 的 LDO 都具有结温监控和过热保护(热关断)功能。如果发生过热情况,则稳压电源仅在过热情况消除之后才能重新启用。

对于 VSOUT1 稳压器,过热情况会禁用稳压器并清除使能位 (VSOUT1_EN),同时所有其他稳压器保持启用。当 VSOUT1 过热情况消失后,外部 MCU 必须重新设置使能控制位以重新启用稳压器。

VDD3/5 和 VDD6 稳压器共享过热保护电路。过热事件会禁用 VDD3/5 稳压器。如果 NMASK_VDD3/5_OT 设置为 1(默认设置),则器件会转换至待机状态。如果 NMASK_VDD3/5_OT 位清零,则在 VDD3/5 输出达到 VDD3/5 变压器的 UV 电平时器件会转换至复位状态。在两种情况下,NRES 引脚都会变为低电平并将外部 MCU 复位,ENDRV 引脚为低电平。TI 建议在 NMASK_VDD3/5_OT 位设置为 1 的情况下使用该器件。

对于 VDD5 稳压器,过热情况会清除 VDD5_EN 使能位并转换为复位状态。NRES 引脚会变为低电平并将 MCU 复位,ENDRV 引脚为低电平。所有其他稳压器都保持启用。当 VDD5 过热情况消失后,MCU 必须重新设置使能控制位以重新启用稳压器。

VDD6、VDD3/5、VDD5 和 VSOUT1 稳压器包含电流限制电路,用于提供功耗过大和热过载保护。

Table 5-3 提供了电源输出轨的过热和过流保护概述。

Table 5-3 过热和过流保护概述

电压轨 过热保护 过流保护
阈值 (°C) 对器件行为的影响 电流限制 对器件行为的影响
VDD6 175 至 210(与 VDD6 和 VDD3/5 共享) 设置 VDD3/5_OT(在 SAFETY_STAT_1 中)
当 NMASK_VDD3/5_OT = 1 时处于待机状态
当 NMASK_VDD3/5_OT = 0 时禁用 VDD3/5,当 VDD3/5 达到 UV 电平时复位
1.5 至 2.5A
VDD3/5 350 至 650mA 设置 VDD3/5_ILIM(在 SAFETY_STAT_1 中)
VDD5 175 至 210 设置 VDD5_OT(在 SAFETY_STAT_1 中)
当 NMASK_VDD5_OT = 1 时清除 VDD5_EN(在 SENS_CTRL 中)并且 VDD5 关闭,处于复位状态
当 NMASK_VDD5_OT = 0 时在 VDD5_OT 中指示过热
350 至 650mA 设置 VDD5_ILIM(在 SAFETY_STAT_1 中)
VDD1 N/A N/A
VSOUT1 175 至 210 设置 VSOUT1_OT(在 SAFETY_STAT_1 中)
清除 VSOUT1_EN(在 SENS_CTRL 中)并且 VSOUT1 禁用
100 至 500mA 针对 VSOUT1_CL 通过数字多路复用器设置 DIAG_OUT

诊断多路复用器和诊断输出引脚 (DIAG_OUT)

未直接连接至 MCU 的模拟和数字信号由多路复用器切换至外部 DIAG_OUT 引脚。多路复用器通过 DIAG_MUX_SEL 寄存器来实现信号切换。数字信号会经过缓冲以具有足够的驱动能力。

该多路复用器通过反馈输入引脚状态或反馈内部模块自检状态或安全比较器输出来利用外部引脚互联测试。

TPS65381A-Q1 DIAG_OUT_A_lvsbc4.gif
这些模拟信号以某个分压比多路输出
如果应用必须使用 MCU ADC 测量模拟信号并使用 MCU GPIO 监控数字信号,则应用设计必须确保 GPIO 输入级不影响 ADC 测量。如果在 MCU 内无法隔离 MCU GPIO,则应用设计必须在外部实现必要的隔离。
Figure 5-4 诊断输出引脚 DIAG_OUT

如果 DIAG_OUT 引脚连接至 MCU 的混合模拟或数字输入引脚,则 TI 建议根据所需的信号类型(模拟或数字)同时配置该 MCU 输入引脚和 DIAG_OUT 引脚。DIAG_OUT 引脚上的信号类型(模拟或数字)可以通过 DIAG_CFG_CTRL 寄存器中的 MUX_CFG[1:0] 位进行配置。DIAG_OUT 多路复用器可以通过 DIAG_CFG_CTRL 寄存器中的位 7 全局启用和禁用。在禁用时,DIAG_OUT 引脚处于高阻状态(三态)。

NOTE

如果在使用 SPI 通信时启用 DIAG_OUT 多路复用器,则在 NCS 引脚处于高电平并且 DIAG_OUT 多路复用器启用时 SDO 引脚未处于高阻抗状态。可能需要在应用中修改软件和硬件。对于硬件修改,如果使用电阻器来调节 SPI 总线上 SDO 引脚的电压电平或使用具有使能和三态输出的缓冲器门(如 SN74AHC1G125)以允许在 NCS 引脚处于高电平时下游 SDO 信号处于高阻抗状态(如果应用需要),则应检查 SDO 阈值电平,即使 DIAG_OUT 多路复用器启用也是如此。

模拟多路复用器 (AMUX)

Table 5-4 列出了 DIAG_OUT 引脚上的可选模拟内部信号。对于模拟多路复用器模式,必须在 DIAG_CFG_CTRL 寄存器中将 MUX_CFG[1:0] 位设置成 10b。

Table 5-4 模拟多路复用器选择表

信号
编号
电压轨

信号名称
说明 电源范围(2) 分压比
分压比精度(1) 输出电阻 (kΩ) DIAG_MUX_SEL[7:0]
最小值 最大值 最小值 最大值
A.1 VDD5 线性 VDD5 稳压器输出 5.8 至 34V 2 –2.25% 0.75% 20 50 0x01
A.2 VDD6 开关模式前置稳压器 5.8 至 34V 3 –3.75% 0.5% 30 100 0x02
A.3 VCP 电荷泵 5.8 至 18V 13.5 –6.25% 2.25% 90 200 0x04
5.8 至 34V –6.25% 4.75%
A.4 VSOUT1 传感器电源电压 5.8 至 34V 4 –0.5% 1.2% 40 100 0x08
A.5 VBAT_SAFING 用于监控 (VMON) 和 BG2 功能的电池(电源)输入 5.8 至 18V 10 –5% 0% 125 200 0x10
5.8 至 34V –5% 5.5%
A.6 VBATP 电池(电源)、主电源 5.8 至 18V 10 –5% 0% 125 200 0x20
5.8 至 34V –5% 5.5%
A.7 MAIN_BG 稳压器带隙基准 5.8 至 34V 1 N/A 3 15 0x40
A.8 VMON_BG 电压监控器带隙 5.8 至 34V 1 N/A 3 15 0x80
提供的精度不包含通过 DIAG_OUT 引脚消耗的直流负载电流。对于总体精度计算,必须考虑分压比精度和 IDIAG_OUT × 输出电阻导致的电压降。
电源范围是 VBATP 和 VBAT_SAFING (VBATP = VBAT_SAFING) 的输入电源范围。

如果分压比之后的某个 AMUX 信号的电压高于 VDDIO 电压,则钳位变为活动状态,以避免在 DIAG_OUT 引脚上产生任何高于 VDDIO 电压的电压电平。

为了以最快的速度使切换至 DIAG_OUT 引脚的信号达到稳定,不建议遵循从 A.1 一直到 A.8 的 AMUX 切换顺序。

建议从 A.8 开始按照从高电压到低电压的顺序进行切换,例如:A.8 – A.7 – A.1 – A.2 – A.3 – A.5 – A.6 – A.4。

NOTE

在该示例中传感器电源输出电压 (VSOUT1) 为 0V。如果 VSOUT1 电压较高,则必须更改前一示例中所述的切换顺序。

NOTE

在应用中,需要在 MCU 的 ADC 输入的输入电容器滤波器上使用一个电阻至少为 100kΩ 的串联电阻。

数字多路复用器 (DMUX)

以下各表列出了 DIAG_OUT 引脚上的可选数字内部信号。对于数字多路复用器模式,必须在 DIAG_CFG_CTRL 寄存器中将 MUX_CFG[1:0] 位清理成 01b。

这些信号中的大多数是可以影响器件状态以及 NRES 引脚和 ENDRV 引脚行为的内部错误信号。有关内部错误信号及其对器件行为影响的更详细信息,请参阅Table 5-2

Table 5-5 数字多路复用器选择表 – 第 1 组

信号编号 信号名称 说明 通道组
DIAG_MUX_SEL
[6:4]
通道编号
DIAG_MUX_SEL
[3:0]
D1.1 RSV 保留,逻辑 0 000b 0000b
D1.2 NAVDD_UV AVDD 欠压比较器输出(反相) 000b 0001b
D1.3 BG_ERR1 VMON 或主带隙关闭 000b 0010b
D1.4 BG_ERR2 VMON 或主带隙关闭 000b 0011b
D1.5 NVCP12_UV VCP12 电荷泵欠压比较器(反相) 000b 0100b
D1.6 VCP12_OV VCP12 电荷泵过压比较器 000b 0101b
D1.7 VCP17_OV VCP17 电荷泵过压比较器 000b 0110b
D1.8 NVDD6_UV VDD6 欠压比较器(反相) 000b 0111b
D1.9 VDD6_OV VDD6 过压比较器 000b 1000b
D1.10 NVDD5_UV VDD5 欠压比较器(反相) 000b 1001b
D1.11 VDD5_OV VDD5 过压比较器 000b 1010b
D1.12 NVDD3/5_UV VDD3/5 欠压比较器(反相) 000b 1011b
D1.13 VDD3/5_OV VDD3/5 过压比较器 000b 1100b
D1.14 NVDD1_UV VDD1 欠压比较器(反相) 000b 1101b
D1.15 VDD1_OV VDD1 过压比较器 000b 1110b
D1.16 LOCLK 系统时钟丢失比较器 000b 1111b

Table 5-6 数字多路复用器选择表 – 第 2 组

信号编号 信号名称 说明 通道组
DIAG_MUX_SEL
[6:4]
通道编号
DIAG_MUX_SEL
[3:0]
D2.1 RSV 保留,逻辑 0 001b 0000b
D2.2 SYS_CLK 系统时钟源 001b 0001b
D2.3 DFT 为生产测试保留的信号 001b 0010b
D2.4 WD_CLK 看门狗时钟基准(0.55ms 周期时间) 001b 0011b
D2.5 RST_EXT_CLK 复位延长振荡器输出 001b 0100b
D2.6 T_5US 5µs 时间基准 001b 0101b
D2.7 T_15US 15µs 时间基准 001b 0110b
D2.8 T_40US 40µs 时间基准 001b 0111b
D2.9 T_2MS 2ms 时间基准 001b 1000b
D2.10 UC_ERROR/WDI 外部 MCU ERROR/WDI 输入引脚 001b 1001b
D2.11 SPI_NCS SPI 片选输入引脚 001b 1010b
D2.12 SPI_SDI SPI 从数据输入引脚 001b 1011b
D2.13 SPI_CLK SPI 时钟输入引脚 001b 1100b
D2.14 SDO_RDBCK SPI 从数据输出引脚读回 001b 1101b
D2.15 UC_ERROR/WDI 与 D2.10 相同的信号 001b 1110b
D2.16 NRES_EXT_IN NRES 引脚读回(对外部 MCU 进行复位) 001b 1111b

Table 5-7 数字多路复用器选择表 – 第 3 组

信号编号 信号名称 说明 通道组
DIAG_MUX_SEL
[6:4]
通道编号
DIAG_MUX_SEL
[3:0]
D3.1 RSV 保留,逻辑 0 010b 0000b
D3.2 DFT 为生产测试保留的信号 010b 0001b
D3.3 DFT 为生产测试保留的信号 010b 0010b
D3.4 CP_OV 电荷泵过压比较器 010b 0011b
D3.5 NCP_UV 电荷泵欠压比较器(反相) 010b 0100b
D3.6 CP_PH1 电荷泵开关阶段 1 010b 0101b
D3.7 CP_PH2 电荷泵开关阶段 2 010b 0110b
D3.8 CP_DIFF3V 指示 VCP-VBATP > 3V 010b 0111b
D3.9 DFT 为生产测试保留的信号 010b 1000b
D3.10 NVBAT_UV VBAT 欠压比较器(反相) 010b 1001b
D3.11 VBATP_OV VBAT 过压比较器 010b 1010b
D3.12 VDD5_OT VDD5 过热 010b 1011b
D3.13 VDD3/5_OT VDD3/5 过热 010b 1100b
D3.14 VSOUT1_OT VSOUT1 过热 010b 1101b
D3.15 VDD5_CL VDD5 电流限制 010b 1110b
D3.16 VDD3_CL VDD3 电流限制 010b 1111b

Table 5-8 数字多路复用器选择表 – 第 4 组

信号编号 信号名称 说明 通道组
DIAG_MUX_SEL
[6:4]
通道编号
DIAG_MUX_SEL
[3:0]
D4.1 RSV 保留,逻辑 0 011b 0000b
D4.2 VSOUT1_CL VSOUT1 电流限制 011b 0001b
D4.3 NVSOUT1_UV VSOUT1 欠压比较器(反相) 011b 0010b
D4.4 VSOUT1_OV VSOUT1 过压比较器 011b 0011b
D4.5 NDVDD_UV DVDD 欠压比较器(反相) 011b 0100b
D4.6 DVDD_OV DVDD 过压比较器 011b 0101b
D4.7 RSV 保留 011b 0110b
D4.8 VS_TRK_MODE VSOUT1 处于跟踪模式指示 011b 0111b
D4.9 VMON_TRIM_ERR VMON 调整错误 011b 1000b
D4.10-16 RSV 保留 011b 1001b-1111b

Table 5-9 数字多路复用器选择表 – 第 5 组

信号编号 信号名称 说明 通道组
DIAG_MUX_SEL
[6:4]
通道编号
DIAG_MUX_SEL
[3:0]
D5.1 RSV 保留,逻辑 0 111b 0000b
D5.2 TI_TEST_MODE TI 生产测试模式指示 111b 0001b
D5.3-16 DFT 为生产测试保留的信号 111b 0010b-1111b

SDO 数字输出引脚上的诊断检查也可以在 DMUX 模式下执行。对于该诊断检查,需要执行以下序列:

  1. 对于数字多路复用器模式,MUX_CFG[1:0] 配置必须设置为 01b。
  2. SPI NCS 必须保持在高电平。
  3. SDO 引脚的状态由 SPI_SDO 位(DIAG_CFG_CTRL 寄存器中的 D6 位)进行控制。

在 SDO 引脚上执行该 SDO 检查期间,如果未选择“数字多路复用器选择”表中的任何信号,则 DIAG_OUT 引脚保持低电平。

诊断多路复用器输出状态(通过 MUX_OUT 位)

对于 DIAG_OUT 引脚和 MCU 模拟/数字输入引脚之间的诊断互连检查,DIAG_OUT 引脚的状态通过 DIAG_CFG_CTRL 寄存器中的 SPI 位 MUX_OUT 进行控制。要使用该模式,必须在 DIAG_CFG_CTRL 寄存器中将 MUX_CFG[1:0] 位设置成 00b。

多路复用器互连检查

为了在数字输入引脚(ERROR/WDI、NCS、SDI 和 SCLK)上执行诊断互连检查,必须将 DIAG_CFG_CTRL 寄存器中的 MUX_CFG[1:0] 位设置为 11b。DIAG_CFG_CTRL 寄存器中的 INT_CON[2:0] 位可以选择将其中的哪些数字输入多路复用至 DIAG_OUT 引脚 (请 参阅Section 5.5.1中的 DIAG_CFG_CTRL 寄存器)。

看门狗计时器 (WD)

看门狗监视 MCU 是否正常运行。该看门狗需要 MCU 以特定的时间间隔发出特定的触发或消息,以检测 MCU 是否正常运行。当看门狗检测到 MCU 正常运行时,MCU 可以通过 ENABLE_DRV 位控制 ENDRV 引脚的逻辑电平。当看门狗检测到 MCU 未正常运行时,器件会将 ENDRV 引脚拉低。该 ENDRV 引脚可以在应用中用作控制信号,用于在 MCU 未正常运行时停用电源输出级(例如电机驱动器)。因此该功能称为看门狗启用功能。

看门狗具有两种不同的模式,其定义如下:

    触发模式: 在触发模式下,MCU 在 ERROR/WDI 引脚上施加触发(脉冲)以发送触发模式所需的看门狗事件。当器件从复位状态转至诊断状态时,看门狗默认以触发模式运行。当看门狗以触发模式运行时,不应使用 MCU 错误信号监控器 (ESM)。
    问答模式(Q&A 模式): 在 Q&A 模式下,MCU 通过 SPI 发送看门狗应答。

要选择 Q&A 模式,MCU 必须在处于诊断状态时在安全功能配置寄存器 (SAFETY_FUNC_CFG) 中设置 WD_CFG 位(位 5)。当看门狗以 Q&A 模式运行时,可以使用 MCU 错误信号监控器 (ESM)。

看门狗失效计数器、状态和失效事件

看门狗包含看门狗失效计数器 (WD_FAIL_CNT[2:0]),该计数器的值会因不良事件 的增加而递增或因良好事件 的增加而递减。当看门狗失效计数器的值大于等于 5 时,看门狗处于超范围状态并且 ENDRV 引脚处于低电平(看门狗启用功能禁用)。

当看门狗失效计数器小于等于 4 时,看门狗处于在范围内状态并且看门狗不再禁用看门狗启用功能。在这种情况下,在设置 ENABLE_DRV 控制位(在 SAFETY_CHECK_CTRL 寄存器中)或器件未检测到其他影响 ENDRV 引脚电平的错误时器件会上拉 ENDRV 引脚。

看门狗失效计数器独立于 SAFETY_FUNC_CFG 寄存器中看门狗复位配置位(位 3)WD_RST_EN 的状态运行。

看门狗失效计数器的响应方式如下:

  • 每发生一个良好事件,将失效计数器递减一,一直到最小值零。
  • 每发生一个不良事件,将失效计数器递增一,一直到最大值七。
  • 每发生一个超时事件,将失效计数器增加一,一直到最大值七,并设置 TIME_OUT 标志(WD_STATUS 寄存器位 1)。

Section 5.4.14Section 5.4.15中列出了良好事件不良事件超时事件 的定义。

TPS65381A-Q1 Watch_En_lvsbc4.gif Figure 5-5 看门狗对 ENDRV 和复位的影响

Table 5-10 不同看门狗失效计数器值范围的对应看门狗状态

看门狗失效计数器
WD_FAIL_CNT[2:0]
000b 至 100b 101b 至 111b 111b
看门狗状态基于 WD_FAIL_CNT[2:0] 值。 看门狗在范围内 看门狗超出范围 如果 WD_RST_EN 位设置为 1,则 NRES 引脚被拉低,器件在下次接收到“不良”或“超时”事件时处于复位状态

当器件进入诊断状态(在经历复位状态之后)时以及器件从诊断状态转换至活动状态时,看门狗失效计数器初始化至计数 5。

当看门狗失效计数器达到计数 7 时,另一个不良事件不会更改计数器:计数器保持为 7。不过,如果看门狗复位启用(SAFETY_FUNC_CFG 寄存器中的 WD_RST_EN 位设置为 1),则在下次发生不良事件超时事件 (7 + 1) 时器件会进入复位状态并且通过拉低 NRES 引脚使 MCU 复位。在复位状态下,看门狗失效计数器会重新初始化为 5。如果在 WD_RST_EN 位设置为 1 时看门狗失效计数器为七,则器件无需另一个不良事件超时事件 即会立即进入复位状态。

看门狗序列

每个看门狗序列以窗口 1 开始,后跟窗口 2。当器件处于诊断状态时,MCU 可以分别使用 WD_WIN1_CFG 和 WD_WIN2_CFG 寄存器对窗口 1 的时间周期 (tWIN1) 和窗口 2 的时间周期 (tWIN2) 进行编程。当器件从复位状态转至诊断状态时,看门狗序列以默认的 tWIN1 和 tWIN2 时间周期开始。

使用Equation 1Equation 2 来计算 tWIN1 时间周期的最小值和最大值。使用Equation 3Equation 4 来计算 tWIN2 时间周期的最小值和最大值。

Equation 1. tWIN1_MIN = [(RT[6:0] – 1) × 0.55 × 0.95] ms

where

  • RT[6:0] 位位于 WD_WIN1_CFG SPI 寄存器中。
Equation 2. tWIN1_MAX = (RT [6:0] × 0.55 × 1.05) ms

where

  • RT[6:0] 位位于 WD_WIN1_CFG SPI 寄存器中。
Equation 3. tWIN2_MIN = [(RW[4:0] + 1) × 0.55 × 0.95] ms

where

  • RW[4:0] 位位于 WD_WIN2_CFG SPI 寄存器中。
Equation 4. tWIN2_MAX = [(RW[4:0] + 1) × 0.55 × 1.05] ms

where

  • RW[4:0] 位位于 WD_WIN2_CFG SPI 寄存器中。

如果 MCU 在看门狗序列期间停止发送事件 或停止对看门狗进行喂狗,则看门狗会将该缺少来自 MCU 的响应的情况视为超时事件无响应事件)。这会设置 TIME_OUT 状态位(WD_STATUS 寄存器中的位 1)并使看门狗失效计数器递增。下一个看门狗序列会紧随超时事件 启动。

基于窗口 1 和窗口 2 时间周期,看门狗序列和超时时间周期的计算方法如下:

Equation 5. tSEQUENCE_MIN = tTIMEOUT_MIN = tWIN1_MIN + tWIN2_MIN
Equation 6. tSEQUENCE_MAX = tTIMEOUT_MAX = tWIN1_MAX + tWIN2_MAX

看门狗使用器件的内部系统时钟(±5% 精度)作为用于创建 0.55ms 看门狗时间阶跃的时间基准。窗口 1 可能最多比编程的值短一个 0.55ms 看门狗时间阶跃,如Equation 1 中所示。

NOTE

由于窗口 1 和窗口 2 时间周期的不确定性,TI 建议为窗口 1 和窗口 2 使用值为二或更高的设置。窗口 2 可以设置为低至一(假设窗口 1 设置为六或更低)。MCU 的响应应指向窗口 2 的已知计时的中点。随着窗口 1 设置增加至高于六,与窗口 2 中的设置一相比,器件系统时钟容差 (±5%) 将变大,从而不允许在窗口 2 中使用响应的已知时间范围,因此必须根据窗口 1 调节窗口 2 设置,以便允许计时裕量。

MCU 与看门狗的同步

要使 MCU 与看门狗序列同步,MCU 可以向 WIN1_CFG 或 WIN2_CFG 寄存器进行写入以启动新的看门狗序列。在 MCU 对 WIN1_CFG 或 WIN2_CFG 寄存器进行写入访问(即使在这些寄存器已锁定或器件处于活动或安全状态时)之后,器件会立即启动新的看门狗序列并使看门狗失效计数器递增。因此,对 WD_WIN1_CFG 或 WD_WIN2_CFG 寄存器的写入访问仅在该新的看门狗序列中生效。

当 MCU 与看门狗序列同步后,来自 MCU 的良好事件 会立即启动一个新的看门狗序列。这样,MCU 就会与该看门狗序列保持同步。

有关如何将 MCU 与 TPS65381A-Q1 看门狗进行同步的示例软件流程图,请参阅Figure 6-11

触发模式(默认模式)

当器件从复位状态转至诊断状态时,看门狗以触发模式(默认模式)运行。第一个看门狗序列以默认的 tWIN1 和 tWIN2 时间周期开始。看门狗在 ERROR/WDI 引脚上接收来自 MCU 的触发。如果 ERROR/WDI 引脚上产生一个上升沿,然后在经过长于所需脉冲时间 tWD_pulse(max) (32μs) 的时间后在 ERROR/WDI 引脚上产生一个下降沿,那么这就是一个触发。即使具有较长持续时间的先高后低波形也会被计为触发(如果上升沿和下降沿符合该要求)。

窗口 1(称为关闭窗口)是看门狗序列中的第一个窗口。在窗口 1 中接收到的触发是不良事件,会终止窗口 1,启动新的看门狗序列并设置 ANSWER_EARLY 标志。

窗口 2(称为打开窗口)紧随窗口 1。窗口 2 至少持续到接收触发。窗口 2 至多持续到编程设定的 tWIN2 时间。在窗口 2(打开)中接收到的触发是良好事件。看门狗在窗口 2 中接收到触发后,新的看门狗序列会立即开始。

如果 MCU 在看门狗序列期间停止发送触发,则看门狗会将该缺少来自 MCU 的响应的情况视为超时事件无响应事件)。这会设置 TIME_OUT 状态位(WD_STATUS 寄存器中的位 1)并使看门狗失效计数器递增。新的看门狗序列会紧随超时事件 启动。

TIME_OUT 标志有助于 MCU 软件将看门狗触发脉冲事件与所需的器件看门狗计时同步。在以这种方式进行同步时,MCU 会检测所设置的 TIME_OUT 标志。所设置的 TIME_OUT 标志指示超时事件 和新看门狗序列启动。MCU 应该发送带计时功能的触发,以便触发处于该新看门狗序列的窗口 2(打开)中。

NOTE

如果在发生超时事件 时存在活动 SPI 帧(nCS 为低电平),则不会在 WD_STATUS 寄存器中锁存(设置)TIME_OUT 标志,但看门狗失效计数器仍会递增。由于 TIME_OUT 标志未锁存,因此这会影响 MCU 的重新同步功能和状态监控。建议使用Section 5.4.13中所述的同步过程。

在触发模式下,看门狗使用具有 tWD_pulse 滤波器时间的抗尖峰脉冲滤波器和内部系统时钟来创建内部生成的看门狗脉冲(请参阅Figure 5-6Figure 5-7)。

ERROR/WDI 引脚上的触发的上升沿必须至少在窗口 2(打开)终止之前的 tWD_pulse(max) 时间发生,以生成良好事件。

当器件处于诊断状态时,窗口 1(关闭)和窗口 2(打开)的窗口持续时间可以通过 WD_WIN1_CFG 和 WD_WIN2_CFG 寄存器进行编程。在触发模式下,窗口持续时间如下:

Equation 7. tWCW_MIN(触发模式)= tWIN1_MIN

where

  • WCW 是看门狗关闭窗口
Equation 8. tWCW_MAX(触发模式)= tWIN1_MAX

where

  • WCW 是看门狗关闭窗口
Equation 9. tWOW_MIN(触发模式)= tWIN2_MIN

where

  • WOW 是看门狗打开窗口
Equation 10. tWOW_MIN(触发模式)= tWIN2_MIN

where

  • WOW 是看门狗打开窗口

使用Equation 1Equation 2 来计算 tWIN1 = tWCW 时间周期的最小值和最大值。使用Equation 3Equation 4 来计算 tWIN2 = tWOW 时间周期的最小值和最大值。

立即向 WD_WIN1_CFG 或 WD_WIN2_CFG 寄存器写入新的窗口 1 或窗口 2 时间会开始新的看门狗序列并使看门狗失效计数器递增。即使在 WD_WIN1_CFG 寄存器和 WD_WIN2_CFG SPI 寄存器锁定时写入也会启动新的看门狗序列,因为器件未处于诊断状态或 SPI 命令 SW_LOCK 阻止对寄存器值进行写入更新。

如果在窗口 2(打开)窗口期间接收,则看门狗触发事件被视为良好事件,如果在窗口 1(关闭)窗口期间接收,则被视为不良事件良好事件 会终止当前看门狗序列并启动新的看门狗序列,因此 MCU 和器件看门狗计时会保持同步。

良好事件不良事件超时事件、上电事件或断电事件会终止当前看门狗序列并启动新的看门狗序列。

TPS65381A-Q1 Watch_Seq_Tim1_A_lvsbc4.gif
在窗口 2 中接收到良好事件 时,会在 1 个系统时钟周期(典型值 250ns)之后开始下一个看门狗序列。因此,窗口 2 的实际长度取决于 MCU 何时发送良好事件
Figure 5-6 触发模式下良好事件的示范案例
TPS65381A-Q1 Watch_Seq_Tim1_B_lvsbc4.gif
在发生超时事件 时,会在 1 个系统时钟周期(典型值 250ns)之后开始下一个看门狗序列。
默认情况下 WD_RST_EN = 0。要启用在 WD_FAIL_CNT[2:0] = 7 +1 时通过看门狗进行复位,WD_RST_EN 必须设置为 1。WD_FAIL_CNT[2:0] = 7 +1 表示法意味着如果在 WD_RST_EN = 1 时 WD_FAIL_CNT[2:0] = 7,则下一个 (+ 1) 不良事件超时事件 将导致转换至复位状态。不过,当 WD_RST_EN = 0 时,WD_FAIL_CNT[2:0] 计数器不会递增至超过 7,并且看门狗不会导致转换至复位状态。
在窗口 1 中接收到不良事件 时,会在 1 个系统时钟周期(典型值 250ns)之后开始下一个看门狗序列。因此,窗口 1 的实际长度取决于 MCU 何时发送不良事件
Figure 5-7 触发模式下不良事件超时事件 的示范案例

Q&A 模式

在器件处于诊断状态时将 SAFETY_FUNC_REG 寄存器中的 WD_CFG 位设置为 1 可以将看门狗配置为 Q&A(问答)模式。在 Q&A 模式下,器件会在 WD_TOKEN_VALUE 寄存器中向 MCU 提供问题(或令牌)。MCU 会对问题执行一系列固定的算术运算,以计算所需的 32 位应答。该应答分为四个应答字节或响应。MCU 通过 SPI 以一次一个字节的方式将这些应答字节写入 WD_ANSWER 寄存器。器件验证 MCU 是否在指定的计时窗口内返回了应答字节以及应答字节是否正确。

当 MCU 在正确的看门狗窗口内按照正确的顺序发送针对当前问题计算的正确应答后,会发生良好事件

发生以下事件之一时会发生不良事件

  • MCU 发送正确的应答字节,但不在正确的看门狗窗口中。
  • MCU 发送的应答字节计算错误。
  • MCU 以错误的顺序(序列)返回正确的应答字节。

如果 MCU 在看门狗序列期间停止发送应答字节,则看门狗会将该缺少来自 MCU 的响应的情况视为超时事件无响应事件)。这会设置 TIME_OUT 状态位(WD_STATUS 寄存器中的位 1)并使看门狗失效计数器递增。新的看门狗序列会紧随超时事件 启动。

TIME_OUT 标志有助于 MCU 软件将看门狗应答计时与所需的器件看门狗计时同步。在以这种方式进行同步时,MCU 会检测所设置的 TIME_OUT 标志。所设置的 TIME_OUT 标志指示超时事件 和新看门狗序列启动。MCU 应该发送带计时功能的应答字节,以便它们处于新看门狗序列的正确窗口中。

NOTE

如果在发生超时事件 时存在活动 SPI 帧(nCS 为低电平),则不会在 WD_STATUS 寄存器中锁存(设置)TIME_OUT 标志,但看门狗失效计数器仍会递增。由于 TIME_OUT 标志未锁存,因此这会影响 MCU 的重新同步功能和状态监控。建议使用Section 5.4.13中所述的同步过程。

NOTE

在 Q&A 模式下,每个看门狗序列都以窗口 1(打开)开始,后跟窗口 2(关闭)。相对于触发模式而言,针对 Q&A 模式出现的打开和关闭是颠倒的,但窗口 1 和窗口 2 的顺序与包含每个窗口的设置的寄存器(WD_WIN1_CFG 和 WD_WIN2_CFG)相同。

看门狗 Q&A 相关定义

Q&A 模式定义如下:

    问题(令牌) 问题(令牌)是一个 4 位字(请参阅Section 5.4.15.3)。

    当 MCU 从 WD_TOKEN_VALUE 寄存器读取问题 (TOKEN[3:0]) 时,看门狗向 MCU 提供问题(令牌)。

    MCU 可以在看门狗序列开始时请求每个新问题(令牌),但这对于计算应答而言不是必需的。MCU 还可以通过实现问题生成电路来生成问题,如Figure 5-9 中所示。不过,问题(从而以及应答)字节始终基于在器件的看门狗内部生成的问题。因此,如果 MCU 生成错误的问题并且提供通过错误的问题计算出的应答字节,那么看门狗会检测到不良事件

    仅当在前一个看门狗序列中发生良好事件,从而使令牌计数器(内部计数器)递增并生成新问题(令牌)时,才会生成新问题(令牌),如Figure 5-9 中所示。

    应答(响应) 应答(响应)是 32 位字,分为四个应答字节或响应:应答 3 (WD_TOKEN_RESP_3)、应答 2 (WD_TOKEN_RESP_2)、应答 1 (WD_TOKEN_RESP_1) 和应答 0 (WD_TOKEN_RESP_0)。

    当 MCU 对看门狗应答寄存器(WD_ANSWER 寄存器中的 WD_ANSW[7:0] 位)进行写入时,看门狗会接收应答字节。

    对于每个问题,看门狗要求 MCU 以正确的计时和顺序(序列)提供四个正确的应答字节。应答 3、应答 2 和应答 1 可以按照正确的顺序位于窗口 1 或窗口 2 中,而应答 0 必须位于窗口 2 中,这样才能被检测为良好事件

Q&A 模式下的看门狗序列

在 MCU 写入第四个应答字节应答 0 (WD_TOKEN_RESP_0) 之后或在发生超时事件之后,Q&A 模式下的看门狗序列将终止。前一个看门狗序列终止之后,新的看门狗序列将启动。

当器件处于诊断状态时,窗口 1(打开)和窗口 2(关闭)的窗口持续时间可以通过 WD_WIN1_CFG 和 WD_WIN2_CFG 寄存器进行编程。在 Q&A 模式下,窗口持续时间如下:

Equation 11. tWOW_MIN(Q&A 模式)= tWIN1_MIN

where

  • WOW 是看门狗打开窗口
Equation 12. tWOW_MAX(Q&A 模式)= tWIN1_MAX

where

  • WOW 是看门狗打开窗口
Equation 13. tWCW_MIN(Q&A 模式)= tWIN2_MIN

where

  • WCW 是看门狗关闭窗口
Equation 14. tWCW_MIN(Q&A 模式)= tWIN2_MIN

where

  • WCW 是看门狗关闭窗口

使用Equation 1Equation 2 来计算 tWIN1 = tWOW 时间周期的最小值和最大值。使用Equation 3Equation 4 来计算 tWIN2 = tWCW 时间周期的最小值和最大值。

立即向 WD_WIN1_CFG 或 WD_WIN2_CFG 寄存器写入新的窗口 1 或窗口 2 时间会开始新的看门狗序列并使看门狗失效计数器递增。即使在 WD_WIN1_CFG 寄存器和 WD_WIN2_CFG SPI 寄存器锁定时写入也会启动新的看门狗序列,因为器件未处于诊断状态或 SPI 命令 SW_LOCK 阻止对寄存器值进行写入更新。

TPS65381A-Q1 WDT_Token_Source_lvsbc4.gif
MCU 无需读取问题(令牌)。在窗口 1 或窗口 2 的任何位置,MCU 都可以开始提供正确的应答字节应答 3、应答 2、应答 1。只要应答是良好事件,就会在最后的应答 0 之后的 1 个系统时钟周期内生成新的问题(令牌)并启动新的看门狗序列。不良事件超时事件 会导致启动新的看门狗序列,不过不会生成新的问题(令牌)。
MCU 可能会在 WR_WD_ANSWER 命令之间放置其他 SPI 命令(即使重新请求问题也是如此)。只要四个正确的应答字节遵循正确的顺序并且第四个正确的应答字节在窗口 2 中提供,那么这些 SPI 命令对良好事件 检测就没有影响。
Figure 5-8 Q&A 模式下的看门狗序列

问题(令牌)生成

看门狗使用 4 位令牌计数器(Figure 5-9 中的 TOKEN_CNT[3:0] 位)和 4 位马尔可夫链来生成 4 位问题(令牌)。MCU 可以在 WD_TOKEN_VALUE 寄存器 TOKEN[3:0] 位中读取该问题。当令牌计数器递增时,看门狗会生成新的问题,这仅在看门狗检测到良好事件 时发生。当看门狗检测到不良事件超时事件 时,它不会生成新的问题。对于在 MCU 对 WD_WIN1_CFG 或 WD_WIN2_CFG 寄存器进行写入之后启动的看门狗序列,看门狗不会生成新的问题。

当令牌计数器从 1111b 转换为 0000b 时,它会向马尔可夫链提供一个时钟脉冲。当器件完成 LBIST(在从复位转换至诊断状态时进行手动 LBIST 运行或自动 LBIST 运行)后,问题计数器和马尔可夫链将设置为奇异默认值 0000b。为了离开奇异点,实施了反馈逻辑组合。

Figure 5-9 显示了用于问题(令牌)生成的逻辑组合。问题位于 WD_TOKEN_VALUE 寄存器 TOKEN[3:0] 位中。

令牌计数器与 WD_ANSW_CNT[1:0] 状态位(位于 WD_STATUS 寄存器中)的逻辑组合可生成参考应答字节,如Figure 5-9 中所示。

TPS65381A-Q1 Watchdog_Token_Gen_SLVSBC4.gif
值 0000b 是特殊种子,等于 0001b,在上电期间包含默认负载 0000b。
Figure 5-9 看门狗问题(令牌)生成
TPS65381A-Q1 Watchdog_Token_Calc_lvsbc4.gif Figure 5-10 看门狗应答计算

应答比较和参考应答

2 位看门狗应答计数器 WD_ANSW_CNT[1:0](位于 WD_STATUS 寄存器中)会对接收到的应答字节数进行计数并控制参考应答 x 字节的生成,如Figure 5-10 中所示。在每个看门狗序列的开始,WD_ANSW_CNT[1:0] 的默认值为 11b,该值指示看门狗期望 MCU 在 WD_ANSWER 寄存器中写入应答 3 (WD_RESP_3)。

2 位看门狗应答计数器的序列

对于每个计数器值,2 位看门狗应答计数器 WD_ANSW[1:0] 的序列如下:

  • WD_ANSW_CNT[1:0] = 11b:
    • 看门狗计算参考应答 3
    • 发生写入访问:MCU 在 WD_ANSWER 寄存器中写入应答 3 (WD_TOKEN_RESP_3) 字节。
    • 看门狗将参考应答 3 与 WD_ANSWER 寄存器中的应答 3 字节进行比较。
    • 看门狗将 WD_ANSW_CNT[1:0] 位递减至 10b 并更新 ANSWER_ERR 标志位。
  • WD_ANSW_CNT[1:0] = 10b:
    • 看门狗计算参考应答 2
    • 发生写入访问:MCU 在 WD_ANSWER 寄存器中写入应答 2 (WD_TOKEN_RESP_2) 字节。
    • 看门狗将参考应答 2 与 WD_ANSWER 寄存器中的应答 2 字节进行比较。
    • 看门狗将 WD_ANSW_CNT[1:0] 位递减至 01b 并更新 ANSWER_ERR 标志位。
  • WD_ANSW_CNT[1:0] = 01b:
    • 看门狗计算参考应答 1
    • 发生写入访问:MCU 在 WD_ANSWER 寄存器中写入应答 1 (WD_TOKEN_RESP_1) 字节。
    • 看门狗将参考应答 1 与 WD_ANSWER 寄存器中的应答 1 字节进行比较。
    • 看门狗将 WD_ANSW_CNT[1:0] 位递减至 00b 并更新 ANSWER_ERR 标志位。
  • WD_ANSW_CNT[1:0] = 00b:
    • 看门狗计算参考应答 0
    • 发生写入访问:MCU 在 WD_ANSWER 寄存器中写入应答 0 (WD_TOKEN_RESP_0) 字节。
    • 看门狗将参考应答 0 与 WD_ANSWER 寄存器中的应答 0 字节进行比较。
    • 看门狗更新 ANSWER_ERR 标志位。
    • 看门狗启动新的看门狗序列并将 WD_ANSW_CNT[1:0] 设置为 11b。

Table 5-11 使用 WD_TOKEN_FDBK 寄存器的默认设置来设置问题(令牌)和相应的应答字节

WD_TOKEN_VALUE 寄存器中的问题(令牌) WD 应答(将要写入 WD_ANSW 寄存器)
应答 3 (WD_TOKEN_RESP_3) 应答 2 (WD_TOKEN_RESP_2) 应答 1 (WD_TOKEN_RESP_1) 应答 0 (WD_TOKEN_RESP_0)
令牌 [3:0] WD_ANSW_CNT
[1:0] = 11b
WD_ANSW_CNT
[1:0] = 10b
WD_ANSW_CNT
[1:0] = 01b
WD_ANSW_CNT
[1:0] = 00b
0h FFh 0Fh F0h 00h
1h B0h 40h BFh 4Fh
2h E9h 19h E6h 16h
3h A6h 56h A9h 59h
4h 75h 85h 7Ah 8Ah
5h 3Ah CAh 35h C5h
6h 63h 93h 6Ch 9Ch
7h 2Ch DCh 23h D3h
8h D2h 22h DDh 2Dh
9h 9Dh 6Dh 92h 62h
Ah C4h 34h CBh 3Bh
Bh 8Bh 7Bh 84h 74h
Ch 58h A8h 57h A7h
Dh 17h E7h 18h E8h
Eh 4Eh BEh 41h B1h
Fh 01h F1h 0Eh FEh

看门狗 Q&A 模式序列事件和 WD_STATUS 寄存器更新

对于列出的不同情形,看门狗序列事件如下:

  • 当所有应答字节的值正确(ANSWER_ERR 位清零)并且时序也正确时,会发生良好事件。对于此类良好事件,会发生以下事件:
    • 看门狗失效计数器 WD_FAIL_CNT[2:0] 递减一。
    • 令牌计数器递增一,从而导致生成新的问题(令牌)。
    • SEQ_ERR 位复位。
    • ANSWER_EARLY 位复位。
  • 当所有应答字节的值正确(ANSWER_ERR 位清零)但时序不正确时,会发生不良事件。对于此类不良事件,会发生以下事件:
    • 看门狗失效计数器 WD_FAIL_CNT[2:0] 递增一。
    • 令牌计数器不变,因此问题(令牌)不变。
    • 设置 SEQ_ERR 位。
    • 设置 ANSWER_EARLY 位。
  • 当一个或多个应答字节的值不正确(ANSWER_ERR 位设置为 1)但时序正确时,会发生不良事件。对于此类不良事件,会发生以下事件:
    • 看门狗失效计数器 WD_FAIL_CNT[2:0] 递增一。
    • 令牌计数器不变,因此问题(令牌)不变。
    • 设置 SEQ_ERR 位。
    • 设置 ANSWER_EARLY 位。
  • 当一个或多个应答字节的值不正确(ANSWER_ERR 状态位设置为 1)并且时序不正确时,会发生不良事件。对于此类不良事件,会发生以下事件:
    • 看门狗失效计数器 WD_FAIL_CNT[2:0] 递增一。
    • 令牌计数器不变,因此问题(令牌)不变。
    • 设置 SEQ_ERR 位。
    • 设置 ANSWER_EARLY 位。
  • 如果发生超时事件,则会发生以下事件:
    • 看门狗失效计数器 WD_FAIL_CNT[2:0] 递增一。
    • 令牌计数器不变,因此问题(令牌)不变。
    • 设置 TIME_OUT 位。
  • 如果 MCU 对寄存器 WD_WIN1_CFG 或 WD_WIN2_CFG 进行写入,则会发生以下事件:
    • 看门狗失效计数器 WD_FAIL_CNT[2:0] 递增一。
    • 设置 WD_CFG_CHG 位。

Table 5-12 WD_STATUS 位与可能的看门狗序列事件

看门狗序列事件 WD_STATUS 寄存器位
所有 MCU 应答字节是否都正确? 应答 0 在窗口 2(关闭)期间到达 应答 0 在窗口 1(打开)期间到达 在等待应答时是否发生超时? 窗口 1 或窗口 2 持续时间是否更改? WD_CFG_CHG SEQ_ERR TIME_OUT ANSWER_EARLY
0 0 0 0
0 0 0 1
0 1 0 0
0 1 0 1
是(前 3 个应答 x) 0 0 1 0
0 1 1 0
1 0 0 0

MCU 错误信号监控器 (MCU ESM)

该模块通过 ERROR/WDI 输入引脚来监控从外部 MCU 发送至器件的错误情况。MCU ESM 可配置为监视两个不同的信号,具体取决于监视哪个功能安全架构 MCU 系列以及特定的 MCU 系列如何在错误或故障输出引脚上指示不正常的运行。MCU ESM 模式可通过 SAFETY_FUNC_CFG 寄存器中的 ERROR_CFG 位进行选择。

在 TMS570 模式下,ESM 检测具有可编程低电平脉冲持续时间阈值的低电平脉冲信号(请参阅Section 5.4.16.1)。当 ERROR_CFG 位设置为 1 时会选择该模式。在 PWM 模式下,ESM 检测具有可编程频率和占空比的 PWM 信号(请参阅Section 5.4.16.2)。当 ERROR_CFG 位清零(默认设置)时会选择该模式。PWM 模式可用作外部时钟监控器功能。

默认情况下 MCU ESM 处于停用状态。要将其激活,请将 SAFETY_CHECK_CTRL 寄存器中的 NO_ERROR 位清零。

NOTE

建议仅当看门狗配置为 Q&A 模式时才激活 MCU ESM,否则 ERROR/WDI 引脚会用于看门狗触发输入和 MCU 信号发送。

低电平信号发送持续时间阈值(对于 TMS570 模式)或预期的低电平脉冲持续时间(对于 PWM 模式)可通过 SAFETY_ERR_PWM_L 寄存器进行设置。预期的 PWM 高电平脉冲持续时间(对于 PWM 模式)可通过 SAFETY_ERR_PWM_H 寄存器进行设置。当 SAFETY_ERR_STAT 寄存器中的 ERROR_PIN_FAIL 位设置为 1 时,会指示检测到的 MCU 信号发送错误。

NOTE

SAFETY_ERR_PWM_x 寄存器更新(仅在诊断模式下可行)会立即生效。因此,如果 MCU 向 SAFETY_ERR_PWM_x 写入小于当前脉冲持续时间计数器值的新值,则 MCU ESM 会立即在 ERROR/WDI 引脚上检测到错误情况。然后脉冲持续时间计数器会重新初始化为 0 并将 ERROR_PIN_FAIL 位设置为 1。

TPS65381A-Q1 器件处于诊断状态时,MCU 可以对信号发送错误进行仿真(仿真故障注入),从而通过在 NO_ERROR 位清零(MCU ESM 启用)时检查 ERROR_PIN_FAIL 位的状态对错误信号监控器进行诊断检查(无需转换至安全状态)。

NOTE

要在处于诊断状态时对引脚执行 MCU ESM 诊断检查,可以使用以下过程。ERROR/WDI 引脚是边沿触发型引脚。

  1. 通过在 SAFETY_ERR_STAT 寄存器中将 ERROR_PIN_FAIL 位清零来清除该位。
  2. 确认当 MCU ESM 启用时 ERROR_PIN_FAIL 位未复位至 1。
  3. 在 ERROR/WDI 引脚上注入特定于 MCU ESM 运行模式的故障。
  4. 确认即使 ENABLE_DRV 位设置为 1 ERROR_PIN_FAIL 位也设置为 1 并且 ENDRV 引脚处于低电平。
  5. 删除注入的故障。
  6. 写入 0 以清除 ERROR_PIN_FAIL 位。
  7. 通过读回 SAFETY_ERR_STAT 寄存器来确认 ERROR_PIN_FAIL 位已清除。
  8. 确认当 ENABLE_DRV 位设置为 1 时 ENDRV 引脚返回高电平(假设不存在其他阻止 ENDRV 为高电平的情况)(请参阅Figure 5-14)。

TPS65381A-Q1 器件处于活动状态时,监测到的 MCU 信号发送错误会导致转换至安全状态。专用 4 位错误计数器(SAFETY_ERR_STAT 寄存器中的 DEV_ERR_CNT[3:0] 位)对从活动状态到安全状态的转换进行计数。

该模块处于逻辑 BIST (LBIST) 覆盖范围之内。

TMS570 模式

当 ERROR/WDI 引脚处于低电平的时间长于由 SAFETY_ERR_PWM_L 寄存器以编程方式设置的时长时,会检测到错误情况。可编程时间范围为 5µs 至 1.28ms(典型值),阶跃为 5µs (±5%)。

必须根据 TMS570 MCU 检测错误或故障以及可能从错误或故障恢复或更正错误或故障所需的最长时间将 SAFETY_ERR_PWM_L 寄存器设置为所需的值。

低电平持续时间如下:

Equation 15. tTMS570_LOW_MIN = (PWML[7:0]) × 5µs × 0.95
Equation 16. tTMS570_LOW_MAX= (PWML[7:0] + 1) × 5µs × 1.05

使用Equation 15Equation 16 来计算低电平持续时间 tTMS570_LOW 的最小值和最大值。Figure 5-11 显示了错误检测案例情形。

NOTE

SAFETY_ERR_PWM_L 寄存器 (PWML[7:0]) 应配置为寄存器中最低为 1 (01h)。

ERROR/WDI 引脚上的低电平脉冲监控实现方式如下:

  • 当 NO_ERROR 位清零后,ERROR/WDI 引脚上的每个下降沿都会在一个系统时钟周期 (250ns ±5%) 内将低电平脉冲持续时间计数器重新初始化为 0。
  • 在重新初始化之后,低电平脉冲计数器会在一个系统时钟周期 (250ns ±5%) 之后重新启动。
  • 只要 ERROR/WDI 引脚处于低电平,低电平脉冲持续时间计数器就会每 5µs(精度为 ±5%)递增一次。ERROR/WDI 引脚上的上升沿会停止低电平脉冲持续时间计数器。
  • 当低电平脉冲持续时间计数器等于 SAFETY_ERR_PWM_L 寄存器设置时,会检测到一个错误。

在检测到 MCU 信号发送错误之后,会在一个系统时钟周期 (250ns ± 5%) 内设置 SAFETY_ERR_STAT 寄存器中的 ERROR_PIN_FAIL 位。当器件处于活动状态时,再经过一个系统时钟周期之后会发生到安全状态的转换。

TPS65381A-Q1 Error_Det_MCU_lvsbc4.gif Figure 5-11 TMS570 模式下的错误检测案例情形

PWM 模式

在 ERROR/WDI 引脚上发生以下情况之一时,会检测到错误情况:

  • ERROR/WDI 引脚高电平脉冲持续时间超出由 PWM_H 寄存器以编程方式设置的阈值。
  • ERROR/WDI 引脚低电平脉冲持续时间超出由 PWM_L 寄存器以编程方式设置的阈值。

如果同时发生以下两种情况,则 MCU ESM 不会在 ERROR/WDI 引脚上检测到 MCU 信号发送错误:

  • ERROR 引脚高电平脉冲持续时间小于由 PWM_H 寄存器以编程方式设置的阈值。
  • ERROR 引脚低电平脉冲持续时间小于由 PWM_L 寄存器以编程方式设置的阈值。

预期高电平和低电平脉冲持续时间的可编程时间范围为 15µs 至 3.8ms(典型值),分辨率阶跃为 15µs (±5%)。当器件处于诊断状态时,高电平和低电平脉冲持续时间可通过 SAFETY_ERR_PWM_H 和 SAFETY_ERR_PWM_L 寄存器以编程方式进行设置。脉冲持续时间如下:

Equation 17. tPWM_HIGH_MIN = (PWMH[7:0]) × 15µs × 0.95
Equation 18. tPWM_HIGH_MAX = (PWMH[7:0] + 1) × 15µs × 1.05
Equation 19. tPWM_LOW_MIN = (PWML[7:0]) × 15µs × 0.95
Equation 20. tPWM_LOW_MAX= (PWML[7:0] + 1) × 15µs × 1.05

使用Equation 17Equation 18 来计算高电平脉冲持续时间 tPWM_HIGH 的最小值和最大值。使用Equation 19Equation 20 来计算低电平脉冲持续时间 tPWM_LOW 的最小值和最大值。

NOTE

SAFETY_ERR_PWM_H (PWMH[7:0]) 和 SAFETY_ERR_PWM_L (PWML[7:0]) 寄存器应配置为寄存器中最低为 1 (01h)。

高电平脉冲持续时间和低电平脉冲持续时间监视的实现方式如下:

低电平脉冲监视:

  • 当 ERROR/WDI 引脚处于低电平时,ERROR/WDI 引脚上的每个下降沿或将 NO_ERROR 位从 1 设置为 0 会在一个系统时钟周期 (250ns ±5%) 内将低电平脉冲持续时间计数器重新初始化为 0。
  • 在重新初始化之后,低电平脉冲计数器会在一个系统时钟周期 (250ns ±5%) 之后重新启动。
  • 当 ERROR/WDI 引脚保持为低电平时,低电平脉冲持续时间计数器会每 15µs (±5%) 递增一次。
  • 当低电平脉冲持续时间计数器等于 SAFETY_ERR_PWM_L 寄存器设置时,会检测到一个错误。

高电平脉冲监视:

  • 当 ERROR/WDI 引脚处于高电平时,ERROR/WDI 引脚上的每个上升沿或将 NO_ERROR 位从 1 设置为 0 会在一个系统时钟周期 (250ns ±5%) 内将高电平脉冲持续时间计数器重新初始化为 0。
  • 在重新初始化之后,高电平脉冲计数器会在一个系统时钟周期 (250ns ±5%) 之后重新启动。
  • 当 ERROR/WDI 引脚保持为高电平时,高电平脉冲持续时间计数器会每 15µs(精度为 ±5%)递增一。
  • 当高电平脉冲持续时间计数器等于 SAFETY_ERR_PWM_H 寄存器设置时,会检测到一个错误。

NOTE

ERROR/WDI 引脚是边沿触发型引脚,用于将 MCU 与 MCU ESM 模块同步,在诊断模式下,MCU 应开始发送所需的 PWM 信号。在第一个下降沿或上升沿,MCU ESM 会检测到该边沿并与该边沿同步启动内部计时器,因此 MCU 与 MCU ESM 会同步。MCU ESM 会在每个上升沿和下降沿与 MCU 重新同步。当处于诊断状态时,如果发生同步,则应该会清除 ERROR_PIN_FAIL 标志。

在检测到 MCU 信号发送错误之后,会在一个系统时钟周期 (250ns ±5%) 内设置 SAFETY_ERR_STAT 寄存器中的 ERROR_PIN_FAIL 位。当器件处于活动状态时,再经过一个系统时钟周期之后会发生到安全状态的转换。

TPS65381A-Q1 ERROR_Pin_lvsbc4.gif Figure 5-12 PWM 模式下的错误检测案例情形

器件配置寄存器保护

该功能通过 SPI 写入访问保护和 CRC 校验来保护安全 SPI 映射寄存器。

寄存器访问保护包括两种独特的 功能:

  • 在设置写入访问锁定保护之后无法对寄存器进行写入。可以通过软件或上电复位来清除锁定。
  • 针对配置寄存器的 CRC 保护。

在 SPI 写入更新之后会在安全数据上发生 CRC,以验证是否已对 SPI 寄存器内容进行正确编程。CRC 控制器是一个诊断模块,可通过执行 CRC 来验证 SPI 映射寄存器空间的完整性。内容读入 CRC 控制器之后,会获取表示安全寄存器内容的签名。CRC 控制器的职责是为一组数据计算签名,然后将计算出的签名值与预先确定的良好签名值进行比较。预先确定的 CRC 签名值存储在 SAFETY_CFG_CRC 寄存器中。外部 MCU 使用 SAFETY_CHECK_CTRL 寄存器来启用 CRC 校验并使用 SAFETY_STAT_2 寄存器来监视状态。启用之后,会对配置寄存器执行 CRC 校验。如果检测到签名错误,将在 SAFETY_STAT_2 SPI 寄存器中设置 CFG_CRC_ERR 标志。器件状态和 ENDRV 引脚状态保持不变。如果检测到处于诊断状态的 TPS65381A-Q1 器件发生校验和错误,那么将 CFG_CRC_EN 位清零会使 TPS65381A-Q1 器件进入安全状态(ENDRV 引脚被拉低)。

采用了标准 CRC-8 多项式:X8 + X2 + X1 + 1

CRC 监控器测试处于逻辑 BIST 覆盖范围之内。

64 位字符串由 CRC 进行保护。以下寄存器受到保护:

  • SAFETY_FUNC_CFG
  • DEV_REV
  • SAFETY_PWD_THR_CFG
  • SAFETY_ERR_CFG
  • WD_TOKEN_FDBK
  • WD_WIN2_CFG
  • WD_WIN1_CFG
  • SAFETY_ERR_PWM_L
  • DEV_CFG2
  • DEV_CFG1(仅第 6 位)

Table 5-13 列出了 CRC 总线结构。

Table 5-13 CRC 总线结构

寄存器名称 64 位总线排序
SAFETY_FUNC_CFG [6:0] [63:57]
DEV_REV [7:0] [56:49]
SAFETY_PWD_THR_CFG [3:0] [48:45]
SAFETY_ERR_CFG [7:0] [44:37]
WD_TOKEN_FDBK [7:0] [36:29]
WD_WIN2_CFG [4:0] [28:24]
WD_WIN1_CFG [6:0] [23:17]
SAFETY_ERR_PWM_L [7:0] [16:9]
DEV_CFG2 [7:0] [8:1]
DEV_CFG1 [6] 0

在外部 MCU 中,CRC 计算必须按字节执行并且从 64 位总线排序值的最低字节开始。最高有效位在位顺序中处于第一位。一次计算生成的 CRC 是下一次计算的种子值。初始种子值为 FFh。第八次按字节进行的计算的 CRC 结果是 CRC 签名值,该值必须存储在 SAFETY_CFG_CRC 寄存器中(请参阅Figure 5-13)。

TPS65381A-Q1 64-bit_bus_slvsbc4.gif Figure 5-13 CRC 计算逻辑

Table 5-14 列出了一些 CRC 计算示例。

Table 5-14 CRC 计算示例

64 位总线排序值 CRC-8 结果
0000 0000 0000 0000h DBh
FFFF FFFF FFFF FFFFh 0Ch
0A0A 0505 0A0A 0505h D4h
0505 0A0A 0505 0A0Ah 17h
A0A0 5050 A0A0 5050h 2Bh
0A23 E000 18FE 7B80h 1Bh

如果 CRC 控制器在配置寄存器上检测到签名错误,则在执行后续的 EEPROM CRC 时必须非常小心。如果在配置寄存器中检测到签名错误,那么当 SAFETY_CHECK_CTRL 寄存器中的 CFG_CRC_EN 位清零后,在通过将 SAFETY_BIST_CTRL 寄存器中的 EE_CRC_CHK 位设置为 1 来执行 EEPROM CRC 之前,器件首先会报告 EEPROM 签名错误,即使 EEPROM 位没有错误也是如此。因此,如果在对配置寄存器执行 CRC 之后执行 EEPROM CRC,必须始终按以下顺序执行这些步骤:

  1. 在 MCU 中计算 CRC8 并将其存储在 SAFETY_CFG_CRC 寄存器中。
  2. 将 SAFETY_CHECK_CTRL 寄存器中的 CFG_CRC_EN 位设置为 1,以便对配置寄存器执行 CRC。
  3. 在 SPI 命令将 CFG_CRC_EN 位设置为 1 之后(例如,在 NCS 上产生上升沿之后),等待至少 2.1µs 以便配置寄存器完成 CRC。
  4. 在 SAFETY_STAT_2 寄存器的 CFG_CRC_ERR 位中读取配置寄存器 CRC 的结果。如果必须对配置寄存器执行连续 CRC,则将 SAFETY_CHECK_CTRL 寄存器中的 CFG_CRC_EN 位清零并重复从步骤 1 开始执行。如果必须对 EEPROM 寄存器执行 CRC,则转到步骤 5
  5. NOTE

    后续的正确 EEPROM CRC(如步骤 5 中所述)会清除该 CFG_CRC_ERR 位。因此,TI 建议在执行 EEPROM CRC 之前读取该 CFG_CRC_ERR 位。

  6. 将 SAFETY_BIST_CTRL 寄存器中的 EE_CRC_CHK 位设置为 1,以便对 EEPROM 寄存器执行 CRC。
  7. 在 SPI 命令将 EE_CRC_CHK 位设置为 1 之后(例如,在 NCS 上产生上升沿之后),等待至少 811µs 以便 EEPROM CRC 完成。
  8. 通过读取 EE_CRC_CHK 位来观察 EERPOM CRC 是否完成。当 EEPROM CRC 完成后,该 EE_CRC_CHK 位会清零。
  9. 将 SAFETY_CHECK_CTRL 寄存器中的 CFG_CRC_EN 位清零。
  10. 在 SAFETY_STAT_2 寄存器的 EE_CRC_ERR 位中读取 EEPROM CRC 的结果。
  11. 返回到步骤 1
  12. NOTE

    返回到步骤 1 不是必需的;也可以选择返回到步骤 2

    NOTE

    当处于诊断状态时,可以在 SAFETY_CFG_CRC 寄存器中存储的值与通过 CRC8 涵盖的配置寄存器计算出的值之间出现不匹配时执行校验,以确认 CFG_CRC_ERR 位是否设置为 1。如果在 CFG_CRC_ERR 位设置为 1 时清除 CFG_CRC_EN,则器件会转换至安全状态,设置 EE_CRC_ERR 位,并且清除 CFG_CRC_EN 位。为了避免该到安全状态的转换,必须通过运行 EEPROM CRC(通过设置 EE_CRC_CHK 位)来清除 CFG_CRC_ERR 位。在运行 EPPROM CRC 时,会设置 EE_CRC_ERR 位。假设 EEPROM CRC 正常,EE_CRC_ERR 和 CFG_CRC_ERR 位都会清除。为了针对匹配的 CRC 检查 CFG_CRC_ERR 位是否为 0,匹配的 CRC 值应存储在 SAFETY_CFG_CRC 寄存器中。然后,必须将 CFG_CRC_EN 位清零并再次设置为 1,这将重新对配置寄存器运行 CRC,从而导致 CFG_CRC_ERR 位为 0。

启用和复位驱动器电路

Figure 5-14 显示了复位和启用电路。

TPS65381A-Q1 Reset_En_Circ_SLVSBC4.gif Figure 5-14 复位和启用电路

ENDRV 引脚 采用 读回电路将外部 ENDRV 电平与在内部施加的 ENDRV 电平进行比较。该功能可检测 ENDRV 上拉或下拉组件中的任何可能故障。MCU 通过 ENDRV_ERR 位(SAFETY_STAT_4 寄存器中的位 1)检测故障。

当 ENDRV 输出打开并驱动至高电平后激活 ABIST 功能时,ENDRV 引脚会在 ABIST 持续时间内被拉低。这是 ENDRV 诊断的一部分,可验证用于禁用 ENDDRV 输出的所有监视功能并确认 ENDRV 输出可使用 ENDRV 读回路径进行控制。

NRES 引脚 具有 外部 NRES 电平读回功能。在 DIAG_OUT 引脚以及 NRES_ERR 位(SAFETY_STAT_3 寄存器中的位 5)上读取该值。

对于 ENDRV 引脚和 NRES 引脚,逻辑读回阈值电平通常为 400mV。

Figure 5-15 显示了 NRES 和 ENDRV 引脚针对任何 VDDx 欠压或过压条件的时序响应图。

TPS65381A-Q1 Tim-Resp_A_SLVSBC4.gif
针对每种欠压或过压条件定义了信号抗尖峰脉冲时间,如Section 4中所述。
通过外部电阻器值定义了 NRES 延长时间,如Section 4中所述。
Figure 5-15 NRES 和 ENDRV 引脚针对任何 VDDx 欠压或过压条件的时序响应图

器件运行状态

TPS65381A-Q1 Dev_Ctl_St_Diag_SLVSBC4.gif
复位状态:SPI、看门狗和 MCU ESM 处于复位状态;有关阻止从待机状态唤醒至复位状态的条件,请参阅Section 5.4.21
诊断状态:在转换至诊断状态时立即启动 BIST(LBIST 以及 ABIST)。有关禁用自动 BIST 运行、诊断状态超时和 MCU 可能对安全功能执行的诊断的选项,请参阅Section 5.4.22。在转换至诊断状态后,WD_FAIL_CNT 会立即重新初始化为 5。
活动状态:在转换至活动状态期间,WD_FAIL_CNT 会重新初始化为 5。在活动状态期间,MCU 可能会执行某些安全功能诊断,有关更多详细信息,请参阅Section 5.4.23
安全状态:任何到安全状态的转换都会使 DEV_ERR_CNT[3:0] 递增。有关安全状态超时的详细信息,请参阅Section 5.4.24
ENDRV 引脚电平依赖于 ENABLE_DRV 位、WD_FAIL_CNT[2:0] 计数器值以及 VDDx_OV(如Figure 5-14 中所示,处于诊断和活动状态)。
可以在诊断、活动和安全状态下启用或禁用 VDD5 和 VSOUT1 稳压器。
Figure 5-16 器件控制器状态图

待机状态

当器件由 VBATP 和 VBAT_SAFING 电源供电时,待机状态是默认状态。该状态具有以下特性:

  • 所有稳压器禁用。
  • NRES 和 ENDRV 引脚处于低电平。
  • 器件会由于以下原因从任何状态转换至待机状态:
    • 内部上电复位事件 (NPOR = 0)
    • VBATP 欠压事件 (VBATP_UV)
    • 抗尖峰脉冲 IGN = 0 且 IGN_PWRL = 0(清除了 IGN 电源锁存控制位)且 CANWU_L = 0
    • 时钟丢失检测 (LOCLK)
    • VDD3/5 过热事件 (VDD3/5_OT)(当 NMASK_VDD3/5_OT = 1 时)
    • DVDD 欠压事件 (DVDD_UV)
    • DVDD 过压事件 (DVDD_OV)
    • AVDD_VMON 过压或欠压事件 (AVDD_VMON_ERR)
    • VCP12 过压事件 (VCP12_OV)
    • VCP17 过压事件 (VCP17_OV)
    • 带隙错误:BG_ERR1 或 BG_ERR2
    • 在从 NPOR 事件退出之后的运行期间,EEPROM 校验失败(当从 NPOR 退出后运行 EE_CRC_CHK 时 EE_CRC_ERR = 1)
    • 器件错误计数 (DEV_ERR_CNT[3:0]) 大于或等于已编程的断电阈值 PWD_THR[3:0]

复位状态

复位状态具有以下特性:

  • 在 IGNITION(IGN 引脚 = 高电平,抗尖峰脉冲 IGN 位 = 1)或 CANWU 引脚(CANWU 引脚 = 高电平,抗尖峰脉冲和锁存 CANWU_L 位 = 1)发出唤醒请求之后会从待机状态进入该状态。以下条件会阻止从待机状态到复位状态的转换,即使发生唤醒请求也是如此:
    • BG_ERR1
    • BG_ERR2
    • VCP17_OV
    • VCP12_OV
    • AVDD_VMON_ERR
    • EE_CRC_CHK 失败
  • 在发生安全状态超时以及 DEV_ERR_CNT[3:0] 计数器小于已编程的 SAFE_LOCK_THR[3:0] + 1 后会从安全状态进入该状态。有关由 SAFE_TO[2:0] 和 NO_SAFE_TO 位设置的安全状态超时持续时间的详细信息,请参阅Section 5.4.24
  • 器件会由于以下原因从任何其他状态转换至复位状态:
    • VDD3/5 欠压事件 (VDD3/5_UV)
    • VDD5 过热事件 (VDD5_OT)(当 NMASK_VDD5_OT = 1 时)
    • VDD1 欠压事件 (VDD1_UV)(当 NMASK_VDD1_UV_OV = 1 时,这不是默认设置)
    • VBATP 过压事件 (VBATP_OV)(当 MASK_VBATP_OV = 0 时,这是默认设置)
    • 看门狗复位。在看门狗失效计数器 (WD_FAIL_CNT[2:0]) 达到值 7 并且发生另一个不良事件 (7+1) 之后会发生看门狗复位,这会在 WD_RST_EN = 1(非默认设置)时设置 WD_FAIL 标志
    • POST_RUN_RST = 1 并且 IGN_PWRL = 1 并且在 IGN 引脚上进行了重新启动(低电平后跟有效的高电平)
  • VDDx 稳压器处于通电状态。
  • NRES 和 ENDRV 引脚处于低电平。
  • SPI、看门狗和 MCU ESM 处于复位状态。

诊断状态

诊断状态具有以下特性:

  • 在 VDDx 稳压器升高并且复位延长完成之后会从复位状态进入诊断状态
  • VDD5(默认启用)稳压器可以通过 VDD5_EN 位禁用,VSOUT1 稳压器可以通过 VSOUT1_EN 位启用(默认禁用)。
  • NRES 引脚处于高电平。
  • ENDRV 引脚的状态由 ENABLE_DRV 位、WD_FAIL_CNT[2:0] 计数器值和 VDDx 稳压器的过压监控 (VDDx_OV) 决定,如Figure 5-14 中所示。
  • 可以配置和运行看门狗和 MCU 错误信号监控 (ESM) 功能。在 ERROR/WDI 引脚上检测到仿真故障时,MCU ESM 模块不会导致从诊断状态转换至安全状态。这允许 MCU 在诊断状态期间对 MCU ESM 和 ERROR/WDI 引脚运行诊断。
  • MCU 应在该状态下执行所有器件自检和诊断(会引发故障以便对内部故障进行仿真并确认检测)。
  • 在进入诊断状态后,看门狗失效计数器会立即重新初始化为 5。
  • 从复位状态转换至诊断状态(包括从待机状态到发生上电事件)会激活 BIST(LBIST 以及 ABIST)。对于从诊断、活动或安全状态进入复位状态的情况,该自动 BIST 运行可以通过 AUTO_BIST_DIS 位禁用,但如果在上电时从待机状态进入复位状态,则无法禁用。
  • 在转换至诊断状态时立即启动 BIST(LBIST 以及 ABIST)。
  • 在诊断状态期间,MCU 可以执行任何安全功能(如看门狗、MCU ESM、ERROR/WDI 引脚、DIAG_MUX 引脚和针对寄存器的 CRC)诊断。TI 建议至少在每个上电周期运行一次诊断检查(处于诊断状态)。
  • NOTE

    诊断状态超时:进入诊断状态后,如果 DIAG_EXIT_MASK 或 DIAG_EXIT 位未在 512ms(典型值)内设置为 1,则诊断状态超时间隔会到期,从而导致转换至安全状态。这还会在 SAFETY_ERR_STAT 寄存器中设置 ERROR_PIN_FAIL 和 WD_FAIL 位,并在 SAFETY_STAT_4 寄存器中设置镜像位 MCU_ERR 和 WD_ERR。器件错误计数 (DEV_ERR_CNT[3:0]) 会递增。只应在单个 SPI 写入命令中向 SAFETY_CHECK_CTRL 设置 DIAG_EXIT_MASK 或 DIAG_EXIT 位。将 DIAG_EXIT 位设置为 1 会导致转换至活动状态。将 DIAG_EXIT_MASK 位设置为 1 会导致器件保持在诊断状态(仅针对软件调试执行该操作)。

    NOTE

    用于软件调试的 DIAG_EXIT_MASK:当 DIAG_EXIT_MASK 位设置为 1 时,在诊断状态超时间隔到期之前,器件会保持在诊断状态,直到该位清除。诊断状态超时计时器在后台保持自由运行,但不会导致状态转换。当诊断状态超时间隔到期后,会自动设置 DIAG_EXIT 位(此外 DIAG_EXIT_MASK 位保持设置状态)并且器件会保持在诊断状态。对于到活动状态的受控转换,TI 建议通过单个 SPI 写入命令针对 SAFETY_CHECK_CTRL 寄存器清除 DIAG_EXIT_MASK 位并设置 DIAG_EXIT 位。如果 DIAG_EXIT_MASK 位和 DIAG_EXIT 位同时清除,则器件会保持在诊断状态,直到下一个诊断状态超时间隔到期,从而导致转换至安全状态,或者如果 DIAG_EXIT 位设置为 1,则在诊断状态超时之前,将器件转换为活动状态。

    NOTE

    在诊断状态下,如果通过将 LBIST_EN 位设置为 1 来启动 LBIST 手动运行,则必须考虑以下注意事项。将 LBIST_EN 位设置为 1 可将 DIAG_EXIT_MASK 位清零。如果 DIAG_EXIT_MASK 位用于将器件保持在诊断状态以进行软件调试,则在 LBIST 完成后必须再次将其设置为 1 以保持在诊断状态。诊断状态超时计数器仅在 LBIST 运行期间停止。在 LBIST 完成之后,超时计数器从最后的值继续计数。对于从诊断状态到活动状态的转换,DIAG_EXIT 位必须设置为 1。

活动状态

活动状态具有以下特性:

  • 在 MCU 设置 DIAG_EXIT 位(在清除 ERROR_PIN_FAIL 和 WD_FAIL 位之后)之后,器件会从诊断状态进入活动状态。
  • NOTE

    当处于诊断状态时,MCU 必须通过向 SAFETY_ERR_STAT 寄存器中的 ERROR_PIN_FAIL 位和 WD_FAIL 位写入 0 来进行清除,然后才能设置 DIAG_EXIT 位。清除这些位还会清除其镜像位 MCU_ERR 和 WD_ERR。否则,会切换到安全状态。

  • NRES 引脚处于高电平。
  • ENDRV 引脚的状态由 ENABLE_DRV 位、WD_FAIL_CNT[2:0] 计数器值和 VDDx 稳压器的过压监控 (VDDx_OV) 决定,如Figure 5-14 中所示。
  • VDDx 稳压器处于打开状态,可以通过 VDD5_EN 位启用或禁用 VDD5 稳压器。可以通过 VSOUT1_EN 位启用或禁用 VSOUT1 稳压器。
  • 在从诊断状态转换到活动状态期间,WD_FAIL_CNT[2:0] 计数器会重新初始化为 5。
  • 看门狗和 MCU ESM 监控功能按照配置运行,但无法重新配置。
  • 在活动状态期间,MCU 可以执行某些安全功能诊断,这些安全功能包括看门狗、DIAG_MUX 引脚、ABIST(大约 300µs,ENDRV 引脚将处于低电平)、LBIST(大约 21ms,ENDRV 引脚将处于低电平)以及针对寄存器的 CRC,具体取决于系统安全要求。

NOTE

在活动状态下,如果通过将 LBIST_EN 位设置为 1 来启动 LBIST 手动运行,则必须考虑以下注意事项。LBIST 只应在系统安全时序要求能够允许总 BIST 时间为 21ms 并且 ENDRV 引脚在该 21ms 的时间内处于低电平时以活动状态运行。

有关在活动状态下运行 LBIST 时的其他系统注意事项,请参阅Section 5.4.7

安全状态

安全状态具有以下特性:

  • 可以从以下状态进入安全状态:
    • 活动状态:
      • MCU ESM(启用时)检测到的 ERROR/WDI 引脚上的信号错误。该转换是由 MCU 中的错误导致的,会设置 ERROR_PIN_FAIL 标志。
      • 在 NRES 引脚上检测到的读回错误,该错误会在 DIS_NRES_MON 清零(默认状态下为 1)时设置 NRES_ERR 标志。
    • 诊断状态:
      • 在发生诊断状态超时事件之后,在 DIAG_EXIT_MASK 位设置为 1 之前,使器件保持在诊断状态,或者在 DIAG_EXIT 位设置为 1 之前将器件转换至活动状态。
    • CFG_CRC_ERR = 1 并且 CFG_CRC_EN 清零
    • 在诊断状态下检测到 EE_CRC_ERR。
    • 在诊断状态下检测到 ABIST_ERR 或 LBIST_ERR。
    • 在退出诊断状态时,在设置 DIAG_EXIT 位之前 WD_FAIL 和 ERROR_PIN_FAIL 状态未清零。
  • 每个到安全状态的转换都会使器件错误计数 DEV_ERR_CNT[3:0] 递增。
  • 当 NO_SAFE_TO 位设置为 1(默认状态)并且 DEV_ERR_CNT[3:0] = SAFE_LOCK_THR[3:0] + 1 时,器件保持在安全状态。这允许在不引起复位以及转换至复位状态(由于安全状态超时)的情况下对 MCU 进行编程。
  • NRES 引脚处于高电平。
  • ENDRV 引脚处于低电平状态。
  • VDDx 稳压器处于打开状态,可以通过 VDD5_EN 位启用或禁用 VDD5 稳压器。可以通过 VSOUT1_EN 位启用或禁用 VSOUT1 稳压器。

NOTE

器件状态机使用安全状态超时和器件配置设置来确定器件在转换至安全状态之后所执行的操作。根据 NO_SAFE_TO、PWD_THR[3:0]、SAFE_LOCK_THR[3:0] 和 DEV_ERR_CNT[3:0] 位,器件会保持锁定在安全状态、转换至复位状态或转换至待机状态。安全状态超时持续时间可通过 SAFE_TO[2:0] 进行编程。

NO_SAFE_TO = 1(默认设置)

  • 当 DEV_ERR_CNT[3:0] < (SAFE_LOCK_THR[3:0] + 1) 时,安全状态超时的延时时间通过 SAFE_TO[2:0] 位进行编程。延迟的计算方式为 [(SAFE_TO[2:0] × 2) + 1] × 22ms。
  • 当 DEV_ERR_CNT[3:0] ≥ SAFE_LOCK_THR[3:0] + 1 时器件保持锁定在安全状态。

NO_SAFE_TO = 0

  • 当 DEV_ERR_CNT[3:0] < (SAFE_LOCK_THR[3:0] + 1) 时,安全状态超时的延时时间通过 SAFE_TO[2:0] 位进行编程。延迟的计算方式为 [(SAFE_TO[2:0] × 2) + 1] × 22ms。
  • 当 DEV_ERR_CNT[3:0] ≥ SAFE_LOCK_THR[3:0] + 1 时,安全状态超时持续时间将更改并且器件会在大约 680ms 后转换至复位状态。

如果使用 PWD_THR[3:0] 阈值,则在 DEV_ERR_CNT[3:0] ≥ PWD_THR[3:0] 时器件从安全状态转换至待机状态。该转换的优先级(优先级 I)要高于从安全状态到复位状态的路径(优先级 II),因此如果 PWD_THR[3:0] = SAFE_LOCK_THR[3:0] + 1,器件将转换至待机状态,而不是复位状态。

状态转换优先级

对于所有全局或可能的双重状态转换,存在以下优先级:

  1. 优先级 I:所有待机状态转换条件
  2. 优先级 II:所有复位状态转换条件
  3. 优先级 III:所有安全状态转换条件

与列出的所有具有优先级编号的状态转换相比,所有其他状态转换的优先级更低。

上电复位 (NPOR)

器件会经历上电复位 (NPOR) 过程,这会重新初始化所有寄存器。导致 NPOR 的事件为:

  • 模拟上电复位:
    • 时钟丢失检测 (LOCLK)
    • AVDD_VMON 过压或欠压事件 (AVDD_VMON_ERR)
    • DVDD 欠压事件 (DVDD_UV)
    • DVDD 过压事件 (DVDD_OV)
  • 数字上电复位。这些错误可能会导致 NPOR。如果检测到的故障持续时间小于 6ms,则可能不会发生 NPOR。当 CANWU 或 IGN 状态保持为高电平时,器件会由于唤醒请求转换至复位状态。BIST 后重新初始化列表中的寄存器会在从复位状态转换至诊断状态时运行的 BIST 之后重新初始化(除非 AUTO_BIST_DIS = 1,这不是默认设置)。
    • VBATP 欠压事件 (VBATP_UV)
    • VDD3/5 过热事件 (VDD3/5_OT)(当 NMASK_VDD3/5_OT = 1 时)
    • AVDD 欠压事件 (AVDD_UV)
    • 器件 VMON 调整设置错误 (VMON_TRIM_ERROR)
    • 带隙错误:BG_ERR1 或 BG_ERR2
    • VCP12 过压事件 (VCP12_OV)
    • VCP17 过压事件 (VCP17_OV)

寄存器映射

串行外设接口 (SPI)

器件与外部 MCU 之间的通信主要通过 SPI 总线进行,该总线是采用主从配置的全双工通信。外部 MCU 始终是 SPI 主设备,它在 SDI 引脚上发送命令请求并在 SDO 引脚上接收器件响应。TPS65381A-Q1 器件始终是 SPI 从设备,它接收命令并通过 SDO 线路向外部 MCU 发送响应(状态、测量的值)。

  • SPI 是 4 引脚接口。
    • NCS - SPI 片选(低电平有效)
    • SCLK - SPI 时钟
    • SDI - SPI 从设备入/主设备出 (SIMO)
    • SDO - SPI 从设备出/主设备入(SOMI,三态输出)
  • SPI 帧大小为 16 位。
  • 速率高达 6 兆位/秒。
  • 命令和数据转变为从 MSB 到 LSB 的顺序。
  • 在 SCLK 的下降沿对 SDI 线路进行采样。
  • 在 SCLK 的上升沿移出 SDO 线路。

SPI 通信从 NCS 下降沿开始,在 NCS 上升沿结束。NCS 高电平使 SPI 从设备接口保持在复位状态,SDO 输出处于三态。

SPI 命令传输阶段

Table 5-15 显示了执行命令(写入或读取命令)期间 SPI 数据的传输帧格式。

Table 5-15 SPI 命令传输阶段

D7 D6 D5 D4 D3 D2 D1 D0
功能 CMD6 CMD5 CMD4 CMD3 CMD2 CMD1 CMD0 奇偶校验
    CMD[6:0] 寄存器写入 (WR) 或读取 (RD) 命令
    奇偶校验 7 位命令字段的奇偶校验位

SPI 不支持背对背 SPI 帧操作。在执行每条 SPI 命令或进行每次读取访问之后,NCS 引脚必须从低电平转换至高电平,然后才能启动下一次 SPI 传输。两条 SPI 命令之间的最短时间 (thlcs) 为 788ns,在此期间 NCS 引脚必须保持在高电平。

SPI 数据传输阶段

Table 5-16 显示了在进行写入访问期间 SPI 数据的传输帧格式。

Table 5-16 SPI 数据传输阶段

D7 D6 D5 D4 D3 D2 D1 D0
功能 DATA7 DATA6 DATA5 DATA4 DATA3 DATA2 DATA1 DATA0
    DATA[7:0] 写入访问的数据值(8 位)

SPI 不支持背对背 SPI 帧操作。每次完成 SPI 传输之后,NCS 引脚必须从低电平转换至高电平,然后才能启动下一次 SPI 传输。两条 SPI 命令之间的最短时间 (thlcs) 为 788ns,在此期间 NCS 引脚必须保持在高电平。

器件状态标志字节响应

Table 5-17 显示了执行命令(写入或读取访问)期间 SPI 数据状态的响应帧格式。

Table 5-17 器件状态标志字节响应

R7 R6 R5 R4 R3 R2 R1 R0
功能 STAT[7] STAT[6] STAT[5] STAT[4] STAT[3] STAT[2] STAT[1] STAT[0]
    STAT[7] 1
    STAT[6] 0
    STAT[5] 1
    STAT[4] 0
    STAT[3] SPI WR 访问(在上一个 SPI 帧命令阶段)
    STAT[2] SPI SDO 错误(在上一个 SPI 帧期间)
    STAT[1] 0
    STAT[0] SPI 错误,包括 SPI 帧截断、SPI 传输的位数大于 16、SPI 传输的命令未定义或 SPI 传输具有错误的命令奇偶校验(在上一个 SPI 帧期间)

在当前 SPI 命令期间发送的状态位会反映上一条 SPI 命令的状态。

NOTE

如果在 SPI 帧传输期间产生 MCU 复位(导致 SPI 帧截断),则这些 SPI 错误状态位不会清除,而是根据已截断的上一个 SPI 帧保持相关状态,直到发生 SPI 读取访问。

NOTE

当 NCS 引脚处于高电平、SDO 引脚处于高电平以及在 SPICLK 引脚上产生下降沿时,可能会无意中设置 SPI SDO 错误位 STAT[2]。在具有多个 SPI 从设备的 SPI 总线中使用该器件时最常发生该组合。如果符合全部三种条件,则会在与 TPS65381A-Q1 的后续 SPI 通信的第二个 SPI 标志字节响应中将 SDO 错误标志设置为 1。如果在这些条件下使用该器件,则应用软件应屏蔽 SDO 错误标志。如果检测到 SPI SDO 错误,则器件会接受 SPI 传输,因为检测到的错误位于 SPI 的输出中,而不是 SPI 的输入中。

NOTE

要实现 SPI 写入传输的其他诊断覆盖范围,系统软件可以对写入的寄存器执行读取,并且将返回的值与在写入之后的预期值进行比较。请注意,某些寄存器中的某些位不是可写的。

器件 SPI 数据响应

Table 5-18 显示了写入或读取访问期间 SPI 器件数据的响应帧格式。

Table 5-18 器件 SPI 数据响应

R7 R6 R5 R4 R3 R2 R1 R0
功能 R7 R6 R5 R4 R3 R2 R1 R0
    R[7:0] 内部寄存器值。所有未使用的位都会清零。

SPI 帧概览

Figure 5-17 显示了完整的 16 位 SPI 帧概览:

TPS65381A-Q1 16-Bit_SPI_lvsbc4.gif
SPI 主设备 (MCU) 和 SPI 从设备 (TPS65381A-Q1) 在 SCLK 下降沿接收数据,在 SCLK 上升沿传输数据。
Figure 5-17 16 位 SPI 帧

SPI 寄存器写入访问锁定(SW_LOCK 命令)

SW_LOCK 命令针对写入更新访问(通过 MCU 控制)为 SPI 寄存器提供保护。向器件发送包含数据 AAh 的 SW_LOCK 命令时,列出的寄存器将锁定,不会通过写入访问进行更新。要解锁 SPI 寄存器,应向器件发送包含数据 55h 的 SW_UNLOCK 命令。

NOTE

除了自动锁定特定的 SPI 寄存器之外,还可以使用 SW_LOCK 命令进行锁定,以阻止写入更新访问(器件处于诊断状态时除外)。请参阅“SPI 命令”表和寄存器说明,以确定 SW_LOCK 和自动锁定(处于诊断状态时除外)是否适用于特定的写入访问寄存器。

SPI 寄存器(SPI 映射响应)

以下各部分列出了 SPI 寄存器。对于每个 SPI 寄存器,提供了位名称以及初始化的值(内部逻辑复位后的值)。

在每次从待机状态唤醒之后或在任何其他上电复位 (NPOR) 事件之后会初始化这些值。

在完成 LBIST 运行(包括在退出复位状态时运行的 LBIST)之后,会重新初始化以下功能和寄存器:

  • DEV_STAT
  • SAFETY_STAT_2
  • SAFETY_STAT_4
  • SAFETY_STAT_5(但 FSM[2:0] 会立即更新以反映当前器件状态)
  • WD_TOKEN_VALUE
  • WD_STATUS
  • SAFETY_CHECK_CTRL
  • DIAG_CFG_CTRL
  • DIAG_MUX_SEL

会指示保留位 (RSV) 的初始化值,不过其中的某些位用于内部器件运行,应用软件应屏蔽这些位,因为它们可能不会保持且初始化值。

以下各部分也提供了各个位功能的说明。

Table 5-19 SPI 命令表

8 位十六进制命令代码(带奇偶校验) 7 位十六进制
命令代码
(不带奇偶校验)
7 位二进制
命令代码
(不带奇偶校验)
奇偶校验 WR SW
锁定保护
寄存器命令名称(1)
BDh 5Eh 1011 110b 1 N/A 具有数据 AAh 的 SW_LOCK(用于锁定对列出的寄存器的 SPI WR 访问)
BBh 5Dh 1011 101b 1 N/A 具有数据 55h 的 SW_UNLOCK(用于解锁对列出的寄存器的 SPI WR 访问)
06h 03h 0000 011b 0 N/A RD_DEV_ID
0Ch 06h 0000 110b 0 N/A RD_DEV_REV
B7h 5Bh 1011 011b 1 WR_DEV_CFG1(仅在诊断状态下才可能发生 SPI WR 更新)
AFh 57h 1010 111b 1 N/A RD_DEV_CFG1
95h 4Ah 1001 010b 1 WR_DEV_CFG2(仅在诊断状态下才可能发生 SPI WR 更新)
48h 24h 0100 100b 0 N/A RD_DEV_CFG2
7Dh 3Eh 0111 110b 1 WR_CAN_STBY(仅针对数据 00h 有效)
24h 12h 0010 010b 0 N/A RD_SAFETY_STAT_1
C5h 62h 1100 010b 1 N/A RD_SAFETY_STAT_2
A3h 51h 1010 001b 1 N/A RD_SAFETY_STAT_3
A5h 52h 1010 010b 1 N/A RD_SAFETY_STAT_4
C0h 60h 1100 000b 0 N/A RD_SAFETY_STAT_5
30h 18h 0011 000b 0 N/A RD_SAFETY_ERR_CFG
DBh 6Dh 1101 101b 1 WR_SAFETY_ERR_CFG(仅在诊断状态下才可能发生 SPI WR 更新)
A9h 54h 1010 100b 1 WR_SAFETY_ERR_STAT(仅在诊断状态下才可能发生 SPI WR 更新)
AAh 55h 1010 101b 0 N/A RD_SAFETY_ERR_STAT
39h 1Ch 0011 100b 1 N/A RD_SAFETY_PWD_THR_CFG
99h 4Ch 1001 100b 1 WR_SAFETY_PWD_THR_CFG(仅在诊断状态下才可能发生 SPI WR 更新)
44h 22h 0100 010b 0 N/A RD_SAFETY_CHECK_CTRL
93h 49h 1001 001b 1 WR_SAFETY_CHECK_CTRL
3Ch 1Eh 0011 110b 0 N/A RD_SAFETY_BIST_CTRL
9Fh 4Fh 1001 111b 1 WR_SAFETY_BIST_CTRL
2Eh 17h 0010 111b 0 N/A RD_WD_WIN1_CFG
EDh 76h 1110 110b 1 WR_WD_WIN1_CFG(仅在诊断状态下才可能发生 SPI WR 更新)
05h 02h 0000 010b 1 N/A RD_WD_WIN2_CFG
09h 04h 0000 100b 1 WR_WD_WIN2_CFG(仅在诊断状态下才可能发生 SPI WR 更新)
36h 1Bh 0011 011b 0 N/A RD_WD_TOKEN_VALUE
4Eh 27h 0100 111b 0 N/A RD_WD_STATUS
E1h 70h 1110 000b 1 WR_WD_ANSWER
11h 08h 0001 000b 1 N/A RD_DEV_STAT
12h 09h 0001 001b 0 N/A RD_VMON_STAT_1
A6h 53h 1010 011b 0 N/A RD_VMON_STAT_2
56h 2Bh 0101 011b 0 N/A RD_SENS_CTRL
7Bh 3Dh 0111 101b 1 N/A WR_SENS_CTRL
3Ah 1Dh 0011 101b 0 N/A RD_SAFETY_FUNC_CFG
35h 1Ah 0011 010b 1 WR_SAFETY_FUNC_CFG(仅在诊断状态下才可能发生 SPI WR 更新)
5Ah 2Dh 0101 101b 0 N/A RD_SAFETY_CFG_CRC
63h 31h 0110 001b 1 WR_SAFETY_CFG_CRC(仅在诊断状态下才可能发生 SPI WR 更新)
DDh 6Eh 1101 110b 1 N/A RD_DIAG_CFG_CTRL
CCh 66h 1100 110b 0 WR_DIAG_CFG_CTRL
ACh 56h 1010 110b 0 N/A RD_DIAG_MUX_SEL
C9h 64h 1100 100b 1 WR_DIAG_MUX_SEL
D7h 6Bh 1101 011b 1 N/A RD_SAFETY_ERR_PWM_H
D8h 6Ch 1101 100b 0 WR_SAFETY_ERR_PWM_H(仅在诊断状态下才可能发生 SPI WR 更新)
59h 2Ch 0101 100b 1 N/A RD_SAFETY_ERR_PWM_L
7Eh 3Fh 0111 111b 0 WR_SAFETY_ERR_PWM_L(仅在诊断状态下才可能发生 SPI WR 更新)
78h 3Ch 0111 100b 0 N/A RD_WD_TOKEN_FDBK
77h 3Bh 0111 011b 1 WR_WD_TOKEN_FDBK(仅在诊断状态下才可能发生 SPI WR 更新)
所有命令都具有偶校验。

器件版本和 ID

DEV_REV 寄存器

初始化源:NPOR
控制器访问:只读 (RD_DEV_REV)

Figure 5-18 DEV_REV 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
REV[7] REV[6] REV[5] REV[4] REV[3] REV[2] REV[1] REV[0]
0b 0b 1b 1b 0b 0b 0b 0b
D[7:0] REV[7:0]:器件版本
REV[3:0]:器件次要版本
REV[7:4]:器件主要版本

DEV_ID 寄存器

初始化源:NPOR
控制器访问:只读 (RD_DEV_ID)

Figure 5-19 DEV_ID 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
ID[7] ID[6] ID[5] ID[4] ID[3] ID[2] ID[1] ID[0]
0b 0b 0b 0b 0b 0b 0b 1b
D[7:0] ID[7:0]:器件 ID

器件状态

DEV_STAT 寄存器

初始化源:NPOR、LBIST 之后重新初始化
控制器访问:只读 (RD_DEV_STAT)

Figure 5-20 DEV_STAT 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
RSV RSV RSV RSV RSV RSV CANWU_L IGN
0b 0b 0b 0b 0b 0b X X
D[7:2] RSV
D[1] CANWU_L:锁存 CAN 唤醒事件
初始化值取决于是否通过 CANWU 或 IGN 引脚发生了器件唤醒事件。
当通过 CANWU、仅 WR_CAN_STBY 命令或任何其他全局待机条件发生器件唤醒时,该位会清零
D[0] IGN:抗尖峰脉冲 IGN 引脚(7.5ms 至 22ms 抗尖峰脉冲时间)
初始化值取决于是否通过 CANWU 或 IGN 引脚发生了器件唤醒事件。该位遵循抗尖峰脉冲 IGN 信号,因此仅在抗尖峰脉冲 IGN 处于低电平时清零或由任何其他全局待机条件清零。

器件配置

DEV_CFG1 寄存器

初始化源:NPOR
控制器访问:读取 (RD_DEV_CFG1)
写入 (WR_DEV_CFG1)。仅在诊断状态下才可能发生写入更新。写入访问通过 SW_LOCK 命令进行锁定。

Figure 5-21 DEV_CFG1 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
VDD_3_5_SEL NMASK_VDD1_UV_OV RSV RSV RSV RSV RSV RSV
X 0b 0b 0b 0b 0b 0b 0b
D[7] VDD_3_5_SEL:上电时的 VDD3/VDD5 选择状态位
在上电时对 SEL_VDD3/5 输入引脚进行采样和锁存
0b = 5V 设置(SEL_VDD3/5 引脚接地)
1b = 3.3V 设置(未连接 SEL_VDD3/5 引脚)
复位状态下的值取决于首次上电时 SEL_VDD3/5 引脚的状态
该位是只读的
:该位与 SAFETY_FUNC_CFG 位 D0 相同。
D[6] NMASK_VDD1_UV_OV
默认情况下会清零:
被屏蔽的 VDD1_OV 不影响 ENDRV 引脚状态
被屏蔽的 VDD1_UV 不影响 NRES 引脚状态
如果在应用中未使用 VDD1 稳压器并且未填充外部功率 FET,则可以使用默认设置(0,屏蔽)。
:如果在应用中使用了 VDD1 稳压器,那么在首次启动或上电事件之后器件处于诊断状态时,TI 建议将该位设置为 1。
:即使该位设置为 1,但 VDD1_SENSE 引脚在外部悬空,该引脚也会上拉。会检测到上拉条件,但 VDD1_OV 条件会被屏蔽,ENDRV 引脚状态不受影响。
D[5:0] RSV

DEV_CFG2 寄存器

初始化源:NPOR
控制器访问:读取 (RD_DEV_CFG2)
写入 (WR_DEV_CFG2)。仅在诊断状态下才可能发生写入更新。写入访问通过 SW_LOCK 命令进行锁定。

Figure 5-22 DEV_CFG2 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
NMASK_VDD3/5_OT NMASK_VDD5_OT MASK_VBATP_OV POST_RUN_RST RSV RSV RSV RSV
1b 1b 0b 0b 0b 0b 0b 0b
D[7] NMASK_VDD3/5_OT
当设置为 1(默认值)时,VDD3/5 或 VDD6 稳压器上的过热事件会禁用 VDD3/5 稳压器并且器件会转至待机状态。检测到过热事件时,会在 SAFETY_STAT_1 寄存器中设置 VDD3/5_OT 标志。
当清零后,VDD3/5 或 VDD6 稳压器上的过热事件会禁用 VDD3/5 稳压器。当 VDD3/5 稳压器达到 UV 电平时,器件会转至复位状态。检测到过热事件时,仍会在 SAFETY_STAT_1 寄存器中设置 VDD3/5_OT 标志。
D[6] NMASK_VDD5_OT
当设置为 1(默认值)时,VDD5 稳压器上的过热事件会禁用 VDD5 稳压器并且器件会转至复位状态。检测到过热事件时,会在 SAFETY_STAT_1 寄存器中设置 VDD5_OT 标志。
当清零后,VDD5 过热关断会禁用并且 VDD5 稳压器保持启用。检测到过热事件时,仍会在 SAFETY_STAT_1 寄存器中设置 VDD5_OT 标志。
D[5] MASK_VBATP_OV
默认情况下会清零。
当设置为 1 时,会从复位条件屏蔽 VBATP_OV 位。
D[4] POST_RUN_RST
默认情况下会清零。
如果设置为 1,则在使用 IGN_PWRL 功能时,IGN 引脚上的重新启动会导致器件转至复位状态。
D[3:0] RSV(在诊断状态下位可读且可写,对器件状态或 ENDRV 和 NRES 输出没有任何影响)

器件安全状态和控制寄存器

VMON_STAT_1 寄存器

初始化源:NPOR
控制器访问:只读 (RD_VMON_STAT_1)

Figure 5-23 VMON_STAT_1 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
VBATP_OV VBATP_UV VCP17_OV VCP12_OV VCP12_UV AVDD_VMON_ERR BG_ERR2 BG_ERR1
0b 0b 0b 0b 0b 0b 0b 0b
D[7] VBATP_OV:VBATP 过压状态位
当检测到 VBATP 过压条件时设置为 1
如果过压条件不再存在则清零
D[6] VBATP_UV:VBATP 欠压状态位
当检测到 VBATP 欠压条件时设置为 1
如果欠压条件不再存在则清零
D[5] VCP17_OV:VCP17 过压状态位
当检测到 VCP17 过压条件时设置为 1
如果过压条件不再存在则清零
D[4] VCP12_OV:VCP12 过压状态位
当检测到 VCP12 过压条件时设置为 1
如果过压条件不再存在则清零
D[3] VCP12_UV:VCP12 欠压状态位
当检测到 VCP12 欠压条件时设置为 1
如果欠压条件不再存在则清零
D[2] AVDD_VMON_ERR:电压监控器电源电源正常状态
当电压监控器电源不正常时设置为 1。
如果错误条件不再存在则清零
D[1] BG_ERR2:基准带隙 2 错误
当电压监控器小于主带隙时设置为 1
如果错误条件不再存在则清零
D[0] BG_ERR1:基准带隙 1 错误
当电压监控器大于主带隙时设置为 1
如果错误条件不再存在则清零

VMON_STAT_2 寄存器

初始化源:NPOR
控制器访问:读取 (RD_VMON_STAT_2)

Figure 5-24 VMON_STAT_2 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
VDD6_OV VDD6_UV VDD5_OV VDD5_UV VDD3/5_OV VDD3/5_UV VDD1_OV VDD1_UV
0b 0b 0b 0b 0b 0b 0b 0b
D[7] VDD6_OV:VDD6 过压状态位
当检测到 VDD6 过压条件时设置为 1
如果过压条件不再存在则清零
D[6] VDD6_UV:VDD6 欠压状态位
当检测到 VDD6 欠压条件时设置为 1
如果欠压条件不再存在则清零
D[5] VDD5_OV:VDD5 过压状态位
当检测到 VDD5 过压条件时设置为 1
如果过压条件不再存在则清零
D[4] VDD5_UV:VDD5 欠压状态位
当检测到 VDD5 欠压条件时设置为 1。
如果欠压条件不再存在则清零
:该位反映欠压状态,即使 SENS_CTRL 寄存器中的 VDD5_EN 位已清零也是如此。如果 VDD5 稳压器已禁用,那么当 VDD5 稳压器放电并且检测到欠压条件时,VDD5_UV 位将设置为 1。
D[3] VDD3/5_OV:VDD3/5 过压状态位
当检测到 VDD3/5 过压条件时设置为 1
如果过压条件不再存在则清零
D[2] VDD3/5_UV:VDD3/5 欠压状态位
当检测到 VDD3/5 欠压条件时设置为 1
如果欠压条件不再存在则清零
D[1] VDD1_OV:VDD1 过压状态位
当检测到 VDD1 过压条件时设置为 1
如果过压条件不再存在则清零
D[0] VDD1_UV:VDD1 欠压状态位
当检测到 VDD1 欠压条件时设置为 1
如果欠压条件不再存在则清零

SAFETY_STAT_1 寄存器

初始化源:NPOR
控制器访问:读取 (RD_SAFETY_STAT_1)

Figure 5-25 SAFETY_STAT_1 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
VDD5_ILIM VDD3/5_ILIM VSOUT1_UV VSOUT1_OV RSV VSOUT1_OT VDD5_OT VDD_3_5_OT
0b 0b 0b 0b 0b 0b 0b 0b
D[7] VDD5_ILIM:VDD5 电流限制状态位
当超出 VDD5 电流限制条件时设置为 1
如果电流限制条件不再存在则清零
:该状态位仅在 SENS_CTRL 寄存器中的 VDD5_EN 位设置为 1 时有效。当 VDD5_EN 位清零后,该位将为 1。
D[6] VDD3/5_ILIM:VDD3 电流限制状态位
当超出 VDD3 电流限制条件时设置为 1
如果电流限制条件不再存在则清零
D[5] VSOUT1_UV:传感器电源欠压状态位
当检测到 VSOUT1 欠压条件时设置为 1
如果欠压条件不再存在则清零
D[4] VSOUT1_OV:传感器电源过压状态位
当检测到 VSOUT1 过压条件时设置为 1
如果过压条件不再存在则清零
D[3] RSV
D[2] VSOUT1_OT:传感器电源过热状态位
当超出 VSOUT1 过热条件时设置为 1。只要设置该位,该位就会使 VSOUT1 稳压器保持禁用状态。
如果过热条件不再存在则清零
D[1] VDD5_OT:VDD5 过热状态位
当超出 VDD5 过热条件时设置为 1。当 NMASK_VDD5_OT 位设置为 1 时,过热事件会禁用 VDD5 稳压器并且将 VDD5_EN 位清零(SENS_CTRL 寄存器)。当 NMASK_VDD5_OT 位为 0 时,过热事件会将 VDD5_OT 位设置为 1,但不执行其他器件操作。
如果过热条件不再存在则清零
D[0] VDD_3_5_OT:VDD3/5 过热状态位
当超出 VDD3/5 过热条件时设置为 1。只要该位设置为 1,该位就会使 VDD3/5 稳压器保持禁用状态。
如果过热条件不再存在则清零

SAFETY_STAT_2 寄存器

初始化源:NPOR、LBIST 之后重新初始化
控制器访问:只读 (RD_SAFETY_STAT_2)

Figure 5-26 SAFETY_STAT_2 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
RSV RSV CFG_CRC_ERR EE_CRC_ERR RSV WD_FAIL_CNT[2] WD_FAIL_CNT[1] WD_FAIL_CNT[0]
0b 0b 0b 0b 0b 1b 0b 1b
D[7:6] RSV
D[5] CFG_CRC_ERR:安全配置寄存器的 CRC 错误状态位
安全配置寄存器受 CRC8 保护。
当安全配置寄存器的 CRC8 计算值与 SAFETY_CFG 寄存器中存储的 CRC8 预期值不匹配时,该位会设置为 1。
当 CRC8 不匹配情况不再存在时清零。
当 EEPROM CRC 执行无错误时清零(无论 CFG_CRC 校验结果如何)。
D[4] EE_CRC_ERR:EPROM CRC 错误状态位
EEPROM 内容受 CRC8 保护。
当 CRC8 计算值与 EEPROM DFT 寄存器中存储的 CRC8 预期值不匹配时,该位会设置为 1。当该位设置为 1 并且器件处于诊断状态时,器件会转换至安全状态。
当 CRC8 不匹配情况不再存在时清零。
D[3] RSV
D[2:0] WD_FAIL_CNT[2:0]:看门狗失效计数器
默认值为 5,当进入诊断和活动状态后立即初始化为该值。
看门狗失效计数器将在器件看门狗每次检测到糟糕或超时事件时递增,并在其每次接收到良好事件时递减。
看门狗失效计数器必须递减到低于 5 才会启用 ENDRV 引脚。
如果 WD_RST_EN 位设置为 1,在看门狗失效计数器达到计数 7 之后下次发生糟糕或超时事件时(即 7+1)检测到看门狗失效。在 SAFETY_ERR_STAT 寄存器中,WD_FAIL 状态位设置为 1(在 SAFETY_ERR_STAT 寄存器中将 WD_FAIL 位设置为 1)。

SAFETY_STAT_3 寄存器

初始化源:NPOR
控制器访问:只读 (RD_SAFETY_STAT_3)

Figure 5-27 SAFETY_STAT_3 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
RSV RSV NRES_ERR LBIST_ERR ABIST_ERR ABIST_ERR LBIST_RUN ABIST_RUN
0b 0b 0b 0b 0b 0b 0b 0b
D[7:6] RSV
D[5] NRES_ERR:复位错误输入状态
无论 DIS_RES_MON 位的值如何,当检测到 NRES 引脚输出高电平与 NRES 引脚输入读回低电平之间存在不匹配情况时,该位设置为 1。如果外部 RC 延迟减缓电平变化,使其长于内部抗尖峰脉冲时间(120µs 典型值),它可能短暂设置为 1,具体取决于该引脚的外部 RC 负载和读取该位的时序。
如果故障不再存在,则清零。
SAFETY_FUNC_CFG 寄存器中的 DIS_NRES_MON 位决定该错误是否会导致从活动状态转换至安全状态。
D[4] LBIST_ERR:逻辑 BIST (LBIST) 错误状态位
当 LBIST 失败时该位设置为 1
在 LBIST 运行完成(无故障)之后清零。
仅当 LBIST_RUN 位为 0 时有效。
D[3] ABIST_ERR:模拟 BIST (ABIST) 错误状态位
当 ABIST 失败时该位设置为 1。如果该位设置为 1 并且器件处于诊断状态,则器件会转换至安全状态。
在 ABIST 运行完成(无故障)之后清零
仅当 ABIST_RUN 位为 0(ABIST 未在运行)时有效
D[2] ABIST_ERR:模拟 BIST (ABIST) 错误状态位(与 D3 相同)
当 ABIST 失败时该位设置为 1。如果该位设置为 1 并且器件处于诊断状态,则器件会转换至安全状态。
在 ABIST 运行完成(无故障)之后清零
仅当 ABIST_RUN 位为 0(ABIST 未在运行)时有效
D[1] LBIST_RUN:逻辑 BIST (LBIST) 运行状态位
当 LBIST 在运行时该位设置为 1。
当 LBIST 未在运行时清零。
D[0] ABIST_RUN:模拟 BIST (ABIST) 运行状态位
当 ABIST 在运行时该位设置为 1。
当 ABIST 未在运行时清零。

SAFETY_STAT_4 寄存器

初始化源:NPOR、LBIST 之后重新初始化
控制器访问:只读 (RD_SAFETY_STAT_4)

Figure 5-28 SAFETY_STAT_4 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
SPI_ERR[1] SPI_ERR[0] LOCLK RSV MCU_ERR WD_ERR ENDRV_ERR TRIM_ERR_VMON
0b 0b 0b 0b 0b 0b 0b 0b
D[7:6] SPI_ERR[1:0]:SPI 错误状态位
00b = 无错误
01b = SPI SDO 错误(SDO 输出不匹配)
如果在同一个 SPI 帧期间同时发生 SPI SDO 错误和另一个 SPI 错误,则 SPI_ERR[1:0] 位中会显示 01b,因为 SPI SDO 错误具有较高的优先级。
10b = 保留
11b = SPI 错误,包括 SPI 帧截断、SPI 传输的位数大于 16、SPI 传输的命令未定义或 SPI 传输具有错误的命令奇偶校验
在 SPI 读取访问或任何没有错误的 SPI 帧之后清零。
:如果在 SPI 帧传输期间产生 MCU 复位(导致 SPI 帧截断),则这些 SPI 错误状态位不会清除,而是根据已截断的上一个 SPI 帧保持相关状态,直到发生 SPI 读取访问
D[5] LOCLK:缺少时钟检测状态位
当检测到缺少时钟故障时出现,还会在完成 ABIST 之后出现
在内部 NPOR 之后清零并在读取时清除(在 ABIST 之后)
D[4] RSV
D[3] MCU_ERR:MCU 错误信号监控器 (MCU ESM) 状态位
当 MCU ESM 监控启用时,如果 MCU ESM 模块在 ERROR/WDI 引脚上检测到错误,则该位会设置为 1。
该位对 SAFETY_ERR_STAT 寄存器中的 ERROR_PIN_FAIL 位进行镜像
D[2] WD_ERR:看门狗错误状态位
当 WD_RST_EN 位(SAFETY_FUNC_CFG 中的位 3)设置为 1 时,在 WD_FAIL_CNT[2:0] 计数器达到计数 7 之后下次发生糟糕或超时事件(即 7+1)时,该位会设置为 1。如发生诊断状态超时,也会设置为 1。
该位对 SAFETY_ERR_STAT 寄存器中的 WD_FAIL 位进行镜像
D[1] ENDRV_ERR:启用驱动器错误
当检测到 ENDRV 引脚输出与 ENDRV 输入反馈之间存在不匹配情况时该位设置为 1。如果外部 RC 延迟减缓电平变化,使其长于内部抗尖峰脉冲时间(32µs 典型值),它可能短暂设置为 1,具体取决于该引脚的外部 RC 负载和读取该位的时序。
如果故障不再存在,则清零。
D[0] TRIM_ERR_VMON:VMON 调整错误状态位
当检测到不匹配电压监控器调整错误时该位设置为 1。
在内部 NPOR 之后以及故障不再存在时清零。

SAFETY_STAT_5 寄存器

初始化源:POR、LBIST 之后重新初始化
控制器访问:只读 (RD_SAFETY_STAT_5)

Figure 5-29 SAFETY_STAT_5 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
RSV RSV RSV RSV RSV FSM[2] FSM[1] FSM[0]
0b 0b 0b 0b 0b 0b 1b 1b
D[2:0] FSM[2:0]:当前器件状态
反映当前器件状态(在 NPOR 或 LBIST 后重新初始化之后,位将立即更新以反映当前器件状态)
待机状态:00h
复位状态:03h
诊断状态:07h
活动状态:05h
安全状态:04h

SAFETY_ERR_CFG 寄存器

初始化源:NPOR
控制器访问:读取 (RD_SAFETY_ERR_CFG)
写入 (WR_SAFETY_ERR_CFG)。仅在诊断状态下才可能发生写入更新。写入访问通过 SW_LOCK 命令进行锁定。

Figure 5-30 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
SAFE_TO
[2]
SAFE_TO
[1]
SAFE_TO
[0]
SAFE_LOCK_THR
[3]
SAFE_LOCK_THR
[2]
SAFE_LOCK_THR
[1]
SAFE_LOCK_THR
[0]
CFG_LOCK
0b 0b 0b 0b 0b 0b 0b 0b
D[7:5] SAFE_TO[2:0]:安全状态超时设置
安全状态持续时间具有时间限制,以针对潜在的 MCU 锁定 状态提供保护。
超时持续时间 = (2 × SAFE_TO[2:0] + 1) × 22ms。
最短持续时间为 22ms。
最长持续时间为 330ms。
22ms 时间基准具有 5% 的精度(来自 4MHz 内部振荡器)
D[4:1] SAFE_LOCK_THR[3:0]
将相应器件的 DEV_ERR_CNT[3:0] 阈值设置为器件在安全状态下的值,而无论是否发生安全状态超时事件
当 NO_SAFE_TO 位(SAFETY_FUNC_CFG 寄存器位 7)设置为 1 后:
当 DEV_ERR_CNT[3:0] < SAFE_LOCK_THR[3:0] + 1 时,从安全状态到复位状态的安全状态超时转换时间通过 SAFE_TO[2:0] 位设置进行控制。安全状态超时持续时间的计算方法为 (SAFE_TO[2:0] × 2 + 1) × 22ms。
当 DEV_ERR_CNT[3:0] 计数器达到 SAFE_LOCK_THR[3:0] + 1 值后,器件会保持锁定 在安全状态。
当 NO_SAFE_TO 位(SAFETY_FUNC_CFG 寄存器位 7)清零后:
当 DEV_ERR_CNT[3:0] < SAFE_LOCK_THR[3:0] + 1 时,从安全状态到复位状态的超时转换时间通过 SAFE_TO[2:0] 位设置进行控制。延时时间持续时间的计算方法为 (SAFE_TO[2:0] × 2 + 1) × 22ms。
当 DEV_ERR_CNT[3:0] 计数器达到 SAFE_LOCK_THR[3:0] + 1 值时,器件会在 680ms 后转换至复位状态。
旨在支持软件调试和开发,不建议用于常规功能运行。
0000b 设置是默认设置,具有与 1111b 设置相同的效果。这两种设置都可以提供最小阈值。
D[0] CFG_LOCK
寄存器锁定访问控制。
当设置为 1 时,无法通过 SPI WR 访问更新寄存器内容。

SAFETY_BIST_CTRL 寄存器

初始化源:NPOR
控制器访问:读取 (RD_SAFETY_BIST_CTRL)
写入 (WR_SAFETY_BIST_CTRL)。写入访问通过 SW_LOCK 命令进行锁定。

Figure 5-31 SAFETY_BIST_CTRL 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
BIST_DEG_CNT[1] BIST_DEG_CNT[0] AUTO_BIST_DIS EE_CRC_CHK RSV LBIST_EN ABIST_EN ABIST_EN
0b 0b 0b 0b 0b 0b 0b 0b
D[7:6] BIST_DEG_CNT[1:0]:活动 ABIST 期间的抗尖峰脉冲滤波器持续时间设置
该位控制每个安全监控电压的抗尖峰脉冲滤波器持续时间。
分辨率为 15µs(最小设置为 15µs,最大设置为 60µs):bist_deglitch = (BIST_DEG_CNT[1:0] + 1) × 15µs。
15µs 时间基准具有 5% 的精度(来自 4MHz 内部振荡器)。
在活动状态下运行 ABIST 时,TI 建议将其设置为最长抗尖峰脉冲时间。
D[5] AUTO_BIST_DIS
该位控制仅当器件从诊断、活动或安全状态进入复位状态时在从复位状态转换到诊断状态时执行的自动 BIST。
当设置为 1 时,会执行自动 BIST 运行,但在从待机状态上电时的自动 BIST 运行除外。
D[4] EE_CRC_CHK:重新计算 EEPROM CRC8
该位控制 EEPROM CRC8 校验功能
当设置为 1 时,会重新加载 EEPROM 内容,并且重新计算 CRC8 并与 EEPROM DFT 寄存器中存储的预期值进行比较。
:对于每个上电事件,会重新加载 EEPROM 内容并重新计算其 CRC8。
自检状态通过 SAFETY_STAT_2 寄存器中的位 4 进行检查。
D[3] RSV,可读且可写,没有影响
D[2] LBIST_EN:启用 LBIST 运行
该位控制 LBIST 运行(还运行 ABIST)。
自检状态通过 SAFETY_STAT_3 寄存器中的 D1 和 D4 位进行监控。
LBIST_EN 位将 DIAG_EXIT_MASK 位清零。诊断状态超时计数器仅在 LBIST 运行期间停止。在 LBIST 完成之后,超时计数器从最后的值继续计数。要保持在诊断状态,必须在 LBIST 完成后将 DIAG_EXIT_MASK 位设置为 1。对于从诊断状态到活动状态的转换,DIAG_EXIT 位必须设置为 1。
D[1] ABIST_EN:启用 ABIST 运行(与 D[0] 相同)
该位控制模拟 UV、OV 和 LOC BIST 运行。
自检状态通过 SAFETY_STAT_3 寄存器中的 D0、D2 和 D3 位以及 SAFETY_STAT4 寄存器中的 D5 位进行监控。
D[0] ABIST _EN:启用模拟 BIST 运行(与 D[1] 相同)
该位控制模拟 UV、OV 和 LOC BIST 运行。
自检状态通过 SAFETY_STAT_3 寄存器中的 D0、D2 和 D3 位以及 SAFETY_STAT4 寄存器中的 D5 位进行监控。

SAFETY_CHECK_CTRL 寄存器

初始化源:NPOR、LBIST 之后重新初始化
控制器访问:读取 (RD_SAFETY_CHECK_CTRL)
写入 (WR_SAFETY_CHECK_CTRL)。

Figure 5-32 SAFETY_CHECK_CTRL 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
CFG_CRC_EN RSV ENABLE_DRV RSV RSV NO_ERROR DIAG_EXIT_MASK DIAG_EXIT
0b 0b 0b 1b 0b 1b 0b 0b
D[7] CFG_CRC_EN
该位控制是否针对器件配置寄存器启用 CRC8 保护。
当设置为 1 时,会针对所有器件配置寄存器计算 CRC8 并与 SAFETY_CFG_CRC 寄存器中存储的 CRC8 值进行比较。
TI 建议首先设置所需的器件配置,然后更新 SAFTY_CFG_CRC 寄存器,再将该位设置为 1。
以下寄存器受到保护:
SAFETY_FUNC_CFG 寄存器
DEV_REV(器件版本)寄存器
SAFETY_PWD_THR_CFG 寄存器
SAFETY_ERR_CFG 寄存器
WD_TOKEN_CFG 寄存器
WD_WIN1_CFG 寄存器
WD_WIN2_CFG 寄存器
SAFETY_ERR_PWM_L 寄存器
DEV_CFG2 寄存器
DEV_CFG1 寄存器(仅 D6 位)
D[6] RSV,可读且可写,对器件状态或 ENDRV 和 NRES 输出没有影响
D[5] ENABLE_DRV
控制 ENDRV 输出的启用。
除了将该位设置为 1 之外,看门狗失效计数器必须递减至低于默认计数值 5 才能启用 ENDRV 输出。
D[4:3] RSV,可读且可写,对器件状态或 ENDRV 和 NRES 输出没有影响
D[2] NO_ERROR
该位启用 ERROR/WDI 引脚的 MCU ESM 监控。启用后,MCU ESM 会在检测到错误时将器件从活动状态转换至安全状态。
0b = MCU ESM 启用并且 ERROR/WDI 引脚受到监控。在活动状态下检测到的故障会导致转换至安全状态,在诊断状态下检测到的故障不会导致转换至安全状态。
1b = MCU ESM 未启用并且 ERROR/WDI 引脚不受监控,活动状态下的故障不会导致转换至安全状态。
如果在 NO_ERROR = 0(MCU ESM 启用)时检测到故障:
将出现 SAFETY_ERR_STAT 寄存器中的 ERROR_PIN_FAIL 状态位。
会设置 SAFETY_STAT_4 寄存器中的 MCU_ERR 状态位。
D[1] DIAG_EXIT_MASK
控制从诊断状态退出。
无论是否发生诊断状态超时事件或者是否设置 DIAG_EXIT 位,当该位设置为 1 时,将禁用从诊断状态退出。
建议仅针对软件调试和开发使用该功能,不得在功能模式下将其激活。
D[0] DIAG_EXIT
控制从诊断状态退出并进入活动状态
当设置为 1 并且 DIAG_EXIT_MASK 位为 0 时,器件会从诊断状态转换至活动状态。

SAFETY_FUNC_CFG 寄存器

初始化源:NPOR
控制器访问:读取 (RD_SAFETY_FUNC_CFG)
写入 (WR_SAFETY_FUNC_CFG)。仅在诊断状态下才可能发生写入更新。写入访问通过 SW_LOCK 命令进行锁定。

Figure 5-33 SAFETY_FUNC_CFG 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
NO_SAFE_TO ERROR_CFG WD_CFG IGN_PWRL WD_RST_EN DIS_NRES_MON RSV VDD_3_5_SEL
1b 0b 0b 0b 0b 1b 0b X
D[7] NO_SAFE_TO
控制安全状态超时功能的启用和禁用。
– 当设置为 1 时:安全状态超时禁用。当 DEV_ERR_CNT[3:0] 计数器达到 SAFE_LOCK_THR[3:0] + 1 值后,器件会在安全状态下保持锁定
– 当清零时:安全状态超时启用。当 DEV_ERR_CNT[3:0] 计数器达到 SAFE_LOCK_THR[3:0] + 1 值时,器件会在 680ms 后转换至复位状态。
D[6] ERROR_CFG:MCU ESM 配置位
当清零时:会选择 PWM 模式(可用作外部时钟监控器)。预期 ERROR/WDI 引脚低电平和高电平持续时间由 SAFETY_ERR_PWM_H 和 SAFETY_ERR_PWM_L 寄存器进行控制(请分别参阅Section 5.5.4.13Section 5.5.4.14)。
当设置为 1 时:会选择 TMS570 模式。ERROR 引脚低电平持续时间阈值由 SAFETY_ERR_PWM_L 寄存器进行设置。
使用 SAFETY_CHECK_CTRL 寄存器中的 NO_ERROR 位来启用 MCU ESM 功能。
D[5] WD_CFG:看门狗功能配置位
当清零时:触发模式(默认模式)– 通过 ERROR/WDI 引脚输入看门狗触发。
当设置为 1 时:Q&A 模式 – 通过 SPI 输入看门狗应答。
D[4] IGN_PWRL:点火开关电源锁存控制位
控制点火开关电源锁存的启用。
:仅当器件处于诊断状态时才能更改该位。
当清零时:在 IGN 引脚处于低电平的情况下,器件进入待机状态。由 CANWU 事件清除。
当设置为 1 时:IGN 引脚可能会被拉低,但器件保持上电状态。
D[3] WD_RST_EN
1b = 当检测到看门狗故障时(WD_FAIL_CNT[2:0] 计数器达到计数 7+1)启用到复位状态的转换。
0b(默认值)= 当检测到看门狗故障事件时(WD_FAIL_CNT[2:0] 计数器达到计数7 + 1)禁用到复位状态的转换。
D[2] DIS_NRES_MON
当清零时:在活动状态下,NRES 引脚上读回电平与 NRES 引脚输出驱动器状态之间的差异会导致转换至安全状态并且会设置 NRES_ERR 位。
当设置为 1(默认状态)时:会由于读回 NRES 引脚电平与 NRES 驱动器状态之间的差异而禁用状态转换。(默认状态):如果检测到读回 NRES 引脚电平与 NRES 驱动器状态之间的差异,则仍会设置 NRES_ERR 位。
D[1] RSV,在诊断状态下可读且可写,对器件状态或 ENDRV 和 NRES 输出没有影响
D[0] VDD_3_5_SEL:上电时的 VDD3/VDD5 选择状态位
在上电时对 SEL_VDD3/5 输入引脚进行采样和锁存。
0b = 5V 设置(SEL_VDD3/5 引脚接地)
1b = 3.3V 设置(未连接 SEL_VDD3/5 引脚)
复位状态下的值取决于首次上电时 SEL_VDD3/5 引脚的状态
该位是只读的。
:该位与 DEV_CFG1 位 D7 相同。

SAFETY_ERR_STAT 寄存器

初始化源:NPOR
控制器访问:读取 (RD_SAFETY_ERR_STAT)
写入 (WR_SAFETY_ERR_STAT)。仅在诊断状态下才可能发生写入更新。写入访问通过 SW_LOCK 命令进行锁定。

Figure 5-34 SAFETY_ERR_STAT 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
RSV RSV ERROR_PIN_FAIL WD_FAIL DEV_ERR_CNT[3] DEV_ERR_CNT[2] DEV_ERR_CNT[1] DEV_ERR_CNT[0]
0b 0b 0b 0b 0b 0b 0b 0b
D[7:6] RSV
D[5] ERROR_PIN_FAIL
仅当 NO_ERROR = 0(SAFETY_CHECK_CTRL 寄存器中的 D2 位)时,会在 MCU ESM 模块在 ERROR/WDI 引脚上检测到故障时设置为 1。当器件处于活动状态并且 NO_ERROR = 0 时,器件会在该 ERROR_PIN_FAIL 位设置为 1 时进入安全状态。如发生诊断状态超时,也会设置为 1。
通过使用 SPI 向该位写入 0 进行清除,或在复位事件期间清零。:在诊断状态下,还可以向该位写入 1,将其设置为 1 所产生的器件级影响与在 ERROR/WDI 引脚上检测到故障相同。
D[4] WD_FAIL
当 WD_RST_EN 位(SAFETY_FUNC_CFG 中的位 3)设置为 1 时,在看门狗失效计数器达到计数 7 之后下次发生不良事件(即 7 + 1)时,该位会设置为 1。如发生诊断状态超时,也会设置为 1。
当看门狗失效计数器小于 7 时通过使用 SPI 向该位写入 0 进行清除,或在复位事件期间清零。:在诊断状态下,还可以向该位写入 1,在退出诊断状态时将其设置为 1 会导致转换至安全状态。
D[3:0] DEV_ERR_CNT[3:0]
跟踪当前器件错误计数。
由 SPI WR 访问进行覆盖,但仅限诊断模式。

SAFETY_ERR_PWM_H 寄存器

初始化源:NPOR
控制器访问:读取 (RD_SAFETY_ERR_PWM_H)
写入 (WR_SAFETY_ERR_PWM_H)。仅在诊断状态下才可能发生写入更新。写入访问通过 SW_LOCK 命令进行锁定。

Figure 5-35 SAFETY_ERR_PWM_H 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
PWMH[7] PWMH[6] PWMH[5] PWMH[4] PWMH[3] PWMH[2] PWMH[1] PWMH[0]
1b 0b 1b 0b 1b 0b 0b 0b
D[7:0] PWMH[7:0]:PWM 模式下 ERROR/WDI 引脚高电平阶段持续时间(分辨率为 15µs)
控制预期的高电平阶段持续时间(分辨率为 15µs)
使用Equation 17Equation 18 来计算高电平脉冲持续时间 tPWM_HIGH 的最小值和最大值。
(15µs 时间基准具有 5% 的精度,来自 4MHz 内部振荡器)

SAFETY_ERR_PWM_L 寄存器

初始化源:NPOR
控制器访问:读取 (RD_SAFETY_ERR_PWM_L)
写入 (WR_SAFETY_ERR_PWM_L)。仅在诊断状态下才可能发生写入更新。写入访问通过 SW_LOCK 命令进行锁定。

Figure 5-36 SAFETY_ERR_PWM_L 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
PWML[7] PWML[6] PWML[5] PWML[4] PWML[3] PWML[2] PWML[1] PWML[0]
0b 0b 1b 1b 1b 1b 0b 1b
D[7:0] PWML[7:0]:ERROR/WDI 引脚低电平阶段持续时间
控制预期低电平阶段持续时间。
当 ERR_CFG 位为 0(处于 PWM 模式)时:PWM 低电平阶段持续时间(分辨率为 15µs)
使用Equation 19Equation 20 来计算低电平脉冲持续时间 tPWM_LOW 的最小值和最大值。
(15µs 时间基准具有 5% 的精度,来自 4MHz 内部振荡器)
当 ERR_CFG 位设置为 1(TMS570 模式)时:错误低电平持续时间(分辨率为 5µs)
使用Equation 15Equation 16 来计算低电平持续时间 tTMS570_LOW 的最小值和最大值。
(5µs 时间基准具有 5% 的精度,来自 4MHz 内部振荡器)

SAFETY_PWD_THR_CFG 寄存器

初始化源:NPOR
控制器访问:读取 (RD_SAFETY_PWD_THR_CFG)
写入 (WR_SAFETY_PWD_THR_CFG)。仅在诊断状态下才可能发生写入更新。写入访问通过 SW_LOCK 命令进行锁定。

Figure 5-37 SAFETY_PWD_THR_CFG 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
RSV RSV RSV RSV PWD_THR[3] PWD_THR[2] PWD_THR[1] PWD_THR[0]
0b 0b 0b 0b 1b 1b 1b 1b
D[7:4] RSV
D[3:0] PWD_THR[3:0]:用于将器件断电的器件错误计数阈值
当 DEV_ERR_CNT[3:0] 计数器达到编程的阈值时,器件会断电。
器件会在发生新的唤醒或 ignition 事件时恢复。

SAFETY_CFG_CRC 寄存器

初始化源:NPOR
控制器访问:读取 (RD_SAFETY_CFG_CRC)
写入 (WR_SAFETY_CFG_CRC)。仅在诊断状态下才可能发生写入更新。写入访问通过 SW_LOCK 命令进行锁定。

Figure 5-38 SAFETY_CFG_CRC 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
CFG_CRC[7] CFG_CRC[6] CFG_CRC[5] CFG_CRC[4] CFG_CRC[3] CFG_CRC[2] CFG_CRC[1] CFG_CRC[0]
0b 0b 0b 1b 0b 0b 0b 0b
D[7:0] CFG_CRC[7:0]:安全配置寄存器的 CRC8 值

诊断

DIAG_CFG_CTRL 寄存器

初始化源:NPOR、LBIST 之后重新初始化
控制器访问:读取 (RD_DIAG_CFG_CTRL)
写入 (WR_DIAG_CFG_CTRL)

Figure 5-39 DIAG_CFG_CTRL 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
MUX_EN SPI_SDO MUX_OUT INT_CON[2] INT_CON[1] INT_CON[0] MUX_CFG[1] MUX_CFG[0]
0b 0b 0b 0b 0b 0b 0b 0b
D[7] MUX_EN:启用诊断多路复用器输出
0b = 禁用(三态)
1b = 使能
D[6] SPI_SDO:用于在互联测试期间控制 SPI_SDO 输出缓冲器状态
要检查 SDO 诊断,请使用以下序列:
MUX_CFG[1:0] 配置必须为 01b(数字多路复用器模式)
SPI NCS 必须保持在高电平
SDO 引脚的状态由 SPI_SDO 位进行控制
D[5] MUX_OUT:诊断多路复用器输出状态控制位
:当 MUX_CFG 位设置为 00b 并且 MUX_EN 位设置为 1 时
D[4:2] INT_CON[2:0]:器件互连测试配置位
000b = 无活动互连测试
001b = 在诊断多路复用器输出上观察到的 ERR 输入状态
010b = 在诊断多路复用器输出上观察到的 SPI_NCS 输入状态
011b = 在诊断多路复用器输出上观察到的 SPI_SDI 输入状态
100b = 在诊断多路复用器输出上观察到的 SPI_SCLK 输入
101b = 不适用
110b = 不适用
111b = 不适用
D[1:0] MUX_CFG[1:0]:诊断多路复用器配置
00b = 多路复用器输出由 MUX_OUT 位(DIAG_CFG_CTRL 寄存器中的位 5)控制
01b = 数字多路复用器模式
10b = 模拟多路复用器模式
11b = 器件互连模式(输入引脚互连测试)

DIAG_MUX_SEL 寄存器

初始化源:NPOR、LBIST 之后重新初始化
控制器访问:读取 (RD_DIAG_MUX_SEL)
写入 (WR_DIAG_MUX_SEL)

Figure 5-40 DIAG_MUX_SEL 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
MUX_SEL[7] MUX_SEL[6] MUX_SEL[5] MUX_SEL[4] MUX_SEL[3] MUX_SEL[2] MUX_SEL[1] MUX_SEL[0]
0b 0b 0b 0b 0b 0b 0b 0b
D[7:0] MUX_SEL[7:0]:诊断多路复用器通道选择
:多路复用器通道表取决于 DIAG_CFG_CTRL 寄存器中的 MUX_CFG[1:0] 位设置(请参阅Section 5.5.4.17.1)。

看门狗计时器

WD_TOKEN_FDBK 寄存器

初始化源:NPOR
控制器访问:读取 (RD_WD_TOKEN_FDBK)
写入 (WR_WD_TOKEN_FDBK)。仅在诊断状态下才可能发生写入更新。写入访问通过 SW_LOCK 命令进行锁定。

Figure 5-41 WD_TOKEN_FDBK 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
FDBK[3] FDBK[2] FDBK[1] FDBK[0] TOKEN_SEED[3] TOKEN_SEED[2] TOKEN_SEED[1] TOKEN_SEED[0]
0b 0b 0b 0b 0b 0b 0b 0b
D[7:4] FDBK[3:0]:看门狗问题(令牌) FSM 反馈配置位
FDBK [3:0] 位控制生成的问题和马尔可夫链多项式序列
该器件具有一系列生成问题(共 16 个),重复或序列排序可通过 FDBK[3:0] 位进行调节
FDBK[3:2] 控制 Q&A 模式下的看门狗问题(令牌)生成。
FDBK[2:1] 控制用于看门狗问题(令牌)生成的 LFSR 配置。
FDBK[0] RSV
D[3:0] TOKEN_SEED[3:0]:看门狗令牌种子值,用于生成一组新问题(令牌)
只能在诊断状态下(复位之后)重新初始化看门狗之后由 MCU 更新令牌种子值。新的 TOKEN_SEED[3:0] 值在进行另一个从复位状态到其他状态的转换 (AUTO_BIST_DIS = 1) 之后生效。
仅用于 Q&A 模式。

WD_WIN1_CFG 寄存器

初始化源:NPOR
控制器访问:读取 (RD_WD_WIN1_CFG)
写入 (WR_WD_WIN1_CFG)。仅在诊断状态下才可能发生写入更新。写入访问通过 SW_LOCK 命令进行锁定。

Figure 5-42 WD_WIN1_CFG 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
RSV RT[6] RT[5] RT[4] RT[3] RT[2] RT[1] RT[0]
0b 1b 1b 1b 1b 1b 1b 1b
D[7] RSV
D[6:0] RT[6:0]:看门狗窗口 1 持续时间设置
要计算 tWIN1 时间段的最小值和最大值,请参阅Equation 1Equation 2

WD_WIN2_CFG 寄存器

初始化源:NPOR
控制器访问:读取 (RD_WD_WIN2_CFG)
写入 (WR_WD_WIN2_CFG)。仅在诊断状态下才可能发生写入更新。写入访问通过 SW_LOCK 命令进行锁定。

Figure 5-43 WD_WIN2_CFG 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
RSV RSV RSV RT[4] RW[3] RW[2] RW[1] RW[0]
0b 0b 0b 1b 1b 0b 0b 0b
D[7:5] RSV
D[4:0] RW[4:0]:看门狗窗口 2 持续时间设置
要计算 tWIN2 时间段的最小值和最大值,请参阅Equation 3Equation 4

WD_TOKEN_VALUE 寄存器

初始化源:NPOR、LBIST 之后重新初始化
控制器访问:只读 (RD_WD_TOKEN_VALUE)

Figure 5-44 WD_TOKEN_VALUE 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
WD_FAIL_TH RSV RSV RSV TOKEN[3] TOKEN[2] TOKEN[1] TOKEN[0]
1b 0b 0b 0b 0b 0b 0b 0b
D[7] WD_FAIL_TH
当看门狗失效计数器达到计数 5 或更高(SAFETY_STAT_2 寄存器中的 WD_FAIL_CNT[2:0] 位)时设置为 1。
当看门狗失效计数器达到小于 5 的计数(SAFETY_STAT_2 寄存器中的 WD_FAIL_CNT[2:0] 位)时清零。
D[6:4] RSV
D[3:0] TOKEN[3:0]:看门狗问题(令牌)
MCU 必须读取(或计算)当前问题(令牌),以生成正确的应答字节。
仅用于 Q&A 模式。

WD_STATUS 寄存器

初始化源:NPOR、LBIST 之后重新初始化
控制器访问:只读 (RD_WD_STATUS)

Figure 5-45 WD_STATUS 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
WD_ANSW_CNT
[1]
WD_ANSW_CNT
[0]
ANSWER_ERR WD_WRONG_CFG WD_CFG_CHG SEQ_ERR TIME_OUT ANSWER_EARLY
1b 1b 0b 0b 0b 0b 0b 0b
D[7:6] WD_ANSW_CNT[1:0]:当前看门狗应答计数
仅用于 Q&A 模式。
D[5] ANSWER_ERR:用于显示错误的应答 x 字节的看门狗错误状态位(以前称为 TOKEN_ERR)
一旦应答 x 字节 (WD_TOKEN_RESPx) 不正确,该位就立即设置为 1。如果后续应答再次正确或在新看门狗序列的开始,该标志会清除。该位不会在进行 SPI 读取时清除。
仅用于 Q&A 模式。
D[4] WD_WRONG_CFG
当 WD_WIN1_CFG 或 WD_WIN2_CFG 位设置为 00h 时设置为 1。
D[3] WD_CFG_CHG:看门狗配置更改状态位
当 WD_WIN1_CFG 或 WD_WIN2_CFG 设置更改时该位设置为 1。该位在新看门狗序列的开始清除。
D[2] SEQ_ERR:任一应答字节错误
时序错误或应答错误。
仅用于 Q&A 模式。
D[1] TIME_OUT:在看门狗序列内未接收到看门狗事件(触发或四个应答 x 字节)(超时事件)
在触发模式(默认模式)下:如果在看门狗序列期间未在 ERROR/WDI 引脚上接收到触发,则设置为 1。
在 Q&A 模式下:如果在看门狗序列期间接收到的应答 x 字节数少于四,则设置为 1。
该标志可用于将 MCU 时序与器件看门狗重新同步。
由 SPI 读取访问清零,在看门狗良好事件不良事件 之后清零,或在复位事件期间清零。:在诊断状态下,还可以向该位写入 1,将其设置为 1 所产生的器件级影响与在 ERROR/WDI 引脚上检测到故障相同。
D[0] ANSWER_EARLY:应答 x 字节完成得太早或触发太早(以前称为 TOKEN_EARLY)
如果在窗口 1 期间返回四个应答字节或在窗口 1 中发生触发,则设置为 1。

WD_ANSWER 寄存器

初始化源{:NPOR
控制器访问:只写 (WR_WD_ANSWER)

Figure 5-46 WD_ANSWER 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
WD_ANSW[7] WD_ANSW[6] WD_ANSW[5] WD_ANSW[4] WD_ANSW[3] WD_ANSW[2] WD_ANSW[1] WD_ANSW[0]
0b 0b 0b 0b 0b 0b 0b 0b
D[7:0] WD_ANSW[7:0]:应答字节
有关应答字节的详细信息,请参阅Section 5.4.15.4
仅用于 Q&A 模式。

传感器电源

SENS_CTRL 寄存器

初始化源:NPOR
控制器访问:读取 (RD_SENS_CTRL)
写入 (WR_SENS_CTRL)。

Figure 5-47 SENS_CTRL 寄存器
D7 D6 D5 D4 D3 D2 D1 D0
RSV RSV RSV VDD5_EN RSV RSV RSV VSOUT1_EN
0b 0b 0b 1b 0b 0b 0b 0b
D[7:5] RSV
D[4] VDD5_EN:如果清零,则 VDD5 稳压器会关闭。
该位默认设置为 1,并且在发生 VDD5 过热情况时清除(由 SAFETY_STAT1 寄存器中的 VDD5_OT 位 D1 指示)。
:VDD5 稳压器禁用时,VDD5_ILIM 位(SAFETY_STAT_1 寄存器中的 D7 位)设置为 1,并且只要 VDD5 稳压器禁用(或 VDD5_EN 位为 0),该位就保持设置为 1。不过,VDD5_OV 和 VDD5_UV 位会反映 VDD5 稳压器上的过压或欠压情况。
D[3:1] RSV
D[0] VSOUT1_EN:传感器电源使能位(将该位设置为 1 可启用 VSOUT1 传感器电源)
该位默认清零,必须由 MCU 设置为 1 才能启用 VSOUT1 传感器电源。如果发生 VSOUT1 过热情况(由 SAFETY_STAT1 稳压器中的 VSOUT1_OT 位 D2 指示),VSOUT1 稳压器将禁用,并且该位 (VSOUT1_EN) 会清零。当 VSOUT1 传感器电源中的过热情况不再存在时,必须重新启用 VSOUT1 传感器电源。