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.

[参考译文] BQ27220:通信不正常

Guru**** 2582405 points
Other Parts Discussed in Thread: EV2400, BQSTUDIO

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1416657/bq27220-communication-not-working

器件型号:BQ27220
主题中讨论的其他器件:EV2400BQSTUDIO

工具与软件:

读取时、通过 I2C 与此 IC 的通信似乎未提供有效的响应。 本通信引用了数据表和技术参考手册。 I2C 确实可以工作并与其他 IC 通信、但它不是 I2C。 我们已经遵循了有关如何与该器件通信的示例、但仍然没有响应。 技术参考手册和测量仪表通信应用手册中包含一些相关代码、但据说在查看测量仪表通信应用手册时、需要由用户实施的部分确实有用。 我们只需要测试一个简单的命令、例如"器件编号"、即可确保此器件正常工作、我们可以从该命令生成驱动程序。 如果你们有 C 驱动程序、请指导我们找到它。 我没有看到一个。 也许我已经错过了。

如果您看一下技术参考手册的第65页、会发现有"data memory parameter update example"。

我们能够成功发送首次写入命令(步骤1-3)、但当我们转到步骤4 (轮询运行状态寄存器)时、我们不会得到有效响应。 我们得到超时、并且在 SDA 线上不读取任何数据。

我们发送了地址、后跟0x3B 命令、然后等待读取数据。 I2C 非常简单、因此我们并不真正了解这里发生的情况、而这个 IC 是所处理的项目的理想之选。

另一个不起作用的例子是技术参考手册19页的那个、只需要获取器件号。 写入命令有效、但读取命令无效。

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

    您好、Korey、

    您是否能够提供通信线路的数字逻辑捕获。 我想了解调试这种情况的确切情况。

    此致、

    Adrian

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

    您好!

    我正在尝试获取逻辑分析仪。 如果我们得到一个值、我可以向您发送捕获结果。 同时、您是否还有其他可能认为是这个问题的地方?

    谢谢!

    Korey

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

    您好、Korey、

    我现在能想到的唯一一件事是确保监测计已正确加电、并确保监测计处于解封状态。 如果电量监测计处于密封状态、则它不允许与某些数据存储器位置进行通信。

    此致、

    Adrian

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

    您好、Adrian、

    我上传了 I2C 通信的两个截图。 这用于读取器件型号、这是技术参考手册第19页的一个示例。 它指出即使器件处于密封状态、我也可以读取、因此这自然是我进行的第一项测试。 它规定在0x00写入0x01和0x00、然后从0x3E 开始读取。 我已尝试在读取0x3E、0x3F 和0x40时交换0x01和0x00、但除了0x3F 和0x40外、其他结果仍然相同。 对于这些情况、上面屏幕截图中的 D0为低电平、而不是高电平。

    谢谢!

    Korey

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

    您好、Korey、

    感谢您的数字逻辑捕获。 我认为问题在于、您在将0x01 0x00发送到寄存器0x00后尝试读取过快。 在执行对寄存器0x00的写入之后、我将等待至少20ms、然后再尝试读取。

    此致、

    Adrian

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

    您好、Adrian、

    我已尝试等待20ms 到1秒。 我已尝试多次重置电源、甚至尝试读取0x3F 和0x40、以防文档中出现拼写错误。 像以前一样、我尝试了交换0x01和0x00。 经过所有这些组合后、结果仍然相同。

    此致、

    Korey

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

    您好、Korey、

    我唯一可以提供的其他解决方案是使用 BQStudio 和 EV2400来查看您是否可以从器件读取数据。

    此致、

    Adrian