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: BQ40Z50 - Writing/Reading 0x44 block command does not seem to match documentation

Part Number: BQ40Z50-R1

First the PEC is off.  My SBS Config. register reads: 0x20.

On the documentation, it says that in order to write/read ManufacturerBlockAccess() block 0x44,

the format is : [0x44][cmd][cmd] then read back 2 bytes from register 0x44.

But from looking at the scope, what I saw is there is an extra command: [0x02] in front of the actual command.

For example, trying to read Chem ID, the command is 0006.  Based on documentation, the SMB stream should be: 0x44, 0x06, 0x00.

But actually there is a 0x02 right after 0x44.  So the actual command send should BE: 0x44, 0x02, 0x06, 0x00.

What I don't know is that where does the 0x02 come from and do I need it for ALL THE BLOCK ACCESS commands?

When reading back, I found out that I have to read back 5 bytes and not 4bytes, I would discard the first byte and read

the last four bytes only.  For example, for CHem ID, what I read back is 0x04, 0x06, 0x00, 0x21, 0x01.  I have the PEC

turned off I am not sure why I see 0x04 there.

Also the 0x04 is different depends on what is being read back.

Could you confirm this?

Thanks.

  • hi Andy,
    Can you turn on PEC and send a reset command (0x41) to get the change updated in RAM then repeat the commands you sent above. Then turn off PEC, send the reset command and repeat the commands so we see how they differ? That will give a better understanding of what is going on.

    thanks
    Onyx