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-R2: How to alter data flash

Part Number: BQ40Z50-R2
Other Parts Discussed in Thread: BQ40Z50, EV2400, BQSTUDIO

Hello,

I have a battery that I've designed and had another company program the registers using the BQ40Z50 but I've run into an issue. My circuitry doesn't have the dedicated pre-charge FET to handle pre-charging. Instead we were relying on using the charge FET to handle the pre-charge. The problem is, the company forgot to set FET Options [PCGH_COMM] = 1 so it's relying on a pre-charge that doesn't exist. The IC is set to full access but I'm not sure what command to actually send it in order to change this value to 0.

The documentation is pretty confusing so if I could get a hand I'd appreciate it. 

  • Hello Tyler,

    You can use bqStudio and the EV2400 to edit the register, it is in settings > configuration > FET options tab of data memory. Jus click it and it will expand to show the bits.

    Sincerely,

    Wyatt Keller

  • Hi Wyatt,

    I was able to make the changes with bqstudio and the EV2300/2400 but I'm actually looking to have it done right through the SMBus. I'm more looking for what to send the IC over the SMBus in order to update the value so that the update can be done out in the field without removing it from the end product and without the need for our service techs to have special software and hardware to make the change.

    I tied into the SMBus lines and decoded the data while doing the change with the EV2400 and read the following being sent to the IC. If somebody could help me decode it then I might be able to figure what I have to do out:

    16 44 22 C0 47 0F 00 03 00 80 0C 1E 5D 04 20 00 00 00 96 00 AF 00 16 EA 80 0C CA 08 0A D6 06 0A C4 09 00 00 B8 61

    I believe 16 is the address, 44 is ManufacturerBlockAccess(), and 22 is maybe FET Control? But I'm lost after that.

  • Hello Tyler,

    There is an example for how to write to DF in the TRM: 14.1.67 0x4000–0x5FFF Data Flash Access()

    And also how to send some commands: 14.1 0x00 ManufacturerAccess() and 0x44 ManufacturerBlockAccess()

    Are you only looking to change the FET control?

    Sincerely,

    Wyatt Keller