Specifications
SKU: 5251841
LOW VOLTAGE 16-BIT I2C AND SMBus I/O EXPANDER WITH INTERRUPT OUTPUT AND CONFIGURATION REGISTERS
Parameter | Symbol | Min | Typ | Max | Unit | Description |
---|---|---|---|---|---|---|
Supply Voltage | VCC | 1.65 | - | 5.5 | V | Operating supply voltage range |
Input Low Voltage Level | VIL | 0.3 | - | - | V | Maximum input low voltage level |
Input High Voltage Level | VIH | - | - | 0.7 | V | Minimum input high voltage level |
Output Low Voltage Level | VOL | 0.0 | - | 0.4 | V | Maximum output low voltage level |
Output High Voltage Level | VOH | 2.4 | - | VCC-0.4 | V | Minimum output high voltage level |
Leakage Current | IIOFF | - | - | 1 | μA | Leakage current when pin is off |
Output Sink Current | IOL | - | - | 20 | mA | Maximum output sink current |
Output Source Current | IOH | - | - | 10 | mA | Maximum output source current |
Input Capacitance | CIN | - | 10 | - | pF | Input capacitance |
Output Capacitance | COUT | - | 10 | - | pF | Output capacitance |
Power Consumption | Ptot | - | 1 | - | mW | Total power consumption at 3.3V, all pins high |
Instructions for Using TCA9555PWR
Power Supply:
- Connect the VCC pin to a power supply within the range of 1.65V to 5.5V.
- Connect the GND pin to the ground.
I2C Communication:
- Connect the SDA (Serial Data) and SCL (Serial Clock) pins to the I2C bus.
- Use pull-up resistors on the SDA and SCL lines to VCC. Typical values are 4.7kΩ to 10kΩ.
Pin Configuration:
- The TCA9555PWR has 16 general-purpose input/output (GPIO) pins divided into two 8-bit ports (Port 0 and Port 1).
- Configure each pin as input or output using the configuration registers.
Register Map:
- Input Port 0 (0x00): Reads the state of Port 0.
- Input Port 1 (0x01): Reads the state of Port 1.
- Output Port 0 (0x02): Writes to Port 0.
- Output Port 1 (0x03): Writes to Port 1.
- Polarity Inversion Port 0 (0x04): Inverts the polarity of Port 0.
- Polarity Inversion Port 1 (0x05): Inverts the polarity of Port 1.
- Configuration Port 0 (0x06): Configures Port 0 as input (1) or output (0).
- Configuration Port 1 (0x07): Configures Port 1 as input (1) or output (0).
Reading and Writing:
- To read from a port, send a read command to the corresponding register address.
- To write to a port, send a write command to the corresponding register address.
Polarity Inversion:
- Set the corresponding bit in the Polarity Inversion register to 1 to invert the polarity of the pin.
Configuration:
- Set the corresponding bit in the Configuration register to 1 for input and 0 for output.
Addressing:
- The TCA9555PWR can be configured with different I2C addresses by connecting the A0, A1, and A2 pins to VCC, GND, or left floating.
Example Code:
// Example code to configure and use the TCA9555PWR with an I2C library #include <Wire.h> #define TCA9555_ADDRESS 0x20 // Default I2C address void setup() { Wire.begin(); // Configure Port 0 as input and Port 1 as output Wire.beginTransmission(TCA9555_ADDRESS); Wire.write(0x06); // Configuration Port 0 Wire.write(0xFF); // All inputs Wire.endTransmission(); Wire.beginTransmission(TCA9555_ADDRESS); Wire.write(0x07); // Configuration Port 1 Wire.write(0x00); // All outputs Wire.endTransmission(); } void loop() { // Read input from Port 0 Wire.beginTransmission(TCA9555_ADDRESS); Wire.write(0x00); // Input Port 0 Wire.endTransmission(); Wire.requestFrom(TCA9555_ADDRESS, 1); byte input0 = Wire.read(); // Write output to Port 1 Wire.beginTransmission(TCA9555_ADDRESS); Wire.write(0x03); // Output Port 1 Wire.write(input0); // Echo input to output Wire.endTransmission(); }
This table and set of instructions should help you effectively use the TCA9555PWR in your projects.
(For reference only)Inquiry - TCA9555PWR