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.

[参考译文] BQ76952EVM:400k I2C 通信问题(在100k 时工作正常、在400k 时工作)

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1186366/bq76952evm-400k-i2c-communicate-problem-works-fine-at-100k-problem-at-400k

器件型号:BQ76952EVM
主题中讨论的其他器件: BQ76952

大家好、

我正在使用 MSPM0 (主器件)测试 BQ76952EVM (从器件)、但 I2C 通信存在一些问题。

当我尝试运行400k I2C 时、我注意到只有"启动"条件出现、然后 BQ76952下拉 SCL、不会发出任何信号。

但是、当我按下 M0板上的"reset"按钮时、它将正常工作。 但是、在"启动"条件之后、SCL 不会被 BQ 下拉。

这种现象可能会重复出现。 每两次"重置"成功一次、第一次失败、第二次成功。 波形有一定的差异(如下图所示)

(1)首次(仅"启动"条件)

  

(2)复位后:

     

但是、当我以100kHz 的频率运行时、一切都很好。 测试结果如下所示。

我的问题是:

1.为什么 BQ76952在"启动"条件后下拉 SCL? BQ76952下拉 SCL 的延迟是多少?

2.为什么在我第二次复位 M0 (400k I2C)后 BQ76952不下拉 SCL?

3.有人能告诉我 在 BQ 方面可能会发生什么以及我必须做什么才能使其以400kHz 的频率工作?

谢谢你  

Adrian

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

    您好、Adrian、

    BQ76952默认通信模式为400kHz I2C、因此 BQ 侧应该没有问题。 是否确定 BQ76952将 SCL 引脚拉至低电平-我怀疑 M0器件正在执行此操作、因为重置 M0可解决该问题。

    您在 SCL 和 SDA 引脚上使用了什么值的上拉电阻器? 如果您使用10k 电阻器、我建议尝试5k 以查看问题是否有所改善。 这将改善这些信号的上升/下降时间、这些信号在您的示波器捕获上看起来不是很好。

    此致、

    Matt

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

    您好、Matt、

    感谢您的回复。

    (1)我认为 BQ76952会将 SCL 拉低、因为当我关闭 BQ76952EVM 时(移除 Cell 和 BAT 之间的电压)。 波形如下所示、SCL 的低电平大约为550mV。

    但是、当我为 BQ769X2EVM 加电时、"启动"后的 SCL 电平将大约为0mV。 如您在100k I2C 波形中所见。

    (2)上拉电阻为1.7k。 该值由 MSP 团队推荐。

    由于第二次复位时读取操作成功、 BQ76952在启动 I2C 通信时是否需要类似唤醒的操作? 我们能否使用 GPIO 提前唤醒 BQ76952?

    BR

    Adrian

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

    您好、Adrian、

    我认为不需要任何额外的唤醒操作。 您可以尝试在第一条命令之前添加延迟、也可以将代码中的步骤与代码示例进行比较、以查看是否有任何不同。  

    Matt

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

    您好、Matt、

           我有疑问。 在 TRM 中、我看到 BQ76952最初默认在400kHz I2C 模式下加电。  

          但是、我的代码现在在100k I2C 模式下正常工作、我使用的是 BQ76952EVM BMS029B。 如果我想在400kHz I2C 模式下进行测试、 我是否需要配置 BQ76952? 或者、我是否只需要配置 M0 I2C 速度?

    Adrian

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

    您应该只需要配置 M0 I2C 速度、因为默认情况下、BQ76952已配置为400kHz。

    Matt