Sie sind auf Seite 1von 6

CPGE-Agadir SI-GE TSI-SPE Bus-Exercices et complément cours PROF-MR KOUDAIR

Partie A: Bus I2C:

Le bus est construit sur 2 fils, chaque terminal est connecté sur ces 2
équipotentielles au travers de circuits en collecteur ouvert, avec une
résistance de charge. Ce n'est pas un bus différentiel, la charge capacité
du bus influe directement sur les performances, ce n'est donc pas un bus
destiné à courir sur des longueurs importantes.

Les drivers open drain sont donnés pour absorber 3mA max, à 0,4V, la
valeur de la résistance de charge ne sera pas inférieure à
Rp=5/3=1.66KΩ. Le temps de montée maximal dicte la valeur maximale
de la résistance Rp. Le temps de montée 0%--70% est égal à 1,20*RC.
Les graphiques ci-dessous donnent les valeurs de Rp selon la capacité.

Des résistances séries :Rs (antiparasites) (330Ohms typique, <500Ohms) peuvent être montées sur les lignes
afin de protéger les circuits des surtensions que les lignes peuvent capter, surtout dans un environnement
propice comme une télévision à écran cathodique, ou lorsque que le bus est un peu long.
Document technique:

The RP (min) is plotted as a function of VCC in (Figure2). The RP (max) is plotted as a function of
Cb in .Figure 3 for standard-mode and fast-mode I2C.

Figure 2:
Minimum
Pullup
Resistance
[RP (min)] vs
Pullup
Reference
Voltage (VCC

Année 2019/2020 PAGE :1/6


CPGE-Agadir SI-GE TSI-SPE Bus-Exercices et complément cours PROF-MR KOUDAIR

Par calculs :

𝑽𝑪𝑪 − 𝑽𝑶𝑳(𝒎𝒂𝒙)
𝐑𝐩(𝐦𝐢𝐧) =
𝑰𝑳
𝒕𝒓
𝑹𝒑(𝒎𝒂𝒙) =
(𝟎. 𝟖𝟒𝟕𝟑 ∗ 𝑪𝒑)

Protocole :

Débit : Il existe plusieurs vitesses du bus I2C : le standard à 100kbits/s, fast mode à 400kbits/s ou
le high speed à 3.4 Mbits/s.

Exercice 1 : Calculer la résistance pullup :Rp(min) et Rp(max) : On donne : I2C Fast mode
(400Kbits/s) ;Tension d’alimentation VCC=3.3volts et Cp=200pF.

Réponse : D’après le tableau : VOL (max)=0.4volts ; IL=3mA ; tr=300ns.

Année 2019/2020 PAGE :2/6


CPGE-Agadir SI-GE TSI-SPE Bus-Exercices et complément cours PROF-MR KOUDAIR
Graphiquement : On peut utiliser les figures 1 et 2 pour trouver Rp(min) et Rp(max).

Exercice 2 : EXEMPLE AVEC L’ESCLAVE DS1307

Partie 1 : Ecriture : Le circuit Dallas DS1307 est une horloge temps réel (Real Time Clock), qui fournit
secondes, minutes, heures, jours, dates, mois et années. Les années bissextiles sont prises en compte
(jusqu'en 2100). Le DS1307 travaille dans le mode standard (fréquence d'horloge de 100 kHz). L'adresse I2C
(7 bits) du DS1307 est : 1101000 (adresse fixée par le constructeur et non modifiable).

1- Donner les étapes (Protocole) de cette écriture.


2- le chronogramme suivant (Echange sur Bus I2C avec l’esclave DS1307) :

a- Indiquer la condition début (Start) et la condition fin (Stop).


b- Indiquer l’adresse du DS1307 ?et l’adresse du registre (Word Adress).
c- Indiquer la donnée et sa valeur en décimal.
3- combien de temps faut-il pour le transfert en écriture ?

Partie 2 : Lecture : L'émetteur est l'esclave et le récepteur est le maître. Les registres d'adresses 00h
à 06h du DS1307 contiennent respectivement les secondes, minutes, heures, jours, dates, mois et
années .Voici comment lire, d'une seule traite, le contenu des registres d'adresses 00h à 06h du
DS1307 :

La capture de la trame (Par un logiciel) de cette communication donne la figure suivante :

Année 2019/2020 PAGE :3/6


CPGE-Agadir SI-GE TSI-SPE Bus-Exercices et complément cours PROF-MR KOUDAIR

1- Indiquer la condition début (Start) et la condition fin (Stop).


2- Indiquer l’adresse de l’esclave.
3- Indiquer à quoi correspondent les « pics » jaunes.

4-Essayer de retrouver précisément la date et l’heure à l’aide du chronogramme complet de


l’échange sur bus I2C avec l’esclave DS1307. Remarque: pour les Americans Sunday = 1.

Correction :

Partie 1 :

Q1 : Les étapes en ordre sont :

1) Pour initier le dialogue, le maître crée une condition Start.


