Chapitre3_ Bus de communication série Bus I2C (SUITE)
Chapitre3_ Bus de communication série Bus I2C (SUITE)
Chapitre3_ Bus de communication série Bus I2C (SUITE)
I. Présentation
• Origine
Le bus I2C (Inter Integrated Circuit) a été développé au début des années 1980 par Philips
pour relier différents circuits électroniques de ses produits grand public. De nombreux
constructeurs ont ensuite adopté ce type de liaison.
• Caractéristiques
Le bus I2C utilise trois fils :
– un fil pour les données (SDA) ;
– un fil pour l’horloge (SCL) ;
– un fil de masse (référence des potentiels).
Il s’agit d’une liaison série synchrone et bidirectionnelle transmettant des mots de huit bits. Le
débit est de 100 kb/s en mode standard, de 400 kb/s en mode rapide et de 1 Mb/s en mode très
rapide. Les applications du bus I2C concernent donc des domaines où une grande rapidité
n’est pas nécessaire.
Les entrées et les sorties sont en collecteur ouvert ou en drain ouvert pour éviter les conflits
électriques. Les lignes SDA et SCL doivent donc être munies de résistances de rappel qui
imposent un niveau haut au repos. Le nombre de circuits reliés est limité par la charge
capacitive maximale des lignes qui vaut 400 pF.
Le bus I2C assure la communication entre un maître (par exemple un microcontrôleur) et un
esclave (par exemple une mémoire, un convertisseur numérique-analogique, etc.) identifié par
une adresse (Fig.1). Plusieurs maîtres et plusieurs esclaves peuvent être branchés sur le bus,
mais le dialogue se fait entre un maître et un esclave.
Pour pouvoir communiquer sur le bus, le circuit qui va devenir le maître doit en prendre le
contrôle. C’est alors lui qui impose le signal d’horloge. Le bus doit être au repos avant la prise
de contrôle : SDA et SCL à 1.
• Condition de début et condition de fin La transmission commence par une transition de l’état
1 à l’état 0 sur SDA alors que SCL est à l’état 1 (condition de début) et se termine par un
passage de l’état 0, à l’état 1 sur SDA alors que SCL est à l’état 1 (condition de fin) (Fig.2).
– l’envoi de l’adresse,
– le choix du mode écriture (R/W à 0),
– le transfert des données,
– la condition de fin.