Other Parts Discussed in Thread: EV2400, BQSTUDIO
Hello,
As I wrote in the previous thread:
e2e.ti.com/.../3202903
I use direct I2C communication between the BQ34Z100-G1 IC and microcontroller, which act as I2C master.
Unfortunately I have not the EV2300/EV2400 device, and at this time I have no possibilites to buy it.
Currently I successfuly finished IC learning cycle for my battery.
And now I have one learned sample IC (BQ34Z100-G1)
But now, I need export the flash data from it, and to flash this data into three other virgin ICs
For this, I read the VB code examples, from the SLUA 665, "Goind to production with bq34z1XX".
I speak now about the parts where described export and import to / from DFI File.
But I see some discrepancy between the piece of code for writing DFI data into the IC
and how it is done in DF.FS files.
This applies to code on the Figure 4 (page 7)
Let me explain this:
In the sample Visual Basic code I see the next sequences (code blocks):
1) Put device into ROM mode
2) Mass erase data flash
3) Writing data into IC row by row (with checksum calculation and writnig to the IC)
4) Return from ROM mode ("Executing gas gauge programm")
From first look all seems Ok
But!
If we look at the df.fs file (Flash stream),
we will see additional data that that is written to the IC,
before the commands for mass data falsh erasure are issued.
And after writing data rows and before return from ROM mode.
For example:
In attached df.fs FlashStream file the strings with numbers
24..44
Where "C:" strings - for compare data,
"X:" strings for delay between I2C transactions, and
"W:" strings for writing data to the IC
(The string numbers is counted from begin the df.fs file)
This block of strings, are identical in all df.fs files which I have.
These df.fs files for different packs, with different chemical IDs,
but the string block, described above, is identical.
We also see the lines “C:”, “X:” and “W:” with numbers 171..191 with data that is written to the IC,
after writing data lines and before returning from ROM mode.
These strings alse identical, in different df.fs files, but one "C:" string is differs, it is string number 177.
As follows from the documentation, this is a comparison string that is read from address / register 0x04
From all that has been said, please explain to me;
1) Can the code in SLUA 665 be used directly or must it be changed ?
2) Will the IC work correctly if I just write DFI data without additions, which are present in the df.fs file ?
3) If the code needs to be changed and additional data need to be writen, as in the DF.FS file,
then how to calculate the value for line 177 ?
Thank you for advance,
Dmytro
0100_0_16-bq34z100G1.df.fs.zip