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 I²C transmet des bits les uns après les autres.
La base du bus I²C, 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.
SCL |
||||
SDA |
||||
|
||||
Temps |
t1
|
t2
|
t3
|
t4
|
Toto |
Toto ne fait rien. |
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 |
||||
SDA |
||||
|
||||
Temps
|
t1
|
t2
|
t3
|
t4
|
|
Le bus I²C 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 ?