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.

BQ28Z610: Is it possible to flash the ROM without EV2300/2400?

Part Number: BQ28Z610
Other Parts Discussed in Thread: BQSTUDIO,

Hello,

in the original post, I have known that bqStudio makes a file with the I2C or SMB commands/data to flash the ROM for another BQ battery gauge.

Then I am wondering if it is possible to do the same for BZ28Z610 and what is the operative sequence to do it!

Thanks for reply and explanation, in case!

Maurizio

  • Hi Maurizio,

    Yes.  You can generate a df.fs or bq.fs files with the help of bqStudio and use the C code mentioned in the following app note to program these files into a bq28z610 device.

    https://www.ti.com/lit/an/slua801/slua801.pdf

    Andy

  • Thanks, Andy

    I will follow the concepts and check if it can works.

    By the TR, it seems that, to flash the ROM, it has to be put in ROM mode, cmd 0x0F00, but in that C code I've seen something different. 

    Let me to analyze the .bq.fs file and to write my software.... I will be back at you if I need.

    bye bye

    Maurizio

  • Dear Andy, 

    coming back to the flash ROM of BQ28Z610 .... I had something more urgent (!!!) then I have written the PC code to send the .gm.fs data and this is not difficult it is using the same I2C protocol.

    Then I prepared the MCU which is linked to the BQ to put it in ROM mode, sending the command AA 3E 00 F0 but nothing happens, it seems the BQ won't go in ROM mode.

    I have tried also AA 00 00 F0 and it is in FULL ACCESS mode.... When I did the same by the bqStudio, it seems it works but with MCU (a PIC16F) I do not understand what's happening. 

    Any suggestion?

    Then, assuming I pass this, may I use the same I2C protocol with the SMBus levels? Look, it seems the protocol is the same, my SW use the 7 bit address 0x55 to make the 0xAA or 0xAB to write or read.

    I use the same concept in ROM mode, using the 7-bit address 0x0B to make 0x16 for write or 0x17 for read operations, is that correct? 

    Then the string W: 16 07 DE 83 means to write at address 0xB, register 07, data byte DE and 83, doesn't it? (about address, the protocol makes (address<<1) for WR, ((address<<1)+1) for RD)

    Thanks for helping me..... 

    Maurizio

  • Hi Maurizio,

    Did you use the C code in the app note I shared with you before?

    Also,  I would suggest you use a logic analyzer to capture the sequence when you use the bqStudio to send the commands to the gauge, do the same thing when your host sends the commands and try to find the differences. 

    Andy

  • Thanks Andy,

    due a typo, the command for ROM mode, 0x00 0x0F, became 0x00 0x0F0 then of course it was not recognized.

    After to have correct that, everything is working fine.

    Thanks for support.....

    Maurizio