Академический Документы
Профессиональный Документы
Культура Документы
Bus I2C
ENSAM- Casablanca
Première partie :
• Transmissions de données
• Le bus I2C
Prof : M.HAMLICH
Définitions
Prof : M.HAMLICH-
Intérêts :
Prof : M.HAMLICH-
Intérêts :
Prof : M.HAMLICH-
Types de liaisons
Prof : M.HAMLICH-
Ports des ordinateurs
Prof : M.HAMLICH-
Transmission synchrone et
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
bits, sont en fait des signaux encadrent ceux qui constituent un caractère, le
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-
Exemple de trame
Remarque : Un bit de parité peut être utilisé pour détecter les erreurs
susceptibles d’apparaître pendant la transmission.
Prof : M.HAMLICH-
Allure d’un caractère
transmis en RS232
Prof : M.HAMLICH-
Bit de parité
Exemple :
Prof : M.HAMLICH-
Transmission synchrone
Prof : M.HAMLICH-
Le support physique
Prof : M.HAMLICH-
Prof : M.HAMLICH-
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
Pour des débits plus rapides, de nouvelles spécifications sont nées. D'abord un Fast
Mode à 400 kbit/s, puis un Fast Mode plus (FM+) à 1 Mbit/s.
Depuis 1998, il y a une version High Speed à 3,4 Mbit/s. Le débit maximal possible
via un bus I2C est spécifié dans l'Ultra Fast mode à 5 Mbit/s, mais avec un
fonctionnement un peu particulier.
Sur le bus I2C le niveau logique dominant est le 0, le niveau récessif est le 1.
En absence de commande le niveau logique (repos) est donc 1. Le bus doit
être équipé de deux résistances de pull-up (4K à 10K)
• Les échanges commencent toujours par une condition START sur SCL/SDA
et finissent par une condition STOP
• Le bus I2C pouvant accueillir plusieurs esclaves ceux-ci sont identifiés par
une adresse sur 7 bits, le 8 ième bits de l’octet indique s’il s’agit d’une
opération d’écriture dans l’esclave (0) ou de lecture (1).
• Par exemple pour un circuit dont l’adresse est 0b1010000. L’adresse I2C en
écriture sera 0b10100000 (0xA0) et 0b10100001 (0xA1) en lecture.
• Le bit de R/W = 0;
• Le bit de R/W = 1;
Prof : M.HAMLICH-
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-