TI E2E Community
Battery Management - Gas Gauge Forum
bq78lp116 sealed by flash corruption
For the 5th time, I get a bq78lp116 device which is sealed by corruption of the internal flash (on different boards).But not only the password location is corrupted, I have noticed that some parameters (COV and CUV) have been changed which can be very dangerous.
In my automotive application, when the vehicle is off, the host processor is going to a sleep mode; but every 60 minutes, it wakes up, checks the battery pack by requesting SMBus communication with the BQ, makes some data-log on temperature and cells voltage and turns back to sleep mode.
The flash corruption seems to be append when the host is turning on or turning off the smbus communication after a wake up.
Is there any way to protect the BQ flash memory ? Or is there any pin which is critical for the flash process ? In fact, I don't know if the problem is hardware or software.
I am using the access level 2 with no password; do I have to add a password in access level 2 or to use a different access level ?
Note :The host is reading the status of the BQ using the SBData adr 0x00 to 0x58 and the extended SBData cmd 0x80 and 0x81. In the extended SBData cmd, I only use POWERPUMP EN/DIS, LOCK, UNLOCK, RESET FUSE, TOGGLE SHIP BIT
Any comments will be helpfull
Are you just issuing SBData read commands to the device or are you also writing to flash memory? I know that you said that you are just reading the status, bit I wanted to confirm. The wired bit will prevent writes to flash.
I don't use any SBData write command to modify parameters (safety thresholds or timers)
The only SBData write command I use are the followings :
- POWERPUMP EN/DIS,
- LOCK, UNLOCK,
- RESET FUSE,
- TOGGLE SHIP BIT
But I don't know if these commands generates a Flash write (may be TOGGLE SHIP BIT)
According to our suggestion, I have tried to run my process with the WIRED bit set to 0; but I can't get any Mosfet enable (they stays in OFF state) and I don't know if I can enable the Powerpump mode. It seems that resetting the WIRED bit is dedicated to storage only.
Is there any way to control the WIRED bit via the SBData commands (0x80, 0x81) ? What is the adr. of the Algorithm Enable reg. ? But if the WIRED bit is reset, how can I set it again in Flash if the Flash write is disable.
We also are experiencing flash corruption problems. The interim solution for us was avoiding Extended SBData commands during periods of current impulses (Active Balancing) on the battery.
I am hoping you would be willing to collaborate directly with us in working towards a resolution to this issue.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.