Vous êtes ici : Accueil > Cours S SI > Le bus I2C
Publié : 10 mai 2008

Le bus I2C

LE BUS I2C (Inter Integrated Circuit)

 

 1- Présentation

Le bus I2c est caractérisé par une liaison en mode série réalisée à l’aide de 2 fils. C’est la société Philips qui en a crée le concept au début des années 80. Son succès est lié à sa simplicité. Voici l’architecture type d’un bus I2C ; les données transitent par les lignes :· SDA : signal de donnée, généré par le Maître ou l’Esclave. · SCL : signal d’horloge généré par le Maître.
La communication sur le bus est orchestré de manière suivante :
• Le Maître envoie sur le bus l’adresse du composant avec qui il souhaite communiqué, chacun des esclaves ayant une adresse fixe ;
• L’esclave qui reconnaît son adresse répond à son tour par un signal de confirmation, puis le Maître continue la procédure de communication... .(écriture/lecture) ;
• Dans tous les cas, les transactions seront confirmées par un ACK.

 

 2- Prise de contrôle du bus :

• Le bus doit être au repos ; à savoir SDA et SCL à 1 ;

• Pour transmettre des données il faut surveiller :
+ la condition de départ : SDA à 0 et SCL reste à 1,
+ la condition d’arrêt : SDA passe à 1 et SCL reste à 1 ;

• Après avoir vérifié que le bus est libre puis pris le contrôle de celui-ci, le circuit en devient le maître ; c’est lui qui génère le signal d’horloge.


 3- Transmission d’un octet

• Le maître transmet le bit de poids fort D7 sur SDA ;
• Il valide la donnée en appliquant un niveau 1 sur SCL ;
• Lorsque SCL retombe à 0, il poursuit avec D6, … jusqu’à ce que l’octet soit envoyé ;
• Il envoie le bit ACK à 1 ;
• L’esclave doit imposer un 0 pour indiquer que la transmission s’est effectuée correctement. Le maître voit le 0 et peut passer à la suite.


 4- Transmission d’une adresse

• Chaque composant doit avoir une adresse, elle est codée sur 7 bits ;
• L’adresse est fournie sous la forme suivante :


remarque : le bit R/W détermine si le maître veut lire ou écrire.


 5 - Ecriture d’une donnée :

• Envoie de l’adresse ;
• Mode écriture (R/W à 0) ;
• Envoie de la donnée.


 6- Lecture d’une donnée

• Le maître envoie l’adresse puis attend l’ack de l’esclave ;
• L’esclave émet les données sur SDA ;
• Le maître positionne ACK à 0 pour continuer la lecture ou à 1 pour stopper la transmission.  

 

 


 

Document origine Camille Diou, université de Metz

Documents joints