I2C Protocoles pris en charge

Systèmes embarqués

Inter-Integrated Circuit

Qu'est-ce que I2C?

I2C (Inter-Integrated Circuit) est un bus de communication série synchrone, multi-maître et multi-esclave, inventé par Philips Semiconductor. Il utilisé seulement deux lignes de signal — SDA (Serial Data) et SCL (Serial Clock) — pour connecter plusieurs circuits intégrés sur une même carte. I2C est l'un des protocoles les plus largement utilisés dans les systèmes embarqués, present dans les capteurs, les EEPROM, les horloges temps réel, les contrôleurs d'affichage, les circuits de gestion d'alimentation et d'innombrables autres périphériques. Le protocole prend en charge plusieurs dispositifs sur le même bus en utilisant un adressage sur 7 ou 10 bits, avec des debits standard de 100 kHz, 400 kHz (Fast Mode), 1 MHz (Fast Mode Plus) et 3,4 MHz (High Speed Mode). Chaque transaction commencé par une condition START et se termine par une condition STOP, le maître generant l'horloge et initiant les transferts. Parce que l'I2C est si répandu dans les conceptions materielles, l'analyse de protocole est essentielle pour déboguer les conflits d'adresses, les erreurs NACK, les problèmes de clock stretching et les problèmes d'intégrité du signal. Les ingénieurs ont fréquemment besoin de vérifier que les dispositifs repondent correctement aux commandes de lecture et d'ecriture, de surveiller l'arbitrage du bus et de valider les parametres de temporisation par rapport à la spécification I2C. Un analyseur logique avec capacité de décodage I2C transforme les signaux bruts SDA et SCL en transactions significatives montrant les adresses, les octets de données et le statut ACK/NACK — accelerant considerablement le processus de débogage.

I2C Référence rapide

type Serial, synchronous
signals SDA, SCL
max Speed 3.4 Mbps (High-Speed), 5 Mbps (Ultra-Fast)
voltage Range 1.2V – 5V
addressing 7-bit or 10-bit

Instruments Acute compatibles avec I2C

Solutions recommandées

Recommandé pour le décodage

TB3016F

TB3016F

Avec canaux analogiques

MSO2116E

MSO2116E

Avec validation électrique

MSO3124V

MSO3124V

Tous les produits compatibles

Décodage de protocole
Déclenchement matériel
Validation électrique
Émulateur de protocole

Prêt à analyser ce protocole ?

Découvrez comment les instruments Acute capturent et décodent ce protocole en temps réel. Demandez une démo ou contactez notre équipe.

Comment analyser I2C avec les instruments Acute

1

Connectez votre analyseur logique Acute aux lignes SDA et SCL du bus I2C à l'aide des sondes fournies.

2

Reliez un fil de masse à la référence de masse de la carte cible.

3

Dans le logiciel Acute, sélectionnez le décodeur de protocole I2C et assignez SDA et SCL aux canaux d'entrée corrects.

4

Configurez la vitesse de bus attendue (100 kHz, 400 kHz, 1 MHz ou 3,4 MHz) et le format d'adresse (7 bits ou 10 bits).

5

Declenchez une capture et visualisez les transactions décodées montrant les conditions START/STOP, les adresses d'esclaves, les bits R/W, les octets de données et les réponses ACK/NACK.

Questions fréquemment posées

Quel taux d'échantillonnage est nécessaire pour capturer les signaux I2C ?
Pour un décodage I2C fiable, utilisez un taux d'échantillonnage d'au moins 4x la fréquence d'horloge SCL. Pour un I2C standard à 100 kHz, 500 kHz ou plus est suffisant. Pour le Fast Mode à 400 kHz, utilisez au moins 2 MHz. Pour le High Speed Mode a 3,4 MHz, un taux d'échantillonnage de 25 MHz ou plus est recommande pour capturer avec précision les transitions de signaux.
Pourquoi mon décodage I2C affiche-t-il des erreurs ou des transactions manquantes ?
Les causes courantes incluent une assignation de canaux incorrecte (SDA et SCL inverses), un taux d'échantillonnage insuffisant pour la vitesse du bus, une connexion de masse manquante causant des signaux bruites, ou des reglages de seuil de tension incorrects. Vérifiez vos connexions de sonde, augmentez le taux d'échantillonnage et assurez-vous que le seuil d'entrée de l'analyseur logique correspond aux niveaux de tension I2C (typiquement 3,3 V ou 1,8 V).
Combien de canaux sont nécessaires pour analyser l'I2C ?
L'I2C nécessité un minimum de 2 canaux — un pour SDA et un pour SCL. Cependant, si vous devez surveiller une ligne d'interruption, un signal de reinitialisation ou plusieurs bus I2C simultanément, des canaux supplémentaires sont utiles. Les analyseurs logiques Acute offrent de nombreux canaux disponibles pour capturer les signaux associes en parallele du bus I2C.

Protocoles connexes

Besoin d'aide pour choisir le bon instrument pour votre protocole ? Contactez notre équipe d'ingénierie.