Sie sind auf Seite 1von 7

Explications sur les diffrents ports

URL: http://www.poirrier.be/~jean-etienne/notes/structordi/ports/index.php Dernire mise jour : 31 janvier 2005 Port srie - Port parallle Port USB - Port Firewire Port SCSI - Port VGA Port clavier - Port souris

Figure 0.1. Vue gnrale de (presque) tous les ports

1. Port srie
Le port srie supporte le standard RS-232, cr (1960) avec un seul objectif : permettre la communication entre un terminal (Data Terminal Equipment, DTE ; en clair : un ordinateur) et un appareil communiquant (Data Communications Equipment, DCE ; en clair : un modem, par exemple). Dans une communication srie, les donnes sont transfres de l'metteur au receveur un bit la fois, travers une seule ligne (ou circuit). Les avantages est le faible cot et le faible encombrement. Le dsavantage est que la transmission va moins vite que si on transmettait un certain nombre de bits en mme temps (voir port parallle).

1.1. Principe de communication


La communication se fait bit bit : chaque bit d'information est transfr de manire squentielle (srielle) d'un endroit un autre. Le port srie prend 8, 16 ou 32 bits "parallles" du bus du PC et les convertit en un flux squentiel de 8, 16 ou 32 bits. En thorie, on n'aurait alors besoin que de 2 fils : une ligne pour le signal et une pour la terre. Mais, en pratique, il y a des perturbations extrieures et des erreurs qui rendent ce besoin simple impossible. En effet, si 1 bit est envoy mais manque du ct rcpteur, tous les bits suivants sont dcals, donnant des donnes incorrectes lorsque le flux est transform du ct rcepteur. Il faut donc des processus permettant de contrler si une telle erreur est survenue.

1.1.1. Mthodes de transmission Deux mthodes diffrentes sont utilises :


la communication synchrone ; la communication asynchrone.

1.1.1.1. Communication synchrone

Dans la communication synchrone, l'metteur et le rcepteur sont synchroniss par une horloge qui compte prcisment la priode sparant chaque bit. En contrlant l'horloge, le rcepteur peut dterminer si un bit a t perdu ou s'il y en a un en trop (habituellement, par induction lectrique). Si jamais une des deux parties perd le signal d'horloge, la communication est termine car rendue impossible. Cette mthode est peu utilise en informatique gnraliste.
1.1.1.2. Communication asynchrone

Dans la communication asynchrone, un "marqueur" est ajout au-dbut du flux de bits pour aider positionner les bits dans le flux. Lorsque le rcepteur reoit le bit de dbut (start bit, toujours gale 0), pour peu que les deux ports soient la mme vitesse, le rcepteur dclenche un timer et rcolte les bits de donnes dans un intervalle de temps donn. En gardant les flux non contrls (bits de donnes aprs le start bit) court, on restreint la possibilit d'erreur. Cette mthode est la plus souvent employe en informatique gnraliste (c'est celle des modems, par exemple). 1.1.2. Les bits, leur parit et leur vitesse Chaque flux de bits est compos de 5 8 bits, appels mots (words). Habituellement, dans un environnement PC, on trouvera des mots de 7 ou 8 bits (7 bits pour les 127 premiers codes ASCII, 8 bits pour correspondre exactement un byte). Lors d'une communication, l'metteur encode chaque mot en ajoutant un bit de dpart au dbut et 1 ou 2 bits de fin (stop bits) la fin du flux. Parfois, afin de vrifier l'intgrit des donnes, l'metteur ajoutera un bit de parit entre le dernier bit d'un mot et le bit de dpart du mot suivant. On parlera ainsi de fentre de donnes (data frame). Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14

bit 1, bit 2, bit 3, bit 4, bit 5, bit 6, bit 7, bit 8, bit 1, Contenu dpart mot mot mot mot mot mot mot mot stop parit dpart mot etc. 1 1 1 1 1 1 1 1 2 Figure 1.1. Exemple de fentre de donne sur 8 bits, avec bits de dpart, d'arrt et de parit (8 bits data frame) 5 bits de parit diffrents peuvent tre utiliss :

1. le bit de parit de marquage (mark parity bit) : toujours gal 1 (de type logique) 2. le bit de parit d'espace (space parity bit) : toujours gale 0 (de type logique) 3. le bit de parit paire (even parity bit) : gal 1 lorque le nombre de bits dans le mot est pair 4. le bit de parit impaire (odd parity bit) : gal 1 lorsque le nombre de bits dans le mot est impair 5. pas de bit de parit (non parity bit frame) : cela permet de gagner de la place (1 bit par fentre) et est rendu possible car le bit de parit n'est pas obligatoire

