Chapitre 10: Communication Srie et le circuit 16450825051 - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Chapitre 10: Communication Srie et le circuit 16450825051

Description:

Section 10.3: Interfa age UART 8250/16450 de National Semi-conducteur et IBM PC ... Si un caract re est re u, performer sa lecture et son affichage. ... – PowerPoint PPT presentation

Number of Views:81
Avg rating:3.0/5.0
Slides: 24
Provided by: pierrem6
Category:

less

Transcript and Presenter's Notes

Title: Chapitre 10: Communication Srie et le circuit 16450825051


1
Chapitre 10  Communication Série et le circuit
16450/8250/51
1/ 21
  • Section 10.1 Notions de Base
  • Section 10.2 Accéder les ports COM dIBM PC avec
    DOS et BIOS
  • Section 10.3 Interfaçage UART 8250/16450 de
    National Semi-conducteur et IBM PC
  • Section 10.4 Communication Asynchrone et le
    Circuit USART-8251 de Intel

R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
2
Objectives
2/ 21
  • Les objectifs de ce chapitre sont
  • Lister les avantages de la communication Série
    par rapport à la communication parallèle.
  • Expliquer la différence entre communications
    synchrone et asynchrone.
  • Définir les termes Simplex, Semi-Duplex, et
    Duplex Complet.
  • Décrire les bits du début et de la fin dans un
    Frame de Données pour les communications Série.
  • Différencier entre les unités de mesure BAUD et
    BPS.
  • Définir le standard RS232 et comparer les
    équipements DTE et DCE.
  • Décrire les signaux Handshaking DTR, RTS, et
    CTS.
  • Montrer comment initialiser les port COM avec les
    commandes DOS.

