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.

Bq27425-g2a : Fuel gauge validation

Other Parts Discussed in Thread: BQ27425-G2A

Hi,

We have connected Bq27425-g2a to 400mAh battery for one of our wearable device.

We are using driver https://github.com/aneeshv/linux-bq27xxx/blob/master/drivers/power/bq27x00_battery.c to validate fuel gauge.

Firmware version is read as 0x205.

By reading registers 0x3c and 0x3d,  we came to know that Design capacity is set as 1340mAh by default.

We tried to reconfigure Design capacity value by writing Gas gauging in Data block.

By default, Device registers were in unsealed access mode. So we programmed design capacity value to 400mAh and changed the register access to sealed mode as in above driver code. 

After next power cycle of the device, we could not able to change to UNSEAL access mode and read/write registers.

Please confirm whether the code for unsealing in driver is proper.

Also we are seeing that DISCHARGE bit in FLAGS (0x06) registers is not updated properly. What could be the reason for this.

Thanks,

Kastoori S

  • The code looks good.

    The bq27425 is a ROM gauge so if you power cycle the gauge, it will be fully reset (the complete data memory will be initialized with default values and it will be unsealed).

    If you didn't power cycle the gauge (just your system), was the gauge powered up all the time?
  • Hi,

    Yes we are power cycling the fuel gauge. But the values in Data block memory are not changed to default. and We are getting "unseal failed' error after power cycle also. So we are not able to reconfigure the Data block memory values. Please suggest how to enter into unseal mode.

    We are using 3.7V 400mAh single cell Li ion/Li-Pol Battery. Please suggest if we need to do any other configuration in driver.

    It will be good, If you provide proper driver to validate fuel gauge and to update Data block memory in fuel gauge with the required values.

    Regards,
    Kastoori S
  • I tested this on the EVM today - the bq27425 will remember the sealed state (it has non volatile memory for some data classes but not all). My previous answer was not correct. You will have to always unseal the bq27425 after a POR if you sealed it once.

    The driver is not maintained by TI so I don't have a simple fix. Did you try changing endianness for the unseal word? Check page 17 in  .

  • Hi, 

    Thanks for your response.

    As of now, i am trying to write NVM data without entering into sealed mode. I am able to write the required configurations.

    Below are our battery specifications.

    Lithium polymer battery

    • Model: 403035
    • Nominal capacity: 400MAh
    • Rated voltage: 3.7V
    • Charging voltage: 4.2V
    • Size:4*30*35mm(T*W*L)(+/-5mm)
    • Charging temperature: 0 ° C ~ 45 ° C
    • Discharge Temperature: -20 ° C ~ + 60 ° C
    • Storage temperature: -20 ° C ~ + 85 ° C
    • Charging current: Standard charge: 0.5C, fast charging: 1.0C
    • Standard charging method: 0.5C CC (constant current) charged to 4.25V, then CV (constant voltage 4.2V) Charge until the charge current ≤0.05C
    • Maximum charge current: 1C
    • Maximum discharge current: 1C
    • Charging voltage : 4.2V;
    • Maximum charge current : 1C = 400mA;
    • discharge cut-off voltage : 2.75V;
    • Charging temperature : 0 - 45 ;
    • Discharge temperature : -10 - 60 ;
    • Storage temperature : -10 - 45 ;

     Please confirm Can BQ27425 be used with the above battery. And what are the configurations need to be written in NVM other than design capacity.

    Regards,

    Kastoori S

     

       

     

  • The basic battery type is ok - you can run a GPC test to see if the specific battery is a good match (this requires log files which go beyond the specs that you provided). http://www.ti.com/tool/GPCCHEM

    Configuration of the gauge is explained in

  • Hi,

    With the Key value 0x36720414 , we are able to enter into unseal access mode from sealed state.

    Thanks,
    Kastoori S