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.

[参考译文] CCS/TMS570LS0332:MCU 和 TPS65381之间的问题

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

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/626197/ccs-tms570ls0332-the-problem-between-mcu-and-tps65381

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

工具/软件:Code Composer Studio

尊敬的 E2E:

  当 MCU 将 ESM 错误设置为 TPS65381时、我遇到有关 TPS65381的问题。

  配置:

  1. tps65381和 TMS570之间的硬件连接: 与 TPS65381A-Datasheet (修订版 A)文档中显示的一样(P103图6-9)

  tps65381的配置:PWD_THR = 0X5u、TPS_WDT_WIN1_CFG = 0x2u、TPS_WDT_WIN2_CFG = 0x1u

  现象:

  条件1: 1. 检查错误引脚监控(我在 TI 库中使用的此函数:bool TPS_TestErrorPinMonitoring (TPS_Test_Result * ErrorPinMonitoring_Test)

           首先、使用固定窗口(TPS_WDT_WIN1_CFG = 0x2u、TPS_WDT_WIN2_CFG = 0x1u)检查   TPS 的错误(ANSWER_ERR、SEQ_ERR、TIME_OUT、ANSWER_EARLY)

             其次、更改 TPS 的固定窗口(TPS_WDT_WIN1_CFG = 0x27u、TPS_WDT_WIN2_CFG = 0x18u)

  当我使用上述条件1之一并将 ESM 错误用于 tps65381时,tps65381的状态:活动状态-> 安全状态->复位状态->诊断状态->安全状态... ->无关状态->活动状态。 无关状态到安全状态的重新启动是无法传递条件1、它将在函数中死。 当 DEV_ERR_CNT = PWD_THR 时,TPS 的状态将进入待机状态,然后 TPS 将传递条件1的功能,然后 TPS 进入活动状态。

  问题:1. 当我将 PWD_THR 设置为>1时,tps65381无法传递上述条件1的函数。 这个问题的原因是什么?

          2. PWD_THR 的含义是什么以及如何使用它?

          3.当 NO_SAFE_TO = 1且 DEV_ERR_CNT[3:0]>=SAFE_LOCK_THR[3:0]+ 1时,如何跳出安全状态?

   

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

    您好、Yu、

    我认为我并不完全理解您对软件或设备的所有设置或问题,但我将提供我能提供的最佳答案,并提出澄清问题。  在此论坛中、我们仅支持 TPS65381A-Q1、因此如果需要、需要软件特定问题将发布在 TMS570/Hercules 论坛上。

    您能否澄清一下您使用0xYu 作为十六进制值 Y 的指示器?

    答案1:可能有三个单独的原因导致所述的状态转换:

    a) WD_WIN1_CFG 设置为2十六进制、WD_WIN2_CFG 设置为1十六进制。  在这种情况下、TPS65381A-Q1的看门狗计时器中的这些设置将不可用。  请参阅 TPS65381A-Q1数据表中的第5.4.12节"看门狗序列"。  本节给出了看门狗窗口1和窗口2的时序容差公式。 建议 在 WD_WinX_CFG 寄存器设置中至少使用02十六进制和02十六进制。  对窗口使用02十六进制和01十六进制将使窗口2的已知时间在同步事件后仅为1.05ms 至1.16ms。  对于具有自身时钟容差的 MCU 来说,要在窗口2中正确地对 TPS65381A-Q1 (应答0)进行应答以获得良好事件将非常困难。  您可能会看到这些状态的组合、这是因为 MCU 在复位后没有及时重新同步、并且由于看门狗故障和 MCU ESM 故障导致的安全状态混合了复位状态。  请参阅数据表图5-16器件控制器状态图。  在该图中、您将看到看门狗故障、而 WD_RST_EN 设置为1将导致复位状态、而 MCU ESM 故障将导致安全状态。

    b)您可能看到此状态转换的其他两个原因是无法正确理解 PWD_THR、NO_SAFE_TO、SAFE_LOCK_THR、SAFE_TO 以及它们与器件状态机的关系。  

    a.您已配置 PWD_THR、NO_SAFE_TO、SAFE_LOCK_THR、SAFE_TO、以便看到安全状态超时。  有关安全状态超时和配置选项、请参阅数据表第5.4.24节"安全状态"中的注释部分。  这是图5-16中从安全到复位的路径。

    b.如果将 PWD_THR 编程为低于 SAFE_LOCK_THR 的值、则器件将在每次转换到安全状态时在 DEV_ERR_CNT >= PWD_THR 时转换到待机状态。  请记住、如果 PWD_THR 在 IGN 和/或 CANWU 引脚为高电平时导致转换到待机状态、器件将立即重新加电、以复位状态、然后进入诊断状态。 它仅在一个器件内部时钟周期内处于待机状态。 这是图5-16中从安全到待机再返回到复位的路径。

    答案2: PWD_THR 是断电阈值。 如答案1所述,它对器件状态的影响如图5-16所示。 有关如何使用它的详细信息、请参阅数据表第5.4.24节"安全状态"中的注释部分。  每当器件转换到安全状态时、DEV_ERR_CNT 都会递增。  接下来的情况取决于 PWD_THR、NO_SAFE_TO、SAFE_LOCK_THR 和 SAFE_TO 的设置。  根据您的应用、您可以将这些寄存器配置到 TPS65381A-Q1、以使其无限期锁定在安全状态、在安全状态超时之前保持安全状态、然后在假定唤醒请求源为低电平时复位状态或断电至待机状态。

    答案3: 在这种情况下、必须发生强制状态转换。  如图5-16所示、有几个选项可以使用。 这些是:

    1)断电至待机状态(IGN =低电平且未使用点火电源锁存器、CANWU =低电平且发送 WR_CAN_STBY 命令)。

    2) 2)通过让 MCU 特意向看门狗发送不良事件或超时事件来强制复位状态

    3) 3)如果使用 CANWU 引脚唤醒器件、则通过 WR_CAN_STBY 命令强制设置复位状态。  即使 CANWU 保持高电平、如果是将器件唤醒的引脚且 CANWU_L 设置为1、WR_CAN_STANDBY 仍会在1个内部时钟周期内导致转换至待机状态、则器件将立即进入 RESET 状态、然后进入 DIAGNOSIBIC 状态。  

    此致、

    Scott

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

    您能否澄清一下您使用0xYu 作为十六进制值 Y 的指示器?
    0xYu 表示十六进制值 Y

    根据您的建议、我将尝试对 TPS 进行一些测试。 如果有问题、我会再次咨询您。谢谢!

    此致、

    是的