R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
3
Section 10.1 Notions de Base
3/ 21
Transfert des données dans les PCs série (bit ?
longue distance) et parallèle (8 bits ? petite
distance comme imprimante ou disque dur).
Communications Série, Rx P ? S (Reg. décalage
PISO) Tx S ? P (Reg. décalage SIPO)
Pour longues distances, Tx 0s et 1s ? signaux
audio (Sinus) par modulations et vice-versa pour
Rx
Il existe 2 types de Communications Série
Synchrone (plusieurs octets de données, comme les
caractères, en un temps) et Asynchrone (1 octet
de données en un temps)
Il existe 2 circuits pour les Communications
Série UART (Universal Asynchrenous
Receiver-Transmitter de NS, les Ports COM dIBM
PC utilisent lUART8050) et USART (Universal
Synchroneous-Asynchroneous Receiver-Transmitter
de Intel (Le 8251).
R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
4
Notions de Base
4/ 21
Transmission de Données
R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
5
Notions de Base
5/ 21
Transmission Asynchrone
Cadrage des Données (Data Framing) Difficulté
pour le récepteur de comprendre les 0s et 1s
reçus à moins dun protocole entre lui et le
transmetteur. ? Data Framing.
Data Framing Comment la donnée est paquetée.
Combien de bits pour un caractère. Cest quoi
son début et sa fin.
Espace
1 Caractère ASCII (8-bits) 1 Bit début 2 Bits
Fin (parfois 1 pair/impair parité bit)? 30
Overhead Exemple Envoi de 5 pages de 80x25
caractères/page ? 5x25x80x12 120000 bits.
6
Notions de Base
6/ 21
RS232 (1960) est un standard d I/F pour une
compatibilité entre des équipements de
communication série.
RS232 et Standards I/F E/S Série
R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
7
Notions de Base
7/ 21
Autres Standards I/F E/S Série
Pour des distances longues ? Vitesse de
transmission des RS232 diminue (100000 bps pour
lt 5 pieds).
? RS422A et RS423 pour des débits hauts
Classification des équipement de Communication de
données
Note Les définitions des Pins du RS232 sont par
rapport à DTE
DTE (Data Terminal Équipement) ? Terminaux et PCs
qui transmettent et reçoivent les données.
DCE (Data Communication Équipement) ? Modems qui
transfèrent les données.
R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
8
Notions de Base
8/ 21
Signaux déchange Handshaking du RS232
Pour assurer une transmission fiable entre 2
systèmes, le transfert de données doit être
coordonnée ? cest le rôle des Signaux de
Handshaking.
Les comprendre cest essentiel pour la
compréhension de lUART.
DTR (Data Terminal Ready) Le Terminal (PC port
COM) est prêt après se mise en marche. Sil ya
problème avec le port COM, ce signal ne peut être
activé.
DSR (Data Set Ready) Le DCE (Modem) est prêt
après sa mise en marche. Sil ya problème avec
le la connexion téléphonique, ce signal ne peut
être activé.
RTS (Request To Send) Quand le DTE (PC) a un
octet à transmettre, il active RTS pour le
signaler au modem.
CTS (Clear To Send) En réponse au RTS, le modem
envoie CTS pour signaler au PC quil est prêt à
recevoir la donnée maintenant. Et le PC commence
la transmission.
DCD (Data Carrier Detect) Le Modem indique, via
DCD, au PC que le contact entre lui et un autre
modem est établi pour recevoir la donnée que la
PC lui a envoyé.
RI (Ring Indicator) Le Modem indique au PC que
le téléphone sonne. Ce signal est le moins
utilisé parmi les précédents, car cest le modem
qui répond à la place du téléphone. Seulement si
le PC a besoin de répondre au téléphone, que ce
signal est utilisée.
R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
9
Section 10.2 Accéder les ports COM dIBM PC avec
DOS et BIOS
9/ 21
Ports COM dIBM PC
b 11(110baud), 15(150b), 30(300b), 60(600b),
12(1200b), 24 (2400b), 48 (4800b), 96 (9600b), 19
(19200b) d 5, 6, 7, ou 8) s 1, 1.5, ou 2
R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
10
Accéder les ports COM dIBM PC avec DOS et BIOS
10/21
  • Initialiser le Port COM (Baud, Taille de la
    donnée, Nombre de Stop bits, ) avec AH0,
    INT14H, et DX (Nombre du COM 0,1,2,3), et AL
    configuration (Baud, N de bits données, N de bits
    stop, etc.).
  • Envoi dun caractère avec AH 1, INT 14H, et
    AL caractère.
  • Réception du caractère avec AH 3, INT 14H
    pour obtenir létat du port COM (dans AH),
    (Létat du Modem est dans AL). Vérification du
    bit D0 (Donnée reçue prête) du AH. Si 1, le
    caractère (se trouvant dans lUART 8250) est
    reçu, via COM.
  • Lecture du caractère reçu avec AH 2, INT 14H,
    et AL caractère.

