Vous êtes sur la page 1sur 14

07/02/2018

Les BUS DE TERRAIN

Première partie :
Informatique industrielle
Bus I2C
• Généralités sur les bus
Pr. Mohamed Hamlich
Sige.ensam@gmail.com

• Transmissions de données
ENSAM- Casablanca

• Le bus I2C
Pr. Mohamed Hamlich 1
Prof : M.HAMLICH

1
07/02/2018

Définitions Intérêts :

 REDUCTION DES COUTS INITIAUX


 Réduction massive du câblage : 1 seul câble en
 Bus : au sens informatique industrielle, conducteur ou ensemble général pour tous les équipements au lieu d’un par
de conducteurs communs à plusieurs circuits permettant l’échange équipement.
de données entre eux.
 Possibilité de réutiliser le câblage analogique
existant dans certains cas.
 Terrain : indique quelque chose de limité ou délimité
géographiquement (usine, atelier, voiture...).  Réduction du temps d’installation.
 Réduction du matériel nécessaire à l’installation.

Prof : M.HAMLICH- Prof : M.HAMLICH-

2
07/02/2018

Intérêts : Types de liaisons

 REDUCTION DES COUTS DE MAINTENANCE


 Complexité moindre donc moins de maintenance
(fiabilité accrue)
 Maintenance plus aisée : temps de dépannage
réduit, localisation des pannes possibles grâce à des
diagnostics en ligne («on line») donc à distance.
 Outils de test dédiés (analyseur...)
 Flexibilité pour l’extension du bus de terrain et pour
les nouveaux raccordements.

Prof : M.HAMLICH- Prof : M.HAMLICH-

3
07/02/2018

Ports des ordinateurs Signaux des ports série

Notez que les sigles sont données interprétés du côté DTE : PC


Sur les PC, la connectique  · GND : (Ground) la masse. Référence nécessaire à toute mesure de tension.
Lignes de données. Elles font passer les données numériques.
RS232 disponible et de  · RD : (Received Data) Données reçues (par le PC).
type Sub-D 9 points.  · TD : (Transmitted Data) Données émises (par le PC).
D’autres protocoles Lignes de contrôle de flux. le contrôle de flux reste toujours (surtout dans une
séries peuvent être communication asynchrone) une logique de réception, c'est à dire que c'est la
faculté de réception du partenaire qui indique si oui ou non un équipement va
trouvés avec des émettre.
connectiques PS/2  · RTS : (Request to Send) Indique que le DTE (PC) est prêt à émettre, même si la
(clavier/sourie) ou Sub-D traduction littérale est « demande d'émission ».
 · CTS : (Clear to Send) Indique que le DCE (modem) est prêt à recevoir
15 points
(joystick ou instruments
de musique : protocole
MIDI).
Prof : M.HAMLICH- Prof : M.HAMLICH-

4
07/02/2018

Transmission synchrone et
Exemple de trame
transmission asynchrone

Transmission asynchrone :

• les caractères sont émis de façon irrégulière, comme par exemple des
caractères tapés sur un clavier, l’intervalle de temps entre deux caractères
est aléatoire, le début d’un caractère peut survenir à n’importe quel moment.

• les bits de départ et d’arrêt souvent désignés par leur appellation anglo-
saxonne de START (élément de départ) et de STOP (élément d’arrêt). Ces
Remarque : Un bit de parité peut être utilisé pour détecter les erreurs
bits, sont en fait des signaux encadrent ceux qui constituent un caractère, le susceptibles d’apparaître pendant la transmission.
bit de départ (START) indique le début d’un caractère et celui ou ceux
d’arrêt (STOP) – il peut y’en avoir ‘1’ ou ‘2’ – marquent la fin de caractère.

• Un octet transmet d’une façon asynchrone est illustré sur la page suivante :

Prof : M.HAMLICH-
Prof : M.HAMLICH-

5
07/02/2018

Allure d’un caractère


Bit de parité
transmis en RS232

• Il existe deux types de contrôle de parité (pair et impair) et il est


indispensable que l’émetteur et le récepteur s’entendent sur le type à utiliser
pour l’ensemble de la transmission.
• Avec la parité paire, si le nombre de ‘ 1 ‘ dans les données envoyées est
impaire alors le bit de parité (bit de control) est égal à ‘ 1 ‘ de manière à ce
que le nombre total de ‘ 1 ‘ soit pair y compris le bit de parité, et si le nombre
de ‘ 1 ‘ est déjà pair alors le bit de parité vaudra ‘ 0 ‘.
• Une parité impaire correspond au système inverse.

Exemple :

Prof : M.HAMLICH-
Prof : M.HAMLICH-

6
07/02/2018

Transmission synchrone Le support physique

 Dans une transmission synchrone, les bits sont émis


d’une façon régulière, sans séparation entre les
caractères, pour cela un signal d’horloge périodique
de période T fonctionne pendant toute la durée de
l’émission.

Prof : M.HAMLICH- Prof : M.HAMLICH-

