Table des matières
Protocole I2C vs I3C : Différences et similitudes
Le bus I2C
I2C (Inter-Integrated Circuit) est un protocole de communication embarqué idéal pour les courtes distances et la faible bande passante. Il a une architecture maître-esclave dans laquelle tous les esclaves sont connectés au maître via deux lignes : la ligne de données série (SDA) et la ligne d'horloge série (SCL). I2C est généralement utilisé pour connecter des périphériques à faible vitesse, tels que des capteurs à des processeurs et des microcontrôleurs sur de courtes distances, au sein d'un circuit intégré. Le protocole I2C définit la manière dont les données sont envoyées. Initialement, le maître émet une condition de démarrage suivie de l'adresse du dispositif esclave avec lequel il communique. Une fois que l'esclave approprié a identifié son adresse, il recherche le drapeau progressif de lecture/écriture émis par le maître. Ce drapeau indique à l'esclave s'il peut recevoir des données ou envoyer des données. Dès que l'esclave a confirmé le maître, la communication continue. Une caractéristique d'I2C est le système de test intégré : chaque octet de données est acquitté par le récepteur avec ACK ou NAK pour signaler à l'expéditeur si les données ont été reçues ou non. Dès que le maître a fini de communiquer avec l'esclave adressé, il émet une condition d'arrêt pour signaler la fin de la transmission. Après la condition d'arrêt, la communication avec d'autres dispositifs esclaves peut commencer.
Le bus I3C
(Improved Inter Integrated Circuit) est également connu sous le nom de MIPI I3C et SenseWire. I3C est la nouvelle norme de l'industrie pour les bus de données série multipoint. I3C a été lancé en 2016 en collaboration entre des sociétés d'électronique et d'informatique avec la Mobile Industry Processor Interface Alliance (MIPI Alliance). I3C ajoute un nombre considérable de fonctions d'interface système tout en maintenant une compatibilité ascendante avec les périphériques esclaves I²C existants, tandis que les périphériques I3C natifs prennent en charge des débits de données plus élevés similaires à SPI (Serial Peripheral Interface). Avec I3C, un ou plusieurs appareils maîtres peuvent être connectés à un ou plusieurs esclaves via le bus. Prodigy Technovations est l'un des premiers fabricants à proposer un analyseur de protocole I3C à cet effet.
Analyseurs de protocole I2C vs I3C : différences et similitudes
I3C l'évolution de I²C. I3C était à l'origine conçu comme la seule interface pour tous les capteurs connectés numériquement utilisés dans une application mobile. Le bus convient également à toutes les applications embarquées à moyenne et haute vitesse, y compris les capteurs, les contrôleurs de puissance, les actionneurs, les MCU et les FPGA. I3C s'appuie sur et améliore les fonctionnalités et les avantages d'I2C, tout en maintenant la rétrocompatibilité. L'interface est utile pour de nombreuses applications car elle permet une transmission de données à haute vitesse à des niveaux de puissance très faibles tout en permettant le multipoint entre le processeur hôte et les périphériques, ce qui est hautement souhaitable pour tout système embarqué.
I2C vs I3C : Où sont les différences ?
- Conception économe en énergie et peu encombrante pour les appareils mobiles (smartphones et appareils IoT).
- Interface bipolaire, qui est un sur-ensemble de la norme I2C. Les anciens appareils esclaves I2C peuvent être connectés au nouveau bus.
- Interruptions intrabande sur le bus série au lieu de nécessiter des broches séparées.
- Débit de données standard (SDR) jusqu'à 12,5 Mbps lors de l'utilisation des niveaux d'E/S CMOS
- Les modes HDR (High Data Rate) fournissent un débit comparable à SPI, mais ne nécessitent qu'une fraction des performances du mode rapide I2C.
- Un ensemble normalisé de codes de commande communs
- Prise en charge des files d'attente de commandes
- Détection et récupération des erreurs (contrôle de parité en mode SDR et CRC 5 bits pour les modes HDR)
- Attribution d'adresse dynamique (DAA) pour les esclaves I3C, mais prend toujours en charge les adresses statiques pour les anciens appareils I2C
- Hot-Join (certains appareils sur le bus peuvent être activés et désactivés pendant le fonctionnement)
- Fonctionnement multi-maître avec transfert clairement défini
- Quatre différentes classes d'appareils peuvent être prises en charge sur un bus I3C en mode standard (SDR)
Analyseurs de protocole pour I2C et I3C
Il existe plusieurs analyseurs de protocole sur le marché. Certains sont spécifiques à un protocole, tandis que d'autres prennent en charge plusieurs protocoles. Il n'y a que quelques différences fonctionnelles entre la plupart des analyseurs I2C et SPI. Vous pouvez avoir des différences d'implémentation telles que les types d'en-tête, le nombre de broches ou les tolérances de tension/courant, et ces différences sont évidentes dans les conceptions des fabricants. La plupart des analyseurs fournissent un logiciel GUI pour lire la communication détectée sur le bus. Les analyseurs de protocole déchiffrent généralement les signaux et les données de contrôle de protocole par opposition à un analyseur logique standard qui n'affiche que des signaux et des diagrammes de synchronisation. Tous les logiciels ne sont pas identiques. La possibilité d'afficher les données en temps réel, de démarrer et d'arrêter les captures, d'enregistrer et de partager les captures, et de rechercher et filtrer les captures n'est pas toujours disponible dans tous les logiciels d'analyse de journaux. Pour plus de flexibilité et d'utilisation, certains analyseurs de protocole sont équipés d'une API logicielle qui permet à l'utilisateur de créer un outil personnalisé pour ses besoins spécifiques.
Comprendre les similitudes et les différences entre les analyseurs de protocole est important et peut faire toute la différence entre un achèvement précédent et une échéance manquée.
Compatibilité des analyseurs de protocole et des programmeurs entre I2C et I3C
Comme I3C est rétrocompatible, un adaptateur hôte I2C peut être utilisé pour la programmation. L'Aardvark de Total Phase, qui est livré avec le logiciel Flash correspondant, est idéal pour cela. Pour le débogage I2C, le Beagle I2C / SPI est le bon choix, car il a implémenté une mémoire interne capable de stocker le trafic vers le bus et de l'afficher en temps réel. Cependant, le débogage d'I3C nécessite un analyseur de protocole I3C en raison des vitesses plus élevées. L'un des rares analyseurs I3C disponibles sur le marché est produit par Prodigy et proposé ici dans notre boutique en ligne. Le PGY-I3C-EX-ED de Prodigy peut être configuré en tant que maître ou esclave, générer du trafic I3C avec injection d'erreurs et décoder les paquets de protocole I3C.
Résumé
Lors de l'achat d'un analyseur de protocole ou d'un programmateur, tenez compte de la compatibilité de son système d'exploitation, des options USB et de son prix. Renseignez-vous pour obtenir exactement ce dont vous avez besoin et savoir ce que vous achetez. Compte tenu de toutes les options disponibles, vous pouvez non seulement économiser de l'argent, mais également maximiser votre performance au travail - vous, votre équipe et vos projets pouvez en tirer le meilleur parti !