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.

BQ27541 problem writing zero to hibernate

Other Parts Discussed in Thread: BQ27541

Hello,

I found some good information regarding the BQ27541, HDQ, and hibernate on this forum.  I know what I need to do, but I can't seem to make it happen. 

We are using the BQ27541 (not the V200 yet) to just measure current and voltage and pass that along via HDQ.  HDQ communication works and I can see current and V values using the EV2300 and BQ gas gauge Eval software.  I noticed HDQ would stop working and saw info on this forum and V200 data sheet that says you have to disable hibernate by writing zeros to Hibernate V and Hibernate I in the data flash/configuration section.  I saw the suggestion on the forum to do a read all, save the file, change hibernate to zeros, and then import back in.

When I go to "data flash" in the eval software and tell it to read all, I get a slow moving progress bar in the bottom right of the screen.  It gets to 100% and then starts over in a few seconds. I don't get any  configuration values even though it finished.  I found if I click on Data Ram and then click back to data flash, then the page updates and I see configuration values (with the correct default values).  Read all and write all are still grayed out since it is still reading.  I left it going over night and when I came in I had values and write all was available.  I saved the info to a .gg file, modified the Hibernate V and I values to zero, but when I went to import I got a message

 

 

I have installed the BQ Eval software on two computers.  Even though I can talk via HDQ to the BQ27541, I always get these two messages on both computers when I run the software. After those messages, I can read V and I via HDQ, but I thought maybe this helps diagnose the problem.

 

Thanks,

Matt

  • Due to the EV2300 limitation, in HDQ mode, the EVSW will not be able to auto detect the gauge and firmware version. This bug has been identified and a solution is being worked on. Due to the fact that HDQ communication is slow, it is recommend to turn off "keep Scanning" off.

     

    Ming

  • A lot has happened since my first post.  I found, as you suggested, that turning "keep scanning off" helped things a lot.  I was able to do a "read all" consistently.  I still could not do a write (it always locks up and gives me a timeout waiting for packet error when the progress bar got to 85%).  So I decided to try and write zeros to Hibernate I and Hibernate V using the HDQ pro section.  I could read the 32 bytes out of flash, modify it, and write the checksum, but the Flash never changed. 

    Vi was >= 2.7V (as noted in the data sheet for a flash write), but my A-D input has a voltage divider on it for using it with battery packs that have more than one cell in series (we only the BQ27541 to read voltage, current, and push the values out via HDQ).  Apparently the device uses the A-D to determine the input voltage because once I shorted the upper resistor of the divider, I was good to go.  Now writting the checksum changes the Flash and I can put zeros in for Hibernate I and V.  

  • To avoid dropouts during flash writes, there is a parameter in Data Flash called Flash Update OK Voltage.  The default is 2800mV.  This means if the gauge reads a voltage <2.8V on the BAT pin, it will disallow flash writing.  It sounds like this was what happened to you since you had that voltage divider scaling down the voltage.