RS-232

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis EIA-232)
Aller à : navigation, rechercher
Pile de protocoles
7. Application
6. Présentation
5. Session
4. Transport
3. Réseau
2. Liaison
1. Physique

Modèle Internet
Modèle OSI

RS-232 (parfois appelée EIA RS-232, EIA 232 ou TIA 232) est une norme standardisant un bus de communication de type série sur trois fils minimum (électrique, mécanique et protocole). Disponible sur presque tous les PC jusqu'au milieu des années 2000, il est communément appelé le « port série ». Sur les systèmes d'exploitation MS-DOS et Windows, les ports RS-232 sont désignés par les noms COM1, COM2, etc. Cela leur a valu le surnom de « ports COM », encore utilisé de nos jours. Cependant, il est de plus en plus remplacé par le port USB.

Le standard RS-232 recouvre plusieurs autres standards : les recommandations UIT-T V.24 (définition des circuits) et V.28 (caractéristiques électriques), ainsi que la norme ISO 2110 pour la connectique.

Les liaisons RS-232 sont fréquemment utilisées dans l'industrie pour connecter différents appareils électroniques (automate, appareil de mesure, etc.).

Description[modifier | modifier le code]

Prise femelle extrémité de câble type DE-9

La connectique de cette liaison se présente fréquemment sous la forme du connecteur DE-9 ou DB-25, mais peut aussi être d'un autre type (RJ25). Seule la version DB-25 est vraiment standardisée, la DE-9 (très souvent appelée DB-9 dans le commerce) est une adaptation d'IBM lors de la création du PC AT. La transmission des éléments d'information (ou bit) s'effectue bit par bit, de manière séquentielle. Cette transmission est décrite sur la page communication série.

Utilisation[modifier | modifier le code]

Un connecteur DE-9 (Improprement appelé DB-9) mâle utilisé comme port série sur un ordinateur personnel

Vous pouvez voir au-dessus du port sur la photo ci-contre, le symbole pour les liaisons séries, représenté par les bits 0, 1 puis 0.

Placé à l'arrière de l'ordinateur, il était souvent occupé par une souris ou un modem de type RTC, il pouvait aussi être utilisé pour le transfert des clichés numériques depuis l'appareil photo vers le disque dur du PC.

Bien que ce port de communication ait tendance à être remplacé par l'USB sur les PC, il reste encore très utilisé dans l'industrie, notamment grâce à sa robustesse et à sa simplicité. Ainsi, ce port est toujours d'actualité, en particulier dans les systèmes automatisés : le transfert de Grafcets ou bien de lignes de programme pour machines-outils à commande numérique s'effectuent toujours par liaison RS-232.

