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.

[参考译文] BQ76952:STM32和 Bq76952之间的通信失败。

Guru**** 2782445 points

Other Parts Discussed in Thread: BQ76952EVM, BQ76952

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1012307/bq76952-communication-between-stm32-and-bq76952-fails

器件型号:BQ76952

您好!

我使用的测试板(BQ76952EVM ) 具有 STM32L431RC 微控制器, 通过点击 BQ76952EVM 评估模块外部 I2C 接头的 SCL 和 SDA 引脚并连接相应 的 STM32L431RC SCL 和 SDA、使用具有公共接地的评估模块的 REG 1通过3.3V 上电、使用 BQ76952 IC 进行评估。 当我尝试连接 I2C 通信并使用0x10器件地址测试器件地址配置时、使用"HAL_I2C_IsDeviceReady "库函数无法成功进行通信、而我收到了 HAL_ERROR 而不是 HAL_OK。  

我是否需要配置任何其他连接? 我甚至无法读取和写入特定 的 Bq76952 地址。

请帮帮我。

谢谢、此致、

罗希思西

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

    您好、Rohith、

    当您将 STM32连接到 EVM 时、是否还移除了 EVM 上的 J16和 J19跳线? 这些连接器将 BQ76952连接到 EVM 上的 MSP430、因此这可能会导致总线争用。

    此外、I2C 信号需要上拉电阻器。 您可以在 SCL/SDA 引脚和 STM32 EVM 上的3.3V 电源之间连接5k 或10k 上拉电阻器。 BQ76952上的 REG1默认处于禁用状态、因此除非您之前已启用它、否则不会有3.3V 可用。  

    我还附上了一个使用 STM32F103的工作示例以供参考。

    e2e.ti.com/.../0172.main_5F00_I2C.c

    此致、

    Matt

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

    您好  

    感谢您的帮助、从使用此基本代码开始、我能够使用具有  STM32L431RC 控制 器硬件设置的"BQ7695202 IC"和与  STM32L431RC 微控制器连接的 BQ76952EVM SCL 和 SDA 读取电池电压。

    当我尝试打开和关闭充电和放电 MOSFET 时、使用  STM32L431RC 微控制器在两种不同的设置中、并使用给定的基本代码、分别调用 AFE_ALL_FET_ON ()、 AFE_ALL_FET_OFF ()、 DSG_PDSG_OFF ()、 CHG_PCHG_OFF ()函数。 我在实时观察中使用 AFE_ReadFETStatus()条件观察 MOSFET 的状态,并且无法观察到任何变化。

    我已经尝试使用和不使用 CRC 执行代码。

    我是否应该调用任何其他函数来控制我的充电和放电 MOSFET?

    谢谢、此致、

    罗希思西

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

    您好、Rohith、

    很高兴听到 I2C 通信工作正常。 您不需要使用 CRC -此器件的默认通信模式是没有 CRC。 如果要更改为 CRC,则需要更改 Comm Type 寄存器设置并发送 swap_COMM_MODE()命令。  

    要使 FET 命令生效、首先需要设置[FET_EN]位。 您可以通过发送 FET_ENABLE 0x0022命令或写入 Mfg 状态初始化寄存器中的[FET_EN]位来设置此设置。

    为了避免混淆、我建议关闭此主题、并针对出现的任何新问题启动新主题。 这样、当其他用户在论坛上搜索有关调试微控制器上的 I2C 的问题时、他们会发现此线程很有用。

    此致、

    Matt

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

    您好 

    感谢您的帮助、

    我们配置 了 Mfg 状态 Init 寄存器并设置了[FET_EN]位(0x0022)、我们观察到只有放电 FET 变为高电平一旦我们配置  [FET_EN]位和 ALL_FES_ON ()、CHG、PCHG、PSDG FET 没有变化。、 要单独打开和关闭 FET、有任何命令或子命令。 我已经多次尝试使用 all_FET_ON ()打开所有 FET ,但仍然只能单独打开放电 FET。

    谢谢、此致、

    罗希思西

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

    您好、Rohith、

    在 TRM 中、请参阅 FET 选项寄存器中的 SLEEPCHG 位说明。 CHG FET 将在睡眠模式期间禁用、以默认情况下节省功耗。 如果要更改行为、可以更改此位。

    此致、

    Matt