Analyse de la technologie de cascade I2C de l'application réseau multi-appareils MCP23017E/SS
16 septembre 2025 Actualités — Avec le développement rapide de l'Industrie 4.0 et de la technologie IoT, la demande de capacités d'extension d'E/S de périphériques est en constante augmentation. La puce d'extension d'E/S 16 bits MCP23017-E/SS lancée par Shenzhen Anxinruo Technology Co., Ltd., avec ses puissantes capacités d'extension d'interface et ses options de configuration flexibles, devient un choix important pour le contrôle industriel, la domotique et les appareils IoT.
Le MCP23017-E/SS utilise une interface I²C pour réaliser une extension d'E/S 16 bits, prenant en charge jusqu'à 8 cascades de périphériques via 3 broches d'adresse, et offre une communication à haute vitesse de 400 kHz avec une sortie d'interruption configurable. La puce comprend 16 GPIO programmables indépendamment, prenant en charge le réglage de la direction d'entrée/sortie, les résistances de pull-up internes et l'inversion de polarité. Avec une plage de tension de fonctionnement de 2,7 V à 5,5 V, chaque port d'E/S peut fournir un courant d'entraînement de 25 mA, et la consommation d'énergie en mode veille est inférieure à 1μA. Logé dans un boîtier de qualité industrielle SSOP-28, il fournit une solution d'extension d'interface complète pour les systèmes embarqués.
Modules fonctionnels principaux
1. Module d'interface de communication
Interface série I²C
SCL : Broche d'entrée d'horloge série
SDA : Ligne de données série bidirectionnelle
Prend en charge le mode standard (100 kHz) et le mode rapide (400 kHz)
![]()
2. Module de décodage d'adresse : l'adresse matérielle à 3 bits prend en charge la mise en cascade de 8 périphériques
3. Module de contrôle d'interruption : Fournit des sorties d'interruption doubles (INTA/INTB)
4. Module de conversion de données : Met en œuvre la conversion de données série-parallèle
5. Module GPIO : Ports d'E/S programmables 16 bits
6. Banque de registres : Stocke les paramètres de configuration et l'état de contrôle
Flux de travail
1. Configuration d'initialisation
Configurer les registres de contrôle via l'interface I²C
Définir la direction des E/S, les résistances de pull-up et d'autres paramètres
2. Communication de données
L'hôte envoie des commandes de contrôle et des données via I²C
Le sérialiseur convertit les données série en données parallèles
Les registres de configuration mettent à jour les paramètres correspondants
3. Gestion des interruptions
Les changements d'état des GPIO déclenchent la logique d'interruption
Les broches INTA/INTB envoient des signaux d'interruption à l'hôte
L'hôte lit le registre de drapeau d'interruption pour déterminer la source d'interruption
Avantages des fonctionnalités :
Haute intégration : extension d'E/S 16 bits implémentée dans une seule puce
Configuration flexible : chaque port d'E/S peut être programmé indépendamment
Faible consommation d'énergie : courant de veille < 1μA
Forte capacité d'entraînement : courant d'entraînement de 25 mA par port
1. Opération d'écriture d'octet
![]()
Description de la chronologie :
Condition de démarrage (S) : Le maître génère le signal de démarrage
Code opérationnel du périphérique (OP) : Adresse du périphérique 7 bits (0100AAA) + bit de drapeau d'écriture (0)
Adresse du registre (ADDR) : Spécifie le registre cible pour l'écriture
Entrée de données (DIN) : Données à écrire dans le registre
Condition d'arrêt (P) : Le maître génère le signal d'arrêt
2. Opération d'écriture séquentielle
Description de la chronologie :
Condition de démarrage (S) : L'hôte génère le signal de démarrage
Code opérationnel du périphérique (OP) : Adresse du périphérique 7 bits + bit de drapeau d'écriture
Adresse du registre (ADDR) : Spécifie l'adresse du registre de départ
Entrée de données (DIN) : Écrit en continu plusieurs données avec une incrémentation automatique de l'adresse
Condition d'arrêt (P) : L'hôte génère le signal d'arrêt
3. Définitions des signaux clés
|
Symbole |
Signification
|
Description |
| S |
Condition de démarrage |
Signal de démarrage |
| SR |
Démarrage répété |
Signal de démarrage répété |
| P | Condition d'arrêt | Signal d'arrêt |
| W | Bit d'écriture (0) | Drapeau d'opération d'écriture |
| R | Bit de lecture (1) | Drapeau d'opération de lecture |
| OP | Code opérationnel du périphérique | Code d'opération du périphérique (0100AAA + R/W) |
| ADDR | Adresse du registre | Adresse du registre |
| DIN | Entrée de données | Données d'entrée (Hôte → MCP23017) |
| DOUT | Sortie de données | Données de sortie (MCP23017 → Hôte) |
4. Paramètres des caractéristiques de chronologie
Débit de communication : Prend en charge 100 kHz (mode standard) et 400 kHz (mode rapide)
Validité des données : Les données SDA doivent rester stables pendant le niveau haut de SCL
Condition de démarrage : SDA passe de haut en bas tandis que SCL est haut
Condition d'arrêt : SDA passe de bas en haut tandis que SCL est haut
5. Notes d'application
Adresse du périphérique : 0100AAA, où AAA est déterminé par les broches A2/A1/A0
Transmission de données : MSB en premier, données 8 bits + ACK 1 bit
Signal d'accusé de réception : Le récepteur génère le signal ACK après chaque octet
Exigences de chronologie : Doit respecter les paramètres de spécification I²C (tSU, tHD, etc.)
Ce chronogramme illustre le protocole de communication I²C complet du MCP23017-E/SO, fournissant des références de chronologie précises pour la programmation des périphériques et l'intégration du système.
Broches du port GPIO
| PORT B (GPB) - Broches 1 à 8 |
PORT A (GPA) - Broches 21 à 28 |
|
GPB0 (Broche 1) |
GPA7 (Broche 21) |
|
GPB1 (Broche 2) |
GPA7 (Broche 22) |
|
GPB2 (Broche 3) |
GPA7 (Broche 23) |
|
GPB2 (Broche 4) |
GPA7 (Broche 24) |
|
GPB2 (Broche 5) |
GPA7 (Broche 25) |
|
GPB2 (Broche 6) |
GPA7 (Broche 26) |
|
GPB2 (Broche 7) |
GPA7 (Broche 27) |
|
GPB2 (Broche 8) |
GPA7 (Broche 28) |
1. Broches d'alimentation
VDD (Broche 9) : Entrée d'alimentation positive (2,7 V à 5,5 V)
VSS (Broche 10) : Masse d'alimentation
2. Broches de contrôle et de configuration
RESET (Broche 18) : Entrée de réinitialisation (active à l'état bas)
INTA (Broche 19) : Sortie d'interruption PORT A
INTB (Broche 20) : Sortie d'interruption PORT B
![]()
3. Broches de configuration d'adresse
A0 (Broche 15) : Bit de sélection d'adresse I2C 0
A1 (Broche 16) : Bit de sélection d'adresse I2C 1
A2 (Broche 17) : Bit de sélection d'adresse I2C 2
4. Broches spéciales
NC (Broches 11, 14) : Pas de connexion
Pastille thermique (Bas) : Pastille de dissipation thermique, doit être mise à la masse
5. Caractéristiques du boîtier
Type de boîtier : SOIC-28
Pas des broches : 1,27 mm
Température de fonctionnement : -40 °C à +85 °C
Conception thermique : La pastille thermique inférieure doit être connectée au plan de masse du circuit imprimé
Cette configuration de broches adopte le boîtier SOIC-28 standard, fournissant une solution d'extension d'E/S fiable pour le contrôle industriel et les systèmes embarqués. Toutes les broches GPIO prennent en charge la configuration indépendante et une capacité d'entraînement de 25 mA.
Modes de fonctionnement du protocole
1. Opération d'écriture d'un seul octet
2. Opération d'écriture séquentielle multi-octets
3. Opération de lecture d'un seul octet
4. Opération de lecture séquentielle multi-octets
5. Mode de fonctionnement mixte
![]()
Principales caractéristiques du protocole
Gestion du pointeur d'adresse
Le pointeur d'adresse se met automatiquement à jour pendant les opérations d'écriture
Le pointeur s'incrémente automatiquement pendant les opérations de lecture/écriture séquentielles
Prend en charge l'accès continu au-delà des limites des registres
Validité des données
Les données restent stables pendant le niveau haut de SCL
Chaque octet nécessite un accusé de réception (ACK/NACK)
Transmission MSB en premier
Mécanisme de gestion des erreurs
Détection de non-accusé de réception (NACK) esclave
Protection contre le délai d'attente du bus
Prise en charge de l'étirement d'horloge
Exigences de chronologie
|
Paramètre |
StandardMode |
Mode rapide |
|
SCLFrequency |
100kHz |
400kHz |
|
Temps d'installation |
250ns |
100ns |
|
Temps de maintien |
300ns |
90ns |
Ce protocole est entièrement compatible avec la spécification I²C standard, fournissant des méthodes de transmission de données flexibles qui prennent en charge les modes de transfert d'un seul octet et en rafale. Il permet une configuration et un contrôle efficaces de tous les registres fonctionnels du MCP23017.

