Comment déboguer l’I3C?

Publié par Nicolas le

Comprendre et Déboguer le protocole I3C

Comprendre et Deboguer le protocole I3C.

Comprendre et Déboguer le protocole I3C

L’interface de bus MIPI I3C est une spécification évolutive qui s’appuie sur la norme  précédente et populaire I2C. L’ I3C  a pour objectif  de réduire le nombre de broches physiques utilisées dans l’intégration des systèmes de capteurs. A cela s’ajoute  un support de communication numérique à faible consommation et à grande vitesse. Ces caractéristiques sont généralement associées aux interfaces UART et SPI, de sorte que l’I3C devienne une interface unique combinant toutes les capacités des interfaces existantes.

Exemples de mise en oeuvre I2C et I3C

Le protocole I3C repose sur un bus multipoint qui, avec 12,5 MHz, est plus de 12 fois plus rapide que le protocole I2C, tout en consommant beaucoup moins d’énergie.

Principales caractéristiques de l' I3C

  • L’I3C est rétrocompatible avec l’ancien protocole I2C
  • Il supporte les modes  multi maître et multipoint
  • l’I3C accepte un adressage
  • Il permet des interruptions dans la bande
  • Prise en charge de la jonction à chaud

L’interface du protocole I3C est promise à  un rôle fondamental dans la rationalisation de l’intégration des capteurs dans les smartphones, les appareils de l’internet des objets (IoT) et les vêtements. L’I3C peut également être utilisé pour gérer des systèmes complexes au fur et à mesure que les concepteurs migrent vers un transport de gestion commun. Ce point particulier réduit considérablement les coûts et les retards de la conception de ces systèmes complexes tout en permettant de nouvelles capacités.

MIPI I3C, principes de fonctionnement

Toutes les communications du protocole I3C s’effectuent à l’intérieur d’une trame. La trame commence par un START, suivi d’un ou plusieurs transferts et d’un STOP.

L’interface I3C prend en charge les messages SDR (Single Data Rate) qui sont similaires aux messages I2C. Dans ce cas, la vitesse d’horloge maximale est de 12,5 MHz. Elle prend également en charge les messages à haut débit (HDR). En HDR, le transfert de données correspond à des cycles d’horloge. Par ailleurs, il existe deux types de messages : les messages Broadcast et les messages Direct Common Command Code (CCC). Elles permettent au maître de communiquer avec tous les esclaves du bus ou avec certains d’entre eux.

Le protocole I3C est basé sur une approche d’encapsulation de trame. Ainsi, la trame I3C comprend toujours le START, l’en-tête, les données et le STOP. Autre détail: le bus I3C est toujours initialisé en mode SDR et jamais en mode HDR.

Le protocole de commande Common Command Code (CCC) est formaté en utilisant uniquement la SDR. Le CCC est transmis à un esclave spécifique ou à tous les esclaves du bus I3C. Le format général du CCC est illustré sur cette figure:

Description de la commande CCC en I3C

Pour les modes HDR :
– Tout d’abord, l’adresse I3C dédiée à la diffusion (7’h7E) est transmise à tous les esclaves sur le bus I3C.
– Ensuite, l’un des Enter HDR CCC est émis, indiquant que le maître entre dans le mode HDR. Chaque mode HDR possède son propre Enter HDR CCC.
– Il est suivi d’un ou plusieurs transferts HDR.
– Le mode HDR est terminé en utilisant le protocole de sortie HDR.
Pour plus de détails sur les protocoles I3C, veuillez vous référer aux spécifications MIPI® I3C.
Les dispositifs I3C possèdent des registres de caractéristiques de bus et de dispositifs qui contiennent des informations sur les capacités du composant I3C.
Le bus I3C peut être configuré avec plusieurs composants. Ces composants peuvent être le maître principal I3C, le maître secondaire I3C, l’esclave I3C et l’esclave I2C.

Composants typiques d'un bus I3C

Les composants I3C possèdent de nombreuses caractéristiques correspondant à leur fonction sur le bus I3C. En fonction des besoins du système de bus I3C, il peut ne pas être nécessaire que toutes les caractéristiques soient activées pour une instanciation particulière du bus. Toutefois, les fonctions activées de chaque dispositif I3C doivent être décrites dans le registre des caractéristiques du composant. Le maître obtient les informations du registre des caractéristiques lors de la mise sous tension du bus I3C.

