This 16-bit I/O expander for the two-line bidirectional bus (I2C) is designed for 1.65-V to 5.5-V VCC operation. It provides general-purpose remote I/O expansion for most microcontroller families via the I2C interface.
The TCA9555 consists of two 8-bit Configuration (input or output selection), Input Port, Output Port, and Polarity Inversion (active high or active low operation) registers. At power on, the I/Os are configured as inputs. The system master can enable the I/Os as either inputs or outputs by writing to the I/O configuration bits. The data for each input or output is kept in the corresponding Input or Output register. The polarity of the Input Port register can be inverted with the Polarity Inversion register.
The TCA9555 is identical to the TCA9535, except for the inclusion of the internal I/O pull-up resistor, which pulls the I/O to a default high when configured as an input and undriven.
Three hardware pins (A0, A1, and A2) are used to program the I2C address, which allows up to eight TCA9555 devices to share the same I2C bus or SMBus. The fixed I2C address of the TCA9555 is the same as the PCF8575, PCF8575C, and PCF8574, allowing up to eight of these devices in any combination to share the same I2C bus or SMBus.