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.

BQ27542EVM: Chip getting damaged on board due to configuration failure

Part Number: BQ27542EVM
Other Parts Discussed in Thread: BQ27542-G1, BQSTUDIO, EV2400

Hi,

I am using BQ27542 on our custom board. I am accessing this chip from MCU over I2C interface. I was able to access this chip for reading device ID, state of charge, etc from MCU firmware. Then i tried configuration of this chip. I am not sure why but I2C communication failed in between while configuration was in progress. Hereafter, I am not able to read device ID or any other parameters from the chip. In fact, when I connected logic analyzer on I2C bus I found that when address 0xAA is transmitted from MCU, BQ27542 does not give acknowledgement.

Is this chip damaged due to incomplete configuration or configuration was not successful because chip damaged in between? Please suggest what could be the reason for this damage.

Thanks,

Pradeep

  • Hello Pradeep,

    Most likely bad communication caused bad data to be written and corrupted the data on the bq27542-g1. This can cause problems with communication and most of the time is not recoverable

  • Hello Pradeep,

    Thanks for sending the additional data through Connor. It looks like you may be able to recover by programming the default srec using bqStudio.

  • Hi Shirish,

    Yes, we could download srec file from bqstudio and found chip responding to address 0xAA and read device ID. I will again configure from my MCU and check if it successfully done before saying that this issue is resolved.

    Thanks,

    Pradeep

  • Hi Shirish,

    I tried configuring recovered chip from my MCU using the code given in TI document SLUA801 - Gauge communication. The configuration is successful, however, if it fails then chip again get corrupted and we again have to recover it using BQStudio. Further, I have following two issues:

    1. There is frequent failure in I2C communication between MCU and fuel gauge chip. We tried diagnosing it by connecting logic analyzer on I2C bus, but to our surprise whenever logic analyzer is connected, it works perfectly. Is this because of some grounding issue or termination issue on I2C bus in hardware? Pull-up resistors on I2C bus is of 10K values. We tried other lower values upto 2K but it didn't helped.

    2. Using same MCU code, we downloaded fuel gauge chip firmware generated from BQStudio - 0542_2_01-bq27542G1.bq.fs file. This also recovered the chip as like we do with BQStudio. The file 0542_2_01-bq27542G1.bq.fs is integrated in MCU firmware. Is this recommended way of recovering the chip?

    Thanks,

    Pradeep

  • Hello Pradeep,

    Can you share the I2C captures you do have? I'm wondering if there are clues to what is occurring even though it seems to help. If you have EV2400 and other pull-ups on the bus you may have communication issues because the gauge cannot pull down the voltage below V(IL).

    If the gauge was corrupted from flash writes then re-uploading the firmware can be helpful yes.

    Sincerely,

    Wyatt Keller

  • Hello Wyatt,

    FG_Configuration.zip

    Attached is logic analyzer waveforms captured from I2C bus when MCU is configuring the chip.

    You need to unzip the file. The unzipped file you will get is - FG_Configuration.logicdata. To open this file you need to download and install software from below link:

    https://support.saleae.com/logic-software/legacy-software/older-software-releases#logic-1-x-download-links

    When you open this software, on right top you will see 'Options' button. To open this file you can select : Options->Open Capture and select the file you have unzipped. Once the file is open, you will be able to see the complete trail of communication between MCU and Fuel gauge chip.

    As I have stated in my earlier response, If I connect Logic analyzer on I2C bus then communication between MCU and Fuel Gauge chip goes smooth. Same is the case with EV2400, i.e. If I connect EV2400 to chip on my board and access it using BQStudio then also communication between EV2400 and Fuel gauge chip goes smooth. But if we don't connect any other devices on bus and only MCU communicates with Fuel gauge chip then the communication breaks in between and hence there is doubt if it is related to grounding or termination issue.

    Please comment.

    Thanks,

    Pradeep

  • Hello Pradeep,

    This makes me think it may be related to the schematic/layout if the EV2400 resolves the issue, it has internal pull-ups which may be helping increase the communication reliability. I'm not sure why the logic analyzer would help besides provider another possible ground path. Can you share the schematic if you are not using the EVM?

    Sincerely,

    Wyatt Keller

  • Hello Wyatt,

    Attached is the schematics.

    FG_Schematics.pdf

    If you need any other information please do let me know.

    Thanks,

    Pradeep

  • Hello Pradeep,

    10K pullups are sufficient. Make sure the SMB wires are short.

    Is the MCU ground connected to GND?

  • Hello Shirish,

    Which SMB wires you are referring to? Can you please provide some reference image from schematics?

    Yes, MCU is connected to GND.

    Thanks,

    Pradeep

  • Sorry, i meant to say I2C but typed in SMB

  • ok, but what exactly you want me to check when you say 'make sure I2C wires are short'?

  • Hello Pradeep,

    The capacitance on each line should be within I2C spec (max is 400pF but below 100pF is preferred to make sure that the signal is very good). With the EVM we recommend using no longer than a 1 foot cable

  • Hello Shirish,

    My problem is not that fuel gauge chip on my board does not work when connected to EVM. It does work perfectly with it.

    My problem is that fuel gauge chip does not work on my custom board with MCU. On custom board, BQ27542 and MCU are mounted apart just at a distance of 1.5". Trace lengths are almost same. In this case when MCU tries to communicate with BQ27542, the communication breaks in between i.e. BQ27542 does not give acknowledge pulse to MCU or most of the time the data read from BQ27542 by MCU is incorrect and hence configuration program fails. Once this configuration program fails in between, internal firmware of BQ27542 gets corrupted and I have recover it using BQStudio through EVM.

    We don;t understand why the communication between MCU and BQ27542 is not stable. Do you think I2C bus capacitance on our custom board between MCU and BQ27542 may be a problem, even though they are connected with trace lengths of about 1.5"?

    Thanks,

    Pradeep 

  • Hello Pradeep,

    I don't think the trace length is an issue here. Check for any ESD protection ICs that add to capacitance. 

  • Hello Shirish,

    I have already shared schematics. Please refer the complete chain. There is no ESD protection ICs in between MCU and Fuel gauge chip as both are on the same board.

  • Would you be able to get some waveforms on an oscilloscope to check the signal level? If communication works well when an oscilloscope is connected, then it would point to ground connection issues.

  • Hello Shirish,

    Waveforms are as attached. It does work with connected oscilloscope.

    Please do let me know your observations.

    Thanks,

    Pradeep

  • Hello Pradeep,

    There is a lot of capacitance on the lines. In theory a lower value pullup resistor should help. However make sure that your MCU can sink the higher current that will result from lower value pullup resistors.

    As an experiment i would also connect ground of MCU to PACK- of battery externally and see it is helps to get more stable communication.