Other Parts Discussed in Thread: EV2400, BQSTUDIO
I have run into a problem where sometimes the memory will become corrupt when doing a Write All command from Battery Management Studio.
Here is the setup:
- Our own design with the bq40z80 BMS
- bsStudio v1.3.86
- Communication over the SMBus using an EV2400
- FW Version 4 Build 5
We have come up with our initial configuration and am doing a Write All to new boards. What has been happening is some that we write to we can no longer read/write to certain areas of the memory. An example would be in the SBS configuration the Serial Number will always read ffff. I can also no longer write/read Manufacturer Name, Device Name, and Device Chemistry. I can no longer write these value or read them. I have verified that the BMS is not sealed and I have full access. I can however talk to it over the SMBus, it recognizes is is the bq40z80 and I can read temperature.
All I have to do to get it in this state is to write the default, write our values. Sometimes I have to do it a couple of times but it does get it in this state. Most will work when we write the values but we keep having boards that will have corrupt memory. The ONLY way I can recover from this is to replace the BMS IC. When I do that everything works again. I can however get it back in this state if I write our values, then the default and go back and forth until it fails. I have tried just writing one value at a time and that seems to be OK and seems more related to the Write_All feature.
I have scoured many threads where other have been able to corrupt the memory when updating from a CPU where they were writing out of the bounds of address spaces or out of sequence but I would think that this would not be the case using bqStudio. Do you have any insight as to what may be the case here?