Retour à la première page

1. Où est le problème ?

Dans un projet électronique, on doit connecter différents composants entre eux. Parfois, les composants sont éloignés les uns des autres. Pour des raisons d'économie et de sécurité, on cherche à réduire le nombre de connexions entre les composants, tout en permettant de transmettre n'importe quelle information en n'importe quelle quantité.
Lors de l'invention du télégraphe, M. Morse avait trouvé une solution en proposant l'alphabet qui porte son nom. Le morse, c'est pour transmettre des lettres et des chiffres. C'est bien adapté à des messages entre humains. Mais les composants, on ne sait jamais ce qu'ils vont devoir se transmettre.

Lorsque le nombre de fils est réduit, la solution est de découper les informations afin de les transmettre par petits morceaux, les uns après les autres. On parle dans ce cas de communication en série. Bien entendu, les messages seront communiqués plus lentement. On ne peut pas tout avoir. Les petits morceaux les plus élémentaires sont des bits. Chaque bit est soit à l'état haut, soit à l'état bas.

Le bus I2C transmet des bits les uns après les autres.

La base du bus I2C, c'est l'existence de deux lignes de communication. Ce sont deux informations qui circulent en même temps, on dit en parallèle. La première, nommée SDA (signal data), indique la valeur du bit (état actif ou état inactif). La seconde, nommée SCL (signal clock), joue le rôle d'horloge.

Le composant Toto veut transmettre un bit actif au composant Lili.

Remarque : Une ligne (SCL ou SDA) est active lorsqu'elle est dessinée vers le bas.

Chronogramme 1

SCL

SDA

Temps

t1
t2
t3
t4

Toto

Toto ne fait rien.
Il s'assure que le ligne SCL est active (vers le bas), ce qui lui permet de modifier la ligne SDA tranquillement.

Toto met sur la ligne SDA l'information qu'il veut transmettre, à savoir l'état actif (vers le bas).

Toto met SCL en état inactif. Il veut dire par là que l'information sur SDA est disponible.

Toto remet la ligne SCL à l'état bas. La ligne SDA n'est plus pertinente.

Lili

Lili ne voit rien d'intéressant.

Lili ne s'intéresse pas à ce changement bien futile.

Lili se réveille. Il y a de l'information sur SDA. Elle peut la lire.

Lili sait que l'information disponible sur la ligne SDA n'est plus intéressante.

Toto veut transmettre à Lili un bit inactif (et non plus actif comme dans le premier exemple).

Sur le même modèle que ci-dessus, je te propose de compléter le chronogramme 2 (car c'est ainsi qu'on le nomme) de la nouvelle communication.

Chronogramme 2

SCL

Niveau basCliquer sur le niveau bas ou haut.Niveau haut.
Niveau basCliquer sur le niveau bas ou haut.Niveau haut.

SDA

Niveau basCliquer sur le niveau bas ou haut.Niveau haut.
Niveau basCliquer sur le niveau bas ou haut.Niveau haut.
 

Temps
t1
t2
t3
t4

Montrer la solution

Le bus I2C permet de connecter des composants électroniques entre eux.

Il comporte 2 lignes. Sur la première (SDA) transitent les données, sur la seconde (SCL) transite l'horloge indiquant la validité des données.

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

Choisir le niveau, bas ou haut. Choisir le niveau haut. Choisir le niveau bas