Upload
roberte-parisot
View
108
Download
3
Embed Size (px)
Citation preview
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
MIC7340 Entrées sorties de base –
ports sériels Mounir Boukadoum
Traduit et adapté de l’anglaisTraduit et adapté de sources 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 l’anglaisTraduit et adapté de sources 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 l’anglaisTraduit et adapté de sources anglaises
Exemple de trame dans un système de communication sériel synchrone
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Synchronisation des données
11 1 1 1 1 10 0+V
-V
+V
-V
1
011 1 1 1 1 10 0 Raw data
RZ, bipolar
1 1 1 1 1 1 100 NRZ, Manchester
Traduit et adapté de l’anglaisTraduit et adapté de sources 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-4800-9600-(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 l’anglaisTraduit et adapté de sources 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 l’anglaisTraduit et adapté de sources 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
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
UART
• Universal Asynchronous Receiver-Transmitter
– 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
Transmitter
Receiver
shift register
clock
data holding register
controlunit
load
serial data outdata
1
data bus/wr
load
serial data in
shift
shift registerdata
data holding registerloadcontrol
unit
data bus/rd
shift
dav
ready
clock routing not shown for clarity
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
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 l’anglaisTraduit et adapté de sources 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 l’anglaisTraduit et adapté de sources anglaises
Connecteurs RS-232
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Contrôle
Statut
Vitesse
Data
R x D
T x D
0 ou 5V
0 ou 5V
12V 12V
12V 12V
Adaptateur à l'interface RS-232-C
(MC1488 et MC1689 ou MAX230)
Connecteur DB9, DB25
ou autre68HC11, UART ou autre
Périphérique externe
(modem, terminal, ...
Liaison en série asynchrone générale
• 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 l’anglaisTraduit et adapté de sources anglaises
Connection RS232 populaire (et simpliste !)
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Régistres du port SCI du 68HC11
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Programmation du débit ( registre BAUD)
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Exemple d’erreur de transmission : débordement
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Exemple d’erreur de transmission : encadrement
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Autres standards sériels RS
Traduit et adapté de l’anglaisTraduit et adapté de sources 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 l’anglaisTraduit et adapté de sources 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
• 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
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Un exemple de port sériel synchrone
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
Système SPI avec boîtiers en cascade
Traduit et adapté de l’anglaisTraduit et adapté de sources 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 l’anglaisTraduit et adapté de sources anglaises
I2C
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
Séquence d’évènements lors d’un échange (gérée par le maitre)
Traduit et adapté de l’anglaisTraduit et adapté de sources 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
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à !
Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises
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 l’anglaisTraduit et adapté de sources anglaises
Port UART du ADuC7026• COMCON0
– Configuration de base des trames
• Baud rate– Diviseur pour l’horloge