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.

[参考译文] BQ40Z80:在读取 STATUS1 (0x0071)、STATUS2 (0x0071)寄存器时、最初接收额外的2字节数据。

Guru**** 2577385 points
Other Parts Discussed in Thread: BQ40Z80

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1238455/bq40z80-receiving-extra-2-byte-of-data-initially-when-reading-status1-0x0071-status2-0x0071-registers

器件型号:BQ40Z80

您好!

BQ40Z80与 I2C-2 在我的 IMX8 处理器的系统。 在这里我正在阅读 DAStatus1 (0x0071)、DAStatus2 (0x0072)和 DAStatus3 (0x007B)寄存器。

1) 1) DAStatus1 (0x0071)寄存器:  我正在读取该状态寄存器时、该寄存器会返回32个字节的数据、其中包含 BQ40Z80参考手册中所述的电池电压、BAT 电压、电池组电压、电流和功率。 并且如手册中所述、我将接收32个字节的数据、但我假设前2个初始字节在技术上不正确、因为它实际上并不代表参考手册中所述的 Battery1电压。 其他状态寄存器也会发生同样的情况、 DAStatus2、DAStatus3 只是值不同、但这些值是???

为了参考,我附上了我的阅读的屏幕截图。 我们会热切地等待着回复。 请提供解决方案或说明 尽快。

谢谢。此致、

hk. (Acevin 解决方案)

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

    大家好、HK、

    请确保遵循 SMBus 规范、BQ40Z80不使用 I2C、返回的第一个字节是读取的块的大小。 通过您的第一个屏幕截图0x71、我可以看出所有报告的值都是正确的、第一个字节是数据包的大小(0x20)、然后所有数据都在后面(0x0EAA = 3754mV、0x0E69 = 3689mV 等) 我怀疑所有块读取命令都存在同样的问题。

    SMBus 规范: http://smbus.org/specs/smbus110.pdf

    此致、

    怀亚特·凯勒