De même, de nombreux terminaux embarqués (qu'ils soient GPS, modems, terminaux graphiques, etc.) utilisent le RS-232 comme méthode principale de communication avec l'extérieur. Fréquemment, les périphériques réseau (routeurs, commutateurs, etc.) sont équipés d'un port RS-232 au travers duquel il est possible de les configurer.

Néanmoins, les pc portables munis de ports séries deviennent de plus en plus difficile à trouver. En effet, très peu de constructeurs proposent encore ce type de ports.

En cas d'absence de port RS 232, il existe des adaptateurs USB/port série.

Haute disponibilité[modifier | modifier le code]

Pour la haute disponibilité, une liaison RS-232 est parfois utilisée : deux serveurs fonctionnent en cluster et ils se surveillent l'un l'autre via une liaison RS-232. C'est le cas par exemple de Heartbeat[1]

Spécification[modifier | modifier le code]

Le standard RS-232 permet une communication série, asynchrone et duplex entre deux équipements.

Portée du standard[modifier | modifier le code]

En règle générale une jonction numérique entre un Équipement terminal de traitement de données (ETTD, en anglais DTE) et un équipement terminal de circuit de données (ETCD, en anglais DCE), située au niveau 1 du modèle OSI, se définit par trois paramètres : les circuits, les niveaux électriques et le brochage. Ce sont ces trois éléments qui sont couverts par le standard RS-232.

Plus précisément, le standard RS-232 spécifie :

  • La fonction de chaque circuit de jonction. Cela correspond à la norme UIT-T V.24, dans laquelle ces circuits sont numérotés dans la série 100 (102 retour commun, 103 émission de données, 104, etc.).
  • Les caractéristiques électriques de la liaison : niveaux de tension, débits possibles, etc. Cela correspond à la norme UIT-T V.28.
  • Les caractéristiques mécaniques pour les connecteurs et l'identification des contacts. Dans le cas d'un connecteur DB-25, cela correspond à la norme ISO 2110.

Par contre le standard ne définit pas :

  • Le codage des caractères (ASCII, Code Baudot ou EBCDIC par exemple).
  • La façon dont les caractères sont répartis en trames.
  • Les protocoles de détection d'erreur ou les algorithmes de compression de données.
  • Les débits de transmission : seule une limite supérieure de 20 000 bauds est indiquée.
  • La fourniture de courant électrique à des périphériques.

Mécanique[modifier | modifier le code]

  • Le standard spécifie initialement l'utilisation de connecteurs DB-25 mâle du côté DTE (Data Terminal Equipement), et DB-25 femelle du côté DCE (Data Communications Equipment) (modem).
  • Les connecteurs DE-9 ont rapidement remplacé les DB-25, pour des raisons de taille de connecteur et d'économie de câblage, tous les signaux n'étant pas indispensables à la communication.
  • Entre un DTE et un DCE, le câblage est droit : les broches sont connectées une à une de part et d'autre. Un tel câble est muni de connecteurs de genres différents (un mâle et un femelle). Ces câbles peuvent être connectés en série (comme des « rallonges »).
  • Dans les configurations où deux DTE sont directement connectés (c'est-à-dire en l'absence de modem), un câble de liaison croisé dit « Null modem » doit être utilisé. Il est muni de connecteurs femelle à chaque extrémité, et possède un câblage spécifique, qui n'était pas prévu par la norme.

Schéma usuel de raccordement d'un câble « Null modem » à 25 broches (symétrique) ; en gras les signaux croisés : Attention, câblage à vérifier !!

Dir Dénomination (côté DTE)
1 --- 1 PG Masse de blindage (protection électromagnétique)
3 2 TxD Données à transmettre
2 3 RxD Réception des données
5 4 RTS Demande de transmission
4 5 CTS Prêt pour transmission
20 6 DSR Envoyez les données
7 --- 7 SG/GND 0 Volt électrique
20 8 DCD Détection d'un signal sur la ligne
9 --- 9 + Tension
10 --- 10 - Tension
11 --- 11
12 --- 12 SDCD Deuxième Détection de signal sur la ligne
19 13 SCTS Deuxième Prêt pour transmission
16 14 STD Deuxième Transmission des données
17 15 ST Signal d'horloge pour transmission de données
14 16 SRD Deuxième Réception des données
15 17 RT Signal d'horloge pour réception de données
18 DTE demande le rebouclage du DCE local
13 19 SRTS Deuxième Demande de transmission
6 20 DTR Données prêtes
21 DTE demande le rebouclage du DCE distant
22 22 RI Indicateur de sonnerie
23 Signal de sélection de vitesse
17,24 24 TT Horloge de transmission
25 DCE en test de rebouclage

Note : l'éventuel signal d'horloge émis par le terminal (DTE) en pin 24 est reçu par l'ordinateur (DCE) en pin 17. L'éventuel signal d'horloge émis par le DCE en pin 15 est reçu par le DTE en pin 17.[réf. nécessaire]

Protocole[modifier | modifier le code]

Oscillogramme de la transmission du caractère K (01001011), avec un bit de départ et un bit d'arrêt.

Pour établir une communication effective via RS-232, il est nécessaire de définir le protocole utilisé : notamment, le débit de la transmission, le codage utilisé, le découpage en trame, etc. La norme RS-232 laisse ces points libres, mais en pratique on utilise souvent des UART qui découpent le flux en trames d'un caractère ainsi constituées :

  • 1 bit de départ ;
  • 7 à 8 bit de données ;
  • 1 bit de parité optionnel ;
  • 1 ou plusieurs bits d'arrêt.

Le bit de départ a un niveau logique "0" tandis que le bit d'arrêt est de niveau logique "1". Le bit de donnée de poids faible est envoyé en premier suivi des autres.

Application: pour générer un signal électrique alternatif carré (rapport cyclique 1:1) sur le port série, imprimer une suite consécutive de U (01010101) ce qui donne dans le temps 0(départ)10101010(U, du lsb au msb)1(arrêt) donc 0101010101 (010101010101010101010101010101 = UUU) avec 8 bits de donnée, 1 bit départ, 1 bit arrêt et 0 bit de parité. Les niveaux électriques sont inversés (voir ci-dessous)

La spécification RS-232 prescrit des débits inférieurs à 20 000 bit/s. Cependant, les débits utilisés en pratique varient entre 75 bit/s et 115 200 bit/s.

Électrique[modifier | modifier le code]

Un niveau logique "0" est représenté par une tension de +3V à +25V et un niveau logique "1" par une tension de -3V à -25V (codage NRZ). D'ordinaire, des niveaux de +12V et -12V sont utilisés.

La norme V.28 indique qu'un 1 est reconnu si la tension est inférieure à -3 V, et un 0 est reconnu si la tension est supérieure à +3 V.

Limites[modifier | modifier le code]

Longueur maximum de câble RS232[2]

Débit (bit/s) Longueur (pieds) Longueur (m)
19 200 50 15
9 600 500 150
4 800 1 000 300
2 400 3 000 900

Notes et références[modifier | modifier le code]

  1. Cluster High Availability linux avec HeartBeat
  2. (en) RS232 Specifications and standard, sur le site lammertbies.nl, consulté le 22 mars 2013

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]