Multi-Device Networking Application MCP23017E/SS I2C Cascading Technology Analysis

September 16, 2025 News — With the rapid development of Industry 4.0 and IoT technology, the demand for device I/O expansion capabilities is increasingly growing. The MCP23017-E/SS 16-bit I/O expander chip launched by Shenzhen Anxinruo Technology Co., Ltd., with its powerful interface expansion capabilities and flexible configuration options, is becoming an important choice for industrial control, smart home, and IoT devices.
The MCP23017-E/SS utilizes an I²C interface to achieve 16-bit I/O expansion, supporting up to 8 device cascades through 3 address pins, and offers 400kHz high-speed communication with configurable interrupt output. The chip features 16 independently programmable GPIOs, supporting input/output direction setting, internal pull-up resistors, and polarity inversion. With an operating voltage range of 2.7V-5.5V, each I/O port can provide 25mA drive current, and power consumption in standby mode is below 1μA. Housed in an SSOP-28 industrial-grade package, it provides a comprehensive interface expansion solution for embedded systems.
Core Functional Modules
1.Communication Interface Module
I²C serial interface
SCL: Serial clock input pin
SDA: Bidirectional serial data line
Supports standard mode (100kHz) and fast mode (400kHz)
2.Address Decoding Module: 3-bit hardware address supports 8-device cascading
3.Interrupt Control Module: Provides dual interrupt outputs (INTA/INTB)
4.Data Conversion Module: Implements serial-to-parallel data conversion
5.GPIO Module: 16-bit programmable I/O ports
6.Register Bank: Stores configuration parameters and control status
Workflow
1.Initialization Configuration
Configure control registers via I²C interface
Set I/O direction, pull-up resistors, and other parameters
2.Data Communication
Host sends control commands and data via I²C
Serializer converts serial data to parallel data
Configuration registers update corresponding settings
3.Interrupt Handling
GPIO state changes trigger interrupt logic
INTA/INTB pins send interrupt signals to the host
Host reads interrupt flag register to determine the interrupt source
Feature Advantages:
High Integration: 16-bit I/O expansion implemented in a single chip
Flexible Configuration: Each I/O port can be independently programmed
Low Power Consumption: Standby current < 1μA
Strong Drive Capability: 25mA drive current per port
1. Byte Write Operation
Timing Description:
Start Condition (S): Master generates start signal
Device Opcode (OP): 7-bit device address (0100AAA) + write flag bit (0)
Register Address (ADDR): Specifies target register for writing
Data Input (DIN): Data to be written to the register
Stop Condition (P): Master generates stop signal
2. Sequential Write Operation
Timing Description:
Start Condition (S): Host generates start signal
Device Opcode (OP): 7-bit device address + write flag bit
Register Address (ADDR): Specifies starting register address
Data Input (DIN): Continuously writes multiple data with auto-incrementing address
Stop Condition (P): Host generates stop signal
3. Key Signal Definitions
Symbol |
Meaning
|
Description |
S |
Start Condition |
Start signal |
SR |
Repeated Start |
Repeated start signal |
P | Stop Condition | Stop signal |
W | Write Bit (0) | Write operation flag |
R | Read Bit (1) | Read operation flag |
OP | Device Opcode | Device operation code (0100AAA + R/W) |
ADDR | Register Address | Register address |
DIN | Data Input | Input data (Host → MCP23017) |
DOUT | Data Output | Output data (MCP23017 → Host) |
4. Timing Characteristics Parameters
Communication Rate: Supports 100kHz (standard mode) and 400kHz (fast mode)
Data Validity: SDA data must remain stable during SCL high level
Start Condition: SDA transitions from high to low while SCL is high
Stop Condition: SDA transitions from low to high while SCL is high
5. Application Notes
Device Address: 0100AAA, where AAA is determined by A2/A1/A0 pins
Data Transmission: MSB first, 8-bit data + 1-bit ACK
Acknowledge Signal: Receiver generates ACK signal after each byte
Timing Requirements: Must meet I²C specification parameters (tSU, tHD, etc.)
This timing diagram illustrates the complete I²C communication protocol of the MCP23017-E/SO, providing accurate timing references for device programming and system integration.
GPIO Port Pins
PORT B (GPB) - Pins 1 to 8 |
PORT A (GPA) - Pins 21 to 28 |
GPB0 (Pin 1) |
GPA7 (Pin 21) |
GPB1 (Pin 2) |
GPA7 (Pin 22) |
GPB2 (Pin 3) |
GPA7 (Pin 23) |
GPB2 (Pin 4) |
GPA7 (Pin 24) |
GPB2 (Pin5) |
GPA7 (Pin 25) |
GPB2 (Pin 6) |
GPA7 (Pin 26) |
GPB2 (Pin 7) |
GPA7 (Pin 27) |
GPB2 (Pin 8) |
GPA7 (Pin 28) |
1.Power Pins
VDD (Pin 9): Positive power supply input (2.7V to 5.5V)
VSS (Pin 10): Power ground
2.Control and Configuration Pins
RESET (Pin 18): Reset input (active low)
INTA (Pin 19): PORT A interrupt output
INTB (Pin 20): PORT B interrupt output
3.Address Configuration Pins
A0 (Pin 15): I2C address selection bit 0
A1 (Pin 16): I2C address selection bit 1
A2 (Pin 17): I2C address selection bit 2
4.Special Pins
NC (Pins 11, 14): No connection
Thermal Pad (Bottom): Heat dissipation pad, must be grounded
5.Package Characteristics
Package Type: SOIC-28
Pin Pitch: 1.27mm
Operating Temperature: -40°C to +85°C
Thermal Design: Bottom thermal pad must be connected to PCB ground plane
This pin configuration adopts the standard SOIC-28 package, providing a reliable I/O expansion solution for industrial control and embedded systems. All GPIO pins support independent configuration and 25mA drive capability.
Protocol Operation Modes
1. Single-Byte Write Operation
2. Multi-Byte Sequential Write Operation
3. Single-Byte Read Operation
4. Multi-Byte Sequential Read Operation
5. Mixed Operation Mode
Key Protocol Features
Address Pointer Management
Address pointer automatically updates during write operations
Pointer auto-increments during sequential read/write operations
Supports continuous access across register boundaries
Data Validity
Data remains stable during SCL high level
Each byte requires an acknowledgment (ACK/NACK)
MSB-first transmission
Error Handling Mechanism
Slave non-acknowledgment (NACK) detection
Bus timeout protection
Clock stretching support
Timing Requirements
Parameter |
StandardMode |
Fast Mode |
SCLFrequency |
100kHz |
400kHz |
Setup Time |
250ns |
100ns |
Hold Time |
300ns |
90ns |
This protocol is fully compatible with the standard I²C specification, providing flexible data transmission methods that support both single-byte and burst transfer modes. It enables efficient configuration and control of all functional registers in the MCP23017.