R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
11
Accéder les ports COM dIBM PC avec DOS et BIOS
11/21
Initialisation de COM2 MOV AH, 0
Initialisation du Port COM MOV DX, 0 COM
Numéro 1, A noter que MOV DX, 1 ? COM2, etc. MOV
AL, 0EF 9600baud, Parité ODD, 2 Stop bits,
caractère 8-bits INT 14H
12
Accéder les ports COM dIBM PC avec DOS et BIOS
12/21
MOV DL, AL et lafficher avec INT 21H option
02 MOV AH, 02 Pour laffichage avec loption
02, le caractère doit se trouver dans DL INT 21H
JMP ENCORE Retour à la surveillance du clavier
R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
13
Section 10.3 Interfaçage UART 8250/16450 de NS
et IBM PC
13/21
Le NS8250 est lUART le plus utilisé ? NS8250A
(petit bug dans le 8250) ? amélioré en NS16450.
Version CMOS du NS16450 est le 16C450. Les
8250/8250A/16450 sont compatibles (mêmes pins)
LUART 8250 reçoit de la CPU une Donnée (un
caract- ère), lui ajoute le Frame, la
convertit en Série (PISO), et enfin la
transmet.
AUSSI LUART 8250 reçoit du RS232 des données
(un bit à la fois), enlève le Frame, la
conver- tit en 8-bits (caract- ère? SIPO), et
enfin la transmet à la CPU.
R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
14
Interfaçage UART 8250/16450 de NS et IBM PC
14/21
Description de PINS
Ces Pins sont utilisées pour accéder les
registres internes du 8250.
DLAB est le bit D7 du registre du format des
données (Line control).
A la transmission, le caractère est écrit dans le
registre de maintien avec A2A1A0 000 et DLAB
0.
Programmer la vitesse (en Baud) du 8250 ? DLAB
1 et les octets du diviseur sont envoyés dans
les registres dadresses respectivement A2A1A0
000 et A2A1A0 001.
A la réception, le caractère est lu dan le même
registre.
R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
15
Interfaçage UART 8250/16450 de NS et IBM PC
15/21
16
Interfaçage UART 8250/16450 de NS et IBM PC
16/21
Les Registres du 8250
RxRDY 1 ? INTR vers la CPU pour lui signifier
quun octet vient dêtre reçu via Sin
TBE 1 ? INTR vers la CPU pour lui signifier
que le le Registre de maintien (Buffer) est vidé
et quil est disponible pour en recevoir un autre
octet.
Err 1 ? INTR vers la CPU pour lui signifier
quune erreur est détectée (parité, framing, ).
La source derreur est dans le registre détat si
Err 1.
IN 1 ? (État du Modem) INTR vers la CPU pour
lui signifier que lune des lignes du RS232 a
changé détat durant le transfert (Tx ou Rx).
Note A noter que les bits D0 à D3 peuvent être
masqués en mettant un 0.
R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
17
Interfaçage UART 8250/16450 de NS et IBM PC
17/21
Quand plusieurs sources dINTR sont activées,
comment la CPU saura qui prendra en premier lieu
? Prioritisation.
R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
18
Interfaçage UART 8250/16450 de NS et IBM PC
18/21
OUT1 et OUT2 ? Sorties auxiliaires de
lutilisateur. Utilisés pour le SOUT du 8250 dans
des systèmes non compatibles avec RS232.
TEST ? Utiliser pour les tests Loopback. Si
TEST 1 ? SOUT 1 (Marque) et SIN
déconnecté. ? Le registre PISO est connecté au
registre SIPO et les signaux de contrôle dentrée
du modem (DSR, CTS, RI, et DCD) sont connectés
de lintérieur aux signaux de contrôle de sortie.
D3D0 ? indiquent le changement détat des
signaux dentées à partir de la dernière lecture
par la CPU. Mise à 1 sil ya eu changement
dans les signaux CTS, DSR, RI, et DCD.
D7D4 ? Si TEST 1 (du registre contrôle du
Modem), ces bits (CTS, DSR, RI, et DCD) sont
équivalents aux bits D3D0 (RTS, DTR, OUT1, et
OUT2) respectivement du registre contrôle du
Modem.
19
Notions de Base
8/ 21
Signaux déchange Handshaking du RS232
Pour assurer une transmission fiable entre 2
systèmes, le transfert de données doit être
coordonnée ? cest le rôle des Signaux de
Handshaking.
Les comprendre cest essentiel pour la
compréhension de lUART.
DTR (Data Terminal Ready) Le Terminal (PC port
COM) est prêt après se mise en marche. Sil ya
problème avec le port COM, ce signal ne peut être
activé.
DSR (Data Set Ready) Le DCE (Modem) est prêt
après sa mise en marche. Sil ya problème avec
le la connexion téléphonique, ce signal ne peut
être activé.
RTS (Request To Send) Quand le DTE (PC) a un
octet à transmettre, il active RTS pour le
signaler au modem.
CTS (Clear To Send) En réponse au RTS, le modem
envoie CTS pour signaler au PC quil est prêt à
recevoir la donnée maintenant. Et le PC commence
la transmission.
DCD (Data Carrier Detect) Le Modem indique, via
DCD, au PC que le contact entre lui et un autre
modem est établi pour recevoir la donnée que la
PC lui a envoyé.
RI (Ring Indicator) Le Modem indique au PC que
le téléphone sonne. Ce signal est le moins
utilisé parmi les précédents, car cest le modem
qui répond à la place du téléphone. Seulement si
le PC a besoin de répondre au téléphone, que ce
signal est utilisée.
R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
20
Interfaçage UART 8250/16450 de NS et IBM PC
19/21
Si D2 1 du registre de validation des INTs,
ce registre est utilisé pour savoir quel type
derreurs.
DR Si 1 ? La donnée est prête (envoyée au
Buffer de réception, après avoir enlevé les bits
de Framing) pour être prise. Ce bit est mit à 0
après lecture du registre de réception.
OE Si 1 ? Erreur de dépassement de vitesse
(OverRun), dans le cas ou la CPU est plus lente
que la vitesse de réception (lancien octet est
remplacé par le nouveau à cause de la lenteur de
la CPU qui na pas lu à temps).
PE Si 1 ? Erreur de parité sur la donnée
reçue (la parité ne correspond pas à celle
calculée dans le registre).
FE Si 1 ? Erreur de Framing ? le bit de stop
ne correspond pas au protocole établi.
BI Si 1 ? Break Interrupt ? Si SIN est 0
durant une période dun transfert (Bit Début
DonnéesParitéStop) Tout comme OE, PE, FE, ce
bit est mis à 0 quand la CPU lit ce registre
détat.
THRE Si 1 ? Transmitter Hold Reg. Empty ?Le
8250 est prêt à recevoir un Octet à transmettre.
Quand un octet est transférer du registre de
maintien vers le PISO, ce bit est mis à 1.
Quand la CPU écrit un autre octet THRE est mis à
0.
TEMT Si 1 ? Le registre de maintien et le
PISO sont vides.
R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
21
Interfaçage UART 8250/16450 de NS et IBM PC
20/21
1.8432MHz / 16 ? 115200Hz ? 115200 / 110 1047
0417H ? Registre Diviseur LSB 17H et Registre
Diviseur MSB 04H
Programmation MOV AL, 80H 10000000B pour
DLAB1 MOV DX, 3FBH Ladresse du Registre du
format des données (Line Control), pages 13 et
14 OUT DX, AL D7 1 pour DLAB afin de
programmer les registres diviseurs LSB et
MSB MOV AX, 0417H 110 Baud MOV DX, 3F8H
Adresse du registre diviseur LSB, page 14 OUT DX,
AL envoi du premier octet MOV AL, AH La
valeur du deuxième octet INC DX Adresse du
registre diviseur MSB, page 14 OUT DX, AL envoi
du deuxième octet
R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
22
Interfaçage UART 8250/16450 de NS et IBM PC
21/21
Limitation du circuit 8250/16450 et son
remplacement par le circuit 16550
  • principale limitation des circuits 8250/16450 ?
    pour chaque octet reçu ou transmet ? INT la CPU.
  • Ceci ne constitue pas un problème pour les
    anciens PCs, puisque tout les périphériques
    étaient lents.
  • Mais pas pour les PCs et les stations de travail
    actuels, dont la haute performance et une
    nécessité.

