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:TPS36381A-Q1 在 Q&A 模式下的状态

Guru**** 2595770 points
Other Parts Discussed in Thread: TPS65381A-Q1

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1577065/tps65381a-q1-tps36381a-q1-states-in-q-a-modes

器件型号:TPS65381A-Q1


您好、

我对 TPS65381A-Q1 芯片的工作原理有疑问。

我们将此芯片用作外部看门狗。  
在应用开始时、我们停止了 TSP65381 芯片并保持在诊断状态(设置 SAFETY_CHECK_CTRL 寄存器中的 DIAG_EXIT_MASK 位)。 之后、我们:
  -将芯片配置为在问答模式下工作
  -设置打开/关闭窗口
  -开始读取令牌并以适当的方式发送答案
  -当 WD_FAIL_CNT 小于 5 时、我们启用了看门狗(设置 WD_RST_EN 位)
  -清除 DIAG_EXIT_MASK 位
  -继续发送答案,一切都正常工作

   
问题从我们停止发送答案时开始(这可能是由于各种原因导致的,例如 MCU 进入硬故障)、因此我将尝试解释我们如何理解之后的芯片行为。

WD_FAIL_CNT 计数器达到计数 5 后、ENDRV 引脚变为低电平。 当 WD_FAIL_CNT[2:0]计数器达到计数 7(即 7+1)时、TPS65381A 芯片进入复位状态、NRES 引脚变为低电平(低电平约为 4ms 至 5ms、我们在 RSTEXT 引脚上使用 22k 电阻器,因此符合预期)。 由于 NRES 引脚连接到 MCU、因此也会复位 MCU(我们使用 RM57L8)。 这一切都是预料之中的。

出于调试目的、我们从 MCU 断开 NRES 引脚、以便记录 TPS65381 的行为。
您可以打开此链接(我无法上传图像,因此可以点击打印屏幕的链接)、您可以看到 在 WD_FAIL_CNT 计数达到 7+1 后我使用 MCU https://prnt.sc/DQGCufa83eSo 录制的内容。 解释一下、“未知“状态(我在代码中引入的“自己“状态)是指 TI TPS 库中的函数返回错误、我怀疑在复位状态下 SPI 也处于复位状态。

我有更多的问题:

  1. 我对“未知“状态的假设是否正确并且芯片实际上处于复位状态?
  2. TPS65381 芯片如何进入待机状态达 17ms?
  3. “未知“+待机状态的总持续时间为 21ms、是否可以将其与 BIST 连接? 这是否意味着芯片处于 DIGNOSIC 状态?
  4. 为什么 NRES 引脚每 250ms 变为低电平? 每个芯片的时间是相同的、还是可以有所不同?
  5. 复位状态之后、芯片是否确实会进入诊断状态? 这是否意味着我们可以停止处于诊断状态 (DIAG_EXIT_MASK=1) 的芯片并禁用 MCU 的进一步复位 (WD_RST_EN=0)?  
  6. 在应用正常运行期间、上电后、我们的应用将启动、因此 TPS65381 芯片配置为在活动状态下工作。 如果 TPS65381 芯片每 250ms 复位一次 MCU、我们如何重新加载应用程序(擦除旧芯片和加载新芯片)? 当芯片处于运行状态时、是否可以禁用 WD 复位?

