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.

# Values of CC Gain and CC Delta

I am not using the evaluation software, but i am using a microcontroler with i2c to communicate with bq and I did already some writes and reads from flash I am using the bq34z100 and a I have a doubt about one of the steps to configure bq. In step 4, Determine the Sense Resistor Value, in the end is said that: The value of the current sense resistor should be entered into both CC Gain and CC Delta parameters in the Data Flash Calibration section of the Evaluation Software. In datasheet i see the position of this 2 registers in flash, but my doubt is what values i have to put in their, because i assume that is not just about put the value of resistor. My resistor is 1mOhm.

Can you help me?

• Helder,

You can use the document SLUA640, available for download from the TI website, to see an example of calibrating the current and finding the CC Gain and CC Delta. The typical bqEVSW value for these parameters will be the sense resistor value. E.g. “1” for 1 mohm.

Regards
Tom

After i implemented that example to calibrate the current, i ran very experiments and i couldnt made this work.
With a fLoad=-1045 (1045mA) the result that i have reading the current register is 0x4B=43.It's obvious that this is wrong, in quantity and signal.

In the current:
I read in others topics and i see some changes in the next formulas. I have this:

e=Raw_Calibration_Data;

ccDelta = ccGain * 1193046.0f;

This is what is written in the document, is it what i really nead to make?

In the DF-write

Here have something wrong with the parenthesis
Shoul i use:
tmp_val=2^(8-exp)*(val-128);
or
tmp_val=2^(8-exp)*val-128;

And finally, is proven that this document work in bq34z100 or exists some diferences that i should now?

Best Regards.

Hello guys.

PDF documentation to this IC is the worst out of all I read. Very confusing.

CC Gain and CC Delta is written in F4 ;)) Of course it is not standard float (for example as Arduino uses)

How to calculate F4 value:

1. Byte on lowest address is used for exponent then e=byte-128-24
2. Other 3 bytes is mantissa. Highest bit is sign.
3. Set this highest bit (OR 0x80) then convert to long so you get m
4. F4_value= m*2^e

Anyway, TI, why you couldn't use standard float and just put it in mOhms into flash??? That would be easy for designers.

Cheers,

Hello Thomas.

Anyway what is the difference between CC Gain and CC Delta?

Haw you designed this fuel guage IC? It is remarkable how many functions and settings it has. ;)

Cheers,
• In reply to Drahomir Komar:

Drahomir,

The floating point implementation is different from the standard algorithm and the document that I sent is all that I have to offer in calculating the values. The CC Delta and CC Gain are not the same and the document also provides a flow chart to calculate these parameters. The bq34z100 datasheet has a table that provides the data flash to EVSW conversion factors.

Regards
Tom

Dear All

No one should take any notice of the flow diagram on page 8 of SLUA640, as it is full of errors.

The F4 data type used to store values for CC Gain and CC Delta in flash with chips like the BQ34Z110 seems to be Xemics Floating Point. How it works is explained in

How EVSW Display the Raw Data V1.03.pdf
e2e.ti.com/.../How-EVSW-Display-the-Raw-Data-V1.03.pdf

and there are VB functions (which do work) to convert in either direction between Xemics form in hex and the equivalent flash (not EVSW) decimal form on page 4 of

slva148a.pdf
www.ti.com/.../slva148a.pdf

All best,
Tim.

• In reply to Tim Rickman:

WOW.. THANK YOU FOR POSTING that..
I too have had no luck deciphering the Floating point value and just didn't have time yet to ask about it yet.

-TIm