This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TPS65381A-Q1:器件是否会卡在安全状态?

Guru**** 2589245 points
Other Parts Discussed in Thread: TMS570LS1224

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1046522/tps65381a-q1-can-device-get-stuck-in-safe-state

器件型号:TPS65381A-Q1
主题中讨论的其他器件:TMS570LS1224

参考:数据表 SLVSDJ1A–2016年7月–2017年5月修订、第5.4.25节安全状态;我引述:

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。

在给定默认寄存器值的情况下、是否有可能卡在安全状态?  我想到的一个具体情况如下:

  1. 上电发生。
  2. TPS LBIST (不要与 TMS 相关自检相混淆)失败。
  3. 器件转换至安全状态; DEV_ERR_CNT[3:0]递增至1。
  4. SAFE_LOCK_THR[3:0]保持默认值(=0)。
  5. 器件会将"DEV_ERR_CNT[3:0]≥ SAFE_LOCK_THR[3:0]+ 1"评估为"1 ≥1 = true"
  6. 器件保持安全状态。
  7. NRES 未被置为有效;因此 MPU (TMS570LS1224)继续重新启动。

鉴于我们的设计依赖于后续向复位或待机状态(ENDRV 未使用)的转换、建议 MPU 代码采取的措施是什么、 考虑到 MPU 在电源刚出现故障时应该做些什么可能是有问题的?

Marcus

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    该死:上次发布时出错:我本来打算参考第5.4.24节、而不是5.4.25节!

    Marcus

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Marcus、

    假设这是针对汽车应用、我认为在本例中、重要的问题是、如果 PMIC 无法运行 LBIST、您的系统在功能安全支架上的预期需求是什么。 如果在 PMIC 上设置了 LBIST_ERR (在 LBIST 故障情况下设置)、则器件将立即从诊断状态转换到安全状态、直到运行 LBIST 而没有错误。

    我强烈建议在您的系统中使用 ENDRV、以便可以清楚地知道 PMIC 是否正常工作、并且当器件出现通常会将器件置于安全状态的器件错误时、您不需要 PMIC 进入待机状态。 通过利用 ENDRV、您可以使安全状态实际上成为系统的安全状态、这将有助于解决将器件置于安全状态的任何问题、而不仅仅是在 LBIST 故障情况下。

    如果由于某种原因无法在系统中使用 ENDRV、则需要设计一种方法、允许 MCU 将 IGN 和/或 CANWU 拉为低电平(并清除 IGN_PWRL 位和/或 根据需要发送 WR_CAN_STBY 命令) 当通过读取 SAFETY_STAT_3中的 LBIST_ERR 位检测到 LBIST 故障时。 这可能适用于 LBIST 问题、但如果存在任何其他使通信无法进行的问题、或者如果 MCU 不再工作、那么使用这样的方法将不起作用、这就是我建议使用 ENDRV 的原因。

    此致、

    Layne J

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Layne J、感谢您对 ENDRV 的更新。  也许我最初发布的内容有点不完整;当我说 ENDRV 不在系统中使用时、我指的是受控硬件、但我省略了一句话、即此信号被反馈回 TMS570、在那里可以通过 MIBSPIS5NCS[0]对其进行监控。  回到我的原始场景、在 TPS 器件处于安全状态且 NRES 未置位的情况下、代码可以通过 MIBSPI5NCS[0]检测到这种情况;在这种情况下、启动代码可以通过对 TPS 寄存器进行编程来执行任何操作以进行恢复吗?

    Marcus

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Marcus、

    当器件处于安全状态并且您尝试退出而无法将 NRES 拉至低电平、则只要 WD_RST_EN=1、我建议强制执行看门狗故障(WD_FAIL_CNT=7+1)。 这将导致转换至复位状态、然后转换至正常流程后的诊断。 如果出现之前讨论过的 LBIST 故障、BIST 将再次运行、如果仍然发生故障、器件将再次进入安全状态、否则、它将在正常行为之后保持在 DIGANOSTIC 状态。

    在这些器件上、无法忽略我知道的 LBIST 或 ABIST 错误。

    此致、

    Layne J

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Layne J、我有点困惑。  回复:

    [引用 userid="418370" URL"~/support/power-management-group/power-management/f/power-management-forum/1046522/tps65381a-q1-can-device-get-stuck-in-safe-state/3875465 #387564"]当器件处于复位状态且您正在尝试退出[/quot]

    后跟:

    [引用 userid="418370" URL"~/support/power-management-group/power-management/f/power-management-forum/1046522/tps65381a-q1-can-device-get-stuck-in-safe-state/3875465 #387564"]这将导致转换为重置状态,然后

    第一个引用"复位状态"是否是拼写错误、尤其是第二个引用提到了"转换到"复位状态?

    我假设"复位状态"的第一个参考应该是"安全状态";这是正确的吗?

    回复:

    [引用 userid="418370" URL"~/support/power-management-group/power-management/f/power-management-forum/1046522/tps65381a-q1-can-device-get-stuck-in-safe-state/3875465 #387564"]建议强制执行看门狗故障[/quot]

    如果我在上述假设中回答正确、那么您似乎建议代码可以使用 WD 从安全状态进入复位状态;这怎么做最好?  再次回到原来的情况、在  LBIST 故障之后、在安全模式下、在复位后、  WD_FAIL_CNT 应立即包含其初始计数5、因此、计数器将重新计数3个增量以强制复位;是否有简单的方法实现此目的?

    Marcus

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Marcus、

    我很抱歉、您答对了、第一条陈述应该是安全状态、我更新了我的原始帖子以反映这一点。  

    如果器件遇到 LBIST 故障并在首次上电时转换到安全状态、并且 MCU 无法设置任何只能在诊断状态下修改的寄存器、则器件将一直停留在安全状态、直到它 转换至待机状态、然后重新启用。  我还将强调、除非出现导致 ABIST 或 LBIST 失败的情况、或者在诊断状态超时完成之前 MCU 未开始与 PMIC 通信、否则不太可能卡在安全状态。  

    如果 MCU 能够在初始启动时配置 WD_RST_EN=1、故意发送错误答案或不发送任何看门狗应答将导致 WD_FAIL_CTN 递增、但如果 MCU 在诊断状态下未配置 WD_RST_EN、这不会产生任何影响。

    此致、

    Layne J

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Layne J、回复:  

    [引用 userid="418370" URL"~/support/power-management-group/power-management/f/power-management-forum/1046522/tps65381a-q1-can-device-get-stuck-in-safe-state/3877324 #3877324"]如果 MCU 能够在初始启动时配置 WD_RST_EN=1、则有意发送错误答案[/quot]

    你刚才说的是,给芯片上的错误答案,这是我在写我之前的文章时考虑的,但这个想法被闪在岩石上,这些岩石是“大 IF”:  

    [引用 userid="418370" URL"~/support/power-management-group/power-management/f/power-management-forum/1046522/tps65381a-q1-can-device-get-stuck-in-safe-state/3877324 #3877324"]如果 MCU 能够配置 WD_RST_EN=1[/quot]

    因为在许多情况下无法实现这一点。  所幸的是、将更新硬件设计、以使用 ENDRV 信号将硬件驱动到安全状态。