NS a conçu le 16550AF (compatible avec le 16450)
possédant un buffer interne de 16 octets (au lieu
de 1 pour le 16450) pour sauvegarder des blocs
de données de transmission et de réception, et
pour ainsi Libérer la CPU des INTs fréquentes.
Ainsi à la transmission, la CPU peut écrire 16
octets à la fois dans un buffer de transmission.
Quand ce Buffer se vide, le 16550AF active un
signal à la CPU pour lui demander un autre
transfert.
A la réception, le buffer de maintien de 16
octets reçoit les données reçues. Quand ce
Buffer se remplit, le 16550AF active un signal à
la CPU pour lui demander de les prendre (Lire).
USART 8251 de Intel et les communications
Synchrone ? Section 10-4
LUSART 8251 est une puce de 28 pins permettant à
la fois les communications Asynchrones et
Synchrones.
Le problème des communications Asynchrones est
lOVERHEAD du framing qui peut prendre jusquà
50.
Avec les communications de données Synchrones
les bits de début et de fin sont remplacés par
des codes de contrôle en octets. Mais le
transfert des données se fait en bloc doctets,
des 100s, au lieu dun octet à la fois.
R. Beguenane, UQAC, 2002/2003
Systèmes à microprocesseurs
23
Examen final
  • Chapitre 4 Programmation 32-bit pour machines
    386/486
  • Chapitre 7 (Mémoires),
  • Chapitre 8 (Timer) et
  • Chapitre 9 (PIC)
Write a Comment
User Comments (0)
About PowerShow.com