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: Confusing register contents and other issues

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

Hi,

I'm currently struggling to understand what the expected device type number is from a BQ40Z50-R1 part when I query it via the manufacturer access block (0x44).

I first write to this register with 0x01 0x00 (device type), and then I read back 0x04 0x01 which should be 0x0104 - is this correct?

On a BQ3050 I was reading back 0x3050.

  • When reading from the safety status (0x0051) and pfstatus (0x0053) registers using the same method but reading 4 bytes, via the manufacturer access block, I receive:

    0x04 0x01 0x00 0x00, which should translate to 0x00000104 (?)

    This is the case for both registers.

    In addition to this, when trying to reset the CAPM bit of the battery mode register (0x03) by writing to that register, I then verify and read-back that it has remained set. Should this be the same process as with the BQ3050?

  • I have since worked out that I should be expected the device type to be 0x4500

    the 0x0104 I was reading was related to the number of bytes being read back and the LO8 of the device type register (0x0001)

    full read-back is 04 01 00 00 45

  • Right now, my current issue involves modifying the design capacity to the correct capacity.

    It appears as though I may need to put the BQ40z50 into UNSEALED mode in order to write the design capacity - is this the case?

    I have been using default keys to unseal the IC but no luck. How can I check the keys to unseal?

  • Hi, Joshua

        Design Capacity has to be written under unsealed mode, you have to unseal the device before you attempt to write this register.

        The unseal keys are not supposed to be detected unless the people who originally sealed the device shares them with you

  • Hi Steve,

    Thanks for the response. I'm assuming this is the main issue but am unable to prove it as I think the key has been changed from default by manufacturer.

    In addition to this I have been reading from registers 0x51 and 0x53 for example on the bq3050 previously without issue. On new batteries that use the bq3050, I am no longer able to read from these registers.

    Could this also have to do with the initial batteries being unsealed? and new batteries coming sealed? I wonder this because I read in the datasheet I can still read from those registers via manufacturer access by writing for example: 0x0051 to 0x00 and reading back from manufacturer access, 0x00. Is this correct?

    Thanks.

  • Hi, Joshua

        The Manufacturere Access command or register for bq40z50 is 0x44, you have to read back the block data from this register address

        bq3050 uses 0 as manufacturer command, so you have to modify your program to support both devices.