2) Le maître envoie l'adresse de l'esclave (1101000) suivi du bit 0 (bit Write).
3) L'esclave répond (accusé de réception : bit ACKnowledge).
4) Le maître envoie l'adresse du registre (04h) à écrire.
5) L'esclave répond (accusé de réception : bit ACKnowledge).
6) Le maître envoie la donnée (27) à écrire.
7) L'esclave écrit la donnée puis envoie un accusé de réception (bit ACKnowledge).
8) Le maître termine le dialogue avec une condition Stop.

Q2 (a,b et c) voir figure suivante :

Q3 : La fréquence est de 100 kHz, il faut donc pour le transfert :


1
Nombre des bits : 𝑁𝑏𝑖𝑡𝑠 = 3 ∗ 9 = 27𝑏𝑖𝑡𝑠 , 𝑇𝑏(𝑡𝑒𝑚𝑝𝑠 𝑑 ′ 𝑢𝑛𝑏𝑖𝑡) = 100 𝑚𝑠 = 10𝜇𝑠

Donc le temps nécessaire est : t=27*10ns=270 μs (Microsecondes)

Année 2019/2020 PAGE :4/6


CPGE-Agadir SI-GE TSI-SPE Bus-Exercices et complément cours PROF-MR KOUDAIR
Partie 2 :

Q1-Q2 et Q3 : Voir figure suivante :

Q4 :Chronogramme complet de l’échange sur bus I2C avec l’esclave DS1307 :

1) Pour initier le dialogue, le maître crée une condition Start.


2) Le maître envoie l'adresse de l'esclave (1101000) suivi du bit 1 (bit Write).
3) L'esclave répond (accusé de réception : bit ACKnowledge).
4) Le maître envoie l'adresse du registre (0x00) à lire.
5) L'esclave répond (accusé de réception : bit ACKnowledge).
6) Le maître émet une condition Repeated Start.
7) Le maître envoie l'adresse de l'esclave (1101000) suivi du bit 1 (bit Read).
8) L'esclave répond (accusé de réception : bit ACKnowledge).
9) L'esclave envoie le contenu du registre d'adresse 0x00 au maître.
10) Le maître répond (accusé de réception : bit ACKnowledge).
11) L'esclave envoie le contenu du registre d'adresse 0x01 (automatiquement incrémenté) au
maître.
12) Le maître répond (accusé de réception : bit ACKnowledge).
13) L'esclave envoie le contenu du registre d'adresse 0x02 (automatiquement incrémenté) au
maître.
14) Le maître répond (accusé de réception : bit ACKnowledge).
……
……
21) L'esclave envoie le contenu du registre d'adresse 0x06 (automatiquement incrémenté) au
maître.
22) Le maître répond (accusé de réception : bit Not ACKnowledge).
23) Le maître termine le dialogue avec une condition Stop.

Le contenu du registre d'adresse 0x00 du DS1307 est 00000110 (codage BCD : 06 secondes).
Le contenu du registre d'adresse 0x01 est 0x56 (c'est-à-dire 56 minutes).
Le contenu du registre d'adresse 0x02 est 0x09 (c'est-à-dire 09 heures).
Le contenu du registre d'adresse 0x03 est 0x03 (c'est-à-dire Mardi).

Le contenu du registre d'adresse 0x04 est 0x20 (c'est-à-dire 20 ème jour du mois).
Le contenu du registre d'adresse 0x05 est 0x05 (c'est-à-dire mois de mai).
Le contenu du registre d'adresse 0x06 est 0x08 (c'est-à-dire année 2008).
Mardi 20 mai 2008, 9 heures 56 minutes et 6 secondes.

Année 2019/2020 PAGE :5/6


CPGE-Agadir SI-GE TSI-SPE Bus-Exercices et complément cours PROF-MR KOUDAIR
Partie B : les réseaux informatiques :

 Méthode d’analyse : A partir de la structure du bloc de données rappelée dans l’énoncé. On


découpe les données lues par l’analyseur en blocs de données à analyser :

Exemple : A l’aide d’un logiciel (Analyseur de trame) on capte la trame suivante (Sans préambule):

Il ne reste plus alors qu’à interpréter champ par champ, octet par octet ou bit par bit en utilisant documents
cours ou annexe CNC2016.

Année 2019/2020 PAGE :6/6

Das könnte Ihnen auch gefallen