ZHCS616E March 2012 – February 2017 TCA9554
PRODUCTION DATA.
The bus master first must send the TCA9554 address with the LSB set to a logic 0 (see Figure 19 for device address). The command byte is sent after the address and determines which register is accessed. After a restart, the device address is sent again but, this time, the LSB is set to a logic 1. Data from the register defined by the command byte then is sent by the TCA9554 (see Figure 25). The command byte does not increment automatically. If multiple bytes are read, data from the specified command byte/register is going to be continuously read.
See the Register Descriptions section for the list of the TCA9554's internal registers and a description of each one.
Figure 24 shows an example of reading a single byte from a slave register.
After a restart, the value of the register defined by the command byte matches the register being accessed when the restart occurred. Data is clocked into the register on the rising edge of the ACK clock pulse. After the first byte, additional bytes may be read, but the same register specified by the command byte is read.
Data is clocked into the register on the rising edge of the ACK clock pulse. There is no limitation on the number of data bytes received in one read transmission, but when the final byte is received, the bus master must not acknowledge the data.