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: Balancing command issue ?

Part Number: BQ76952
Other Parts Discussed in Thread: BQ77216, BQSTUDIO

Tool/software:

I am facing an issue with balancing feature. I am trying to test external cell balancing via AFE through 0x0083 CB_ACTIVE_CELLS() command. It works in one hardware variant and not in other. What could be the issue ?

  • Hello Sourabh,

    Can you explain more in detail what you mean that the command is working in one hardware variant and not in the other? Did you configure both devices in the same way? Section 4 Considerations for a Host-Balancing Algorithm in the Cell Balancing with BQ769x2 Battery Monitors application note may also be useful to follow.

    Best Regards,
    Alexis

  • Hi Alex,

    Yes, Both the devices are configured in same way. No change in the software. 

    Shall I send you the I2C logic analyzer trace of both these devices for the sent command ?

  • Hello Sourabh,

    Please do. That may help in giving more insight on what’s happening.

    Best Regards,
    Alexis

  • This is the link to I2C traces of the balancing command(0x0083) sent from microcontroller to AFE

    The folder (Working) and (Not Working) has two traces each. 

    In Working the external cell balancing circuit works and balancing is happening while in case of Not Working, balancing does not work.

    https://drive.google.com/drive/folders/1ojrpqDN4b9nx_vbKIjy1WYtlh58NWPIA?usp=sharing

  • Hello Sourabh,

    We cannot access Google Drive unfortunately to view what you have shared. Can you please share it through a zip file instead?

    Best Regards,
    Alexis

  • I am unable to upload a zip file here. It is prompting to share a link.

  • Hello Sourabh,

    Are you able to click on the 'upload' button highlighted below? This allows you to upload from your PC's drive without having to use a link. We unfortunately cannot access Google Drive to view what you have shared. 


    Best Regards,
    Alexis

  • I2C trace Balancing Command.zip

    Here you go. Sorry, I couldn't see the upload icon earlier !

  • Hello Sourabh,

    We are in U.S. holidays, expect a response by early next week.

    Best Regards,

    Luis Hernandez Salomon

  • Sure Luis,

    Happy Thanksgiving! Enjoy your holidays.

  • I will just put here our investigation in this issue just as a FYI:

    We have performed below tests to investigate the Balancing issue that we are facing:
    1. Verify if Balancing command (0x0083) transmission from MCU to AFE was failing on I2C: Results - From the debug sessions, we observed that there were no I2C issues present.
    2. Switch to Autonomous Balancing : Results - We developed and switched to a new autonomous balancing algorithm instead of our previous host controlled balancing to further narrow down the issue. And it was observed that even autonomous balancing was not working for this variant but it worked perfectly fine for the other.
    3. Removing 2nd AFE : Results - We doubted that whether the 2nd AFE in the variant that has this issue might be causing it. To verify that, we removed the AFE entirely from the board and even then we weren't able to see balancing working.
    4. Checking  for any presence of AFE faults : Results - We also checked for any AFE alerts/faults that could potentially cause this problem but unfortunately no any alerts/faults in AFE were observed. We referred (AlarmStatus - 0x62, Safety Status A - 0x03, Safety Status B - 0x05)
    5. Also we checked for the readback of balancing command (0x0083). And surprisingly, the readback data reported by AFE was sending accurate data of which cells were being actively balanced but we didn't observe any balancing current flowing that could confirm that balancing is working. 
  • Hi,

    Today (Nov. 29) is a U.S. holiday. The team will be back in office on Monday, and will get back to you then.

    Thank you for your patience.

    Regards,

    Max Verboncoeur

  • Hello Sourabh,

    Thank you for sharing your logic analyzer files and your own investigation results! Please give me some time to review it along with the results you've shared to see if we can find the issue.

    Best Regards,
    Alexis

  • Hello Alexis,

    Can you please help with your updates on issues to customer here and help them address their issues asap.

    Regards,

    Jinesh

  • Hello Sourabh,

    Thank you for your patience again. 

    After looking at your logic analyzer files for both the working and not working hardware variants, I noticed that for the not working one, you are getting a NAK right after the ‘Read 0x7F’ (FET Status) command. Is this occurring as well when you write the Cell Balance command? Usually a NAK appearing there would indicate something wrong with signal integrity, a wrong command, or wrong address. Do you have any logic analyzer files with you issuing the cell balancing command to share instead?


    Also, when you mentioned removing the 2nd AFE, are you saying you removed the ‘working variant’ and kept the ‘non-working variant’ on the board? Or vice versa?

    Can you also share your configuration file (.gg) and schematic potentially as well? Do you have any waveforms you can share of the cells that are supposed to be balancing that the balancing command states is balancing?

    Best Regards,
    Alexis

  • Hello Alex,

    The logic analyzer files have traces of the balancing command only. And the traces were taken in debug mode by pausing the code execution just before the balancing command is issued by MCU to the AFE, so I believe the NACKs that we see might be due to stopping the normal flow execution of instructions.

    • We tried to test for NACKs in the normal flow of execution of software without pausing it by checking the returntype of I2C driver, and did not observe any NACKs or any other I2C issues. Basically we checked for these all errors -

        BQ_ERROR_NONE,

        BQ_ERROR_INIT_FAILED,

        BQ_ERROR_SEND_FAILED,

        BQ_ERROR_RECEPTION_FAILED,

        BQ_ERROR_CRC_VALIDATION_FAILED,

        BQ_ERROR_NULL_RX_BUFFER,

        BQ_ERROR_READBACK_FAILED,

        BQ_ERROR_INVALID_TRANSACTION_LENGTH,

        BQ_ERROR_INVALID_SUBCOMMAND_TYPE,

        BQ_ERROR_ENTER_CFGUPDATE_FAILED

    • And the working hardware variant has 1 AFE (bq76952) and the not working hardware variant has 2 AFEs (1 bq76952 and 1 bq77216). We suspected bq77216 might be causing  the issue and hence removed it from the variant and then tried balancing
    • May I know what is this configuration file (.gg) that you referring to/where can I find it. And about waveforms, may I know which waveforms do you exactly need ? (waveforms that show that balancing current is flowing from the working hardware variant ? or something else)

    And also we believe the issue with balancing command is less likely because we didn't see balancing happening  even with the autonomous balancing algorithm that we developed.

  • Hello Sourabh,

    The logic analyzer files have traces of the balancing command only. And the traces were taken in debug mode by pausing the code execution just before the balancing command is issued by MCU to the AFE, so I believe the NACKs that we see might be due to stopping the normal flow execution of instructions.

    Thank you for clarifying that. 

    And the working hardware variant has 1 AFE (bq76952) and the not working hardware variant has 2 AFEs (1 bq76952 and 1 bq77216). We suspected bq77216 might be causing  the issue and hence removed it from the variant and then tried balancing

    Have you tried the ABA switch with the not working hardware variant? Does another working IC in the not working system still show this issue?

    May I know what is this configuration file (.gg) that you referring to/where can I find it. And about waveforms, may I know which waveforms do you exactly need ? (waveforms that show that balancing current is flowing from the working hardware variant ? or something else)

    The configuration file (.gg) is the file bqStudio generates to show all the parameter changes made to the part. If you do not have a .gg file, if you could share what parameters have been changed to what, that could also be helpful. 

    As for waveforms, waveforms of what the cells are seeing when the cell balance command is running for the not working variant might be useful to see.

    Could you share the schematic of how the not working system is connected to the bq77216?

    I agree that this sounds less likely to be the balancing command itself as of now. 

    Best Regards,
    Alexis

  • Hey Alex,

    Thank you for your response.

    Can we schedule a call to discuss this to avoid all the to and fro ?

    Let me know the time if this is feasible. 

  • Hello Sourabh,

    We have received your request and will work to answer it as soon as possible. 

    Our normal support team is OOO and will be returning 12/10 to help with any ongoing inquiry. 

    We appreciate your patience and understanding.

    Best, 

    -Luis Torres (PME)

  • Hello Sourabh,

    Do you mind answering the questions I asked previously?

    1. Have you tried the ABA switch with the not working hardware variant? Does another working IC in the ‘not working system’ still show the same issue?
    2. Can you share the configuration file (.gg) or what configuration changes you’ve made to the part?
    3. Could you share the schematic of how the not working system is connected to the bq77216?

    At this point in time, it sounds like it is less likely to be the balancing command itself. 

    Best Regards,
    Alexis

  • Hi Alex,

    1) May I know what is ABA switch? Do you mean swapping the bg76952 from the working variant with bq76952 in the non working variant? (If yes - We haven't tried this because we suspect doing this would damage the board)

    2) The configurations that we made for autonomous balancing were - [ BalancingConfiguration (0x9335) - 0x13, CellBalanceMinCellVCharge (0x933B) - 0x0A28, CellBalanceMinCellVRelax (0x933F) - 0x0A28]. 0x0A28 = Decimal 2600. And we were testing it with one of the cell voltage taking to 3900+ mv and rest all(15) of them at 3300mv. And in case of host controlled balancing, the configuration settings were default i.e, the default values of balancing registers.

    3)  The high level block system level schematic of 2 afe's is - 

    In the below schematic, C1,...C5 are cell lines coming from cell connector. And these are going parallelly as inputs to both AFEs

    Below is the schematic of 2nd AFE that I was talking about in the non working hardware variant

    Below is more detailed balancing related schematic 

    And also we wanted to know whether the cell lines going parallel to both AFEs is correct and won't cause any issues?

    Do let us know if you'd like to have a more detailed look into the schematic, and it would be better to discuss it on a call.

    Regards,

    Sourabh

  • Hello Sourabh,

    Thank you for sharing your block system level schematics and configuration changes.

    1. ‘ABA switch’ was referring to the ‘A-B-A Swap’, a verification technique that can help provide information on whether the undesired/non-conforming behavior follows the device under test. This swap can help verify if it’s a fault within the PCB board itself or with the device. I understand you’ve already removed bq77216 on the ‘bad board’ to see if it was causing the issue and cell balancing seemed to still not work.

    a) Have you tried replacing the bq76952 on the ‘bad board’ with a new, working bq76952 yet to see if it works?

    b) Or using the bq76952 from the ‘bad board’ on a ‘working board’ to see if it still has that issue?

    c) Do you mind also sharing waveforms at the cell pins with respect to VSS for the ones you are cell balancing?

    2. We do not recommend the cell lines going parallel to both AFEs/sharing of filtering components as this has caused issues before.

    Best Regards,
    Alexis

  • Hey Alex,

    a, b) We haven't tried swapping them because it is not very feasible with our hardware.

    c) May I know why is this required?

    2) Okay, We want to connect and discuss more about this in details to gain more clarity if this can cause issue. 

    Do let us know the availability of your team.

  • Below is the waveform of gate voltage of the external mosfet for the cell which is supposed to balance

  • Hi Alex,

    We just tried swapping the AFEs bq76952 (from the balancing working variant to the non working one and vice versa), without observing any damage to the boards. And unfortunately, in this case too we don't see balancing happening for the non working hardware variant.

    Probably this could dismiss any hypothesis regarding the AFE is at fault?

  • Hello Sourabh,

    We recommend doing this A-B-A swap because it can help debug whether the issue is with the part (if it was damaged or something is not functioning correctly) or with the board. 

    So far, from the testing results shared, it doesn’t seem to be the software as of now, so we want to determine if it is hardware.

    Thank you for swapping the AFE! From that initial swap, it seems like it could point towards the board being the issue. Here is a video for reference on how to do the full A-B-A swap: Troubleshooting Tips: IC - A-B-A Swap | Video | TI.com

    By any chance, is the swapped bq76952 working properly on the ‘working hardware variant’ as well? 

    If the issue lies with the board, we may want to look at the full schematic of the 'non-working hardware variant' board. Do you mind sharing that with us? If you do not want to share it publicly, you may also privately message me it as well.

    Best Regards,
    Alexis

  • Hey Alex,

    We performed a full ABA swap of bq76952 between both the variants, and observe that balancing seems to happen in the working hardware variant and in case of the non working variant, balancing did not work for either of the AFEs.

    Could you share your email so that we can share the schematics?

  • Hello Sourabh,

    Thank you for doing the swap! From this, it looks like the 'non working variant' board seems to be the issue and not necessarily the AFE itself. 

    I have accepted your friend request. Please share it with me through DM.

    Best Regards,
    Alexis

  • Hi Alex, 

    This has been resolved. 

    The issue was with improper configuration of 2 pins DDSG, DCHG

    Thanks for all the support.

  • Hello Sourabh,

    I'm glad you were able to resolve the issue. May I ask how the DDSG and DCHG were configured?

    Best Regards,
    Alexis

  • In our older hardware version, they were configured for temperature sensing. And in our newer version, they were supposed to be dchg& ddsg alternate functions

  • Hello Sourabh,

    Thank you for letting me know. 

    Best Regards,
    Alexis