SCPS207H May 2012 – September 2024 TCA9548A
PRODUCTION DATA
Reading from a target is very similar to writing, but the controller sends a START condition, followed by the target address with the R/ W bit set to 1 (signifying a read). The target acknowledges the read request, and the controller releases the SDA bus but continues supplying the clock to the target. During this part of the transaction, the controller becomes the controller-receiver, and the target becomes the target-transmitter.
The controller continues to send out the clock pulses, but releases the SDA line so that the target can transmit data. At the end of every byte of data, the controller sends an ACK to the target, letting the target know that it is ready for more data. Once the controller has received the number of bytes it is expecting, it sends a NACK, signaling to the target to halt communications and release the bus. The controller follows this up with a STOP condition.
Figure 7-5 shows an example of reading a single byte from a target register.