SLUA450A January   2008  – November 2022 BQ27421-G1 , BQ27425-G2A , BQ27425-G2B , BQ27441-G1 , BQ27505-J2 , BQ27505-J3 , BQ27505-J4 , BQ27505-J5 , BQ27520-G4 , BQ27530-G1 , BQ27531-G1 , BQ27545-G1 , BQ27546-G1 , BQ27741-G1 , BQ40Z50 , BQ40Z50-R1 , BQ40Z50-R2

 

  1.   Theory and Implementation of Impedance Track™ Battery Fuel-Gauging Algorithm in bq2750x Family
  2.   Trademarks
  3. 1Summary of the Algorithm Operation
  4. 2Parameters Updated by the Gas Gauge in More Detail
    1. 2.1 Modes of Algorithm Operation
    2. 2.2 Update of Chemical Depth of Discharge (DOD)
    3. 2.3 Update of Qmax
    4. 2.4 Update of Resistance
    5. 2.5 Update of Temperature Model
    6. 2.6 Update of DataRAM.Remaining Capacity (RM) and DataRAM.Full Charge Capacity (FCC)
    7. 2.7 Update of DataRAM.Remaining Capacity( ) and DataRAM.State Of Charge( ) Values
  5. 3Real Application Example
    1. 3.1 GSM Smart Phone Application
  6. 4Revision History

Update of DataRAM.Remaining Capacity( ) and DataRAM.State Of Charge( ) Values

Whereas DataRAM.Full Charge Capacity( ) is only updated at a few points during a discharge as previously described, the DataRAM.Remaining Capacity( ) is updated continuously (every 1 second) based on the integrated charge. DataRAM.Remaining Capacity( ) = RM – Q_integrated where Q_integrated is charge passed since the last RM calculation. The value of DataRAM.Remaining Capacity( ) is also used to update relative DataRAM.State Of Charge( ) every second as relative DataRAM.State Of Charge( )= DataRAM.Remaining Capacity( ) × 100/ DataRAM.Full Charge Capacity( ).

The same value is used to calculate run time to empty as DataRAM.Time To Empty( ) = DataRAM.Remaining Capacity( ) / DataRAM.Average Current( ).

Note that even if a simulation of RM is run in constant power mode (DF.Load Mode = 1), the reporting of DataRAM.Remaining Capacity( ) and DataRAM.Time To Empty( ) can be done in both mAh or in 10-mWh values. These values are always reported in mAh or are derived from mAh values:

  • DataRAM.Remaining Capacity( )
  • DataRAM.Full Charge Capacity( )
  • DataRAM.Time To Empty( )
  • DataRAM.Nominal Avail. Capacity( )
  • DataRAM.Full Available Capacity( )
  • DataRAM.State of Charge( )

These values are always reported in mWh or derived from mWh values:

  • DataRAM.Available Energy( )
  • DataRAM.Average Power( )
  • DataRAM.TimeToEmpty Const. Power( )

In case of constant power mode (DF.LoadMode = 1), the run time to empty is calculated as DataRAM.TimeToEmpty( ) = DataRAM.AvailableEnergy( ) / DataRAM.AveragePower( ) and is generally more accurate for most devices because of increased power consumption at low voltages.