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.

[参考译文] TPS650365-Q1:如何在 TPS650365-Q1 寄存器上编写

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1534201/tps650365-q1-how-to-write-on-tps650365-q1-registers

器件型号:TPS650365-Q1

工具/软件:

大家好:

我可以通过 I2C 读取 TPS650365-Q1 寄存器、但当尝试写入任何寄存器时、该寄存器 不会更新。

例如、寄存器 0x1d 位 0 不会更改值。 我的问题是、为什么我不能在 PMIC 寄存器上写入数据、但我可以从中读取数据呢?

  

谢谢

Hossam

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

    您好 Hossam、

    此 PMIC 具有寄存器锁定功能。 简而言之、将 0x9B 写入寄存器 0x09、以解锁所有其他用户空间寄存器。 解锁后、您应该能够写入其他寄存器。  有关 REGISTER_LOCK 寄存器的更多详细信息、请参阅下图。

    此致、
    Jude Stehling

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

    您好 Jude、

    感谢您的答复。

    我已经尝试过在寄存器 0x09 中写入 0x9b、然后写入其他寄存器、但当写入该寄存器并读取时、我看到它没有更新  

    谢谢  

    Hossam  

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

    尊敬的 Hossam:

    您是否能够在执行 0x9B 写入后读回寄存器 0x09 以检查 REGISTER_LOCK_STATUS? 它是回到“锁定“(1h) 还是“已解锁“(0h) 状态?

    此致、

    Katie

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

    尊敬的 Katie:

    感谢您的答复。

    是的、我们在写入 0x9B 后读取该寄存器、[REGISTER_LOCK_STATUS]位为 1(寄存器被锁定)。

    谢谢

    Hossam Afifi

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

    您好 Hossam、

    如果寄存器解锁功能无法正常工作、我预计写入操作会被错误执行。

    您使用的器件的确切 OPN 是什么? 也可能为该器件启用了 I2C CRC、因此需要一个 CRC 值才能成功执行对 PMIC 的写入。

    此致、
    Jude Stehling

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

    您好 Jude、

    为 PMIC 启用 CRC、我们通过 I2C 写入而不使用 CRC  

    如果我们使用具有 CRC 的 I2C 写入如何发送具有 CRC 的 I2C 帧和 I2C 写入函数获取从器件地址和寄存器地址、仅数据?   

    谢谢

    Hossam Afifi

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

    您好 Hossam、

    如果在 I2C 写入期间未发送 CRC 字节、则 PMIC 将无法成功写入。 我不知道您的信息第二部分中的问题是什么意思。 您能否澄清一下这个问题? 希望以下信息有助于解决该问题:

    写入寄存器时出现的错误很可能是由于在写入序列期间未正确发送 I2C CRC。 数据表的“6.4.16.5.1 I2C 协议的 CRC 计算“部分介绍了 I2C CRC。 如需有关用于包含此内容的算法的帮助、请参阅以下链接中提供的 TPS65036x-Q1 驱动程序: release·TexasInstruments/ti-PMIC-LLD。I2C CRC 的实现在“pmic_io.c"中“中作为函数“getCRC8Val"实现“实现。

    此致、
    Jude Stehling