SLUSE81E August 2020 – November 2023 BQ79612-Q1 , BQ79614-Q1 , BQ79616-Q1 , BQ79616H-Q1
PRODUCTION DATA
The last procedure in the auto-addressing is to configure the COMM_CTRL[STACK_DEV] and [TOP_STACK] settings. These bits need to be configured for the broadcast read and stack read/write to work properly.
Table 9-19 shows the auto-addressing steps, assuming CONTROL1[DIR_SEL] = 0 (that is, each device will be set up to transmit command frame sent by host from its COML to COMH).
Step | Procedure |
---|---|
1 | This step is required if a device reset has occurred before performing the auto-addressing procedure. Dummy Write to synchronize all daisy chain devices DLL (delay-locked loop) ramp in write direction. Host sends broadcast write to write 0x00 to ECC_DATA1 to ECC_DATA8 registers. |
2 | Enable auto-addressing procedure. Host sends broadcast write to set CONTROL1[ADDR_WR] = 1. |
3 | Sending in the device addresses. Host sends broadcast write to set the consecutive addresses to DIR0_ADDR[ADDRESS5:0]. With an example of a total of three devices in a daisy chain:
|
4 | Set up the COMM_CTRL[STACK_DEV] and [TOP_STACK] bits for each device. Option 1: Host sends single device write to each device to set the proper [STACK_DEV] and [TOP_STACK] values. Option 2 (less communication steps):
|
5 | This step is required if a device reset has occurred before performing the auto-addressing procedure. Dummy read to synchronize all daisy chain devices DLL ramp in read direction. Host sends broadcast read to read ECC_DATA1 to ECC_DATA8registers. Host may not receive all of the data as this step synchronizes the DLL. |
7 | Recommended as good practice. Use broadcast read to read DIR0_ADDR registers to read back all device addresses to ensure all devices are addressed properly. |
8 | If the dummy write and dummy read steps are performed to synchronize the DLL , it is normal if communication fault is triggered. Clear the fault registers if that is the case. |