SLUSDQ4 April 2019 BQ79606A-Q1
A broadcast read command generates a number of response frames depending on the number of devices in the stack (plus the base and the bridge), whose length depends on the requested number of register bytes read. For example, using the same cell voltage register example as above, but now broadcasting to 20 devices, the response to this command is 20 separate response frames, each with a length of 18 bytes (12 data bytes + 6 protocol bytes). The broadcast read command frame 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 frame for the broadcast read command is always 0b000 as the maximum number of readable bytes is 128 (1 byte worth of addresses). The command frame for a burst read of all of the cell voltages is configured as in Table 17.
During the response, each device (address N) in the stack waits until the device above (address N+1) it responds before appending its message to the full response frame. The CRC is validated while receiving the responses. If a CRC error occurs in the response frame from address N+1, device N does NOT append its message and an invalid CRC fault is generated.
|Initialization Byte||0xC0||Always 0xC0|
|Device ID Address||--||No address byte is sent in broadcast mode|
|Register Address||0x0215||Start with address 0x215 (VCELL1H)|
|Data||0x0B||Send 12bytes worth of data back (register contents from 0x215 to 0x220)|