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.

BQ20Z90: problem with changing flash data

Part Number: BQ20Z90
Other Parts Discussed in Thread: BQ40Z50

Hi
I made a PCB with bq20z90 and bq29930 ICs for protecting and managing my robot's batteries and the problem is that I can't change data flash values with my MCU. I know TI advises to do this job with ev2300 but this board is not accessible for me right now. I've done everything right according to slua335 but when I want to write data on SBS command (0x78) after writing subclass id on 0x77 writing fails. I can read data flashes but not writing them (voltage thresholds are OK for writing). Should I switch to Rom Boot mode?
Please help.

Thanks .

John

  • Please add the exact sequence on the SMBUS that you try to execute to update flash.

  • Tanks for your response Dominik Hartl11.

     I send and receive data with i2c-tools packages (for embedded Linux) and i2cset command.For example to change subclass 64 offset 0: First I send word data 0x0040 to address 0x0b (0x16>>1)  with command 0x77 [ i2cset -y 0 0x0b 0x77 0x0040 ] and Then sending word data 0x4c29 (my desired value) to address 0x0b with command 0x78 [ i2cset -y 0 0x0b 0x78 0x4c29  ].The bq20z90 is also in full access mode and kick started.

    John

  • Hi John,

    BQ20Z90 is a bit old device and I would suggest you switch to some new devices if possible(e.g. bq40z50). In addition, I would suggest you obtain an EV2300 and make use of the bq20z90 EVSW software. It is very time-consuming to create some software that does the same as EVSW. 

    Besides,  your host needs to communicate with bq20z90 vis SMBus. I see you are using I2C. Make sure you know the differences between these two interfaces.  

    Andy