Outils pour utilisateurs

Outils du site


start:arduino:i2c

Ceci est une ancienne révision du document !


Table des matières

Bus I2C

Le protocole I2C

I2C, pour Inter Integrated Circuit , est un protocole de communication crée à la base par Philips en 1982 pour standardiser l’échange de données entre différents circuits intégrés d’un même système. Elle est aujourd’hui assurée par le fabricant NXP, spin-off de l’entreprise.

Ce protocole est basé sur un bus de communication sériel, ce qui signifie qu’un seul câble est utilisé pour le transfert de données.

En pratique, le bus I2C est constitué de deux câbles, un donc pour les données, nommé SDA (Serial Data) et l’autre faisant office d’horloge pour déterminer la fréquence de la communication, nommé SCL (Serial Clock).

Le nombre maximum d'équipements est limité par le nombre d'adresses disponibles, 7 bits d'adressage et un bit R/W (lecture ou écriture), soit 128 périphériques, mais il dépend également de la capacité (CB) du bus (dont dépend la vitesse maximale du bus).

Il faut savoir que des adresses sont réservées pour diffuser des messages en broadcast et que de nombreuses adresses sont déjà attribuées par les fabricants ce qui limite grandement le nombre d'équipements (une variante d'adressage sur 10 bits existe également).

Temps et vitesses

Il existe cinq vitesses de transmission :

  • Standard mode (Sm) » ≤ 100 kbit/s,
  • Fast mode (Fm) » ≤ 400 kbit/s,
  • Fast plus mode (Fm+) » ≤ 1 Mbit/s,
  • High-speed mode (Hs-mode) » ≤ 3,4 Mbit/s,
  • Ultra-fast mode (UFm) » ≤ 5 Mbit/s, unidirectionnel uniquement.

Liens utiles

/home/chanteri/www/fablab37110/data/attic/start/arduino/i2c.1607097486.txt.gz · Dernière modification : 2023/01/27 16:08 (modification externe)