Lors de la phase de démarrage, après une mise hors tension, le maître principal doit attribuer une adresse dynamique unique à chaque composant sur le bus, y compris lui-même. L’adresse dynamique crée un ordre de priorité pour les interruptions des composants. Si un maître secondaire est présent sur le bus I3C, il doit être informé de l’adresse dynamique et des registres caractéristiques.

Donc, la conception de matériel électronique basé sur l’I3C implique la conception d’un maître I3C, d’un esclave I3C et d’un système de bus I3C. Ces conceptions présentent différents défis à différents stades du cycle de conception. De ce fait, les ingénieurs concepteurs ont besoin d’un outil pour déboguer le dispositif I3C afin d’assurer de la fiabilité du fonctionnement. Voici quelques-unes des exigences importantes:

Les ingénieurs qui développent des dispositifs maître ou esclave ont besoin d’un maître ou  d’esclave entièrement fonctionnel qu’ils peuvent configurer et tester.

  • S’assurer que les dispositifs I2C peuvent coexister avec le bus I3C.
  • Ils ont besoin d’un outil qui capture la communication entre le maître et l’esclave et analyse le trafic de protocole pour détecter les erreurs de protocole.
  • Ils ont besoin d’un outil pour capturer le trafic de protocole lors d’un événement spécifique. Ces événements peuvent être des conditions d’erreur anticipées ou une activité de protocole.
  • Emuler le bus I3C pour utiliser le maître ou esclave conçu dans le réseau I3C.

Où le protocole I3C est-il utilisé ?

Le protocole I3C est utilisé comme norme de facto pour l’intégration de capteurs dans un système : Capteurs de température, gyroscopes, etc. Il existe de nouvelles applications intéressantes pour les interfaces I3C dans les centres de données en tant que bus de gestion de système.

Les outils de débogage I3C

Lorsque l’on travaille avec l’I3C, il est important d’avoir le bon jeu d’outils pour s’assurer que la conception de l’I3C est mise en œuvre correctement. Il est toujours utile de disposer d’un analyseur logique et d’un oscilloscope pour déboguer les problèmes complexes de synchronisation du matériel. Des outils moins chers sont disponibles sur le marché pour tester l’I3C, mais leur capacité est limitée.

Un oscilloscope est utile si vous souhaitez mesurer les paramètres de synchronisation du composant I3C.

L’analyseur de protocole I3C peut être très utile pour renifler les paquets I3C. Prodigy Technovations propose également un logiciel de décodage et de déclenchement I3C pour déboguer vos paquets I3C à l’aide d’un oscilloscope Tektronix.

Comment Prodigy Technovations interagit-elle avec I3C ?

Prodigy Technovations dispose d’un certain nombre d’outils différents qui s’interfacent avec le protocole I3C. Tous les outils I3C relèvent de deux domaines différents : l’analyseur de protocole surveille le trafic qui se produit sur le bus et l’exerciseur permet aux utilisateurs de s’interfacer directement avec le système I3C et de piloter les données I3C. L’exerciseur permet aux utilisateurs de s’interfacer directement avec le système I3C et de piloter les données I3C.

Avantages de l'exerciseur/analyseur I3C de Prodigy Technovations

  • Possibilité de le configurer en tant que maître ou esclave
  • Possibilité de configurer les registres PID, BCR et DCR
  • Prise en charge des esclaves I2C et des maîtres I2C existants
  • Génération de différents paquets SDR et HDR I3C et I2C
  • Possibilité de mettre à niveau le codage TSP et TSL de l’instrument (lorsque disponible)
  • Injection d’erreurs telles que les erreurs CRC, les erreurs de parité et les erreurs ACK/NACK
  • Vitesses de données I3C variables
  • Génération simultanée de trafic I3C et décodage du protocole du bus
  • Diagramme temporel du bus décodé par le protocole
  • Vue en listage de l’activité du protocole
  • Analyse des erreurs dans le décodage du protocole
  • Vue de la machine d’état des paquets I3C
  • Possibilité d’écrire un script de test pour combiner la génération de trames de données multiples à des vitesses de données différentes
  • Interface USB2/3 avec l’ordinateur hôte
  • Flexibilité de mise à niveau de l’instrument pour suivre l’évolution de la spécification I3C
montage de test I3C avec l'analyseur, un PC et la carte à tester.

Plus d’informations sur :


0 commentaire

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *