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: BQ76952 won't respond to any i2c communication

Part Number: BQ76952

Hello,

I'm trying to send i2c write block data communication to communicate to the AFE, but there isn't any respond.

The TS2 pin was originally connected to a BJT circuit as per the sample reference schematic, but is now left floating. The RST_SHUT pin is lowered to VSS. 

But when trying to communicate to the AFE through i2c there is no response. The method used to communicate is as per the sample STM32 sample code.

The aim is to change it's i2c Address by sending the Data Memory Register Command (0x923A) as provided in the reference .h file. But there is still no change in the i2c address, it still transmits the default address (0x08).

The communication norm is being followed as per the reference manual, Sending the CFG_Set Command before the i2c Address change command followed by the CFG_EXIT command and then followed by the RESET command.

When the Device Number Command or the Manufacturing Status is sent, the AFE responds with a (0000).

The AFE in question is [BQ76952PFBR].

Please provide some solution.

Regards,

Pirdain

  • Hi Pirdain,

    The SWAP_COMM_MODE() subcommand (0x29BC) may work instead of using RESET().

    If that doesn't work, then you could submit a logic analyzer capture for analysis.

    Regards,

    Max Verboncoeur

  • Hi Maxwell,

    Wouldn't the SWAP_COMM_MODE() subcommand also change the current communication mode and to interact with the AFE, I'd have to communicate it with the adjusted communication mode, or does it continue t communicate in the default i2c mode with the changed address?

    I'm asking this as I currently have my set-up configured according to i2c mode and to communicate in any other mode like SPI or HDQ I'd have to make some hardware changes to my custom board.

    Any input would be appreciated.

    Regards,

    Pirdain

  • Hi Maxwell,

    After using the SWAP_COMM_MODE() subcommand the AFE has disappeared from the i2c bus. I suspect that it has shifted to another communication interface like SPI or HDQ. Is there any way I can reverse this command using i2c only or do I have to try find which communication interface is selected using SPI or HDQ in a hit-and-trail method.

    I really hope there is some way to still communicate with AFE using i2c or it'll be very hard figuring out which communication interface is the AFE currently on as the AFE is directly soldered to a custom board and it was set-up according to i2c communication only.

    Please provide me some assistance for the same.

    Kind Regards,

    Pirdain

  • Hi Pirdain,

    The SWAP_COMM_MODE() subcommand causes the device to switch to the communication mode selected in Settings:Configuration:Comm Type. This should be 0x00 by default which is the setting for the device's default communication mode, which for the BQ7695200 is I2C. Unless you've changed this register, the device shouldn't change communication types.

    Power-cycling the device or driving RST_SHUT high for <1s to initiate a partial-reset should reset the device to the default communication mode.

    Also, from Section 9.2 of the TRM:

    The default I2C address should be 0x10.

    I recommend reading Section 2.1 and Section 2.2 of the Software Development Guide to determine if the Device Number and Manufacturing Status commands are being properly sent.

    Regards,

    Max Verboncoeur

  • Hello Max,

    Thank you for your response, what I did was provide the AFE with 0x9 when trying to change the Address. What I should've done is provide it with 0x1E, as the command is to provide the Write Address, i.e., the MSB should be 0. Now it has been set at 0x1E. 

    But I had another question regarding configuring the AFE, if I change the i2c address, would it stay changed forever or would it be changed back to the default if I were to disconnect the cell cables. 

    I'm trying to configure two AFE's one after the other but when trying to connect the other AFE the address gets changed to the default address again.

    Is there no other option other than the OTP configuration? I wanted to test the functionality of the two AFE's in a limited capacity before attaching the main battery pack to them. 

    Any Input is appreciated.

    Kind Regards,

    Pirdain Bhalla

  • Hi Pirdain,

    The device's I2C address will reset to its default value when either exiting SHUTDOWN mode or when the power is cycled. The only way to have settings persist through these events is to write the setting to OTP. The steps and considerations for writing the OTP are detailed in this FAQ.

    One thing to note is that the device's OTP allows for each register to be changed a total of twice, and for 8 total OTP writes. The FAQ and the documents within it describe this in more detail.

    Regards,

    Max Verboncoeur