SLUSF21 june 2023 BQ79616
PRODUCTION DATA
Single Device Read:
Device address must be set up before using this command. A single device read generates a response frame whose length depends on the requested number of register bytes read. The command frame send by host must contain the register address to start at (address field) and the number of bytes to return (number of registers to read). The DATA_SIZE field in the initialization byte for the single device read command is always 0b000.
The command frame travels to all devices in the daisy chain, but only the device that matches the command frame’s device address field will respond to the single device read command. The corresponding device will respond with returned data request by the single device read, following the response frame format.
Single Device Write:
Device address must be set up before using this command. A write command for a single device enables the customer to update up to eight consecutive registers with one command. The single device write command frame must contain the register address to start at (address field) and the data bytes to write to the registers. The DATA_SIZE field in the initialization byte for the single device write command is the number of registers to update.
The command frame travels to all devices in the daisy chain, but only the device that matches the command frame’s device address field will execute the single device write command.
Single Read Command Sent by Host | Single Write Command Sent by Host | ||||
---|---|---|---|---|---|
Example | Read 16 Cell Voltages from S2 | Write OTP Unlock Code to OTP_PROG_UNLOCK1A to 1D Registers | |||
Frame Field | Data | Comments | Data | Comments | |
Initialization Byte | 0x80 | Always 0x80 FRAME_TYPE = 1 REQ_TYPE = 0b000 = Single Read DATA_SIZE = 0b000 | 0x93 | 0x90 for 1 byte data read, 0x91 for 2 bytes data read, 0x92 for 3 bytes data read, and so on. For this example: FRAME_TYPE = 1 REQ_TYPE = 0b001= Single Write DATA_SIZE = 0b11 = 4 bytes | |
Device Address | 0x02 | Device address 0x02 (S2) in this example | 0x02 | Device address 0x02 (B0) in this example | |
Register Address | 0x0568 | Start address of the register block to read (address of VCELL16_HI in this example) | 0x0300 | Start address of the register block to write (address of OTP_PROG_UNLOCK1A in this example) | |
Data | 0x1F | Instruct the target device to return 32 bytes of data (that is, from address 0x0568 to 0x0587), assuming each VCELLn_HI = 0x80, VCELLn_LO = 0x00, where n = 1 to 16. | 0x02B7 78BC | The unlock value to OTP_PROG_UNLOCK1A to OTP_PROG_UNLOCK1D | |
CRC | 0x5A6F | 0xB8AE |