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.

BQ34110: Storing Remaining Capacity Value Before Reset

Part Number: BQ34110
Other Parts Discussed in Thread: BQSTUDIO, GPCCEDV

Hello,

The BQ34110 TRM mentions a way to store a remaining capacity value by setting the RESTORE_REMCAP flag in the CEDV Configuration Register in DF: "Upon reset or power-up, the device restores the previous value of RemainingCapacity(), which was stored before going into shutdown". I have tried to make this work but have not had success. I tried changing the DF "Stored Remaining Capacity" value to a different number than the current remaining capacity, then cycling power/resetting, but the remaining capacity number does not change to the stored remaining capacity value. I have also tried using the STORE_REMCAP_A and STORE_REMCAP_B subcommands by using advanced command in BQStudio and writing C1 22 to address 00 or A0 28 to address 00, then reading the DF, but the stored remaining capacity value does not update to the current remaining capacity. Is there a step that I am missing? The TRM has very little information about this.

Thanks,

Colin Yee

  • Hi Colin,

    Have you configured the CEDV parameters on the gauge completely using gpccedv? If yes, after you set the restore_remcap flag in cedv gauging config register, did you sent a reset command so the parameter gets updated in ram?

    thanks

    Onyx 

  • Hi Onyx,

    Yes the CEDV parameters on the gauge have all been configured using GPC. After setting the restore_remcap flag I have tried resetting and cycling power, then calling the store_remcap_a and store_remcap_b subcommands within 4 seconds, but the stored remaining capacity value is still not updated in the DF after resetting again.

  • Hi Colin

    I am checking with our firmware engineers and will get back to you once i hear back

    thanks

    Onyx

  • Hi Colin

    I heard back from our firmware engineer. Response below;

    "Remcap is not stored at shutdown, host initiates to store Remcap in DF by writing two command to MAC(0x22C1, 0x28A0).  Once host writes these commands Remcap is stored in DF at location “Stored Remaining Capacity” and on wakeup from shutdown remcap is initiated with this value."

    thanks

    Onyx

  • Onyx,

    As I mentioned in my last comment, I did exactly that. I wrote the two commands but the Remcap was NOT stored in DF at location "Stored Remaining Capacity". I tried setting the DF "Stored Remaining Capacity" value manually, and remcap was NOT initiated with this value upon wakeup. And I do have RESTORE_REMCAP flag set in config.

    Thanks,

    Colin

  • Hi Colin,,

    We will have to check this on our board and get back to you next week. Sorry for the hassle.

    thanks

    Onyx

  • Please make sure that bqStudio's Auto Refresh feature is turned off. This is the green (Auto Refresh on) or red (Auto Refresh off) status line on top of the dashboard window in bqStudio.

    The restore RemCap feature works under two conditions:

    RESTORE_REMCAP in CEDV config (bit 13) must be one.

    The gauge will store RemCap only if it received an uninterrupted two MAC command sequence.

    The two MAC write command sequence consists of two steps:

    Step 1: Write STORE_REMCAP_A to the gauge ("command" Control() = I2C registers 0x00 and 0x01)
    Step 2: Write STORE_REMCAP_B to the gauge ("command" Control())

    This must not be interrupted by some auto-refresh (that bqStudio will perform in the background).

    Once this sequence was received, the gauge will store RemCap in flash memory and then it will be restored when the gauge is reset.