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.

BQ40Z50-R1: MFG Status Init data automatically reset to zero

Part Number: BQ40Z50-R1
Other Parts Discussed in Thread: BQ40Z50

I am using BQ40Z50-R1 with 4cell battery. 

I connected to device with SMB port of EV2300 through SMBus. 

Recently, I discovered the data flash of "MFG Status Init" is reset to 0. 

I write it to 0x238 for my setting with battery management studio, then disconnect and just turn on and off the FET. 

Then reconnect to battery management stduido, the value is reset to 0. 

I logged all SMB line using Manufacturer Block Access, I cannot find any command writing it. 

Buffer 11 shows writing 0x0238 to mfg status init (address 0x4580)

the data is logged when I write data from battery studio.

Buffer No. Packet Start Time End Time Address Bits Address Address + R/W R/W Address ACK Data Data ACK
2 1 1.24E-07 0.002270028 7 0B 16 Write 0 44 02 54 00 34 0 0 0 0 0
3 1 1.23E-07 0.000643627 7 0B 16 Write 0 44 0
4 1 1.28E-07 0.000643232 7 0B 16 Write 0 44 0
7 1 1.12E-07 0.000643488 7 0B 16 Write 0 44 0
8 1 1.28E-07 0.000643216 7 0B 16 Write 0 44 0
11 1 1.32E-07 0.008199956 7 0B 16 Write 0 44 22 80 45 38 02 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Is there any possiblity to reset MFG Status init with some condition? 

Am I miss something?

  • Did you extract a gg file, change it and then program back on the gauge and it resets to 0?
    -Onyx
  • Yes. I extracted changed default for my application. 

    and also, I manually changed it from BQ Studio, because it is reset to zero.

    I don't know why but it seems the value changed after I turn on and off the FET. 

  • Toggling the FETs off with the FET_EN command will clear the FET_EN bit in the Mfg Status Init register. Here is an excerpt from page 69 of the bq40z50 TRM. "The ManufacturerAccess() commands that toggle the ManufacturingStatus()[LED_EN], [FUSE_EN] , [BBR_EN], [PF_EN], and [LT_EN], [FET_EN], [GAUGE_EN] will be updated to data flash and synchronized between ManufacturingStatus() and Mfg Status Init. The ManufacturingStatus() keeps track of the status (enabled or disabled) of each feature." Try setting the bit in the Mfg Init Status register and then reset the device to see whether that helps.