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.

[参考译文] BQ25638:I2C 对16位寄存器的写入似乎不正确

Guru**** 2515700 points


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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1368560/bq25638-i2c-write-to-16-bit-registers-seems-to-be-incorrect

器件型号:BQ25638

工具与软件:

我将使用此部件提出新设计、我在 I2C 通信和长期 TI 客户方面具有丰富的经验。

对16位寄存器的 I2C 写入似乎在芯片上实现错误、我想知道是否有其他人有任何问题?

例如、我看到、在第一个充电电流寄存器上、地址为0x02。 为了成功写入该寄存器、我需要实际写入地址0x03甚至陌生人、第一次写入时它只设置一个字节、第二次写入时它设置两个字节(即使我发送了多字节写入并且实际上完全重复相同的地址和数据、因此即使我错误、第二次尝试也会失败)。

从该寄存器读取正常工作、从0x02读取的两个字节将返回预期结果。

我已验证的内容:

1) 1) I2C 的计时出色、运行频率仅为100kHz、波形清晰、干净且计时准确。

2)地址和数据以及适当的写入位、ACK 等都就位。

3)第一次写入时发送的信号和第二次写入时相同,我可以将其覆盖在示波器上。

4) 4)要写入的寄存器和字节正确(可特别在充电电流寄存器上进行验证、因为当看门狗超时、两个字节都将以明确定义的方式发生变化、电流设置将被除以2、因此我可以验证我是否同时写入了一个值和读取了一个正确的值)。

5)单字节(8位)寄存器正常工作。

如果您有任何关于其他方面的建议或指导、我们将不胜感激。

主机是 RP2040。

上拉电阻为4.7k Ω

我正在使用 RP2040的内置 I2C 硬件和标准的 micropython 库,这些可以与其他 I2C 外设完美地工作。

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

    您好!

    您能否提供一个概述该问题的数字波形? 一些寄存器、包括充电电流寄存器、具有保留位。 例如、CHARGE 寄存器位15-12和5-0被保留。

    此致、

    迈克·伊曼纽尔

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

    我怀疑有坏的零件、因为我现在已经再制造几块电路板、他们不会出现此问题。 我重新流过了坏板上的部分,问题消失了。 非常奇怪,信号看起来是多么干净,但也很高兴这不是芯片问题:-)