7
07/02/2018

I2C : Introduction

 I2C est le sigle d'Inter-Integrated Circuit. À la fin des années 1970, la division des
semi-conducteurs de chez Philips (maintenant devenue NXP) avait vu la nécessité de
simplifier et standardiser les échanges de données entre les différents circuits
intégrés dans leurs produits.

 Leur solution fut le bus I2C, elle réduisait le nombre de lignes nécessaires à
seulement deux lignes, SDA - Serial DAta, et SCL - Serial CLock.

 Dans ce cours, nous allons décrire l'architecture physique du bus I2C, le protocole de
communication série et comment communiquer en I2C

Pr. Mohamed Hamlich 16


Prof : M.HAMLICH-

8
07/02/2018

I2C : Vitesse I2C : caractéristiques

 À l'origine, la communication était limitée à la vitesse de transfert de 100 kbit/s, et


cela suffisait dans la majorité des cas.

 Pour des débits plus rapides, de nouvelles spécifications sont nées. D'abord un Fast •seulement deux lignes (bidirectionnelles) sont nécessaires, - SDA -, - SCK -;
Mode à 400 kbit/s, puis un Fast Mode plus (FM+) à 1 Mbit/s.
•transmission synchrone. Contrairement à la liaison RS232. Ici, le périphérique
 Depuis 1998, il y a une version High Speed à 3,4 Mbit/s. Le débit maximal possible maître (master) génère le signal d'horloge qui synchronise et cadence les
via un bus I2C est spécifié dans l'Ultra Fast mode à 5 Mbit/s, mais avec un échanges ;
fonctionnement un peu particulier.
•la relation entre les périphériques du bus est de type maître-esclave
(master/slave).

•chaque périphérique sur le bus I2C possède une adresse unique;


Pr. Mohamed Hamlich 17 Pr. Mohamed Hamlich 18
•l'I2C gère le fonctionnement multimaître (multi-master),

9
07/02/2018

I2C : bit dominant I2C : Contrôle du bus

• Les échanges commencent toujours par une condition START sur SCL/SDA
et finissent par une condition STOP

• Les bits sont transférés sur le front descendant de SCL

• Le bus I2C pouvant accueillir plusieurs esclaves ceux-ci sont identifiés par
Sur le bus I2C le niveau logique dominant est le 0, le niveau récessif est le 1. une adresse sur 7 bits, le 8 ième bits de l’octet indique s’il s’agit d’une
En absence de commande le niveau logique (repos) est donc 1. Le bus doit opération d’écriture dans l’esclave (0) ou de lecture (1).
être équipé de deux résistances de pull-up (4K à 10K)

Pr. Mohamed Hamlich 19 Pr. Mohamed Hamlich 20

10
07/02/2018

I2C : Transmission d’une adresse I2C : Transmission d’un octet

• Le premier octet envoyé correspond à l’adresse de l’esclave choisi suivi d’un • Le bit de pois fort est transmis en premier
bit de lecture ou écriture.
• A chaque période de SCL, un bit de SDA est transmis
• Par exemple pour un circuit dont l’adresse est 0b1010000. L’adresse I2C en
écriture sera 0b10100000 (0xA0) et 0b10100001 (0xA1) en lecture.

Pr. Mohamed Hamlich 21 Pr. Mohamed Hamlich 22

11
07/02/2018

I2C : Ecriture d’une donnée I2C : Lecture d’une donnée

• Le bit de R/W = 0; • Le bit de R/W = 1;

• Après chaque bit ACK valide, il peut y avoir deux cas : • C’est toujours le maitre qui génère SCL.
• Le maitre continue d’envoyer des octets à l’esclave • L’esclave prend le contrôle de SDA.
• Le maitre décide de terminer le dialogue en envoyant une condition de • C’est le maitre qui génère ACK après chaque octet envoyé par l’esclave.
stop.

Pr. Mohamed Hamlich 23 Pr. Mohamed Hamlich 24

12
07/02/2018

I2C : Lecture et écriture I2C : Exemple d’application


• Il est possible d’enchainer lecture et écriture sans passer par une condition
de stop ;Cela est possible grâce au bit « Repeat Start »
• Exemple d’application:

Pr. Mohamed Hamlich 25 Pr. Mohamed Hamlich 26

13
07/02/2018

I2C : Exemple d’application I2C : Exercice

 On veut lire la date et l’heure par le uc PIC à travers le port I2C à partir du circuit
DS1307 et l’afficher.
 La trame échangée à un moment dans le port I2C est la suivante :
 S11010000A00000000ASr11010001A00000110A01010110A00001001A00000100
A00000011A00000010A00010110ÃP

 Donner la date et l’heure lues par le PIC
 On rappelle que 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).
 Les registres d'adresses 00h à 06h du DS1307 contiennent respectivement les
secondes, minutes, heures, jours, dates, mois et années.

Prof : M.HAMLICH- Prof : M.HAMLICH-

14