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.

BQ34Z100-G1: Battery Replacement

Part Number: BQ34Z100-G1
Other Parts Discussed in Thread: BQ34Z100

Hello,

As we are using BQ34Z100-G1 with NiMH battery pack of 10s,

  1. Can I able to know that, when the battery is replaced and how can I able to identify the battery is replaced. In this case how does the FCC or RC is managed by BQ34Z100-G1
  2. In production we dump the Golden file into BQ34Z100-G1, after few months the client will change the battery and replace the battery with new battery pack (with same characteristics and same chemistry), in this case do i need to dump the golden file again to BQ34Z100-G1 or how to manage with this kind of situation?

I was looking for a solution and Information!!

Regards,
Red

  • 1: The bq34z100 doesn't detect if a battery was replaced. If the bq34z100 is power cycled (e.g. you replace the battery while no external power is available), then it will re-init its gauging algorithm using the data it learned from the cells. So if your replace the cells with new ones, you'll have to reprogram the golden image.

    2: Yes, you will have to re-write the golden image to the bq34z100.

  • HI,

    Dominik Hartl11 said:

    1: The bq34z100 doesn't detect if a battery was replaced. If the bq34z100 is power cycled (e.g. you replace the battery while no external power is available), then it will re-init its gauging algorithm using the data it learned from the cells. So if your replace the cells with new ones, you'll have to reprogram the golden image.

    2: Yes, you will have to re-write the golden image to the bq34z100.



    1. In our application the BQ34Z100-G1 is powered from Battery pack, so if i replace the cells i need to reprogram the golden image.

    2: What happen if the operator remove the battery for a while and Insert the same battery? does the BQ recognizes it or how it works?

    3: After golden program has been reprogrammed, do i need to do the charge and discharge cycle or it recognizes the the battery characteristics?

    Thanks in advance!!

  • 1: Yes

    2: No. The gauge has no way to detect that this was the same battery.

    3: The gauge will treat the battery as a brand new battery, matching the characteristics from the battery that was used to generate the golden image. Additionally, it can only approximate the state of the battery with initial measurements, so it will not achieve high accuracy until it detected a full charge.

    If the load characteristics are different from the golden image, it will have to learn about system load during a discharge.

    If the battery is already aged, it will need a few cycles to adapt to the characteristics of the aged battery. Because of this, it will overestimate capacity first, which will lead to SOC that's too high until the battery charge level reaches the fast scaling region and then SOC will drop quickly. If fast scaling is not enabled, it will likely cause sudden drops in SOC to 0%, depending on aged battery capacity.

  • Dominik Hartl11 said:

    1: Yes

    2: No. The gauge has no way to detect that this was the same battery.

    3: The gauge will treat the battery as a brand new battery, matching the characteristics from the battery that was used to generate the golden image. Additionally, it can only approximate the state of the battery with initial measurements, so it will not achieve high accuracy until it detected a full charge.

    If the load characteristics are different from the golden image, it will have to learn about system load during a discharge.

    If the battery is already aged, it will need a few cycles to adapt to the characteristics of the aged battery. Because of this, it will overestimate capacity first, which will lead to SOC that's too high until the battery charge level reaches the fast scaling region and then SOC will drop quickly. If fast scaling is not enabled, it will likely cause sudden drops in SOC to 0%, depending on aged battery capacity.

    Thank You Dominik,

    1 and 2: OK, I need to re-program the golden image, but both instruction and data memory or just the data memory. I try to explain what it might happen in the field: If the operator detaches momentarily the battery from the system, the BQ34Z100-G1 will have no power for a short time. Suppose the same battery is re-connected, can the BQ34Z100-G1 use the old data from the same battery or due to the power shortage something inside had re-initialized and a new golden image is needed ?

    3:okay,

    4: Actually we areI2C communication, and we are facing another problem with it. During programming golden file, we lose unfortunately we loose REGIN and unfortunately the BQ34Z100-G1 is not responding any more via I2C, Address and ROM mode. I'm not getting why we loose the communication!! and can you suggest me programming procedure of BQ34Z100-G1.

  • 1&2: You don't have to reload the golden image in this case. The gauge will remember what it learned but it will start with a more or less inaccurate estimate of depth of discharge if there isn't a good OCV measurement so you'll see some change in gauging results, depending on voltage, current and temperature. The gauge will auto-adjust when there's a synchronization event (e.g. charge termination, voltage drops below terminate voltage, relax with OCV measurement).

    #4: This is a big problem. If the gauge doesn't respond on 0xAA or 0x16, it is effectively "bricked". You can try fail-safe mode by connecting P1 and P4 together when you power cycle the gauge. It should then respond on 0x16 and you can try re-loading the golden image / firmware.

  • Dominik Hartl11 said:

    1&2: You don't have to reload the golden image in this case. The gauge will remember what it learned but it will start with a more or less inaccurate estimate of depth of discharge if there isn't a good OCV measurement so you'll see some change in gauging results, depending on voltage, current and temperature. The gauge will auto-adjust when there's a synchronization event (e.g. charge termination, voltage drops below terminate voltage, relax with OCV measurement).

    #4: This is a big problem. If the gauge doesn't respond on 0xAA or 0x16, it is effectively "bricked". You can try fail-safe mode by connecting P1 and P4 together when you power cycle the gauge. It should then respond on 0x16 and you can try re-loading the golden image / firmware.

    #4: may i know what is the exact reason for causing this problem or confusion in I2C?

    • Why does this happen in BQ34Z100-G1?
    • What measures we need to take care to avoid this problem?
    • The I2C conflict or error due to wrong programming?
    • Is there any programming procedure or a document which specifies this problem or indicate the solution of this problem?

  • #4: This is a fundamental problem if you update flash. It will be erased in blocks and when you then interrupt the programming, it can lead to incomplete firmware (if it's instruction flash that was interrupted) or corrupted data memory (some gauging parameters (esp. private ones) can lead to reset loops if they aren't correct).

    The measures are that you must make sure the the gauge flash update procedure as performed by the host uC is robust and must not be interrupted.

    You indicated that REGIN is lost during communication. REGIN must not be interrupted during flash updates. The solution to this problem is to make sure that the gauge isn't unexpectedly powered down while a flash update is in progress.

  • Dominik Hartl11 said:
    #4: This is a fundamental problem if you update flash. It will be erased in blocks and when you then interrupt the programming, it can lead to incomplete firmware (if it's instruction flash that was interrupted) or corrupted data memory (some gauging parameters (esp. private ones) can lead to reset loops if they aren't correct).

    The measures are that you must make sure the the gauge flash update procedure as performed by the host uC is robust and must not be interrupted.

    You indicated that REGIN is lost during communication. REGIN must not be interrupted during flash updates. The solution to this problem is to make sure that the gauge isn't unexpectedly powered down while a flash update is in progress.

    #4: parameters like esp.private, means? And when I’m reprogramming the golden image, I must reprogram the instruction set and data memory??!!

    #5:Is there any document related to procedure for programming BQ43Z100-G1 in a robust way from host micro controller? If so please do share the document.

    #6:If REGIN must not be interrupted during flash updates.

    The solution to this problem is to make sure that the gauge isn't unexpectedly powered down while a flash update is in progress.

    In this case the case i powered cycled BQ34Z100-G1, so I need to the power by considering also the main power supply?? Or if any  robust ideas please do share those are accepted by us!!

    Thanks in advance

    Dominik

  • #4: The gauge has many parameters that are not documented and intended for factory use only.

    You do not have to program both data and instruction memory. There are three formats for the golden image:

    *srec: FW + Data
    *bq.fs: FW + Data (in flash-stream format)
    *df.fs: Data only (in flash-stream format). This requires that the gauge already has the correct FW. Use this to reduce the chance to brick the gauge if flash updates are interrupted by power supply issues.

    #5: There is no dedicated document that addresses this particular behavior as this is a standard requirement for flash based updates (not limited to TI) for resource constrained embedded systems like the gauge.

    #6: The only solution is to make sure the gauge stays powered during flash updates. There is no other solution.

  • #4: This is a big problem. If the gauge doesn't respond on 0xAA or 0x16, it is effectively "bricked". You can try fail-safe mode by connecting P1 and P4 together when you power cycle the gauge. It should then respond on 0x16 and you can try re-loading the golden image / firmware.

    [/quote]

    Hi Dominik,

    I followed the same procedure and recovered a BQ34Z100-G1. But I tried recovering the other BQ34Z100-G1, and unfortunately i couldn't recover all. how much time i need to connect P1 and P4??
    I need to connect P1 and P4 and program golden file or i need to remove the connection and program the golden file?

  • The connection is only checked during power-up so you can remove this after a few milliseconds.

  • Dominik Hartl11 said:

    The connection is only checked during power-up so you can remove this after a few milliseconds.

    We did the procedure of connecting #P1 and #P4 and we recovered the BQ34Z100-G1. But unfortunately while programming golden file, if I  remove the battery, then BQ34Z100-G1 has been damaged!! I did the procedure for recovering the BQ34Z100-G1, but unfortunately i can't recover the board!! Is there any procedure for recovering it ?

    Recovering procedure you suggested is by connecting #P1 and #P4, where #P4 is CLK and I have Pull Up in my design, this will effect the recovery ?

    Regards,

    Red

  • The pull-up can affect the recovery mechanism. In general the recovery is a last life-line in case something goes seriously wrong. The real fix is to avoid disconnecting power when updating flash.