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.

BQ27426: Basics of reading on I2C

Part Number: BQ27426

Tool/software:

Gauge team,

Can you outline the steps involved in reading the Device Type from the Control Register? I thought it would be something like the steps below, but the customer keeps getting 0000.

S 55W A 00 A 00 A 01 NP    <- Write the Standard Command 0x00, Set the Control Subcommand to 0x0001

S 55W A 00 A Sr 55R A 04 A 21 NP <- Read the Control register, Device Type

Where:

55W = AA

55R = AB

Here's what they see (SDA yellow, SCL purple):

Thanks,
Darren

  • Hello, 

    I recommend referring to the TRM for an example of I2C read and write with the BQ27426. 

    Regards, 

    Robert. 

  • Hi Robert,

    I see two differences.  The byte order is LSB, MSB.  So the subcommand should be the other way around.  And the TRM section 4.1 shows the process to Unseal.  The TRM doesn't actually state which registers are protected by the Seal and Unseal process.

    Not sure if this will help.  I'll update here if it does.

    Darren

  • Hi Robert,

    The customer changed the byte order in the interaction, and it didn't help.  

    S 55W A 00 A 01 A 00 NP    <- Write the Standard Command 0x00, Set the Control Subcommand to 0x0001

    S 55W A 00 A Sr 55R A 21 A 04 NP <- Read the Control register, Device Type

    He even tried doing the unseal procedure at the start, and it made no difference.

    Can you review the I2C interaction above please and let me know what is wrong?

    Thanks,
    Darren

  • Robert, you can ignore this follow up question.  The issue seems to be resolved.

    Darren