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.

BQ20z95 blocked in BootROM mode

Other Parts Discussed in Thread: BQ20Z80, BQ29312

Hello,

I am working on VB code to write into dataflash memory from DFI file. I am using exemple from slua380.pdf page 220.

I think the code works great but after writing all data, my circuit cannot communicate anymore. I think BQ20z95 is blocked into BootROM mode.

How can I put my circuit into Full Access Mode ?

Regards

  • Looks like the DFI write must have corrupted the DF. If you can check whether the device is in ROM mode - you can run the code again without the part taking device into ROM mode.

    Often, one can get a PF ( Permanent Failure ) or DFF by writing a corrupt DFI. By writing a DFI file which is corrupted - these conditions get triggered resulting in device getting stuck in sealed mode and the firmware does not allow it go into Full Access mode.

     

  • I'm not able to communicate with the BQ20z95. I have this error message when I try to send 0x08  :

    It's seems that BQ is not running.

    Is it possible to reset the BQ20z95 without SMBus communication ? (mechanically)

    Regards

  • The NACK error means that the communication lines are mechanically OK ( if they weren't you'd be getting a different error )  - but the device is not responding to the command - which mostly implies that firmware is not running on the gage ... If incorrect (or corrupt)  firmwareis loaded, the firmware will not execute and not respond to commands(0x08) it's supposed to. To reset the bq20z95, you first need to make sure it is running firmware. In summary - I think incorrect firmware is on the EVM/Gage. If you try the original/ default firmware - You should be able to run it. Only after running firmware can you reset the gage.

  • For you frimware and DFI file is the same ?

    I try to send 0x08 without connecting the BQ and I have the same error (NACK). So I think BQ SMBus function is not running.

    So I am not able to send a new firmware into the BQ without SMBus communication

    (you can folow that thread named BQ20z80 VB function WriteDataFlashImageFromFile() http://e2e.ti.com/support/power_management/battery_management/f/180/p/108739/410318.aspx#410318)



    Regards

     

     

     

  • DFI file writes data into the Data Flash, which is used by firmware. If DFI has corrupt values, firmware can go in a state which can cause what you are seeing. You have to first make sure device is in ROM mode - command 08 generally does not work in ROM mode. Try 0D - if it returns something - you will know it is in ROM mode. After that program a default firmware - this way DF with default values will be restored. Then you can try different dfi and see if same error occurs. If same error occurs - you can pinpoint that it is dfi causing the error.

  • I wrote the DFI file which came from the same BQ20z80 (I read it with EVSW before) so I dont think the dysfunctioning come from a bad DFI file.

    I try to send 0x0D like you said and I have an UNKNOWN error:


    Then I try other commands and I have also UNKNOWN error. If I disconnected my BQ I have NACK error.

    Then I try to programm senc file and I have this error:

      error 6 is the same to UNKNOWN error

    I had find BQ20z80 v1.02. senc file. Can you provide me BQ20z80 v1.10 senc file ? I didn't find it on the BQ20z80 web site

    In conclusion SMBus communication is not working or I dont have the good command

    Also I check VDD and VSS tension and they are ok.

    I make comparaison between WriteDataFlashImageFromFileBQ20z80()  function and BqEASY. I use a USB spy to see flow of data which pass into EV2300 and It looks like program Dataflash Image with BqEASY send more data before and after send DFI file, so I am wondering what I need to add to my code for avoid the break of BQ20z80. Do you have the code of Evaluation Software?

    thanks

     

     


  • Dimitri,

    Looks like your device is neither in the ROM mode or gas gaging mode. Maybe the device got damaged or it is not getting powered up right. Can you try with a different or new EVM ?

    If the device is OK, powered up right - it should be responding to either command 0D or the other gas gaging commands which you said you are trying...

    We unfortunately cannot share the EVSW code.

    When you compare WriteDataFlashImageFromFileBQ20z80() with bqEASY , which part of bqEASY are you referring to - Which button press , which screen ?

     

  • Hello,

    I try with different EVSW and EV2300 still no response with 0D command.  Can the problem come from a too old firmware. Can you provide me the newest firmware for the BQ20z80 ?

    In bqEASY tab, section 1 Setup, After chose the correct DFI fil, I press the button "Programme Datafash Image"

    My DFI file comming from the same board, and was generate by EVSW too.

    I try to validate the function WriteDataFlashImageFromFileBQ20z80(). In the file abouve you can see the difference between the two function.

     

    5086.SMBus data.xls

     

    WriteDataFlashImageFromFileBQ20z80() seems check after each write command. It use command like "aa 04 00 00 00 04 17 11 03 00 9f 55" between each writing.

    And EVSW send more data at the end.


    thanks for your time

  • Could you clarify what happens when you use the 0D command?

    If it is returning something, you are still in ROM mode. If it is returning all zeros, either you are running firmware or the part could be dead.

    In the case of it returning all zeros, you can do a scope capture of the SMBus to make sure the part is acknowledging the command and you can also follow this checklist to make sure the part is not dead.

    3554.bq20zxx_GeneralTroubleshootingChecklist.doc

    Regards,

    Viktoriya

  • I am doing these steps:

    1 I turning on my power supply (like app book slua380 page 226 says)

    2 I check VDD and VSS of the BQ20z80 I have 3.3 Volts

    3 I running EVSW. It cannot recognize the BQ

    4 I select BQ20z80 V1.10

    5 I try to send 0D command and I have VB_T2H_NACK error

    You can see sreen shot of steps 3 4 5 : Click here to play this video

    In the GeneralTroubleshootingChecklist.doc it says REG33  and REG25. but in which document can I refer to xheck that. I dont know where they are one the Demo board.

    "Send failure PCB to FA if device still fails to power up (could be a bad IC)" what does that means ?

  • Also I try to send 0D with a good BQ20z in BootROM mode and I have the same error VB_T2H_NACK.

    What 0D should do in BootROM mode ?


  • Since you are measuring 3.3 V that means your part is alive.

    Now we can check if it is running firmware. To do this, try probing the TOUT pin. You can find this by looking at the schematic and layout in the bq20z80EVM User Guide:

    http://focus.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=sluu205&fileType=pdf

    If there is a pulse when you probe the TOUT pin that will confirm that you are running firmware.

    When the part is communicating correctly, in BootROM mode, the 0D command should return a 4 digit value other than 0000.

    When you tried the 0D command on a good BQ20z part, how did you determine that the part was good? Did the EVSW automatically recognize the board? Were you able to communicate with it?

    Regards,

    Viktoriya

  • First:

    I check with demo board BQ20z80 which is running well (EVSW automatically recognize the BQ20z80, and I m able to communicate with it).  In the TOUT pin I see pulses:

    then with 0D command I read in gas gauge mode 0034:

    and in bootRom mode 0202:

    Secondly:

    After that I check with my 2 other demo board BQ20z80 which are not communicate. There are no pulses in TouT pin:

    Then with 0D command I didnt have any response :

    Is it possible to send some tension in a pin of the BQ20z80 (or bq29312) to reset the firmware and run it ?

     

  • Try probing the SMBus and posting that capture so we can check for an ACK.

    Regards,

    Viktoriya

  • I read SMB word 0D:

    I send SMB command 08:

    I write SMB command 00 word 0f00:

     

    I try with my good Bq20z80, I read SMB word 0D:

    So logically I have more data with my good bq20z80.

  • Yes, the first part you are probing has a NACK. This means that the part is dead. You will need to use a new part.

    Regards,

    Viktoriya

  • So the part cannot be fixed or reflash ?

  • That is correct. Since you cannot communicate to the part, it cannot be reflashed.

    Regards,

    Viktoriya

  • I have some dead circuit since I try to write a .ini file.

    I think change my methode. I will write data with gg file. It's more safe because the BQ doesn't go to BootROM mode.

    Do you have some VB code exemple to write and read data with a gg file ?

    Regards

     

  • We don't have code example for that. But basically you're individually programming the data flash parameter. You can refer to the TRM Appendix C for detail.

    The chemistry data is not included in the gg file. You will need to update chemistry to the target device after gg programming.