MIC7340 Entrées sorties de base – ports sériels

29
Traduit et adapté de l’anglais Traduit et adapté de sources anglaises MIC7340 Entrées sorties de base ports sériels Mounir Boukadoum

description

MIC7340 Entrées sorties de base – ports sériels. Mounir Boukadoum. 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 - PowerPoint PPT Presentation

Transcript of MIC7340 Entrées sorties de base – ports sériels

Page 1: MIC7340  Entrées sorties de base –              ports sériels

Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises

MIC7340 Entrées sorties de base –

ports sériels Mounir Boukadoum

Page 2: MIC7340  Entrées sorties de base –              ports sériels

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

Page 3: MIC7340  Entrées sorties de base –              ports sériels

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.

Page 4: MIC7340  Entrées sorties de base –              ports sériels

Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises

Exemple de trame dans un système de communication sériel synchrone

Page 5: MIC7340  Entrées sorties de base –              ports sériels

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

Page 6: MIC7340  Entrées sorties de base –              ports sériels

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”

Page 7: MIC7340  Entrées sorties de base –              ports sériels

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

Page 8: MIC7340  Entrées sorties de base –              ports sériels

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

Page 9: MIC7340  Entrées sorties de base –              ports sériels

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

Page 10: MIC7340  Entrées sorties de base –              ports sériels

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

Page 11: MIC7340  Entrées sorties de base –              ports sériels

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

Page 12: MIC7340  Entrées sorties de base –              ports sériels

Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises

Connecteurs RS-232

Page 13: MIC7340  Entrées sorties de base –              ports sériels

Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises

Page 14: MIC7340  Entrées sorties de base –              ports sériels

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

Page 15: MIC7340  Entrées sorties de base –              ports sériels

Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises

Connection RS232 populaire (et simpliste !)

Page 16: MIC7340  Entrées sorties de base –              ports sériels

Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises

Régistres du port SCI du 68HC11

Page 17: MIC7340  Entrées sorties de base –              ports sériels

Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises

Programmation du débit ( registre BAUD)

Page 18: MIC7340  Entrées sorties de base –              ports sériels

Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises

Exemple d’erreur de transmission : débordement

Page 19: MIC7340  Entrées sorties de base –              ports sériels

Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises

Exemple d’erreur de transmission : encadrement

Page 20: MIC7340  Entrées sorties de base –              ports sériels

Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises

Autres standards sériels RS

Page 21: MIC7340  Entrées sorties de base –              ports sériels

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

Page 22: MIC7340  Entrées sorties de base –              ports sériels

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

Page 23: MIC7340  Entrées sorties de base –              ports sériels

Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises

Un exemple de port sériel synchrone

Page 24: MIC7340  Entrées sorties de base –              ports sériels

Traduit et adapté de l’anglaisTraduit et adapté de sources anglaises

Système SPI avec boîtiers en cascade

Page 25: MIC7340  Entrées sorties de base –              ports sériels

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

Page 26: MIC7340  Entrées sorties de base –              ports sériels

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)

Page 27: MIC7340  Entrées sorties de base –              ports sériels

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à !

Page 28: MIC7340  Entrées sorties de base –              ports sériels

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

Page 29: MIC7340  Entrées sorties de base –              ports sériels

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