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.

[参考译文] BQ76920EVM:I2C 示例代码有问题:bq769x0_I2C_SAMPLE_CODE_带_CRC

Guru**** 2493545 points
Other Parts Discussed in Thread: BQ76920, BQ76920EVM, MSP430G2553, EV2400

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/710906/bq76920evm-problem-with-i2c-sample-code-bq769x0_i2c_sample_code_with_crc

器件型号:BQ76920EVM
主题中讨论的其他器件:BQ76920MSP430G2553EV2400BQ769200

尊敬的所有人:

我正在研究基于 BQ76920 AFE 和 MSP430G2553 UC 的 BMS 解决方案。 尝试使用 MSP430G2553 Launchpad 评估和初始化 BQ76920EVM。 我遵循了 SLVA626B 应用手册和硬件连接。 在建立 I2C 通信时遇到的问题。 代码卡在 I2CSendBytes 函数中、每次返回-1。 代码已附加。 请注意、I2CReadBytes 函数代码不能按照下面提到的 I2C 读取协议图工作。

  e2e.ti.com/.../sluc583-_2800_3_2900_.zip

while (DelayCounter < DELAY_LIMIT &&(!(IFG2和 UCB0TXIFG)||(UCB0CTL1和 UCTXSTT)))//检查字节是否已发送

   DelayCounter++;

如果(DelayCounter >= delay_limit)//检查是否发生 NACK 条件

   *句子字节= NumberOfBytesSent;
   UCB0CTL1 |= UCTXSTP;//发送停止条件
   返回-1;

I2C 与 EV2400配合使用良好、我能够使用具有相同硬件设置的 GUI 调试和查看寄存器。 因此、它消除了硬件问题。  

任何建议都将受到高度赞赏。 如果有人使用 I2C 成功进行 MSP430G2553和 BQ769x0通信、请分享 I2C 代码示例。  

谢谢

此致、

Amit Deswal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Amit、您好!
    我不确定自己能提供多大帮助、因为 EV2400与器件通信。
    EV2400确实有上拉电阻器、而 MSP430可能没有上拉电阻器。 请务必检查 MSP430板上是否提供了分流器、或者 bq76920EVM 上是否需要分流器。 还要检查 MSP430输入的电压容差、EVM 是2.5V 部件、将具有2.5V 上拉电阻。 如果 MSP430的侧有更高的上拉电压、则可能需要它。
    检查寻址。 apnote 中包含的图表显示了7位地址、当它出现在总线上时、它乘以2。
    使用 bq76920EVM 上的示波器检查总线。 这可让您查看信号电平、边沿质量和时钟速度。 您应该会看到总线上的7位地址0x08显示为0x10、并且 bq76920发出 ACK。 以下字节也应 ACK。 MSP430和 EV2400之间的比较捕获可能会有所帮助。 通常、EV2400会更慢、它不会以最大速度运行总线。
    纠正发现的与互连或上拉有关的任何问题。 如果时钟过快、请使用 MSP430设置进行调整。 apnote 开发人员的代码可用于测试、因此应该可以正常工作。 如果您对 MSP430或 I2C 外设的设置有疑问、MSP430论坛专家应提供更多帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、WM、

    感谢您的及时支持。 它确实帮助我解决了 I2C 通信问题。 TI 编写的示例适用于 BQ 器件的 CRC 选项、我正在使用 BQ769200、这是一款禁用 CRC 的器件、因此我必须修改示例代码才能使其正常工作。

    此致、
    Amit Deswal