Liens sériels

Download Report

Transcript Liens sériels

MIC7340
Entrées sorties de base –
ports sériels
Mounir Boukadoum
Traduit et adapté de sources
l’anglais anglaises
Transmission sérielle
• Transmet un mot binaire bit
par bit, sur un seul fil
• La durée d’un bit est spécifiée
par une horloge
• En théorie, plus lente que la
transmission parallèle ; en
pratique, moins de fils =>
moins d’interférence
électromagnétique => liens
plus rapides et câbles plus
longs
Traduit et adapté de sources
l’anglais anglaises
Types de transmission sérielle
• Asynchrone :
– L’intervalle séparant 2 caractères transmis est quelconque.
– Simple mais demande de détecter les débuts et fin des caractères
(« overhead » lourd)
– Utilisation: liaisons locales (pour la simplicité de l`interface), vitesses
faibles.
• Synchrone :
– Les caractères sont transmis par blocs, sans temps mort entre
caractères successifs (« overhead » léger)
– Architecture plus complexe qu’en mode asynchrone
• Les intervalles de temps entre les blocs doivent être remplis avec des
caractères de synchronisation (« padding »).
• Une horloge précise doit assurer la synchronisation entre émetteur et
récepteur
– Utilisation: liaisons distantes, vitesses grandes.
Traduit et adapté de sources
l’anglais anglaises
Exemple de trame dans un système de
communication sériel synchrone
Traduit et adapté de sources
l’anglais anglaises
Synchronisation des données
1
1
0
1
1
1
1
1
0
1 Raw data
0
+V
1
0
1
1
1
1
1
0
1
RZ, bipolar
1
0
1
1
1
1
1
0
1
NRZ, Manchester
-V
+V
-V
Traduit et adapté de sources
l’anglais anglaises
Vitesses de transmission normalisées
(bits/s ou bps)
• Asynchrones :
– 5 (code Morse), 75 (Baudot), 110-150-300- 600 (TTY,
compteurs électriques avec modem), 1200- 2400-48009600-(14400)-19200-(28800)-(33400)- 38400, (56000, ),
57600, 115200
• Synchrones :
– 8k (voix) à 64k (ISDN), 1,536 M (T1), 2,048 (E1), 1 M-7M
(ADSL), 12 M-3 (USB), etc.
• Baud ou bits/s ?
– Baud = bit/s en tenant compte des bits de “gestion”
Traduit et adapté de sources
l’anglais anglaises
Modes de liaison
• Simplex : transmission
unidirectionnelle
– Exemple: télédistribution
• À l’alternat (half-duplex) :
transmission bidirectionnelle
non simultanée
– Exemple: émetteur/récepteur
radio, tranmission par packets
(Ethernet/Internet), intercom
• Duplex : transmission
bidirectionnelle simultanée
– Exemple : téléphone, la
plupart des ports sériels
d’ordinateurs
Traduit et adapté de sources
l’anglais anglaises
Transfert sériel asynchrone
• Phases (protocole RS-232) :
– Repos
– Bit de départ
– Données
– Parité
– Bit d’arrêt
– Repos ou début du transfert suivant
IDLE
START
D0
Traduit et adapté de sources
l’anglais anglaises
D1
D2
D3
D4
D5
D6
P
STOP
IDLE or
START
UART
Transmitter
ready
• Universal Asynchronous
Receiver-Transmitter
control
unit
– Encapsule la fonctionnalité d’un
port sériel asynchrone dans trois
types de registres
• Contrôle
• État
• Données
– Peut détecter diverses erreurs
– Inclut les tampons d’attente
– Inclut des signaux de commande
de MODEM et de gestion de canal
– Certains génèrent l’horloge
data bus
load
data holding register
load
1
data
shift register
serial data out
shift
clock
clock routing not shown for clarity
Receiver
shift register
serial data in
shift
data
load
control
unit
dav
Traduit et adapté de sources
l’anglais anglaises
/wr
data holding register
/rd
data bus
Protocole RS-232
• Protocole populaire pour le raccordement physique
de deux ports sériels
• Définit plusieurs traits d’un canal de communication
par UART
– Équipements (DCE et DTE)
– Signaux et règles de synchronisation entre émetteur et
récepteur
– Niveaux des signaux
– Connecteur physique
– Signaux de contrôle pour Modem
Traduit et adapté de sources
l’anglais anglaises
Contrôle de flux
• Permet de contrôler le débit de l`émetteur
• Adapte les capacités de transmission différences
entre émetteur et récepteur
• Peut être implémenté en logiciel et en matériel
– Logiciel
• Codes XON/XOFF
– Matériel
• Lignes RTS/CTS
Traduit et adapté de sources
l’anglais anglaises
Connecteurs RS-232
Traduit et adapté de sources
l’anglais anglaises
Traduit et adapté de sources
l’anglais anglaises
Liaison en série asynchrone générale
Contrôle
Statut
Vitesse
RxD
TxD
0 ou 5V
Périphérique
externe
(modem,
terminal, ...
± 12V
12V
± 12V
0 ou 5V
12V
Data
68HC11, UART ou autre
•
•
•
•
•
•
•
Adaptateur à
l'interface
RS-232-C
(MC1488 et
MC1689 ou
MAX230)
Connecteur
DB9, DB25
ou autre
UARTS:
Motorola 6850 ACIA
General Instruments AY-3-1015D UART
National Semiconductor 8250 ACE
Intel 8251A USART (Synchrone / asynchrone)
Intel 82050, 16450, 16550 Asynchronous Communications Controller (utilisé dans les PCs)
Motorola MC2681 DUART
Traduit et adapté de sources
l’anglais anglaises
Connection RS232 populaire (et simpliste !)
Traduit et adapté de sources
l’anglais anglaises
Régistres du port SCI du 68HC11
Traduit et adapté de sources
l’anglais anglaises
Programmation du débit ( registre BAUD)
Traduit et adapté de sources
l’anglais anglaises
Exemple d’erreur de transmission : débordement
Traduit et adapté de sources
l’anglais anglaises
Exemple d’erreur de transmission : encadrement
Traduit et adapté de sources
l’anglais anglaises
Autres standards sériels RS
Traduit et adapté de sources
l’anglais anglaises
Autres interfaces sériels
•
•
•
•
•
SPI
I2C
USB (souvent associé à un port UART)
1-Wire, Fire-wire et autres
SPI/I2C populaires pour ajouter des boîtiers dans un
design
• USB populaire pour ajouter des périphériques
externes
Traduit et adapté de sources
l’anglais anglaises
SPI
• Serial Peripheral Interface
• Basé sur des registres à
décalage
• Synchronisation des transferts
assurée par une horloge
• Opère comme une courroie
crénelée : pendant que des bits
sortent, d’autres entrent
• Un seul maître et un ou
plusieurs esclaves
http://www.mct.net/faq/spi.html
Traduit et adapté de sources
l’anglais anglaises
• Terminologie
– MOSI ou SDI : master out & slave
in
– MISO ou SDO : Master in & slave
out
– CLK : Horloge de synchronisation ;
transferts sur front montant ou
descendant (programmable)
– SS ou CS : Slave select venant du
maitre, habituellement actif bas
Un exemple de port sériel synchrone
Traduit et adapté de sources
l’anglais anglaises
Système SPI avec boîtiers en cascade
Traduit et adapté de sources
l’anglais anglaises
SPI
• Séquence d’événements lors d’un échange
• Les périphériques opèrent souvent en semi duplex
Traduit et adapté de sources
l’anglais anglaises
I2C
Séquence d’évènements lors d’un
échange (gérée par le maitre)
1. Génération du bit Start (S).
2. Génération de l’adresse de l’esclave
(ADDRESS)
3. Génération du bit Read(R)=1 /
Write(W)=0
4. Attente du bit d’acquiescement de
l’esclave (A)
5. Génération/réception de l’octet de
données (DATA).
6. Attente/envoi du bit d’acquiescement
(A)
7. Génération du bit STOP (P) ou d’un
nouveau bit Start (S)
Lors d’un échange de plusieurs
octets, les étapes 5 et 6 sont
répétées
Traduit et adapté de sources
l’anglais anglaises
USB
• Universal Serial Bus
• Un maître et un ou plusieurs esclaves
• Utilise 4 lignes
– +5 V et masse (le maître peut générer
500 MA par prise)
– 2 lignes de données torsadées
différentielles avec encodage NRZ
• Souvent utilisé dans les
microordinateurs (apparait comme un
port COM)
• Plusieurs versions
– 1.1 : 5 à 12 Mb/s
– 2.0 : 480 Mb/s
– 3.0 : 4.8 Gb/s (à venir)
• Les connecteurs sont tels que
l’alimentation est appliquée avant les
Traduit et adapté de sources
l’anglais anglaises
données, permettant aux esclaves
d’être branchés et retirés en tout
temps (“Plug-and-Play”).
•
•
•
•
À la mise sous tension, l’hôte scrute
chaque esclave pour déterminer son
type et vitesse et lui attribue une
adresse (processus d’énumération).
Le processus d’énumération est mis à
jour lorsqu’un dispositif est branché
ou retiré du réseau
Standard privé (payement de royautés
ou usage d’un composant qui l’a déjà)
Protocole compliqué et difficile à
déboguer ; mieux vaut utiliser des
composants qui l’ont déjà !
Ports sériels dans un C
• Exemple du ADuC7026 (ARM7) :
– 4 ports sériels intégrés, 1 UART et 3 synchrones (SPI ou I2C)
– Broches multiplexées
Traduit et adapté de sources
l’anglais anglaises
Port UART du
ADuC7026
• COMCON0
– Configuration de base des
trames
• Baud rate
– Diviseur pour l’horloge
Traduit et adapté de sources
l’anglais anglaises