Analyse de la trame I2C : forme des signaux SDA et SCL

On a vu que le bus I2C utilise deux lignes très importantes : SDA et SCL.

Il est maintenant nécessaire de connaître comment utiliser SDA et SCL pour :

  • Commencer une transmission

  • écrire des données (c'est le maître qui écrit)

  • Lire des données (c'est le maître qui demande des données à un esclave)

  • Finir une transmission

Forme des signaux pour SDA et SCL:

  • Start : Condition de départ

  • Écriture ou lecture d'un 0 ou 1 logique

  • Stop : Condition d'arrêt

Q4/ - A partir des signaux SDA et SCL vus ci-dessus, déterminer :

  • l'état repos (pas de transmission de données)

  • une condition de start

  • l'émission d'un 1 logique

  • l'émission d'un 0 logique

  • une condition de stop

Il existe un autre principe très important dans la transmission I2C :

  • L'esclave doit toujours mettre à 0 logique le bit d’acquittement soit ACK .

  • Si l'esclave ne peut pas acquitter la réception d'un octet alors le bit d'acquittement restera à 1 soit NACK

Q5/ -Étudier la trame ci-dessus et donner le nombre de bits nécessaires pour écrire un octet sur le bus I2C.

Exemple d'une transmission entre un maître et un esclave :

Soit le chronogramme ci-dessus.

Q6/ -Que représente l'octet 0x48 ?

Donner le nombre d'octets de données, envoyé par le maître.

Soit le chronogramme ci-dessus.

Q7/ -Que représente l'octet 0x48 ?

Quel est le niveau logique du bit d’acquittement ?

Quelle peut être la raison d'un NACK ?

Justifier votre réponse.