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.

production halt: Unable to perform a DataFlash "Write all" on newly manufactured devices

Other Parts Discussed in Thread: BQ27510, BQEVSW

Steps:

Component: bq27510

Software 0.9.92

Programmer EV2300 HPA002

Programmer firmware 1.11  ?

Problem:

  1. Using Golden Device perform "Read All" to load the correct data flash values into the Gas Gauge Evaluation Software
  2. Connect I2C connector to new system and click "write all"
  3. Receive an error, followed by the software initiating a "read all" and wiping out golden values.

Misc Troubleshooting:

Able to write to new system one register at a time without error

able to perform "write all" on a system once a "read all" has been performed  (useless)

Goal:

Please advise on how to program new systems.

Production is currently halted until problem can be resolved 10/30/2015

  • Hi Joshua,

    It appears you may be trying to program a golden file from a different firmware version on a chip with firmware version different from the one the golden file was created with. Can you extract a gg file from a chip that was successfully programmed with the golden file and then extract another gg file from the chip you are trying to program the golden file on but failing. This way we can verify the firmware versions. Or you can sent the command to read out the firmware versions from the chip with golden file and the chip you are trying to program on.

    thanks

    Onyx

  • How do you determine the firmware version for the bq27510?
  • It will be written in the top of gg file.
  • Yes, the gg file,

    How is that accessed?
  • go to data flash section of the bqEVSW and click file then export. save the gg file at any convenient location on your computer
  • That results in an error: "The value you entered is not allowed because it results in code(decimal)11 Division by zero"
  • Nevermind, able to export the information.
  • The firmware version located at the top of the gg file is dependent on which version of the evaluation software that is loaded up. It does not depend on the version of firmware loaded in the programmer or anything to do with the chip.

    Please see email thread from RE: Service Request # 1-1950382767 for screen shots of the type of errors encountered and provided additional recommendation on how to proceed.
  • can you provide both gg files exported?
  • Should the file data be copied and pasted onto the forum or is there a way to send them to you?

    My notes suggest that the firmware should be 1.11, depending on which version of software I load up, the export will show the 1.11 or 1.12. Which version of the software do you want the export performed in?
  • click on use rich formatting on the bottom right of this window. It will enable you attach files. Note that the tool version, i.e bq studio is different from the firmware version on the chip. You can zip all the files together in one file and attached.
    include
    -golden dfi
    -gg files from both devices.
    -possibly an srec or senc file from both devices.
    thanks
    Onyx
  • Attached:

    *.gg file exported from Golden unit

    *.gg file exported from Newly manufactured unit

    *.docx file containing screen shots of the process of trying to program the newly manufactured units and the errors that occured in the process.

    2502.bq27510 programmer troubleshooting.docx

    We don't have a golden dfi file, also errors are produced if we try to read or write senc files.

  • gg export from golden unit, renamed because widget doesn't allow gg datatypes to be uploaded.

    [Header]
    bq EVSW Version = 0.9.92	
    DeviceName = bq27510 v1.11
    Time = 10/30/2015 4:09:51 PM	
    
    
    [Safety(Configuration)]
    OT Chg = 55.0
    OT Chg Time = 2
    OT Chg Recovery = 50.0
    OT Dsg = 60.0
    OT Dsg Time = 2
    OT Dsg Recovery = 55.0
    [Charge Inhibit Cfg(Configuration)]
    Chg Inhibit Temp Low = 0.0
    Chg Inhibit Temp High = 45.0
    Temp Hys = 5.0
    [Charge(Configuration)]
    Charging Voltage = 4200
    Delta Temp = 5.0
    Suspend Low Temp = 0.0
    Suspend High Temp = 45.0
    [Charge Termination(Configuration)]
    Taper Current = 100
    Min Taper Capacity = 25
    Taper Voltage = 100
    Current Taper Window = 40
    [Data(Configuration)]
    Initial Standby = -10
    Initial MaxLoad = -500
    CC Threshold = 900
    Design Capacity = 1750
    Device Name = bq27510
    [Discharge(Configuration)]
    SOC1 Set Threshold = 150
    SOC1 Clear Threshold = 175
    SOCF Set Threshold = 75
    SOCF Clear Threshold = 100
    [Registers(Configuration)]
    Op Config = 0978
    [Power(Configuration)]
    Flash Update OK Voltage = 2800
    Sleep Current = 10
    Hibernate I = 8
    Hibernate V = 2500
    
    [Manufacturer Info(System Data)]
    Block A 0 = 00
    Block A 1 = 00
    Block A 2 = 00
    Block A 3 = 00
    Block A 4 = 00
    Block A 5 = 00
    Block A 6 = 00
    Block A 7 = 00
    Block A 8 = 00
    Block A 9 = 00
    Block A 10 = 00
    Block A 11 = 00
    Block A 12 = 00
    Block A 13 = 00
    Block A 14 = 00
    Block A 15 = 00
    Block A 16 = 00
    Block A 17 = 00
    Block A 18 = 00
    Block A 19 = 00
    Block A 20 = 00
    Block A 21 = 00
    Block A 22 = 00
    Block A 23 = 00
    Block A 24 = 00
    Block A 25 = 00
    Block A 26 = 00
    Block A 27 = 00
    Block A 28 = 00
    Block A 29 = 00
    Block A 30 = 00
    Block A 31 = 00
    Block B 0 = 00
    Block B 1 = 00
    Block B 2 = 00
    Block B 3 = 00
    Block B 4 = 00
    Block B 5 = 00
    Block B 6 = 00
    Block B 7 = 00
    Block B 8 = 00
    Block B 9 = 00
    Block B 10 = 00
    Block B 11 = 00
    Block B 12 = 00
    Block B 13 = 00
    Block B 14 = 00
    Block B 15 = 00
    Block B 16 = 00
    Block B 17 = 00
    Block B 18 = 00
    Block B 19 = 00
    Block B 20 = 00
    Block B 21 = 00
    Block B 22 = 00
    Block B 23 = 00
    Block B 24 = 00
    Block B 25 = 00
    Block B 26 = 00
    Block B 27 = 00
    Block B 28 = 00
    Block B 29 = 00
    Block B 30 = 00
    Block B 31 = 00
    Block C 0 = 00
    Block C 1 = 00
    Block C 2 = 00
    Block C 3 = 00
    Block C 4 = 00
    Block C 5 = 00
    Block C 6 = 00
    Block C 7 = 00
    Block C 8 = 00
    Block C 9 = 00
    Block C 10 = 00
    Block C 11 = 00
    Block C 12 = 00
    Block C 13 = 00
    Block C 14 = 00
    Block C 15 = 00
    Block C 16 = 00
    Block C 17 = 00
    Block C 18 = 00
    Block C 19 = 00
    Block C 20 = 00
    Block C 21 = 00
    Block C 22 = 00
    Block C 23 = 00
    Block C 24 = 00
    Block C 25 = 00
    Block C 26 = 00
    Block C 27 = 00
    Block C 28 = 00
    Block C 29 = 00
    Block C 30 = 00
    Block C 31 = 00
    
    [IT Cfg(Gas Gauging)]
    Load Select = 1
    Load Mode = 0
    Terminate Voltage = 3000
    User Rate-mA = 0
    User Rate-mW = 0
    Reserve Cap-mAh = 0
    Reserve Cap-mWh = 0
    [Current Thresholds(Gas Gauging)]
    Dsg Current Threshold = 60
    Chg Current Threshold = 75
    Quit Current = 40
    Dsg Relax Time = 1800
    Chg Relax Time = 60
    Quit Relax Time = 1
    [State(Gas Gauging)]
    IT Enable = 00
    App Status = 00
    Qmax Cell 0 = 1800
    Cycle Count 0 = 60
    Update Status 0 = 00
    Qmax Cell 1 = 1000
    Cycle Count 1 = 0
    Update Status 1 = 00
    Cell 0 Chg dod at EoC = 0
    Cell 1 Chg dod at EoC = 0
    Avg I Last Run = -299
    Avg P Last Run = -1131
    
    [OCVa0 Table(OCV Tables)]
    Chem ID = 0100
    Qmax Cell 0 = 1000
    Update Status = 00
    [OCVa1 Table(OCV Tables)]
    Chem ID = 0100
    Qmax Cell 0 = 1000
    Update Status = 00
    
    [Def0 Ra(Default Ra Tables)]
    Def0 Ra status = FF
    Def0 Ra flag = 55
    Def0 Ra Base R = 41
    Def0 Ra Gain = 00
    Def0 Ra 1 = 2
    Def0 Ra 2 = -4
    Def0 Ra 3 = 0
    Def0 Ra 4 = -2
    Def0 Ra 5 = 2
    Def0 Ra 6 = 6
    Def0 Ra 7 = 7
    Def0 Ra 8 = 5
    Def0 Ra 9 = 8
    Def0 Ra 10 = 15
    Def0 Ra 11 = 30
    Def0 Ra 12 = 54
    Def0 Ra 13 = 87
    Def0 Ra 14 = 115
    [Def1 Ra(Default Ra Tables)]
    Def1 Ra status = FF
    Def1 Ra flag = 55
    Def1 Ra Base R = 41
    Def1 Ra Gain = 00
    Def1 Ra 1 = 2
    Def1 Ra 2 = -4
    Def1 Ra 3 = 0
    Def1 Ra 4 = -2
    Def1 Ra 5 = 2
    Def1 Ra 6 = 6
    Def1 Ra 7 = 7
    Def1 Ra 8 = 5
    Def1 Ra 9 = 8
    Def1 Ra 10 = 15
    Def1 Ra 11 = 30
    Def1 Ra 12 = 54
    Def1 Ra 13 = 87
    Def1 Ra 14 = 115
    
    [Pack0 Ra(Ra Tables)]
    Pack0 Ra status = FF
    Pack0 Ra flag = 55
    Pack0 Ra Base R = 41
    Pack0 Ra Gain = 00
    Pack0 Ra 1 = 2
    Pack0 Ra 2 = -4
    Pack0 Ra 3 = 0
    Pack0 Ra 4 = -2
    Pack0 Ra 5 = 2
    Pack0 Ra 6 = 6
    Pack0 Ra 7 = 7
    Pack0 Ra 8 = 5
    Pack0 Ra 9 = 8
    Pack0 Ra 10 = 15
    Pack0 Ra 11 = 30
    Pack0 Ra 12 = 54
    Pack0 Ra 13 = 87
    Pack0 Ra 14 = 115
    [Pack1 Ra(Ra Tables)]
    Pack1 Ra status = FF
    Pack1 Ra flag = 55
    Pack1 Ra Base R = 41
    Pack1 Ra Gain = 00
    Pack1 Ra 1 = 2
    Pack1 Ra 2 = -4
    Pack1 Ra 3 = 0
    Pack1 Ra 4 = -2
    Pack1 Ra 5 = 2
    Pack1 Ra 6 = 6
    Pack1 Ra 7 = 7
    Pack1 Ra 8 = 5
    Pack1 Ra 9 = 8
    Pack1 Ra 10 = 15
    Pack1 Ra 11 = 30
    Pack1 Ra 12 = 54
    Pack1 Ra 13 = 87
    Pack1 Ra 14 = 115
    [Pack0 Rax(Ra Tables)]
    Pack0 Rax status = FF
    Pack0 Rax flag = FF
    Pack0 Rax Base R = 41
    Pack0 Rax Gain = 00
    Pack0 Rax 1 = 2
    Pack0 Rax 2 = -4
    Pack0 Rax 3 = 0
    Pack0 Rax 4 = -2
    Pack0 Rax 5 = 2
    Pack0 Rax 6 = 6
    Pack0 Rax 7 = 7
    Pack0 Rax 8 = 5
    Pack0 Rax 9 = 8
    Pack0 Rax 10 = 15
    Pack0 Rax11 = 30
    Pack0 Rax 12 = 54
    Pack0 Rax 13 = 87
    Pack0 Rax 14 = 115
    [Pack1 Rax(Ra Tables)]
    Pack1 Rax status = FF
    Pack1 Rax flag = FF
    Pack1 Rax Base R = 41
    Pack1 Rax Gain = 00
    Pack1 Rax 1 = 2
    Pack1 Rax 2 = -4
    Pack1 Rax 3 = 0
    Pack1 Rax 4 = -2
    Pack1 Rax 5 = 2
    Pack1 Rax 6 = 6
    Pack1 Rax 7 = 7
    Pack1 Rax 8 = 5
    Pack1 Rax 9 = 8
    Pack1 Rax 10 = 15
    Pack1 Rax 11 = 30
    Pack1 Rax 12 = 54
    Pack1 Rax 13 = 87
    Pack1 Rax 14 = 115
    
    [Data(Calibration)]
    CC Gain = 10
    CC Delta = 10.001
    CC Offset = -0.107
    Board Offset = 0
    Int Temp Offset = -1.6
    Ext Temp Offset = 0.0
    Pack V Offset = 0
    [Current(Calibration)]
    Deadband = 5
    
    [Codes****Make Private******(Security)]
    Sealed to Unsealed = 36720414
    Unsealed to Full = FFFFFFFF
    

    gg export from newly manufactured unit, renamed because widget doesn't alow gg datatypes to be uploaded.

    [Header]
    bq EVSW Version = 0.9.92	
    DeviceName = bq27510 v1.11
    Time = 11/2/2015 3:14:12 PM	
    
    
    [Safety(Configuration)]
    OT Chg = 55.0
    OT Chg Time = 2
    OT Chg Recovery = 50.0
    OT Dsg = 60.0
    OT Dsg Time = 2
    OT Dsg Recovery = 55.0
    [Charge Inhibit Cfg(Configuration)]
    Chg Inhibit Temp Low = 0.0
    Chg Inhibit Temp High = 45.0
    Temp Hys = 5.0
    [Charge(Configuration)]
    Charging Voltage = 4200
    Delta Temp = 5.0
    Suspend Low Temp = -5.0
    Suspend High Temp = 55.0
    [Charge Termination(Configuration)]
    Taper Current = 100
    Min Taper Capacity = 25
    Taper Voltage = 100
    Current Taper Window = 40
    [Data(Configuration)]
    Initial Standby = -10
    Initial MaxLoad = -500
    CC Threshold = 900
    Design Capacity = 1000
    Device Name = �
    [Discharge(Configuration)]
    SOC1 Set Threshold = 10
    SOC1 Clear Threshold = 12
    SOCF Set Threshold = 2
    SOCF Clear Threshold = 4
    [Registers(Configuration)]
    Op Config = 0975
    [Power(Configuration)]
    Flash Update OK Voltage = 2800
    Sleep Current = 50
    Hibernate I = 62976
    Hibernate V = 0
    
    [Manufacturer Info(System Data)]
    Block A 0 = 00
    Block A 1 = 00
    Block A 2 = 00
    Block A 3 = 00
    Block A 4 = 00
    Block A 5 = 00
    Block A 6 = 00
    Block A 7 = 00
    Block A 8 = 00
    Block A 9 = 00
    Block A 10 = 00
    Block A 11 = 00
    Block A 12 = 00
    Block A 13 = 00
    Block A 14 = 00
    Block A 15 = 00
    Block A 16 = 00
    Block A 17 = 00
    Block A 18 = 00
    Block A 19 = 00
    Block A 20 = 00
    Block A 21 = 00
    Block A 22 = 00
    Block A 23 = 00
    Block A 24 = 00
    Block A 25 = 00
    Block A 26 = 00
    Block A 27 = 00
    Block A 28 = 00
    Block A 29 = 00
    Block A 30 = 00
    Block A 31 = 00
    Block B 0 = 00
    Block B 1 = 00
    Block B 2 = 00
    Block B 3 = 00
    Block B 4 = 00
    Block B 5 = 00
    Block B 6 = 00
    Block B 7 = 00
    Block B 8 = 00
    Block B 9 = 00
    Block B 10 = 00
    Block B 11 = 00
    Block B 12 = 00
    Block B 13 = 00
    Block B 14 = 00
    Block B 15 = 00
    Block B 16 = 00
    Block B 17 = 00
    Block B 18 = 00
    Block B 19 = 00
    Block B 20 = 00
    Block B 21 = 00
    Block B 22 = 00
    Block B 23 = 00
    Block B 24 = 00
    Block B 25 = 00
    Block B 26 = 00
    Block B 27 = 00
    Block B 28 = 00
    Block B 29 = 00
    Block B 30 = 00
    Block B 31 = 00
    Block C 0 = 00
    Block C 1 = 00
    Block C 2 = 00
    Block C 3 = 00
    Block C 4 = 00
    Block C 5 = 00
    Block C 6 = 00
    Block C 7 = 00
    Block C 8 = 00
    Block C 9 = 00
    Block C 10 = 00
    Block C 11 = 00
    Block C 12 = 00
    Block C 13 = 00
    Block C 14 = 00
    Block C 15 = 00
    Block C 16 = 00
    Block C 17 = 00
    Block C 18 = 00
    Block C 19 = 00
    Block C 20 = 00
    Block C 21 = 00
    Block C 22 = 00
    Block C 23 = 00
    Block C 24 = 00
    Block C 25 = 00
    Block C 26 = 00
    Block C 27 = 00
    Block C 28 = 00
    Block C 29 = 00
    Block C 30 = 00
    Block C 31 = 00
    
    [IT Cfg(Gas Gauging)]
    Load Select = 1
    Load Mode = 1
    Terminate Voltage = 200
    User Rate-mA = 0
    User Rate-mW = 0
    Reserve Cap-mAh = 0
    Reserve Cap-mWh = 0
    [Current Thresholds(Gas Gauging)]
    Dsg Current Threshold = 60
    Chg Current Threshold = 75
    Quit Current = 40
    Dsg Relax Time = 60
    Chg Relax Time = 60
    Quit Relax Time = 1
    [State(Gas Gauging)]
    IT Enable = 00
    App Status = 00
    Qmax Cell 0 = 1000
    Cycle Count 0 = 0
    Update Status 0 = 00
    Qmax Cell 1 = 1000
    Cycle Count 1 = 0
    Update Status 1 = 00
    Cell 0 Chg dod at EoC = -299
    Cell 1 Chg dod at EoC = -1131
    Avg I Last Run = 2
    Avg P Last Run = 700
    
    [OCVa0 Table(OCV Tables)]
    Chem ID = 0100
    Qmax Cell 0 = 1000
    Update Status = 00
    [OCVa1 Table(OCV Tables)]
    Chem ID = 0100
    Qmax Cell 0 = 1000
    Update Status = 00
    
    [Def0 Ra(Default Ra Tables)]
    Def0 Ra status = FF
    Def0 Ra flag = 55
    Def0 Ra Base R = 41
    Def0 Ra Gain = 00
    Def0 Ra 1 = 2
    Def0 Ra 2 = -4
    Def0 Ra 3 = 0
    Def0 Ra 4 = -2
    Def0 Ra 5 = 2
    Def0 Ra 6 = 6
    Def0 Ra 7 = 7
    Def0 Ra 8 = 5
    Def0 Ra 9 = 8
    Def0 Ra 10 = 15
    Def0 Ra 11 = 30
    Def0 Ra 12 = 54
    Def0 Ra 13 = 87
    Def0 Ra 14 = 115
    [Def1 Ra(Default Ra Tables)]
    Def1 Ra status = FF
    Def1 Ra flag = 55
    Def1 Ra Base R = 41
    Def1 Ra Gain = 00
    Def1 Ra 1 = 2
    Def1 Ra 2 = -4
    Def1 Ra 3 = 0
    Def1 Ra 4 = -2
    Def1 Ra 5 = 2
    Def1 Ra 6 = 6
    Def1 Ra 7 = 7
    Def1 Ra 8 = 5
    Def1 Ra 9 = 8
    Def1 Ra 10 = 15
    Def1 Ra 11 = 30
    Def1 Ra 12 = 54
    Def1 Ra 13 = 87
    Def1 Ra 14 = 115
    
    [Pack0 Ra(Ra Tables)]
    Pack0 Ra status = FF
    Pack0 Ra flag = 55
    Pack0 Ra Base R = 41
    Pack0 Ra Gain = 00
    Pack0 Ra 1 = 2
    Pack0 Ra 2 = -4
    Pack0 Ra 3 = 0
    Pack0 Ra 4 = -2
    Pack0 Ra 5 = 2
    Pack0 Ra 6 = 6
    Pack0 Ra 7 = 7
    Pack0 Ra 8 = 5
    Pack0 Ra 9 = 8
    Pack0 Ra 10 = 15
    Pack0 Ra 11 = 30
    Pack0 Ra 12 = 54
    Pack0 Ra 13 = 87
    Pack0 Ra 14 = 115
    [Pack1 Ra(Ra Tables)]
    Pack1 Ra status = FF
    Pack1 Ra flag = 55
    Pack1 Ra Base R = 41
    Pack1 Ra Gain = 00
    Pack1 Ra 1 = 2
    Pack1 Ra 2 = -4
    Pack1 Ra 3 = 0
    Pack1 Ra 4 = -2
    Pack1 Ra 5 = 2
    Pack1 Ra 6 = 6
    Pack1 Ra 7 = 7
    Pack1 Ra 8 = 5
    Pack1 Ra 9 = 8
    Pack1 Ra 10 = 15
    Pack1 Ra 11 = 30
    Pack1 Ra 12 = 54
    Pack1 Ra 13 = 87
    Pack1 Ra 14 = 115
    [Pack0 Rax(Ra Tables)]
    Pack0 Rax status = FF
    Pack0 Rax flag = FF
    Pack0 Rax Base R = 41
    Pack0 Rax Gain = 00
    Pack0 Rax 1 = 2
    Pack0 Rax 2 = -4
    Pack0 Rax 3 = 0
    Pack0 Rax 4 = -2
    Pack0 Rax 5 = 2
    Pack0 Rax 6 = 6
    Pack0 Rax 7 = 7
    Pack0 Rax 8 = 5
    Pack0 Rax 9 = 8
    Pack0 Rax 10 = 15
    Pack0 Rax11 = 30
    Pack0 Rax 12 = 54
    Pack0 Rax 13 = 87
    Pack0 Rax 14 = 115
    [Pack1 Rax(Ra Tables)]
    Pack1 Rax status = FF
    Pack1 Rax flag = FF
    Pack1 Rax Base R = 41
    Pack1 Rax Gain = 00
    Pack1 Rax 1 = 2
    Pack1 Rax 2 = -4
    Pack1 Rax 3 = 0
    Pack1 Rax 4 = -2
    Pack1 Rax 5 = 2
    Pack1 Rax 6 = 6
    Pack1 Rax 7 = 7
    Pack1 Rax 8 = 5
    Pack1 Rax 9 = 8
    Pack1 Rax 10 = 15
    Pack1 Rax 11 = 30
    Pack1 Rax 12 = 54
    Pack1 Rax 13 = 87
    Pack1 Rax 14 = 115
    
    [Data(Calibration)]
    CC Gain = 9.877
    CC Delta = 9.855
    CC Offset = -0.099
    Board Offset = 0
    Int Temp Offset = 7.6
    Ext Temp Offset = 0.0
    Pack V Offset = 0
    [Current(Calibration)]
    Deadband = 5
    
    [Codes****Make Private******(Security)]
    Sealed to Unsealed = 36720414
    Unsealed to Full = FFFFFFFF
    

  • I just attempted to connect to the programmer and 27510 using the G3 v4.00 and I didn't receive any errors from the software. How can one tell what firmware version is installed on the bq27510 chip and what firmware is installed in the ev2300 programmer. It was not expected that this chip would have a G3 firmware on it, (I was expecting 1.11), but since the software is not throwing any error messages, there is suspicion that it may have G3.

  • there are commands which you send that will tell what version of firmware is on the chip.
    control subcommand 0x0002 will tell you what version of firmware is on the chip. From your attachements, you are not using the most recent firmware version which is version 4.00. You are using v1.11 which is two version old. You need to flash all your devices with the senc file for the most recent firmware found in the link below and create a new dfi from the device with the new firmware. This will resolve all your issues.

    www.ti.com/.../sluc442

    thanks
    Onyx
  • The commands to determine the firmware version have been implemented.

    The newest production run has chips that are yielding the firmware version : 1024 and Hardware version of 185

    What do these version numbers correspond to?  We have been unable to find any documentation which translates these number.

  • Joshua,
    In other to move forward with your design, update all your chips to the latest firmware. I have already mentioned the latest firmware is online on the product folder of the device. You will run into issues using earlier firmware versions which is what you have been trying to do all along.
    thanks
    Onyx
  • That isn't helpful, the new chips responded that they are FirmwareVersion 1024, does that correspond to version 4.0?  Where can we find the translation between the firmwareversion command response and the firmwareversion number.

    Similarly, for hardware.