SLVSG24C November 2021 – November 2022 DRV8244-Q1
PRODMIX
The device can be connected in a daisy chain configuration to save GPIO ports when multiple devices are communicating to the same MCU. Figure 8-13 shows the topology with waveforms, where, number of peripherals connected in a daisy chain "n" is set to 3. A maximum of up to 63 devices can be connected in this manner.
The SDI sent by the controller in this case would be in the following format (see SDI1 in Figure 8-13 ):
While the data is being transmitted through the chain, the controller receives it in the following format (see SDO3 in Figure 8-13):
The Header bytes are special bytes asserted at the beginning of a daisy chain SPI communication. Header bytes must start with 1 and 0 for the two leading bits.
The first header byte (HDR1) contains information of the total number of peripheral devices in the daisy chain. N5 through N0 are 6 bits dedicated to show the number of device in the chain as shown in Figure 8-14. Up to 63 devices can be connected in series per daisy chain connection. Number of peripheral = 0 is not permitted and will result in a SPI_ERR flag.
The second header byte (HDR2) contains a global CLR FAULT command that will clear the fault registers of all the devices on the rising edge of the chip select (nSCS) signal. The 5 trailing bits of the HDR2 register are marked as SPARE (don’t care bits). These can be used by the MCU to determine integrity of the daisy chain connection.
In addition, the device recognizes bytes that start with 1 and 1 for the two leading bits as a "pass" byte. These "pass" bytes are NOT processed by the device, but they are simply transmitted out on SDO in the following byte.
When data passes through a device, it determines the position of itself in the chain by counting the number of Status bytes it receives following by the first Header byte. For example, in this 3 device configuration, device 2 in the chain will receive two status bytes before receiving the two header bytes.
From the two status bytes it knows that its position is second in the chain, and from HDR1 byte it knows how many devices are connected in the chain. That way it only loads the relevant address and data byte in its buffer and bypasses the other bits. This protocol allows for faster communication without adding latency to the system for up to 63 devices in the chain.
The command, data, status and report bytes remain the same as described in the standard frame format.