Figure 1.2. Squence de succession des bits dans un port srie La vitesse de transmission est un point trs important dans la communication asynchrone. Cette vitesse influence directement les moments auxquels le rcepteur s'attend trouver un bit de donne (voir la figure ci-dessus : ligne d'horloge). De nos jours, la plus petite vitesse couramment utilise est le 300 bps (bit par seconde). On trouve encore des vitesse de 600, 1200, 2400, 4800 bps mais, le plus souvent, on utilise 9600, 19200 ou 38400 bps. Seul, le processeur ne peut aller que jusque 19200 bps (19.2 kbps). Mais, avec les bus PCI et, surtout le DMA (Direct Memory Access, accs direct la mmoire), on peut atteindre les 38400 bps (38.4 kbps). Notez qu'on voit parfois la notion de baud en communication srie. La frquence de baud est une mesure du nombre de fois par seconde qu'un signal varie (dans un canal de communication), ou effectue une transition entre tats (cd. frquences ou niveaux de voltage, ...). Un baud est un de ces changements. Donc, le signal d'un modem 300 bauds change 300 fois d'tant par seconde ; le signal d'un modem 600 bauds change d'tat 600 fois par seconde. Mais cela ne veut pas dire qu'un modem 300 ou 600 bauds transmet respectivement 300 ou 600 bits par seconde (300 bauds/s != 300 bps). En effet, un modem peut transmettre 1 bit avec chaque baud (ou changement d'tat) ou +/- 1 bit par baud. Cela dpend de la technique de modulation utilise. Ainsi, pour un modem qui transmet 1 bit par baud, on aura effectivement 300 bauds/s = 300 bps. Mais, pour un modem qui transmet 1,5 bit par baud, on aura 300 bauds/s = 450 bps !

1.2. Matriel
La plupart des quipements utilisent un port srie 25 connecteurs (DB-25). Derrire les ordinateurs, le port srie contient gnralement seulement 9 connecteurs (les seuls ncessaires en mode asynchrone, voir ci-dessus).

Figure 1.3. Ports srie derrire un PC

1.2.1. Connecteur et assignation

Figure 1.4. Prise srie femelle 25 connecteurs

Figure 1.5. Prise srie femelle 9 connecteurs Le rle de chaque connecteur tait, au dbut, spcifie pour l'utilisation de modems. C'est pourquoi la nomenclature suit de prs cet usage. Voici l'assignation des 25 connecteurs d'une prise DB25 : 1. Pas utilis (terre) 2. Transmission de donnes (Transmit Data) : l'ordinateur envoie des donnes au priphrique 3. Rception de donnes (Receive Data) : l'ordinateur reoit des donnes du priphrique 4. Demande d'envoi (Request To Send, RTS) : l'ordinateur demande au priphrique s'il peut envoyer de l'information 5. Prt envoyer (Clear To Send, CTS) : le priphrique dit l'ordinateur qu'il est prt envoyer des donnes 6. Prt pour donnes (Data Set Ready, DSR) : le priphrique dit l'ordinateur qu'il est prt parler 7. Terre (Signal Ground) : terre 8. Dtection de signal sur la ligne (Received Line Signal Detector) : dtermine si le modem est connect une ligne tlphonique qui fonctionne 9. Pas utilis : transmet le retour de courant de boucle (+) 10. Pas utilis 11. Pas utilis : transmet le courant de boucle des donnes (-) 12. Pas utilis 13. Pas utilis 14. Pas utilis 15. Pas utilis (parfois timing du signal transmis pour le DCE) 16. Pas utilis 17. Pas utilis 18. Pas utilis : reoit le courant de boucle des donnes (+) 19. Pas utilis 20. Terminal prt (Data Terminal Ready, DTR) : l'ordinateur dit au priphrique qu'il est prt pour parler 21. Pas utilis (parfois dtection de la qualit du signal) 22. Indicateur de sonnerie (Ring Indicator) : une fois que l'appel a t effectu, l'ordinateur reconnat le signal (envoy par le modem) qu'une sonnerie est dtecte 23. Pas utilis (parfois dtection de la vitesse du signal) 24. Pas utilis (parfois timing du signal transmis pour le DTE) 25. Pas utilis : reoit le retour de courant de boucle (-)

