I2C
Etude du DS1307 et du bus I2C.
BUT :
- Comprendre la notion de bus et le fonctionnement du bus I2C.
- Comprendre la gestion de l’heure par le DS1307 et mettre en œuvre.
TRAVAIL A FAIRE :
I. ETUDE DU BUS I2C.
1. Donnez le rôle des fils (connexions) que vous trouvez dans une liaison I2C.
2. Donnez la définition des termes : asynchrone, synchrone, maître et esclave.
3. Combien de circuits peut-on relier simultanément sur cette liaison (théoriquement et dans la
pratique) ?
4. Faut-il une résistance de tirage (pull-up) pour la ligne ou pour chaque circuit ? Pourquoi et
quelle est la fonction de cette (ou ces) résistance ?
5. Quel est l’état de repos des lignes SDA et SCL et comment les circuits reliés au bus savent-ils
qu’une liaison cherche à s’établir.
6. Comment un circuit donné sait-il que le message s’adresse à lui ?
7. Donnez la séquence d’échange d’un octet entre un maître et un esclave.
8. Que signifie le non acquittement d’un composant lors d’un échange d’informations ?
II. ETUDE DE DS1307.
DS1307 est une horloge temps réel (RTC : Real Time Clock). Il permet un décompte du
temps, sous forme de secondes, minutes, heures, jours de la semaine, date, mois et année, cela
jusqu’en 2100. Il y a donc de la marge. Il fonctionne sur un bus I2C.
REMARQUE :
Les données sur le temps (heures, minutes..) sont sous formats BCD (Binaire Code
Decimale). Il ne faut pas l’oublier lorsque l’on écrit ou on lit ces informations.
1. Donnez le constructeur et l’adresse I2C du composant DS1307.
2. Quelle est sa fréquence maximale de fonctionnement ?
3. Donnez la fonction de la pile de 3 V que l’on branche sur le composant. Quelle est sa durée
moyenne en l’absence d’alimentation et à 25 °C ?
4. Donnez la liste des registres qui contiennent les informations sur le temps (secondes, minutes
etc.). Pour chaque registre, on cherche l’adresse du registre et sa fonction. Quel est l’utilité
des 56 registres qui se trouvent entre les adresses 08H - 3FH (H = Hexadécimale) ?
5. Dans le registre qui se trouve à l’adresse 0, il y a un bit CH. Donnez la fonction de ce bit.
6. Interpréter les trames i2C suivantes. Il faut pour cela trouver les bits qui circulent sur le bus
mais surtout expliquer l’action que l’on effectue (par exemple on lit la date ou on règle les
secondes à 26). Le chronogramme au dessus est SDA et l’autre est SCL.
La trame ci-dessous est constituée de deux images prises sur un oscilloscope.
La trame ci-dessous est prise avec une simulation sur le logiciel PROTEUS.