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.

BQ28Z610: I2C commands

Part Number: BQ28Z610

Hi all,

After reading the technical reference manual, I have some question regarding the i2c commands of bq28z610:

1. What are the differences between block read/write protocols and word read/write protocols? I understand that the Read Word and Write Word protocols are for numeric data and block protocols are for non-numeric data but is all data represented as binary number?

2. What are SE, US, FA access?

3. What is Manufaturer Access System?

4. What are the differences between 0x00 and 0x01 (AltManufacturerAccess()) and between 0x3E and 0x3F (AltManufacturerAccess())? In standard data commands, the first is for LSB and the latter is for MSB, but the AltManufacturerAccess() is not a data register, so what are the uses of 2 bytes for each command?

5. What are the differences between 0x00/0x01 and 0x3E/0x3F? The reference manual says something about legacy but I don't fully understand. Should I use 0x00/0x01 for commands that don't return anything and 0x3E/0x3F for read commands?

6. How to differentiate 0x00/0x01 standard data commands vs 0x00/0x01 AltManufacturerAccess() commands?

7. What are the uses of MACData(), MACDataChecksum(), MACDataLength() commands? I only saw an example of them in section "12.2.23 AltManufacturerAccess() 0x0035 Security Keys". Are there any cases that I can use them?

Thank you,

Vu

  • See my comments below.

    1. What are the differences between block read/write protocols and word read/write protocols? I understand that the Read Word and Write Word protocols are for numeric data and block protocols are for non-numeric data but is all data represented as binary number?

    Most standard commands return results with a 2-byte word and therefore word read/write protocols are used. Some MAC commands return a variable length of results and you need to make use of block read/write protocols to get these results.


    2. What are SE, US, FA access?

    They are three levels of secured operation within the device. Please read the bq28z610 TRM for more details.


    3. What is Manufaturer Access System?

    The gauge device has a lot of information. The Manufacturer Access System can provide more detailed information about the gauge device than the standard commands. AltManufacturerAccess() provides a method of reading and writing data in the Manufacturer Access System (MAC).


    4. What are the differences between 0x00 and 0x01 (AltManufacturerAccess()) and between 0x3E and 0x3F (AltManufacturerAccess())? In standard data commands, the first is for LSB and the latter is for MSB, but the AltManufacturerAccess() is not a data register, so what are the uses of 2 bytes for each command?
    Read Section 12.2 of bq28z610 TRM.

    5. What are the differences between 0x00/0x01 and 0x3E/0x3F? The reference manual says something about legacy but I don't fully understand. Should I use 0x00/0x01 for commands that don't return anything and 0x3E/0x3F for read commands?
    You can follow the suggestions in the TRM. It is recommended to send “command only” operations to 0x00 and 0x01. 0x3E and 0x3F can always safely be used for block reads.

    6. How to differentiate 0x00/0x01 standard data commands vs 0x00/0x01 AltManufacturerAccess() commands?
    A read on the Control Register (0x00/0x01) returns the Control bits. MAC commands are set by writing to registers 0x00/0x01.

    7. What are the uses of MACData(), MACDataChecksum(), MACDataLength() commands? I only saw an example of them in section "12.2.23 AltManufacturerAccess() 0x0035 Security Keys". Are there any cases that I can use them?
    Take a look at this thread.
    e2e.ti.com/.../738029

  • Thanks for your quick reply. Here are my follow up questions:

    4. I don't see anything in the section that says when to send commands to 0x00/0x3E and when to send commands to 0x01/0x3F. All the example seems to write to 0x00/0x3E though.

    5. What are "command only" operations? Are they operations with no data and only command? 

  • See Table 12-2 in the TRM.   An example of a "command only” operation is Gauging (0x0021).  It doesn't read back any data.

    Andy

  • Thanks. How about my other question: when to send commands to 0x00 and when to send commands to 0x01?

  • Each MAC command has two bytes.  These two bytes are sent to 0x00 and 0x01.

    I would suggest you use the Advanced Comm tab to try some MAC commands by yourself. 

    Andy