Vous êtes sur la page 1sur 3

Protocole de communication

I2C (Two Wire Interface)


Est un protocole destiné à permettre à plusieurs circuits intégrés numérique ou périphérique de
communique avec un ou plusieurs microcontrôleurs.
La communication entre les périphériques et le microcontrôleur ne ce fait que par l’utilisation à
tour de rôle les lignes de bus.
Le protocole I2C nécessite 2 fils (les lignes de bus) a traves de ces deux fils on peut
communiquer avec 1008 périphériques
Les deux lignes de bus de i2c sont :
SDA (serial Data Line) : ligne de données bidirectionnelle.
SCL (serial Clock Line) : ligne d'horloge de synchronisation bidirectionnelle.
Dans tous les transferts à travers l’interface I2C Ilya toujours le maitre et l’esclave
Le maitre qui génère l’horloge qui transfert par le fil SCL.

La condition de début de transfert :


Le maitre initie le transfert des données en établissant un début condition lorsqu’une transition
haut vers bas dur la ligne SDA. Alors que SCL est élevée.

La Condition d’arrêt de transfert :


Le maitre initie le transfert des données en établissant un début condition lorsqu’une transition
bas vers haut dur la ligne SDA. Alors que SCL est élevée.
L’échange des données entre le maitre et l’esclave se fait sous forme des trames de bits chaque
bit doit être validé par le ligne de bus SCL, la validation est le changement d’état de SCL de
niveau bat vers niveau haut durant le temps de transfert de bit et puis changement d’état de
SCL de niveau haut vers niveau bas.
Après la condition de début l’octet suivant est l’adresse esclave composé de 7 bits suivie d’une
bit R/W. (ce bit détermine si les données sont lues ou écrit sur le périphérique esclave) et puis
le bit d'acquittement ACK fonctionne comme pour une donnée, ceci permet au maître de
vérifier si l'esclave est disponible C’est ce qu’on appelle le bit d’accusé de réception. Ace ci
étape, tous les autres appareils sur le bus restent inactifs tandis que l’appareil sélectionnée
attend que l’appareil sélectionner attend que les données soient écrites ou lues à partir de son
registre a décalage.
Si une requête d’écriture le maitre en suit donner 8bits (ex 0b00000000) que l’esclave doit
acquitter c’est l’adresse de l’esclave et puis le maitre envoie l’adresse de registre de l’esclave a
modifiée qui l’slave doit l’acquittée
Et puis le maitre envoie la nouvelle valeur de registres que l’esclave doit l’acquittée (signal
nack) (ex 0b00000011) est puis un bit de stop.
Si le maitre envoyer une autre donner de 8 bits il l’envoie et l’esclave acquittent
Le maitre peut envoyer plusieurs données de 8 bits l’orque le maitre envoyer la dernière
donner il doit après l’acquittement de l’esclave mettre le signal stop sur le bus le signal stop
indique la fin de la requête et la libération du bus et autorisant ainsi sa prise de contrôle par un
autre maitre.
Si la requête est une requête de lecture après que le maitre est envoyer l’adresse de l’esclave
suivie d’une bit d’écriture et que l’esclave est acquittée et après le maitre envoie l’adresse de
registre de l’esclave à ce moment-là le maitre peut lire le continue de registre donc la Requête
est changée
Il faut commencer par un bit de restart après l’adresse de l’esclave et un bit de lire que
l’esclave doit l’acquittée et après l’esclave envoie le continue de registre est acquittée par le
signal nack et après un bit de stop.
Le maitre peut ainsi recevoir plusieurs données à la suite lorsque le maitre ne souhaite plus
recevoir de donnée au lieux d’acquitter la dernière donnée reçue il va l’acquitter avec le signal
nack (mettre 1 sur le bus)
Si le maitre veut recevoir encore une donner de 8 bits il doit acquitter la donnée reçues en
mettant 0 sur le bus l’esclave on voit en suite une autre donnée.
Le signal se fait en mettant 1 sur la bus de la donnée le maitre indique au l’esclave que ce
dernier doit arrêter l’envoie des données
Le maitre termine ensuite la requête en libérant le bus avec le signal stop.
Le signal restart est générer au lieu de signal Start l’orque la requête précédente est n’est pas
terminé
Par un signal stop.

Vous aimerez peut-être aussi