Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

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.

BQ76952EVM: BQ7695203

Part Number: BQ76952EVM
Other Parts Discussed in Thread: BQ34Z100

Hi Sunna,

I want to use Read PassQ register and updating performance parameter like SOC, Charge/Discharge Ah. but  sometimes i have observe that SOC decreasing very fastly

.

(1) Whenever Current Direction is changed  send the command to Reset the PASSQ register 

(2) Then Compare the value with PreAccumulated charge value and Adding the delta Ah to Charge /Discharge Ah.

//============================================================SOC Decrement when BAttery is discharging

if(s_BMU_Data.AccumCharge.Value<s_BMU_Data.prev_DischargeAccumCharge10mAh.Value) //s_BMU_Data.AccumCharge.Value reading from BQ PassQ Register
{

DeltaAh=(s_BMU_Data.prev_DischargeAccumCharge10mAh.Value-s_BMU_Data.AccumCharge.Value);
s_BMU_Data.DischargeBQmAh.Value+=DeltaAh;

s_BMU_Data.prev_DischargeAccumCharge10mAh.Value=s_BMU_Data.AccumCharge.Value;
s_BMU_Data.DischargeBQmAhSOC.Value+=DeltaAh;
}
if(s_BMU_Data.DischargeBQmAh.Value>=10)//with 1 decimal,100mAh
{
temp=s_BMU_Data.DischargeBQmAh.Value/10;
st_SysPerf.para.DischargeAh+=temp;
st_SysPerf.para.curDischargeAh+=temp;
s_BMU_Data.DischargeBQmAh.Value=s_BMU_Data.DischargeBQmAh.Value-(temp*10);
st_SysPerf.para.currentDischAh=st_SysPerf.para.currentDischAh+temp;
pageUpdateFlag=1;


}

if (SOC>=s_BMU_Data.DischargeBQmAhSOC.Value)

SOC=SOC-s_BMU_Data.DischargeBQmAhSOC.Value;

==================================================

Can you share any algorithm for measurement of SOC etc.