提前感谢。

 

 

 

 

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

    您好、

    我无法打开您的屏幕截图、但我认为我仍然可以提供帮助。 器件经过的状态位于数据表中、下面是图像。

    如果器件进入安全状态的次数过多、则器件可能会进入待机状态(这会使 DEV_ERR_CNT 递增)。 通常情况下、器件将进入复位状态、然后进入诊断状态、然后是活动状态或安全状态、具体取决于 WD_FAIL 位是否已被清除并且诊断退出位是否已设置。 我怀疑每 250ms 将 NRES 变为低电平与窗口时序以及 WD 故障计数达到 7+1 阈值所需的时间有关。 可以、在复位状态后、器件会进入诊断状态、您可以使器件保持在该状态。 无法从 ACTIVE 状态禁用 WD_RESET、但您可以在 DIAGNOSTIC 状态下禁用它(这里可能不启用它是更合适的术语)、然后进入 ACTIVE 状态。 我认为启用 WD 不是器件处于运行状态的要求、但这样做会对系统功能安全产生影响。  

    希望这对您有所帮助、如果您需要进一步澄清、请随时进行答复。

    此致、

    Michael Hernandez

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

    您好、Michael:

    我现在设法附上了一个显示我所记录状态的图像(TPS65381 芯片的状态每 1ms 读取一次)。

    从图像中、我们从未进入安全状态 (safe=4)。  因此、我认为我们不会进入待机状态、因为正如您所说的、我们已经进入了安全状态过多次。

    与每次复位之间的 250ms 相关的值对应于窗口持续时间设置(这是关于问题 4 的答案)。

    这意味着在 MCU 复位后、我可以将 TPS65381 芯片停止到诊断状态、并读取或设置一些寄存器(这是对问题 5 的回答)。

    我们确实致力于安全关键型应用 (SIL4)、因此我们必须将芯片配置为在正常运行时在工作状态下工作。 但我们发现了问题、因为我们无法从活动状态禁用 WD 复位、所以如何重新加载应用程序呢? 对于如何解决此问题、您是否有任何建议?

    我还有一个问题。 TSP65381 芯片复位 MCU(因为 7+1 坏事件)并从复位状态变为诊断状态后、 我们是否有办法(通过 MCU 读取注册表)发现发生了 WD 复位?  这将有助于我们将此信息提供给将执行某些安全保护的应用。

    我认为我没有得到问题 1、2、3、6 和这个新问题的答案。 您能否逐一回答我的问题、以便我更容易跟进您的答案?

    此致

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

    您好、Josip、

    我仍在调查额外状态。 (问题 1、2、3)

    若要重新加载程序、我唯一能想到的是将 PMIC 置于诊断模式、然后禁用 WD_RESET。 但是、这将导致 MCU 通过 NRES 线路或断电事件进行复位。 (问题 6)  

    我认为如果发生了 WD 复位、则不可能直接读取、但可以读取 SAFETY_ERR_STAT 寄存器、BIT5 会告诉您 WD 错误计数器是否达到 7、这意味着发生了 WD 复位事件。 可以做的另一件事是 diag_OUT 引脚可以读出其余引脚的功能。 然而,我认为,这将不会对你正在努力做什么有用。

    很抱歉、您需要花费很长时间才能找到所需的答案。 希望我们能尽快解决这个问题。

    此致、

    Michael Hernandez

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

    您好、Michael:

    我仍在调查此额外状态。 (问题 1、2、3)

    好的。  

    要重新加载程序、我唯一能想到的是将 PMIC 置于诊断模式、然后禁用 WD_RESET。 但是、这将导致 MCU 通过 NRES 线路或断电事件进行复位。 (问题 6) 

    好的、我想我们必须以某种方式认识到、在进入工作状态并开启 WD 复位之前、我们希望在器件处于诊断状态时对应用程序进行重新编程。

    如果发生了 WD 复位、我认为不可能直接读取、但可以读取 SAFETY_ERR_STAT 寄存器、BIT5 会告诉您 WD 错误计数器是否达到 7、这意味着发生了 WD 复位事件。 可以做的另一件事是 diag_OUT 引脚可以读出其余引脚的功能。 但我认为这对您尝试做的事情不太有用。

    您是指 WD_FAIL 位? 如果是这样、则会出现这样的问题:当 PMIC 进入复位状态(此时 MCU 也复位)时、如果我从数据表中正确理解、该位也会被清除、因此我没有任何信息表明发生了复位。 我需要在 MCU 结束复位后以某种方式读取(寄存器或引脚或类似引脚的状态)先前发生了复位、以便我们的应用可以将整个系统置于安全状态。

    我希望您能找到困扰我的问题的答案。

    好极了。