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.

[参考译文] BQ27427:I2C 子命令读取问题

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1489007/bq27427-i2c-subcommand-read-issue

器件型号:BQ27427
主题中讨论的其他部件:BQSTUDIOLP5810

工具/软件:

您好:

我在通过 I2C 读取子命令时遇到了问题。 我希望器件类型返回 0x0427 、但我得到了 0x0000 相反。



  • 我的代码基于 SLUA801 (测量仪表通信) 文档、和标准命令会返回正确的值。



  • 我在使用 I2C 为400kHz 然后我就走了 C 适配器3.3 (I2C COM 马德等待时间) 中的 EMI 指南 《主机接口技术参考手册》 但我还是得到了 0x0000 而非预期值 0x0427

有人遇到过这个问题吗? 如有任何帮助、我们将不胜感激。

谢谢!

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

    您好、Nama、

    我测试了以大约363kHz 发送 device_type 命令、该命令符合预期。 我将发送波形表供您比较您的代码在做什么。

    此致、

    Adrian

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

    您好 Adrian、

    我查看了您提供的图像、但仍无法获得预期的结果。

    • 标准命令可以正常工作、但子命令仍会返回 0x0000 而非预期值。
    • 我在多个时钟频率下进行了测试、但结果保持不变。
    • 我还运行了一个测试、我发送了一个 子命令前后的标准命令 和两个标准命令都返回了正确的值。
    • 我有两个原型、两个原型给出相同的错误值。



    我不知道此时还需要尝试什么。 你有什么建议吗?

    请提供任何指导。

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

    您好、Nama、

    写入和读取之间的时序是多少? 读取需要在发送写入命令后约250ms 进行。

    此致、

    Adrian

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

    您好 Adrian、

    我听从了你的意见并添加了一个 250ms 延迟 执行不同的转换、但遗憾的是、结果是相同的。

    此外、我找不到任何对的引用 250ms 时序 所述。 您能告诉我这个值的来源吗?

    此时、我不确定还要尝试什么。 您还有其他建议吗?

    感谢您的帮助!

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

    您好、Nama、

    抱歉、250毫秒是指我们的另一个测量仪表系列。 您能尝试将延时时间减少至125ms 吗? 这与 BQStudio 使用的时序相同。

    此致、

    Adrian

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

    您好 Adrian、

    进行了测试 125ms 延迟 但不幸的是、结果仍然是一样的。

    以下是组件的路由方式:

    • 答1 :GPOUT (上拉)
    • A2 :SDA
    • A3. :SCL
    • B1 :下拉
    • B2 :接地
    • b3. :VDD
    • C1 :接地
    • C2 :SRX (Vin)
    • C3. :BAT (Vout)

    可能会出现 特定的启动过程 中的示例 BQ27427 我可能遗漏了吗?

    让我知道您的想法。

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

    您好:

    您能给我发送一个电路板原理图吗?

    此致、

    Adrian

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

    您好 Adrian、

    请查看随附的电路板原理图。

    作为参考、两者可供参考 SDA 和 SCL 用户体验 4.7k 上拉电阻

    如果您需要任何其他详细信息、请告诉我。

    期待您的反馈。



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

    您好、Nama、

    原理图看起来没有问题。 您测试的所有其他命令是否都会返回正确的信息?

    此致、

    Adrian

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

    您好 Adrian、

    标准命令工作正常。 但是读取子命令无法正常工作

    我认为写入子命令是可行的、因为当 ITPOR 位设置为1并且使用软复位子命令执行复位时、ITPOR 位会返回到0。

    我将更详细地检查我的读取函数以及微控制器的 I2C 配置(STM32)。
    也许这就是问题所在

    尽快提供更多信息。

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

    您好、Nama、

    好的。 让我了解最新信息。

    此致、

    Adrian

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

    您好 Adrian、

    我发现了这个问题。
    有一个 I2C 地址冲突 之间的差异 BQ27427 和我的电路板上的另一个组件: LP5810

    LP5810有四个不同版本的 I2C 寻址、我使用的是 版本 B 与 BQ27427相冲突。

    开关后、我现在可以与电量计正确通信。

    再次感谢您在整个故障排除过程中提供的帮助。