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.

BQ27421-G1: Read out system date by cmd

Part Number: BQ27421-G1
Other Parts Discussed in Thread: BQSTUDIO, BQ27541

I was trying to read out the system data by command, however, I was kept seeing 00 as the return values. May I have your support to check my steps? Thanks. 

I2C Address: AA

1.Start Register: 0x3A

Byte to write: 01 00

Click "Write" Button

2. Start Register: 0x40

Number of Bytes to read: 32

Click "Read" Button

3. Expecting to return 32 bytes of Manufacturer Info Bloack A -> I was gettign all zeros, but the manufacturer info in DF werenon-zero values. 

  • Hello Jack,

    Could you clarify which information you are wanting to access? The BQ2741-G1 doesn't have info blocks because it is a ROM based gauge.

    If you are trying to access BlockData() you will need to write to the BlockDataControl() first

    Sincerely,

    Wyatt Keller

  • Hi Keller, 

    I was trying to retrieve the below information by command. 

    Would you mind to write me the steps of how to use the commands to retrieve the manufacturer info.? I read the TRM, but I was not quiet sure how to use the command to read back the manufacturer info.

    Thanks. 

  • Hello Jack,

    I don't believe there should be this section for the gauge you have linked (BQ27421-G1) my version of bqStudio doesn't have this section and the TRM doesn't discuss it.

    What version of bqStudio are you using and what .bqz file are you loading to communicate with the gauge?

    Sincerely,

    Wyatt Keller

  • HI Keller, 

    I was using bqStudio 1.3.100. 

    I am not sure which bqstuido version you are using, but you should have bq27541 in it. Please see below:

    Moreover, bq27541 DS  (page:16) did described the manufacturer info.. Please see below:

    Here is the link to the DS. Click Here

    Please help to clarify, thanks. 

  • Hello Jack,

    I believe you linked this post to a different part, the bq27541 does have the info blocks in data flash.

    Accessing this information depends on your mode, if it is SEALED then you need to write 0x01 starting at 0x3f, not 0x3a. And you should only need to write one byte, 0x01 to access block A. Your read process should be correct.

    Sincerely,

    Wyatt Keller

  • Hi Wyatt, 

    Sorry about the confusion. After the several tries, I think here are the ways to retrieve the system data by commands:

    Unseal:

    1. Write: Register: 0x61       Data:00
    2. Write: Register: 0x3E       Data:3A
    3. Write: Register: 0x3F       Data:00 (block A) or 01 (block B)
    4. Read: Register: 0x40        (read 32 bytes)

    Seal:

    1. Write: Register: 0x3F       Data:01 (block A) or 02 (block B)
    2. Read: Register: 0x40        (read 32 bytes)

  • Hello Jack,

    No problem, I'm glad you were able to get it working!

    Thanks for posting the solution as well.

    Sincerely,

    Wyatt Keller