Protocole I3C

Bus I3C (circuit intégré amélioré)

I3C (Improved Inter Integrated Circuit) est également connu sous le nom de MIPI I3C et de SenseWire. I3C est la nouvelle norme industrielle pour les bus de données série multipoint. I3C a été publié en 2016 en collaboration entre les entreprises 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 conservant la compatibilité ascendante avec les appareils esclaves I²C existants, tandis que les appareils I3C natifs supportent des débits de données plus élevés, de manière similaire au 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.

Pourquoi une nouvelle norme ?

I3C a été conçu à l'origine comme la seule interface pour tous les capteurs connectés numériquement qui sont utilisés dans une application mobile   . Mais le bus est également adapté à toutes les applications embarquées à vitesse moyenne et élevée qui utilisent des capteurs, des régulateurs de puissance, des actionneurs, des MCU et des FPGA. I3C s'appuie sur les caractéristiques et les avantages de I2C et les améliore, tout en conservant la compatibilité descendante. L'interface est utile pour de nombreuses applications, car elle offre un transfert de données à grande vitesse avec des niveaux de puissance très faibles, tout en permettant un multi-drop entre le processeur hôte et les périphériques, ce qui est extrêmement souhaitable pour tout système embarqué.

Objectifs pour I3C de l'alliance mipi :

  • Standardiser la communication des capteurs,
  • Réduire le nombre de broches physiques utilisées lors de l'intégration des systèmes de capteurs
  • Prendre en charge une faible consommation d'énergie, une vitesse élevée et d'autres fonctions critiques actuellement couvertes par I²C et SPI

I3C l'évolution de I²C

I²C (Inter-Integrated Circuit) a été développé en 1982 et est un bus sériel synchrone à deux fils. Actuellement, il est toujours le standard industriel pour les solutions de surveillance, de diagnostic et de contrôle dans de nombreuses applications embarquées. I2C est facile à mettre en œuvre, a un faible coût et est rapide jusqu'à 3,4 Mbit/s en mode haute vitesse (Hs-mode). I2C est un véritable bus bidirectionnel à deux fils dans une architecture maître/esclave avec un adressage logiciel et un protocole de transmission intégré. Il ne nécessite qu'une ligne d'horloge SCL (Serial Clock Line) et une ligne de données SDA (Serial Data Line). 

Cela signifie qu'un microcontrôleur peut contrôler plusieurs puces avec seulement deux broches I/O et un logiciel simple. À l'origine, le bus I2C a été développé pour les interactions entre quelques CI montés sur la même carte, par exemple pour contrôler le réglage des téléviseurs ou des radios. 

Le grand nombre de capteurs dans les appareils mobiles exige, dans les processeurs d'application et les hubs de capteurs, un nombre accru de broches logiques qui doivent être utilisées pour la communication et le contrôle des capteurs. Dans une application typique, plusieurs interfaces de communication numériques sont utilisées avec des lignes logiques de soutien pour des signaux d'interruption et de veille dédiés. Aujourd'hui, les téléphones portables sont déjà équipés de plus de 10 capteurs. Un point critique est atteint lorsque 20 signaux logiques ou plus sont nécessaires. 

I2C présente par exemple d'autres déficits :

  • Les esclaves des capteurs ne sont pas capables d'initier une communication
  • Le protocole overhead réduit le débit
  • Les résistances d'extraction limitent la vitesse d'horloge et augmentent la perte de puissance

I3C par rapport aux autres interfaces numériques 

Lorsque de grandes quantités de données doivent être transmises, un autre standard de facto est l'interface SPI (Serial Peripheral Interface). SPI nécessite quatre lignes de communication :

  • L'horloge sérielle (SCLK |SCK) est émise par le maître pour la synchronisation
  • La sortie maître, l'entrée esclave (MOSI |SIMO) 
  • L'entrée du maître, la sortie de l'esclave (MISO | SOMI)
  • Une ou plusieurs lignes de sélection de puce actives avec logique-0. Elles sont contrôlées par le maître. Normalement, il y a une ligne par esclave. (SS Slave Select | CS Chip Select | STE Slave Transmit Enable  STE | CE Chip Enabler)

De nombreuses caractéristiques ne sont pas clairement définies dans le standard SPI. C'est pourquoi de nombreux réglages sont nécessaires, ce qui entraîne souvent des appareils incompatibles entre eux. 

Avec I3C, il existe une méthode uniforme pour la connexion des différents capteurs. Cela évite les problèmes d'intégration , car les développeurs ne sont plus confrontés à la fragmentation des interfaces numériques (I2C, SPI, UART, ...) . 

Qu'est-ce qui caractérise le bus I3C par rapport au bus I2C ?

  • Design économe en énergie et peu encombrant pour les appareils mobiles (smartphones et appareils IoT).
  • Interface à deux pôles, qui est un sur-ensemble de la norme I2C. Des appareils esclaves I2C plus anciens peuvent être connectés au bus le plus récent.
  • Interruptions dans la bande via le bus série, au lieu d'avoir besoin de broches séparées.
  • Débit de données standard (SDR) jusqu'à 12,5 Mbit / s en utilisant des niveaux CMOS E / A
  • Les modes HDR (High Data Rate) permettent un débit comparable à celui du SPI, mais ne nécessitent qu'une fraction de la puissance du mode rapide I2C.
  • Un ensemble standardisé de codes de commande généraux
  • 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 dynamique d'adresses (DAA) pour les esclaves I3C, mais continue de soutenir les adresses statiques pour les anciens appareils I2C
  • Hot-join (certains appareils sur le bus peuvent être allumés et éteints pendant le fonctionnement)
  • Fonctionnement multi-maître avec transfert clairement défini
  • Sur un bus I3C en mode standard (SDR), quatre classes d'appareils différentes peuvent être supportées

Adaptateurs hôtes I2C / I3C et analyseurs de protocole

La série PGY-I3C-EX-PD est la solution leader au monde pour tester les designs I3C. Les appareils   PGY-I3C-EX-PD série peuvent être configurés en tant que maître ou esclave, générer le trafic I3C avec des injections d'erreurs et décoder les paquets du protocole I3C.

La série d'analyseurs et d'exerciseurs I3C de Prodigy comprend une version Lite et une version complète avec toutes les fonctionnalités ainsi que des performances matérielles maximales.

Beagle I2C/SPI Protokoll Analyzer - Total Phase
Analyseur de protocole I2C/SPI Beagle
TP320121
L'analyseur de protocole I2C/SPI Beagle est un adaptateur hôte de bus I2C et SPI rapide et puissant via USB

369,00 €*
Plateforme universelle Promira I2C/ SPI/ eSPI
TP500110-S
La plateforme universelle Promira I2C/SPI/eSPI peut être utilisée pour une multitude d'applications

Variantes de 900,00 €*
1 060,00 €*