Análisis de la tecnología en cascada I2C del MCP23017E/SS, una aplicación de red multidispositivo
Noticias del 16 de septiembre de 2025 — Con el rápido desarrollo de la Industria 4.0 y la tecnología IoT, la demanda de capacidades de expansión de E/S de dispositivos está creciendo cada vez más. El chip expansor de E/S de 16 bits MCP23017-E/SS lanzado por Shenzhen Anxinruo Technology Co., Ltd., con sus potentes capacidades de expansión de interfaz y opciones de configuración flexibles, se está convirtiendo en una opción importante para el control industrial, el hogar inteligente y los dispositivos IoT.
El MCP23017-E/SS utiliza una interfaz I²C para lograr una expansión de E/S de 16 bits, admitiendo hasta 8 cascadas de dispositivos a través de 3 pines de dirección, y ofrece una comunicación de alta velocidad de 400 kHz con salida de interrupción configurable. El chip cuenta con 16 GPIO programables de forma independiente, que admiten la configuración de la dirección de entrada/salida, resistencias pull-up internas e inversión de polaridad. Con un rango de voltaje de funcionamiento de 2,7 V-5,5 V, cada puerto de E/S puede proporcionar una corriente de accionamiento de 25 mA, y el consumo de energía en modo de espera es inferior a 1μA. Alojado en un encapsulado SSOP-28 de grado industrial, proporciona una solución integral de expansión de interfaz para sistemas embebidos.
Módulos funcionales principales
1. Módulo de interfaz de comunicación
Interfaz serie I²C
SCL: Pin de entrada de reloj serie
SDA: Línea de datos serie bidireccional
Admite modo estándar (100 kHz) y modo rápido (400 kHz)
![]()
2. Módulo de decodificación de direcciones: la dirección de hardware de 3 bits admite la conexión en cascada de 8 dispositivos
3. Módulo de control de interrupciones: proporciona salidas de interrupción duales (INTA/INTB)
4. Módulo de conversión de datos: Implementa la conversión de datos serie a paralelo
5. Módulo GPIO: puertos de E/S programables de 16 bits
6. Banco de registros: Almacena parámetros de configuración y estado de control
Flujo de trabajo
1. Configuración de inicialización
Configure los registros de control a través de la interfaz I²C
Establezca la dirección de E/S, las resistencias pull-up y otros parámetros
2. Comunicación de datos
El host envía comandos de control y datos a través de I²C
El serializador convierte los datos serie en datos paralelos
Los registros de configuración actualizan la configuración correspondiente
3. Manejo de interrupciones
Los cambios de estado de GPIO activan la lógica de interrupción
Los pines INTA/INTB envían señales de interrupción al host
El host lee el registro de indicadores de interrupción para determinar la fuente de la interrupción
Ventajas de las características:
Alta integración: expansión de E/S de 16 bits implementada en un solo chip
Configuración flexible: cada puerto de E/S se puede programar de forma independiente
Bajo consumo de energía: corriente de espera < 1μA
Fuerte capacidad de accionamiento: corriente de accionamiento de 25 mA por puerto
1. Operación de escritura de un byte
![]()
Descripción de la temporización:
Condición de inicio (S): El maestro genera la señal de inicio
Código de operación del dispositivo (OP): Dirección del dispositivo de 7 bits (0100AAA) + bit de indicador de escritura (0)
Dirección del registro (ADDR): Especifica el registro de destino para la escritura
Entrada de datos (DIN): Datos a escribir en el registro
Condición de parada (P): El maestro genera la señal de parada
2. Operación de escritura secuencial
Descripción de la temporización:
Condición de inicio (S): El host genera la señal de inicio
Código de operación del dispositivo (OP): Dirección del dispositivo de 7 bits + bit de indicador de escritura
Dirección del registro (ADDR): Especifica la dirección del registro de inicio
Entrada de datos (DIN): Escribe continuamente múltiples datos con incremento automático de la dirección
Condición de parada (P): El host genera la señal de parada
3. Definiciones de señales clave
|
Símbolo |
Significado
|
Descripción |
| S |
Condición de inicio |
Señal de inicio |
| SR |
Inicio repetido |
Señal de inicio repetida |
| P | Condición de parada | Señal de parada |
| W | Bit de escritura (0) | Indicador de operación de escritura |
| R | Bit de lectura (1) | Indicador de operación de lectura |
| OP | Código de operación del dispositivo | Código de operación del dispositivo (0100AAA + R/W) |
| ADDR | Dirección del registro | Dirección del registro |
| DIN | Entrada de datos | Datos de entrada (Host → MCP23017) |
| DOUT | Salida de datos | Datos de salida (MCP23017 → Host) |
4. Parámetros de características de temporización
Velocidad de comunicación: Admite 100 kHz (modo estándar) y 400 kHz (modo rápido)
Validez de los datos: Los datos SDA deben permanecer estables durante el nivel alto de SCL
Condición de inicio: Las transiciones de SDA de alto a bajo mientras SCL está alto
Condición de parada: Las transiciones de SDA de bajo a alto mientras SCL está alto
5. Notas de la aplicación
Dirección del dispositivo: 0100AAA, donde AAA está determinado por los pines A2/A1/A0
Transmisión de datos: MSB primero, datos de 8 bits + 1 bit ACK
Señal de reconocimiento: El receptor genera la señal ACK después de cada byte
Requisitos de temporización: Debe cumplir con los parámetros de especificación I²C (tSU, tHD, etc.)
Este diagrama de temporización ilustra el protocolo de comunicación I²C completo del MCP23017-E/SO, proporcionando referencias de temporización precisas para la programación del dispositivo y la integración del sistema.
Pines del puerto GPIO
| PUERTO B (GPB) - Pines 1 a 8 |
PUERTO A (GPA) - Pines 21 a 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. Pines de alimentación
VDD (Pin 9): Entrada de alimentación positiva (2,7 V a 5,5 V)
VSS (Pin 10): Tierra de alimentación
2. Pines de control y configuración
RESET (Pin 18): Entrada de reinicio (activo bajo)
INTA (Pin 19): Salida de interrupción del PUERTO A
INTB (Pin 20): Salida de interrupción del PUERTO B
![]()
3. Pines de configuración de dirección
A0 (Pin 15): Bit de selección de dirección I2C 0
A1 (Pin 16): Bit de selección de dirección I2C 1
A2 (Pin 17): Bit de selección de dirección I2C 2
4. Pines especiales
NC (Pines 11, 14): Sin conexión
Almohadilla térmica (inferior): Almohadilla de disipación de calor, debe estar conectada a tierra
5. Características del paquete
Tipo de paquete: SOIC-28
Paso de pines: 1,27 mm
Temperatura de funcionamiento: -40°C a +85°C
Diseño térmico: La almohadilla térmica inferior debe estar conectada al plano de tierra de la PCB
Esta configuración de pines adopta el paquete SOIC-28 estándar, proporcionando una solución de expansión de E/S confiable para el control industrial y los sistemas embebidos. Todos los pines GPIO admiten configuración independiente y capacidad de accionamiento de 25 mA.
Modos de operación del protocolo
1. Operación de escritura de un solo byte
2. Operación de escritura secuencial de varios bytes
3. Operación de lectura de un solo byte
4. Operación de lectura secuencial de varios bytes
5. Modo de operación mixto
![]()
Características clave del protocolo
Gestión del puntero de dirección
El puntero de dirección se actualiza automáticamente durante las operaciones de escritura
El puntero se incrementa automáticamente durante las operaciones de lectura/escritura secuenciales
Admite el acceso continuo a través de los límites del registro
Validez de los datos
Los datos permanecen estables durante el nivel alto de SCL
Cada byte requiere un reconocimiento (ACK/NACK)
Transmisión MSB primero
Mecanismo de manejo de errores
Detección de no reconocimiento (NACK) del esclavo
Protección de tiempo de espera del bus
Soporte de estiramiento de reloj
Requisitos de temporización
|
Parámetro |
Modo estándar |
Modo rápido |
|
Frecuencia SCL |
100 kHz |
400 kHz |
|
Tiempo de configuración |
250 ns |
100 ns |
|
Tiempo de retención |
300 ns |
90 ns |
Este protocolo es totalmente compatible con la especificación I²C estándar, proporcionando métodos de transmisión de datos flexibles que admiten tanto el modo de transferencia de un solo byte como el modo de transferencia en ráfaga. Permite la configuración y el control eficientes de todos los registros funcionales en el MCP23017.

