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.

[参考译文] UCD3138A:PMIC 无响应

Guru**** 2553260 points
Other Parts Discussed in Thread: UCD3138A

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/898886/ucd3138a-pmic-is-not-responding

器件型号:UCD3138A

我有一个程序写入 UCD3138A 上的存储器。 然后、我从固件文件中计算2k 和32k 校验和。 然后、我查询3138A 并获取2k 和32k 校验和。 验证我计算的校验和与 PMIC 计算的校验和相同后、我写入2k 校验和(在本例中未写入32k 校验和)、禁用然后重新启用 PMIC 以进入编程闪存模式。 这大约占总时间的98%。 但是、在重新启用 PMIC 后、它有时不会再响应。 PMIC 看起来是有问题的。 我是否处于编程闪存模式? 如果我的校验和与 PMIC 的校验和匹配、为什么 PMIC 不响应?

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

    很难从您提供的信息中说出来。  您正在使用什么工具、或者您正在编写哪些特定命令来执行校验和验证。

    通常情况下、引导闪存应查看32K 校验和、如果无效、请清除2K 校验和。  如果不这样做、您仍然需要在2K 引导闪存区域中通过某种方式来清除2K 校验和、以防止再次闪烁。   

    您的2K 引导是如何构建的。  您需要具有2K 中的所有内容、才能验证32K 校验和并清除2K 校验和。

    如果你没有这样的锁、你可以体验这样的锁。   

    此外、您需要独立于器件计算校验和、并将结果与器件计算结果进行比较。  这是确保代码已正确下载的方法。  如果代码下载出现问题、并且您只使用器件计算的校验和、则您刚刚锁定了一个损坏的代码。   

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

    我正在使用 C#程序、并通过 PMBus 连接向 PMIC 存储器写入一系列16字节字。

    在代码验证2k 和32k 校验和之前、我不会编写2k 校验和。  (我认为在独立的校验和计算和 PMIC 校验和计算中、我事先没有将校验和写入考虑在内。)  我的代码独立验证我正在编程的十六进制文件中的2k 和32k 校验和、然后在对 PMIC 进行编程后、将这些校验和与 PMIC 计算的校验和进行比较。 如果这些相同、那么我将写入2k 校验和。  如果它们不同、我不会写入2k 校验和、程序会中止。 因此 PMIC 应保持 ROM 模式。 但是、由于我无法在 ROM 模式或编程闪存模式下与 PMIC 进行通信、因此看起来没有。

    我是否可能已经将代码正确写入内存、验证了正确的校验和、写入了正确的2k 校验和、然后意外地在某个位置写入了损坏的字节、从而损坏了程序?

    编程期间的一些功率损耗或其他硬件问题是否会导致 PMIC 锁定?

    除了校验和正确且代码损坏之外、什么可能导致 PMIC 锁定?

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

    为了帮助调试、我建议您使引导闪存按照我建议的方式工作。

    您的问题可能是写入16字节字。  如果您的引导闪存代码直接运行到校验和、或者您在写入校验和时将除 FFs 之外的任何内容写入该16字节块中的最高4个字节之外的字节、则可能会出现问题。  最好是使用单个字写入来写入校验和字、而不是全部16个字节。   如果您要写入校验和的16个字节、从校验和地址开始、那么您将覆盖32K 的其余部分   

    由于您说您正在写入正确的校验和并验证器件是否返回您期望的校验和、因此我预计最后30K 会以某种方式损坏、这可能是由断电或其他硬件问题引起的。  如果写入的校验和或2K 代码损坏、并且32K 校验和无效、则应保持 ROM 模式。  我假设它卡在程序模式下?

    如果是、在您描述的条件下、它可能会经过引导闪存、然后跳转到程序闪存区域。  程序闪存区域可能存在某种损坏、会导致中止或其他故障、从而使 UCD 复位。  该过程会反复反复执行、因为 ROM 将看到有效的校验和、然后再次跳转到引导闪存。   

    因此、我们建议2K 引导闪存区域能够检测30K 区域中的损坏情况、并清除2K 校验和。  否则、30K 区域的潜在错误和损坏会导致这种锁定。  它们不仅可以在编程中发生、而且可以在测试和现场发生。

    当然、您的代码中也可能存在错误。  我知道我经常会尝试将器件归咎于该器件、事实证明它是我自己的一个错误。   

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

    我认为我发现了我的问题。 假设我成功写入 PMIC、并成功进入编程闪存模式、PMIC 正确响应。 然后、假设我忘记擦除 UUT、将完全相同的数据重新写入 PMIC 存储器。 写入的数据是否更有可能损坏?

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

    如果只写入两次完全相同的数据、则应确保安全。  程序闪存实际上允许双写入。  这就是我们通过第二次写入来清除校验和的方法。  您应该在那里安全。  不过、我不确定数据闪存、因为它具有纠错功能。

    如果您写入的数据存在任何差异、则会出现问题、但您应该会得到校验和更改。  这是因为闪存擦除会使闪存全部为 FFs。  一旦您在任何地方写入0、您就不能在没有其他擦除的情况下将其重新置位为1。  但是、您可以将1更改为0。   

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

    我应该尝试检查数据闪存。 是否有办法查看器件的存储器或在其锁定时擦除校验和? 我没有到这个芯片的 JTAG 连接。 错误的数据写入是否会导致 PMIC 锁定?

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

    通常、如果 PMBus 未进行通信、并且您未启用 JTAG、则无法与它进行通信。  有时、数据闪存会导致器件锁定、但我从未见过它会阻止 PMBus 通信。  但这始终是第一次。  如果没有其他功能、我建议出于调试目的、您至少在引导闪存上有一个硬件后门。  在其中进行 I/O 线路检查、以便如果 I/O 线路处于特定状态、2K 将清除2K 校验和。  请记住、所有校验和清除代码和引导闪存启动都必须位于前2K 本身中。   

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

    经过一些调试和实验、我能够阻止切屑锁定。

    以下问题未得到解决)

    1) 1)检查了存储器、以验证是否使用文本差分工具正确写入了程序数据和数据10次运行。

    2) 2)已验证的存储器在重写存储器10次运行之前已擦除。

    3) 3)已检查10次运行是否存在任何电源或使能引脚异常、未发现任何问题。

    以下解决了该问题)

    1) 1)增加了校验和写入后以及禁用处理器之前的延迟。

    2) 2)增加了处理器禁用和重新启用之间的延迟。

    3) 3)处理器重新启用和读取检查处理器是否处于编程闪存模式之间的延迟增加。

    在某种程度上、当处理器没有足够的时间写入校验和或引导时、它似乎锁定了。 有什么想法?

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

    嗯、写入每个字大约需要50微秒。  因此、如果您写入16个字节、这将需要200微秒左右的时间、加上固件从 PMBus 写入存储器以及写入4个字的时间。   

    您没有提到您是如何禁用处理器的。  对于复位引脚变为高电平和低电平、计时应该相对较快、我认为更像是200纳秒左右。   

    另一方面、如果您正在启用和禁用电源、这是一个更危险的区域。  尤其是当电源的上升和下降速度较慢、并且 RESET 引脚不是低电平时、可能会出现一些问题。  尤其是当您仅降低至2.5伏、然后再恢复时。   

    最后、ROM 计算引导校验和并控制程序闪存需要大约1毫秒、然后闪存中的程序需要很长时间才能将 PMBus 初始化为新地址。

    当然、一切都需要时间、您必须允许它。   

    有关电源上升和下降的信息、以及有关 UCD 系列良好布局、接地和滤波等方面的大量其他有趣内容、请参阅此处:

    http://www.ti.com/lit/an/slua779b/slua779b.pdf?ts=1587746038475

    我很高兴您能找到它。