Retour à la première page
1. Où est le problème ?

2. Communication en série : je vous en mets combien ?

Tout ça, c'est bien beau, mais pas très intéressant. Toto n'a, jusque là, transmis qu'une information bien élémentaire, un bit dont l'état est actif ou inactif.
C'est là que nous trouvons les combinaisons de 8 bits en octet.
A partir de maintenant, Toto transmettra à Lili un octet et non un bit.

Par exemple, Toto veut transmettre l'octet suivant : 0100 0001, ce qui correspond à la valeur décimale 65 (pour la correspondance entre binaire et décimal, voir en Annexe 1 : conversion entre binaire et décimal).

Remarque : un bit de valeur 1 sera transmis par l'état inactif et 0 par l'état actif.

Valeur

état de la ligne

représentation sur chronogramme

1

inactif

état haut

0

actif

état bas

Attention : ceci est spécifique au protocole I2C. On parle, dans ce cas, de logique inverse.

Chronogramme 3

SCL

 

SDA

 

Bits

 

0

1

0

0

0

0

0

1

 

01000001=65

Remarque : SDA est préparé avant que SCL soit à l'état haut. Ainsi s'explique le décalage entre le changement d'état de SCL et celle de SDA pendant la transmission.

En résumé, à chaque fois que SCL est inactif (état haut), un bit est disponible sur la ligne SDA.

Je te propose de chercher, dans les chronogrammes suivants, les bits qui ont été transmis par Toto.

Chronogramme 4

SCL  
SDA  
Bits
=

Chronogramme 5

SCL  
SDA  
Bits
=

 

Si tu veux des précisions sur les valeurs binaires, va voir en annexe 1 : conversion entre binaire et décimal.

Les informations complexes transitent sur le bus de manière sérielle, en combinant des informations élémentaires (par groupe de 8 bits).
A chaque fois que la ligne SCL est à l'état haut, un bit est disponible sur SDA.

3. L'accusé de réception : Tu m'entends ?