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.

bq20zXX dfi programming - data erase - BootROM mode

Hello, 

I noticed the following:

In the VB6 sample code TI is suggesting to erase all data rows in pairs with the 0x11 command.

I logged the actual  I2C communication and found that TI EV2300 with bq Evaluation Software is not using 0x11 command in ROM mode to delete the flash!

But I found another command sent 0x12 which is not documented and I do not know the reason of meaning.

Is this another kind of delete flash command? Can you please share the description?

This would be very helpful.

Thanks

Uwe

  • -----------------------------------------------------------------------

    SMBus protocol: — write word
    SMBus command : — 0x11
    description: — This function erases 2 rows (64 bytes) of flash data memory. The word sent contains
    the memory row address in the lsb. If the row erased is the last row, the reserved bytes are not
    affected.

    -----------------------------------------------------------------------
    SMBus protocol: — write word
    SMBus command : — 0x12
    description: — This function erases the entire flash data memory. The word written must be 0x83de.
    The reserved bytes are not affected.

  • Thanks for the update!

    Where is this information from?

    Did I miss an official paper?

    Uwe

  • I too would like to see this document - it would have greatly reduced the time taken to implement the embedded code and would provide confirmation that our implementation is correct. SLUA504 and SLUA665 together with the TRMs are inadequate.

  • Ah, I did find SLUU225 (attached) which seems to match the commands I've been using... Can TI confirm that this document describes the Gas Gauge ROM access functions?

    sluu225.pdf
  • Ah, no, the values for the commands are different, but the functionality seems to be right - and it's well described with comprehensive examples. Surely TI have up to date documentation of this sort of quality somewhere for the Gas Gauges?

  • Thanks for that paper.

    At least it is a good source to explain the undocumented commands a little better.

    Although I must say that I never thought about looking into a user guide for a different main part. I used to search in the bq20z-documentation.

    It is sad that there seems to be no official document for the bq20z or it is very difficult to find.

  • You may be in better luck - it looks after a quick glance as though the register numbers are the same for the bq20.. parts (but not for my bq27.. part).

    This document seems to be on the TI website as http://www.ti.com/lit/ug/sluu219/sluu219.pdf

    Yes, I do agree that the documentation for these parts seems to be unnecessarily patchy. What should take half a day takes weeks of tracing bus transactions from the EVMs and scouring documents from all the parts from TI. Not really good enough.

  • Talking of documentation for other parts, have you tried looking at the code examples provided for TI's processor MSP430 (eg http://www.ti.com/litv/pdf/slva413a)? They include a small amount of example code for the Gas Gauge I use, though a quick search didn't spot any 20z code.

  • Hi, 

    no I have not.

    I'm now able to program the dfi into flash and manage most operations that I wanted to do.
    I use an AtMega64 as I2C source with a proprietary FW, the actual programming is driven by a C# Lib, by sending commands to the microcontroller board. 

    But I felt it a painful experience to have this finally done. Although the actual bq20z documentation is good, the programming documentation is very basic. It's a little annoying that the documentation and the I2C sniffing of the bq Evaluation software come to the same result but use different commands and sequence. So you cannot be sure to do right. Even more I wondered what I did wrong and why it is different...

    Good luck with your project.

  • Are you agree to share your c code ?


    thank you in advance.