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.

[参考译文] TPS549D22:您能不能帮助我们了解为什么 TPS549D22#39;s PEC 失败

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1164393/tps549d22-could-you-help-to-let-us-know-why-tps549d22-s-pec-failed

器件型号:TPS549D22

大家好、

我们的客户使用了 TPS549D22、发现0x19=0xD0、0x7E=0x82。

从0x7E 寄存器值开始、PEC (数据包错误检查)失败。 但是、从0x19寄存器可支持 PEC 函数。

您能告诉我如何进一步检查 PEC 失败的原因吗? 您以前是否遇到过此类问题? 这是主机端的问题吗?

谢谢!

Marvin

BR

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

     

    数据包错误检查(PEC)是 PMBus 控制器作为写入事务的一部分发送到 TPS549D22的附加数据字节。  这个数据字节的计算方法是在整个传输数据包上使用循环冗余校验(CRC)、包括目标器件地址、写入位、命令代码和发送的数据字节。

    当 TPS549D22接收到一个包含 PEC 附加数据字节的写入事务时、STATUS_CML 中的 PEC 位被置位、但它的 PEC 字节计算与接收到的 PEC 字节不匹配。  您可能会收到 PEC 错误的原因:

    1) 1) PMBus 控制器计算或发送了错误的 PEC 字节

    2) 2)事务中发生位翻转错误、导致 PEC 不匹配

    3) 3)事务中发生位翻转错误、导致将字事务作为字节事务类型命令接收、从而将字的高字节视为 PEC 字节

    PMBus 控制器源是否应发送 PEC 字节?

    PEC 计算的来源是什么?

    是否每个 PMBus 交易都与 PEC 发生了故障、还是仅发生了一些故障?

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

    PEC 字节应由 PMBus 控制器 NXP MCU 发送。

    PEC 计算应由 MCU 计算。

    对于 PEC、所有 PEC 字节都不正确。 但是、所有数据都是正确的。 只有 PEC 字节错误。

    是否有进一步调试的建议?

    谢谢!

    BR

    Marvin

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

     

    首先、我建议将其中一个事务解码为其字节、以验证发送的 PEC 是否不正确。

    如果发送的 PEC 字节不正确、我建议检查 NXP MCU 的 PEC 计算。

    根据 SMBus 规范、PEC CRC-8使用 C (x)= X^8 + x^2 + x^1 + 1、按发送/接收顺序对所有位进行计算。