Documente Academic
Documente Profesional
Documente Cultură
Ahmed AOUCHAR
2
1.2. TRANSMISSION PARALLÈLE / SÉRIE
I2C
modem PC2
2
modem
PC1 1
modem
PC1 011011011011 1
LIGNE modem
2
011011011011 PC2
6
1.5.2. PRINCIPE DE LA MODULATION
Phase
(PM)
Amplitude Fréquence
(AM) (FM)
Repos Repos
1L
S P S S
T A T
0 1 2 3 4 5 6 7 R
T
A I O A
R T P R
T É T
0L
Horloge
Emetteur
lecture
REPOS START BIT 0
Compteur = 8 16 16
Horloge
de travail
Horloge
Récepteur
Un bit de parité peut être ajouté après l’octet transmis afin de détecter une
éventuelle perte de bit à l’arrivée.
PARITÉ PAIRE :
Le nombre de bits à « 1 » en comptant l’octet et le bit de parité est
pair.
PARITÉ IMPAIRE :
Le nombre de bits à « 1 » en comptant l’octet et le bit de parité est
impair.
11
12
2.5.2. ASCII ÉTENDU « UNICODE »
Unicode est un système de codage international permettant de représenter
l’ensemble des caractères des différentes langues de la planète.
Créé par un groupement d’entreprises, il est adopté par toutes les plateformes
matérielles et tous les logiciels.
Unicode utilise un code sur 16 bits, normalisé sous la référence ISO/CEI 10646.
Voici un bout du tableau qui comporte quelques milliers codes :
13
La tension électrique est bipolaire (±V, mais jamais nulle) pour éviter de véhiculer
une valeur moyenne qui dissiperait de l’énergie inutilement.
Les bits sont représentés en logique négative 1L = -V et 0L = +V (Pourquoi pas ?).
+25 V
Niveau logique 0
+3 V
-3 V
Niveau logique 1
-25 V
14
2.7.1. LE CONNECTEUR DB25
Quand le périphérique qui reçoit les données ne peut plus en recevoir, il le signal à
l’émetteur par l’envoi du code Xoff. L’émetteur arrête la transmission, il la reprend
lorsqu'il reçoit le code Xon. Cela peut être le cas de la liaison entre un PC et une
imprimante moins rapide.
La liaison entre les 2 appareils se fait par 3 fils seulement (voir figure suivante)
17
Connexion
Minimale : 3 fils
Connexion
complète : 9 fils
18
3.3. CONTRÔLE DE FLUX « HARDWARE »
DTE (Data Terminal Equipment) = Appareil qui génère des données (ex : PC)
DCE (Data Communication Equipment) = Appareil qui communique (ex : modem)
19
Le port série RS232 est bien implanté dans le milieu industriel, le port USB équipe
toutes les nouvelles machines. Pour communiquer en RS232 avec un port USB, des
interfaces intelligentes et transparentes existent.
20
3.5.1. UART
Tx
Data
Rx
L’UART « Universal Asynchronous
Receiver Transmitterest » un
circuit programmable qui sert
d’interface entre le système
Control
numérique et les broches
physiques.
modem
INTR
Quartz 21
22
Le bus I2C
Ahmed AOUCHAR
1.1. PRÉSENTATION
Les signaux SCL et SDA sont de type « collecteur ouvert » avec des résistances de
rappel vers VDD. Les lignes sont à ‘1’ quand le bus est libre.
Les lignes SCL et SDA ne peuvent être forcées qu’au niveau bas. Pour appliquer un
niveau haut, les sorties sont mises en haute impédance. Le niveau électrique ‘Haut’
dépend de VDD.
Ce mode de fonctionnement évite les conflits électriques sur le bus : si un circuit
met une ligne à ‘1’ et un autre met la même ligne à ‘0’, il n’y a as de court-circuit.
Circuit 1 Circuit 2 4
2.1. FORMAT D’UN TRANSFERT
Au repos, les signaux SCL et SDA sont au niveau haut grâce aux résistances de
rappel.
Le transfert de données commence par un START et se termine par un STOP.
Un transfert comporte 8 bits commençant par le bit de poids fort (MSB). Après
chaque accord (ACK), on peut enchaîner sur un autre transfert.
Chaque bit est validé par une impulsion de l’horloge SCL. La donnée doit être
stable pendant l’impulsion d’horloge.
Le START et le STOP sont générés par le maître qui initie un transfert sur le bus.
Après avoir vérifié que le bus est libre et en avoir pris le contrôle, le circuit en
devient le maître : c’est lui qui génère l’horloge.
La condition de START (S) s’applique lorsque le signal SDA passe de « 1 » à « 0 »
pendant que l’horloge SCL est à « 1 ». Après le START, le bus passe dans l’état
« occupé »
La condition de STOP (P) s’applique lorsque le signal SDA passe de « 0 » à « 1 »
pendant que l’horloge SCL est à « 1 ». Après le STOP, le bus redevient « libre ».
6
2.3. L’ACCUSÉ DE RÉCEPTION « ACK »
Il faut respecter un certain timing dans l’enchainement des signaux pour que le
transfert se passe correctement.
La largeur des impulsion d’horloge doit être bien calibrée en respectant les durées
à l’état bas et l’état haut : tLOW et tHIGH.
Les temps de SETUP et de HOLD ( tSU et tHD ) du START, du STOP et de la DATA
doivent respecter certaines valeurs minimales.
8
2.4.2. TIMING - VALEURS
Après le START, le maître envoie une adresse pour sélectionner un esclave avec qui
il veut dialoguer.
L’adresse est composée de 7 bits auxquels s’ajoute un bit de lecture/écriture : ce bit
vaut 0 pour une écriture et 1 pour une lecture. Pour basculer de l’écriture vers la
lecture ou inversement, un nouveau START doit être envoyé.
10
3.1.2. ADRESSES RÉSERVÉES
Dans le cas des mémoires, l’espace adressable est élevé : le premier octet
sélectionne la mémoire, les octets suivants sélectionnent une case mémoire parmi
l’espace adressable.
Les adresses 0000XXX et 1111XXX sont réservées pour des modes particuliers
Le maître met le bit R/W à « 0 » pour signifier à l’esclave qu’il veut lui envoyer des
données.
Il met ensuite la broche SDA en haute impédance pour attendre l’accusé de
réception de l’esclave (ACK).
Après un « ACK », le maître envoie les différents octets de données séparés tous
par des « ACK ». Il termine la transaction par un STOP.
Maître
Esclave
Résultant
12
3.3. LECTURE D’UNE DONNÉE
Le maître met le bit R/W à « 1 » pour signifier à l’esclave qu’il veut lui recevoir des
données.
Il met ensuite la broche SDA en haute impédance pour attendre l’accusé de
réception de l’esclave (ACK).
Il garde SDA en haute impédance pour lire les données. Après caque octet lu, il
envoie un « ACK » et il termine la transaction par un « NACK » et un « STOP ».
Maître
Esclave
Résultant
13
Le bus I2C autorise qu’il y ait plusieurs maîtres, ce qui crée forcément des
conflits au moment de la prise en mains du bus.
Chaque maître peut prendre possession du bus dès que celui-ci est libre. Il
est alors possible que deux maîtres veuillent se saisir du bus en même
temps.
Il n’y a pas de problème électrique puisque les entrées/sorties sont à
collecteur ouvert.
Il y a par contre un conflit logique et risque de collision des données. Il
faut éviter à tout prix la corruption des données.
Une gestion des conflits et un arbitrage sont prévus pour départager deux
maîtres prétendant à la prise en possession du bus.
14
4.2. SYNCHRONISATION DE L’HORLOGE
Comme l’horloge est générée par le maître, si deux maîtres prennent possession
du bus en même temps, il y aura deux horloges.
La synchronisation des horloges se fera par le « OU CÂBLÉ ».
L’horloge résultante est à 1 uniquement quand les deux horloges sont à 1.
L’horloge qui a l’état bas le plus long va plonger l’autre circuit dans un état
d’attente que la ligne passe à 1.
15
16
4.4. EXEMPLE D’ARBITRAGE
Le premier octet est transmis normalement, il n’y a pas de conflit, les deux maîtres
envoient les mêmes données.
Sur le 3ème bit de l’octet suivant, le maître n°2 envoie un 1 et lit un 0 sur SDAR, il
perd l’arbitrage et arrête d’émettre. Il devient esclave.
Le maître n°1 ne voit aucun conflit et continue d’émettre normalement, comme si
de rien n’était.
17
Dans le cas des esclaves lents, le maître peut s’impatienter et perdre la main avec
l’esclave avec qui il dialogue.
Sur la figure suivante, l’esclave qui n’a pas fini son travail (exemple d’un
convertisseur CAN) ne donne pas son accord assez rapidement, le maître annule le
transfert.
Il faut trouver un moyen pour synchroniser ces deux circuits qui ne travaillent pas
manifestement à la même vitesse.
18
SYNCHRONISATION MAÎTRE & ESCLAVE