Comme on n'utilise pas les connecteurs 1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 23, 24 et 25 (16 connecteurs inutiliss), il y en a 9 seulement de rellement utiles (connecteurs 2, 3, 4, 5, 6, 7, 8, 20, 22). On a alors fabriqu des ports qui n'ont que ces 9 connecteurs (sur tous les PC rcents). Voici l'assignation des 9 connecteurs d'une prise DB9 : 1. Dtection de signal sur la ligne (Received Line Signal Detector) : dtermine si le modem est connect une ligne tlphonique qui fonctionne 2. Rception de donnes (Receive Data) : l'ordinateur reoit des donnes du priphrique 3. Transmission de donnes (Transmit Data) : l'ordinateur envoie des donnes au priphrique 4. Terminal prt (Data Terminal Ready, DTR) : l'ordinateur dit au priphrique qu'il est prt pour parler 5. Terre (Signal Ground) : terre 6. Prt pour donnes (Data Set Ready, DSR) : le priphrique dit l'ordinateur qu'il est prt parler 7. Demande d'envoi (Request To Send, RTS) : l'ordinateur demande au priphrique s'il peut envoyer de l'information 8. Prt envoyer (Clear To Send, CTS) : le priphrique dit l'ordinateur qu'il est prt envoyer des donnes 9. Indicateur de sonnerie (Ring Indicator) : une fois que l'appel a t effectu, l'ordinateur reconnat le signal (envoy par le modem) qu'une sonnerie est dtecte Le voltage envoy peut tre de deux types : on ou off. Un signal On (valeur binaire 1) quivaut un voltage entre -3 et -25 volts. Un signal Off (valeur binaire 0) quivaut un voltage entre +3 et +25 volts. 1.2.2. Contrleur matriel et contrle de flux (encore des contrles !) On a vu (ci-dessus) qu'avec un processeur seul, la vitesse est limite 19.2 kbps. Depuis quelques temps, la gestion du port srie se fait en dehors du processeur, via un receveur/transmetteur asynchrone universel (Universal Asynchronous Receiver/Transmitter, UART). Ce contrleur matriel prend les bits "parallles" sur le bus du PC et les r-arrange en squence pour les transmettre sur le port srie. Pour fonctionner plus rapidement, la plupart des UART ont un tampon intgr (16 64 kb). Ainsi, les donnes entrantes (provenant du bus) peuvent tre mises en cache en attendant d'tre r-arrang. On arrive ainsi (dchargement du processeur et cache) des vitesse de transfert de 115 kbps. Outre les bits de parit (voir ci-dessus), il existe aussi un contrle du flux de donnes. Par ce contrle, un appareil est capable de dire l'autre d'arrter d'envoyer des donnes pour un moment, par l'utilisation des commandes Request to send (RTS), Clear to send (CTS), Data Terminal Ready (DTR) et Data Set Ready (DSR). C'est particulirement utile avec les modems ... Gnralement, les modems communiquent entre eux 56 kbps. Or, la communication entre le PC et le modem peut se faire 115 kbps, ce qui est plus que le double ! Comme le modem reoit plus de donnes qu'il ne peut en

transmettre, mme avec une mmoire tampon, il ne pourra plus rapidement traiter toutes les donnes qui lui sont fournies. Avec le contrle de flux, le modem peut arrter le flux provenant de l'ordinateur avant que les donnes ne sature la mmoire tampon. L'ordinateur envoie constamment un signal RTS (demande d'envoi) et vrifie constamment s'il n'y a pas de signal CTS (prt envoyer). S'il n'y a pas de rponse CTS, l'ordinateur arrte d'envoyer des donnes au modem et attend jusqu'au prochain CTS. Ainsi, cela permet aux donnes de passer sans problme du PC au modem. 1.2.3. A sens unique ou non Finalement, le cablge et la manire dont les ports sont arrangs sont important. Certains ports utilisent le mme connecteur (pin) pour recevoir et mettre des donnes. Le rcepteur doit donc attendre d'avoir tout reu avant de pouvoir mettre son tour. On parlera de port demiduplex (half-duplex). Par contre, d'autres ports utilisent des connecteurs diffrents pour recevoir et mettre des donnes. Chaque appareil peut donc se comporter, en mme temps, comme metteur et comme receveur. On parlera de port full-duplex ou bi-directionnel. Un port bi-directionnel permettra de rduire le temps mis pour une tche s'accomplir.

1.3. Jouons avec notre PC


1.3.1. Avec MS-Windows Sous MS-Windows, les ports srie sont nomms COM1, COM2, COM3, etc. Pour dcouvrir les ports srie qu'on a sous MS-Windows, il faut aller dans le panneau de contrle, cliquer sur l'icne "Systme" et y trouver le "Gestionnaire de priphriques". Dedans, il faut trouver l'entre "Ports (COM & LPT) et l'tendre. Cela devrait donner peu prs ceci ...

Figure 1.6. Liste de ports srie sous MS-Windows Pour connatre (et ventuellement modifier) les paramtres d'un port srie, il suffit de cliquer sur son item et de choisir l'onglet ... "Paramtres du port".

Figure 1.7. Paramtres modifiables d'un ports srie sous MS-Windows 1.3.2. Avec GNU/Linux Sous GNU/Linux, les ports srie font partie du rpertoire /dev et sont nomms ttys0, ttys1, ttys3, etc. Il y a plusieurs manires de dcouvrir les ports srie qu'on a sous GNU/Linux. En ligne de commande (ou dans une console), vous pouvez tapez la commande setserial -g /dev/ttys0 (par exemple). Cela devrait donner ce rsultat ...

Figure 1.8. Liste de ports srie sous GNU/Linux (les ports UART inconnues n'existent pas) La commande setserial permet galement de voir les paramtres d'un port srie et de les modifier. Consultez la page ad hoc du manuel (man setserial) pour plus de renseignements.

Rfrences et liens pour approfondir


How serial ports work de How stuff works RS-232 serial port de ctips Serial howto de tldp Linux ppp du Linux forum

Home > Notes > Structure ordis > Here (GNU FDL) Jean-Etienne Poirrier, 2005-2009 -

Das könnte Ihnen auch gefallen