Hi There again,
Is anybody out there? Or are we all comfortably numb? Well I have been quiet on the GG front while I was using BQEASY to try and generate a golden file, and thankfully after two very long 14 hour days the process has completed. Yay, cheers, pass the champagne. BUT NO not so soon. Yet again BQEasy lives up to my coined mnemonic BQVIFN (BQVirtuallyImpossibleForNewbies), maybe I should add an F in there and call it BQFVIFN, I guess you can guess what the F is for, yes you guessed it, "Forlornly"! Well that's enough of the rant, back to business.
The Update Status field was modified to 0E, and some information on forums indicate that this is a valid value for some other devices. So TI guys, is it also valid for the 20Z75? The funny thing is, I had loaded down the most recently available GGEV software from the TI website bqEVSW - Evaluation software for bq20z75-V180 and it WILL NOT recognize anything other than a 06 for the Update Status to go on to the golden file creation. Bugger! So I just spent 28 full hours and countless days setting this thing up and testing it, to get to the end to make the holy grail golden file and update status 0E is not accepted, bugger, bugger bugger. No wonder I put added an F to BQVIFN, bugger.
So I went and trawled through the documentation to see if I could create golden file manually and yet again to find conflict and ambiguity:
1. SLUA379D says the following:
8. Verify that the Gauging.State.Update Status reads 06. If not, repeat the cycle. Its normal value should be 06.
9. Use the EVSW to export the .gg File. Open the .gg file with Notepad to change DF.Gas Gauging.State.UpdateStatus to 02. Change DF.SBS Configuration.Data.Cycle Count to 0.
10. Reprogram the pack with a fresh .senc to clear all hidden constants.
11. Use the EVSW to import the modified .gg file as saved in step 9. Write All.
12. Send reset command (0x0041).
2. SLUA334B has the following to say:
1. Start the EV Software for the bq20zxx.
2. Enter the Data Flash window, and push the Read Flash button.
3. In the File menu, click Export, and choose a *.gg filename for saving the pre-learned defaults, e.g.,
optimized.gg.
4. Open the saved file in a text editor such as Notepad, and change the value of Update Status from 06
to 02, which indicates that the parameters are learned but IT is disabled (as it should be in a new pack
before calibration). Also, the cycle number in the SBS Configuration can be changed to 0.
5. Write a .senc file with the correct chemical ID to clear the hidden data-flash constants.
6. Write the gg file that you have modified back into the device.
7. You are now ready to export the data-flash image (*.ROM) file to be used in production
3. SLUA421 has the following:
Look for updated resistances and Update Status = 06 in the final .GG file.
Now that you have a properly cycled pack with updated values, it is time to create the Golden image
file that will be programmed into every pack coming off the production line.
13. Export the .GG file and make a few changes (update status and cycle count). Specifics can be found
in the Preparing Optimized Default Flash Constants for Specific Battery Types (SLUA334) application
report.
14. Reload the .SENC file to clear out Data Flash hidden values.
15. Import your changed .GG file.
16. Now you are ready to create the .ROM file to be used to program production packs. The .ROM file is
created using the bqTester Single Site or bqMTester (multisite) tester software. See Using bqTester
Single Site Software application report (SLUA352) and bqMTester User’s Guide (SLUU238).
So you can see the three datasheets have similar but slightly different instructions; but most confusingly SLUA334B says:
"Write a .senc file with the correct chemical ID to clear the hidden data-flash constants."
The questions are:
1. Why does bq EVSW Version = 0.9.79 not recognize the 0E update status?, come on TI guys this is really bad stuff.
2a. Which .senc file should I use? The only .senc file is the latest BQ20Z75 one from TI, bq20z75_0181_bld_0003.senc, should I use that one, or is there another somewhere generated by BQEASY stored away somewhere? I did notice it generated dfi files, but my understanding is dfi files are just data flash, not the encrypted srec file, .senc.
2b. How can I find a .senc file with the "correct chemical ID"? Do I just ignore that line and use bq20z75_0181_bld_0003.senc?
3. Do I really need to issue the reset command 41? (By the way, still no word from a previous post on the undocumented commands, including 41)
3. Tom are you there? I have attached the gg file as promised, and made the recommended modifications to it. Can you or someone clever please tell me what to do next get the golden file made correctly?
Regards
Simon Buchwald
[Header]
bq EVSW Version = 0.9.79
DeviceName = bq20z75 v1.81
Time = 12-Sep-12 11:47:53 PM
[Voltage(1st Level Safety)]
COV Threshold = 4300
COV Recovery = 3900
CUV Threshold = 2300
CUV Time = 2
CUV Recovery = 3000
[Current(1st Level Safety)]
OC (1st Tier) Chg = 2875
OC (1st Tier) Dsg = 4375
OC (1st Tier) Dsg Time = 2
Current Recovery Time = 8
AFE OC Dsg = 03
AFE OC Dsg Time = 0F
AFE SC Chg Cfg = 70
AFE SC Dsg Cfg = 76
[Temperature(1st Level Safety)]
Over Temp Chg = 70.0
OT Chg Recovery = 65.0
Over Temp Dsg = 70.0
OT Dsg Recovery = 65.0
[Voltage(2nd Level Safety)]
SOV Threshold = 13500
SOV Time = 5
Cell Imbalance Current = 5
Cell Imbalance Fail Voltage = 1000
Cell Imbalance Time = 5
Battery Rest Time = 1800
Min CIM-check voltage = 3000
PFIN Detect Time = 5
[Current(2nd Level Safety)]
SOC Chg = 4600
SOC Chg Time = 1
SOC Dsg = 13000
SOC Dsg Time = 1
[Temperature(2nd Level Safety)]
SOT Chg = 75.0
SOT Chg Time = 5
SOT Dsg = 75.0
SOT Dsg Time = 5
[FET Verification(2nd Level Safety)]
FET Fail Time = 5
[AFE Verification(2nd Level Safety)]
AFE Fail Limit = 10
[Charge Inhibit Cfg(Charge Control)]
Chg Inhibit Temp Low = 0.0
Chg Inhibit Temp High = 60.0
Temp Hys = 5.0
[Pre-Charge Cfg(Charge Control)]
Pre-chg Current = 115
Pre-chg Temp = 12.0
Pre-chg Voltage = 3000
Recovery Voltage = 3100
[Fast Charge Cfg(Charge Control)]
Fast Charge Current = 2300
Charging Voltage = 12600
Suspend Low Temp = 0.0
Suspend High Temp = 70.0
[Termination Cfg.(Charge Control)]
Taper Current = 115
Taper Voltage = 225
TCA Clear % = 95
FC Clear % = 98
[Cell Balancing Cfg(Charge Control)]
Min Cell Deviation = 1350
[Charging Faults(Charge Control)]
Over Charge Capacity = 230
[Data(SBS Configuration)]
Rem Cap Alarm = 230
Rem Energy Alarm = 2480
Rem Time Alarm = 10
Init Battery Mode = 0081
Design Voltage = 10800
Spec Info = 0031
Manuf Date = 13-Sep-2012
Ser. Num. = 0001
Cycle Count = 0
CC Threshold = 2070
CF MaxError Limit = 100
Design Capacity = 2300
Design Energy = 24830
Manuf Name = GOW
Device Name = bq20z75
Device Chemistry = LION
[Configuration(SBS Configuration)]
TDA Set % = 6
TDA Clear % = 8
FD Set % = 2
FD Clear % = 5
TDA Set Volt Threshold = 5000
TDA Set Volt Time = 0
TDA Clear Volt = 5500
[Manufacturer Info(System Data)]
Manuf. Info = PUCK1
[Lifetime Data(System Data)]
Lifetime Max Temp = 30.0
Lifetime Min Temp = 20.0
[Registers(Configuration)]
Operation Cfg A = 0230
Operation Cfg B = 2448
Operation Cfg C = 0000
Permanent Fail Cfg = 0000
Non-Removable Cfg = 0000
[AFE(Configuration)]
AFE.State_CTL = 00
[Power(Power)]
Flash Update OK Voltage = 7500
Shutdown Voltage = 5250
Shutdown Time = 10
Cell Shutdown Voltage = 1750
Cell Shutdown Time = 10
Charger Present = 9000
Sleep Current = 10
Wake Current Reg = 00
[IT Cfg(Gas Gauging)]
Load Select = 1
Load Mode = 1
Ra Filter = 80.0
Term Voltage = 9000
User Rate-mA = 0
User Rate-mW = 0
Reserve Cap-mAh = 0
Reserve Cap-mWh = 0
Ra Max Delta = 44
[Current Thresholds(Gas Gauging)]
Dsg Current Threshold = 50
Chg Current Threshold = 25
Quit Current = 10
[State(Gas Gauging)]
Qmax Cell 0 = 2374
Qmax Cell 1 = 2375
Qmax Cell 2 = 2382
Qmax Cell 3 = 2300
Qmax Pack = 2374
Update Status = 02
Avg I Last Run = -462
Avg P Last Run = -524
Delta Voltage = 5
[R_a0(Ra Table)]
Cell0 R_a flag = 0055
Cell0 R_a 0 = 166
Cell0 R_a 1 = 172
Cell0 R_a 2 = 178
Cell0 R_a 3 = 217
Cell0 R_a 4 = 186
Cell0 R_a 5 = 191
Cell0 R_a 6 = 227
Cell0 R_a 7 = 169
Cell0 R_a 8 = 166
Cell0 R_a 9 = 184
Cell0 R_a 10 = 230
Cell0 R_a 11 = 264
Cell0 R_a 12 = 104
Cell0 R_a 13 = 158
Cell0 R_a 14 = 236
[R_a1(Ra Table)]
Cell1 R_a flag = 0055
Cell1 R_a 0 = 161
Cell1 R_a 1 = 167
Cell1 R_a 2 = 173
Cell1 R_a 3 = 210
Cell1 R_a 4 = 175
Cell1 R_a 5 = 181
Cell1 R_a 6 = 218
Cell1 R_a 7 = 166
Cell1 R_a 8 = 162
Cell1 R_a 9 = 180
Cell1 R_a 10 = 224
Cell1 R_a 11 = 238
Cell1 R_a 12 = 104
Cell1 R_a 13 = 159
Cell1 R_a 14 = 234
[R_a2(Ra Table)]
Cell2 R_a flag = 0055
Cell2 R_a 0 = 172
Cell2 R_a 1 = 178
Cell2 R_a 2 = 183
Cell2 R_a 3 = 222
Cell2 R_a 4 = 189
Cell2 R_a 5 = 195
Cell2 R_a 6 = 227
Cell2 R_a 7 = 171
Cell2 R_a 8 = 168
Cell2 R_a 9 = 187
Cell2 R_a 10 = 233
Cell2 R_a 11 = 264
Cell2 R_a 12 = 114
Cell2 R_a 13 = 176
Cell2 R_a 14 = 262
[R_a3(Ra Table)]
Cell3 R_a flag = FF55
Cell3 R_a 0 = 160
Cell3 R_a 1 = 166
Cell3 R_a 2 = 153
Cell3 R_a 3 = 151
Cell3 R_a 4 = 145
Cell3 R_a 5 = 152
Cell3 R_a 6 = 176
Cell3 R_a 7 = 204
Cell3 R_a 8 = 222
Cell3 R_a 9 = 254
Cell3 R_a 10 = 315
Cell3 R_a 11 = 437
Cell3 R_a 12 = 651
Cell3 R_a 13 = 1001
Cell3 R_a 14 = 1458
[R_a0x(Ra Table)]
xCell0 R_a flag = 0000
xCell0 R_a 0 = 166
xCell0 R_a 1 = 172
xCell0 R_a 2 = 178
xCell0 R_a 3 = 217
xCell0 R_a 4 = 186
xCell0 R_a 5 = 191
xCell0 R_a 6 = 227
xCell0 R_a 7 = 169
xCell0 R_a 8 = 166
xCell0 R_a 9 = 184
xCell0 R_a 10 = 230
xCell0 R_a 11 = 264
xCell0 R_a 12 = 60
xCell0 R_a 13 = 91
xCell0 R_a 14 = 136
[R_a1x(Ra Table)]
xCell1 R_a flag = 0000
xCell1 R_a 0 = 161
xCell1 R_a 1 = 167
xCell1 R_a 2 = 173
xCell1 R_a 3 = 210
xCell1 R_a 4 = 175
xCell1 R_a 5 = 181
xCell1 R_a 6 = 218
xCell1 R_a 7 = 166
xCell1 R_a 8 = 162
xCell1 R_a 9 = 180
xCell1 R_a 10 = 224
xCell1 R_a 11 = 238
xCell1 R_a 12 = 60
xCell1 R_a 13 = 92
xCell1 R_a 14 = 135
[R_a2x(Ra Table)]
xCell2 R_a flag = 0000
xCell2 R_a 0 = 172
xCell2 R_a 1 = 178
xCell2 R_a 2 = 183
xCell2 R_a 3 = 222
xCell2 R_a 4 = 189
xCell2 R_a 5 = 195
xCell2 R_a 6 = 227
xCell2 R_a 7 = 171
xCell2 R_a 8 = 168
xCell2 R_a 9 = 187
xCell2 R_a 10 = 233
xCell2 R_a 11 = 264
xCell2 R_a 12 = 70
xCell2 R_a 13 = 108
xCell2 R_a 14 = 161
[R_a3x(Ra Table)]
xCell3 R_a flag = FFFF
xCell3 R_a 0 = 160
xCell3 R_a 1 = 166
xCell3 R_a 2 = 153
xCell3 R_a 3 = 151
xCell3 R_a 4 = 145
xCell3 R_a 5 = 152
xCell3 R_a 6 = 176
xCell3 R_a 7 = 204
xCell3 R_a 8 = 222
xCell3 R_a 9 = 254
xCell3 R_a 10 = 315
xCell3 R_a 11 = 437
xCell3 R_a 12 = 651
xCell3 R_a 13 = 1001
xCell3 R_a 14 = 1458
[Device Status Data(PF Status)]
PF Flags 1 = 0000
PF Flags 2 = 0000
[Data(Calibration)]
CC Gain = 10.098
CC Delta = 10.098
Ref Voltage = 1225.35
AFE Pack Gain = 910.58
CC Offset = -0.254
Board Offset = -36.4
Int Temp Offset = 0.0
Ext1 Temp Offset = 0.0
Ext2 Temp Offset = 0.0
[Config(Calibration)]
CC Current = 3000
Voltage Signal = 16800
Temp Signal = 298.0
CC Offset Time = 250
ADC Offset Time = 32
CC Gain Time = 250
Voltage Time = 1984
Temperature Time = 32
Cal Mode Timeout = 300
[Temp Model(Calibration)]
Ext Coef 1 = -28285
Ext Coef 2 = 20848
Ext Coef 3 = -7537
Ext Coef 4 = 401.2
Ext Min AD = 0
Ext Max Temp = 401.2
Int Coef 1 = 0
Int Coef 2 = 0
Int Coef 3 = -11136
Int Coef 4 = 575.4
Int Min AD = 0
Int Max Temp = 575.4
[Current(Calibration)]
Filter = 239
Deadband = 3
CC Deadband = 10.0