Skip to main content

Qu'est-ce que le protocole I2C?

Things Mr. Welch is No Longer Allowed to do in a RPG #1-2450 Reading Compilation (Mai 2024)

Things Mr. Welch is No Longer Allowed to do in a RPG #1-2450 Reading Compilation (Mai 2024)
Anonim

Développé par Philips dans les années 1980, I2C est devenu l’un des protocoles de communication série les plus courants en électronique. I2C permet la communication entre composants électroniques ou entre circuits électroniques, que les composants se trouvent sur le même circuit imprimé ou soient connectés via un câble. La principale caractéristique d'I2C est la possibilité de disposer d'un grand nombre de composants sur un seul bus de communication avec deux fils seulement, ce qui rend I2C idéal pour les applications qui exigent simplicité et faible coût par rapport à la vitesse.

Le protocole I2C

I2C est un protocole de communication série qui ne nécessite que deux lignes de signal. Il a été conçu pour la communication entre les puces sur un circuit imprimé. I2C a été conçu à l'origine pour une communication à 100 kbps, mais des modes de transmission de données plus rapides ont été développés au fil des années pour atteindre des vitesses allant jusqu'à 3,4 Mbits. Le protocole I2C a été établi en tant que norme officielle, ce qui permet une bonne compatibilité entre les implémentations I2C et une bonne compatibilité avec les versions antérieures.

Signaux I2C

Le protocole I2C utilise uniquement deux lignes de signal bidirectionnelles pour communiquer avec tous les périphériques du bus I2C. Les deux signaux utilisés sont:

  • Ligne de données série (SDL)
  • Horloge de données série (SDC)

La raison pour laquelle I2C ne peut utiliser que deux signaux pour communiquer avec un certain nombre de périphériques est liée à la gestion de la communication sur le bus. Chaque communication I2C commence par une adresse de 7 bits (ou de 10 bits) qui appelle l'adresse du périphérique, le reste de la communication étant destiné à recevoir la communication. Cela permet à plusieurs périphériques sur le bus I2C de jouer le rôle de périphérique maître en fonction des besoins du système. Pour éviter les collisions de communication, le protocole I2C inclut des fonctionnalités d'arbitrage et de détection de collision qui permettent une communication fluide le long du bus.

Avantages et limites

En tant que protocole de communication, I2C présente de nombreux avantages qui en font un bon choix pour de nombreuses applications de conception intégrée. I2C apporte les avantages suivants:

  • I2C ne nécessite que deux lignes de signal
  • Taux de transmission de données flexibles
  • Chaque appareil sur le bus est adressable indépendamment
  • Les appareils ont une relation simple maître / esclave
  • I2C est capable de gérer plusieurs communications maîtres en fournissant un arbitrage et une détection de collision de communications
  • Communication plus longue que SPI

Avec tous ces avantages, I2C présente également quelques limitations qu'il peut être nécessaire de concevoir. Les principales limitations d'I2C incluent:

  • Etant donné que seuls 7 bits (ou 10 bits) sont disponibles pour l'adressage des périphériques, les périphériques d'un même bus peuvent partager la même adresse. Certains périphériques sont capables de configurer les derniers bits de l'adresse, mais cela impose néanmoins une limitation des périphériques sur le même bus.
  • Seules quelques vitesses de communication limitées sont disponibles et de nombreux appareils ne prennent pas en charge la transmission à des vitesses plus élevées. Une prise en charge partielle de chaque vitesse sur le bus est nécessaire pour empêcher les périphériques plus lents d’attraper des transmissions partielles susceptibles de générer des problèmes opérationnels.
  • La nature partagée du bus I2C peut entraîner la suspension de tout le bus lorsqu'un seul périphérique du bus cesse de fonctionner. Le redémarrage du bus peut être utilisé pour redémarrer le bus et rétablir son fonctionnement correct.
  • Étant donné que les périphériques peuvent définir leur vitesse de communication, des périphériques opérationnels plus lents peuvent retarder le fonctionnement de périphériques plus rapides.
  • I2C consomme plus d'énergie que les autres bus de communication série en raison de la topologie à drain ouvert des lignes de communication.
  • Les limitations du bus I2C limitent généralement le nombre de périphériques sur un bus à une douzaine de périphériques.

Applications

Le bus I2C est une excellente option pour les applications nécessitant une mise en œuvre simple et peu coûteuse, plutôt qu'une vitesse élevée. Par exemple, la lecture de certains CI de mémoire, l'accès aux CNA et aux CAN, la lecture de capteurs, la transmission et le contrôle d'actions dirigées par l'utilisateur, la lecture de capteurs matériels et la communication avec plusieurs microcontrôleurs sont des utilisations courantes du protocole de communication I2C.