RS232 / EIA232

RS232/EIA232 qu'est-ce que c'est ?

RS signifie 'Recommanded Standard' soit en français standard recommandé.

Dans les années 1960, un comité, actuellement nommé 'Electronic Industries Association' (d'où le EIA232 des années 1990), a développé un standard d'interface de transmission de données en série entre équipements. A l'époque, il était prévu essentiellement pour des communications entre ordinateur et modem. Par la suite, il a été utilisé à d'autres fins comme la transmission de donnée entre des ordinateurs, entre un ordinateur et ces périphériques (imprimante, table traçante, …), entre un ordinateur et d'autres systèmes équipés de processeur tel les commandes numériques de machines outils, …

Ce standard défini les niveaux de tensions correspondant aux 1 et aux 0, le brochage des connecteurs, la fonction de chacun des signaux et un protocole d'échange des informations. Il permet des communications bi-directionnelles synchrone (les 2 équipements peuvent émettre en même temps, full duplex) ou asynchrone (les équipements émettent l'un après l'autre, half duplex). Il semble que l'utilisation la plus courante soit asynchrone.

Caractéristiques électriques

Tensions

Les tensions représentant les 1 et 0 sont relatives à la masse (0V) commune qu'il y a entre les 2 équipements. Elles sont définies comme suit :

Tension Etat
-Vmax à -3V 1 logique, marque (mark), en attente
-3V à 3V zone interdite, afin éliminer les problèmes dus aux bruits sur la ligne
3V à Vmax 0 logique, espace (space), actif

Version de la norme Vmax
RS232 48V
RS232A 25V
RS232B 12V
RS232C 5V

Les tensions extrêmes varient en fonction de la version de norme utilisée. Une si grande plage de tension peut engendrer des problèmes de dialogue entre 2 équipements. J'en ai personnellement fait l'expérience sur une installation où un ordinateur, grâce à un boîtier de commutation, fournissait les programmes à 2 machines. L'installation fonctionnait parfaitement jusqu'au jour où j'ai remplacé l'ordinateur. Sur une des 2 machines, le dialogue ordinateur / machine ne fonctionnait plus. Il s'agissait seulement du port série de l'ordinateur qui ne délivrait pas une tension suffisante pour être détecté par la machine à l'autre bout du câble.

Longueur et type de câbles

La longueur théorique du câble est de 15 mètres. Dans la pratique, on se rend compte qu'avec un câble de bonne qualité, on peut largement dépasser cette longueur. Il suffit de prendre des câbles blindés (général, ou mieux par pair) pour pouvoir porter cette longueur à 25-30 mètres. Avec des câbles à faible capacitance, il semblerait que 100 mètres soit envisageable.

Il m'est arrivé de tirer une ligne RS232 accrochée sur un canalis (alimentation en 380V alternatif de machines outils) à proximité de néons d'éclairage sur environ 40 mètres sans rencontrer de problèmes. Bien entendu, la puissance des émetteurs et récepteurs RS232 intervient tout comme la qualité des soudures réalisées sur les connecteurs.

Personnellement, j'utilisais un câble 10 conducteurs 0,22mm avec blindage général. N'ayant besoin que de 3 lignes, je doublais systématiquement les conducteurs et les étamaient une fois doublés. Les broches des connecteurs étaient elles aussi étamées préalablement à la soudure des conducteurs. Le doublement des conducteurs apporte une diminution de la résistance en ligne et une augmentation de la résistance mécanique au niveau du connecteur. De plus, si un brin casse, il reste l'autre ;-)

Un petit rappel, le blindage ne doit être connecté qu'à une des extrémités du câble sinon il ne remplit plus correctement son office d'immunité aux bruits.

Dans une documentation, quelqu'un proposait d'utiliser du câble catégorie 5 couramment utilisé pour réaliser des câblages réseaux. Cela permettait de bénéficier d'un câble de bonne qualité, produit en grande quantité donc peu cher.

Brochages

Ils sont dépendants du type d'équipement. Il y a 2 types d'équipement:

  • DTE (Data Terminal Equipment), équipement terminal de donnée, ordinateur par exemple.
  • DCE (Data Communication Equipment), équipement de communication de données, modem par exemple.

Connecteur 25 broches males (ordinateur ou DTE)

Broche Signal Type Utilisation
1 Blindage
2 TD Sortie Transmitted Data: donnée émise. Lorsque l'équipement est en attente, la sortie est au 1 logique.
3 RD Entrée Received Data: donnée reçue
4 RTS Sortie Request To Send: le passage au 0 logique demande à l'équipement opposé de se tenir prêt à recevoir.
5 CTS Entrée Clear To Send: le passage au 0 logique annonce que l'équipement opposé est prêt à recevoir.
6 DSR Entrée Data Set Ready: le passage au 0 logique annonce que l'équipement opposé est prêt. Dans le cas d'un modem, cela signifie qu'il est connecté à une ligne téléphonique en mode données, que la composition du numéro de téléphone est terminée et qu'il est après émettre un signal de réponse.
7 SG Signal Ground: masse de référence des signaux (0V)
8 CD Entrée Carrier Detect: le passage au 0 logique annonce que l'autre équipement recoit une réponse. Dans le cas d'un modem, il annonce que la connexion est établie et qu'il reçoit un signal de réponse de celui qui se trouve à l'opposé de la ligne téléphonique.
9
10
11
12 SCD Entrée Secondary Carrier Detect: idem CD pour le 2ème canal
13 SCTS Entrée Secondary Clear To Send: idem CTS pour le 2ème canal
14 STD Sortie Secondary Transmitted Data: idem TD pour le 2ème canal
15 TC Entrée Transmitter Clock: signal d'horloge utilisé lors de la connexion avec un modem en mode synchrone. Cela lui permet de contrôler le rhytme auquel sont envoyés les données par la broche TD de l'ordinateur.
16 SRD Entrée Secondary Received Data: idem RD pour le 2ème canal
17 RC Entrée Receiver Clock signal d'horloge utilisé lors de la connexion avec un modem en mode synchrone. Cela lui permet de contrôler le rythme auquel sont reçues les données par la broche RD de l'ordinateur.
18 LL Sortie Local Loopback: place le modem en mode test. Lorsque que l'on à un 0 logique, le modem boucle sa sortie téléphonique sur son entrée téléphonique, ce qui permet de tester le fonctionnement du modem.
19 SRTS Sortie Secondary Request To Send: idem RTS pour le 2ème canal
20 DTR Sortie Data Terminal Ready: le passage au 0 logique indique à l'autre équipement que l'on souhaite communiquer. Dans le cas d'un modem, cela prépare celui-ci à se connecter à une ligne téléphonique, et une fois connecté, à le rester.
21 RL Sortie Remote Loopback: place le modem distant en mode test. Lorsque que l'on à un 0 logique, le modem distant boucle son entrée téléphonique sur sa sortie téléphonique, ce qui permet de tester son fonctionnement.
22 RI Entrée Ring Indicator: le passage au 0 logique annonce que le modem reçoit un appel.
23 DSRS Sortie Data Signal Rate Selector: permet de sélectionner une des 2 vitesses de transmission préréglée. S'il est au 0 logique, la vitesse la plus haute est sélectionnée.
24 ETC Sortie External Transmitter Clock: utilisable uniquement si TC et RC ne sont pas utilisés. L'ordinateur émet ce signal d'horloge pour que le modem puisse se synchroniser.
25 TM Entrée Test Mode: indique que l'on est en mode test par RL ou LL.

Connecteur 9 broches males (ordinateur ou DTE)

Broche Signal Type Utilisation
1 CD Entrée Carrier Detect: le passage au 0 logique annonce que l'autre équipement reçoit une réponse. Dans le cas d'un modem, il annonce que la connexion est établie et qu'il reçoit un signal de réponse de celui qui se trouve à l'opposé de la ligne téléphonique.
2 RD Entrée Received Data: donnée reçue
3 TD Sortie Transmitted Data: donnée émise. Lorsque l'équipement est en attente, la sortie est au 1 logique.
4 DTR Sortie Data Terminal Ready: le passage au 0 logique indique à l'autre équipement que l'on souhaite communiquer. Dans le cas d'un modem, cela prépare celui-ci à se connecter à une ligne téléphonique, et une fois connecté, à le rester.
5 SG Signal Ground: masse de référence des signaux (0V)
6 DSR Entrée Data Set Ready: le passage au 0 logique annonce que l'équipement opposé est prêt. Dans le cas d'un modem, cela signifie qu'il est connecté à une ligne téléphonique en mode données, que la composition du numéro de téléphone est terminée et qu'il est après émettre un signal de réponse.
7 RTS Sortie Request To Send: le passage au 0 logique demande à l'équipement opposé de se tenir prêt à recevoir.
8 CTS Entrée Clear To Send: le passage au 0 logique annonce que l'équipement opposé est prêt à recevoir.
9 RI Entrée Ring Indicator: le passage au 0 logique annonce que le modem reçoit un appel.

Connecteur 25 broches (modem ou DCE)

Broche Signal Type Utilisation
1 Blindage
2 RD Entrée Received Data: donnée reçue
3 TD Sortie Transmitted Data: donnée émise. Lorsque 'équipement est en attente, la sortie est au 1 logique.
4 CTS Entrée Clear To Send: le passage au 0 logique nnonce que l'ordinateur nous demande d'être prêt recevoir.
5 RTS Sortie Request To Send: le passage au 0 logique indique que l'on est prêt à recevoir.
6 DSR Sortie Data Set Ready: le passage au 0 logique indique que l'on est prêt.
7 SG Signal Ground: masse de référence des signaux (0V)
8 CD Sortie Carrier Detect: le passage au 0 logique indique à l'ordinateur que l'on reçoit une réponse.
9
10
11
12 SCD Sortie Secondary Carrier Detect: idem CD pour le 2ème canal
13 SRTS Sortie Secondary Request To Send: idem RTS pour le 2ème canal
14 SRD Entrée Secondary Received Data: idem RD pour le 2ème canal
15 TC Sortie Transmitter Clock: signal d'horloge permettant de contrôler le rythme auquel sont envoyés les données par la broche TD de l'ordinateur.
16 STD Sortie Secondary Transmitted Data: idem TD pour le 2ème canal
17 RC Sortie Receiver Clock signal d'horloge permettant de contrôler le rythme auquel sont reçues les données par la broche RD de l'ordinateur.
18 LL Entrée Local Loopback: annonce que l'ordinateur nous demande de passer en mode test.
19 SCTS Entrée Secondary Clear To Send: idem CTS pour le 2ème canal
20 DTR Entrée Data Terminal Ready: le passage au 0 logique annonce que l'ordinateur souhaite communiquer
21 RL Entrée Remote Loopback: annonce que l'ordinateur souhaite que le modem distant passe en mode test.
22 RI Sortie Ring Indicator: le passage au 0 logique indique à l'ordinateur que l'on reçoit un appel.
23 DSRS Entrée Data Signal Rate Selector: permet de sélectionner une des 2 vitesses de transmission préréglée. S'il est au 0 logique, la vitesse la plus haute est sélectionnée.
24 ETC Entrée External Transmitter Clock: utilisable uniquement si TC et RC ne sont pas utilisés. L'ordinateur émet ce signal d'horloge pour que l'on puisse se synchroniser.
25 TM Sortie Test Mode: indique à l'ordinateur que l'on est en mode test par RL ou LL.

Connecteur 9 broches femelles (modem ou DCE)

Broche Signal Type Utilisation
1 CD Sortie Carrier Detect: le passage au 0 logique indique à l'ordinateur que l'on reçoit une réponse.
2 TD Sortie Transmitted Data: donnée émise. Lorsque l'équipement est en attente, la sortie est au 1 logique.
3 RD Entrée Received Data: donnée reçue
4 DTR Entrée Data Terminal Ready: le passage au 0 logique annonce que l'ordinateur souhaite communiquer
5 SG Signal Ground: masse de référence des signaux (0V)
6 DSR Sortie Data Set Ready: le passage au 0 logique indique que l'on est prêt.
7 CTS Entrée Clear To Send: le passage au 0 logique annonce que l'ordinateur nous demande d'être prêt recevoir.
8 RTS Sortie Request To Send: le passage au 0 logique indique que l'on est prêt à recevoir.
9 RI Sortie Ring Indicator: le passage au 0 logique indique à l'ordinateur que l'on reçoit un appel.

Une des difficultés consiste donc à savoir comment à été conçu l'équipement qui vous intéresse. Est-il configuré comme un DTE ou comme un DCE ?

Voici comment procéder (les indications sont données pour un connecteur 25 broches):

  • A l'aide d'un voltmètre (tension continue), placez la pointe de touche noire sur la broche 7
  • Mesurez les tensions entre cette broche et les broches 2 et 3
  • Si la valeur de tension obtenue pour la broche 2 est plus négative que celle de la broche 3, cela signifie que l'on est configuré en DTE, sinon on est en DCE.

Adaptateur 9 broches / 25 broches

Connecteur 9 broches Connecteur 25 broches
1 8
2 3
3 2
4 20
5 7
6 6
7 4
8 5
9 11

Connecteur RJ45 ou RS232D (ordinateur ou DTE)

RJ45

Broche Signal Type Utilisation
1 DSR Entrée Data Set Ready: le passage au 0 logique annonce que l'équipement opposé est prêt. Dans le cas d'un modem, cela signifie qu'il est connecté à une ligne téléphonique en mode données, que la composition du numéro de téléphone est terminée et qu'il est après émettre un signal de réponse.
2 CD Entrée Carrier Detect: le passage au 0 logique annonce que l'autre équipement reçoit une réponse. Dans le cas d'un modem, il annonce que la connexion est établie et qu'il reçoit un signal de réponse de celui qui se trouve à l'opposé de la ligne téléphonique.
3 DTR Sortie Data Terminal Ready: le passage au 0 logique indique à l'autre équipement que l'on souhaite communiquer. Dans le cas d'un modem, cela prépare celui-ci à se connecter à une ligne téléphonique, et une fois connecté, à le rester.
4 SG Signal Ground: masse de référence des signaux (0V)
5 RD Entrée Received Data: donnée reçue
6 TD Sortie Transmitted Data: donnée émise. Lorsque l'équipement est en attente, la sortie est au 1 logique.
7 CTS Entrée Clear To Send: le passage au 0 logique annonce que l'équipement opposé est prêt à recevoir.
8 RTS Sortie Request To Send: le passage au 0 logique demande à l'équipement opposé de se tenir prêt à recevoir.

Câblages courants

Le théorique de la norme (DTE avec DCE)

Théorique

25 broches - 25 broches (DTE avec DTE)

DB25 F / DB25 F

9 broches - 25 broches (DTE avec DTE)

DB9 F / DB25 F

9 broches - 9 broches (DTE avec DTE)

DB9 F / DB9 F

CTS / RTS 25 broches - 25 broches (DTE avec DTE)

DB25 F / DB25 F + CTS/RTS

CTS / RTS 9 broches - 25 broches (DTE avec DTE)

DB9 F / DB25 F + CTS/RTS

CTS / RTS 9 broches - 9 broches (DTE avec DTE)

DB9 F / DB9 F + CTS/RTS

Connecteurs de test

25 broches avec rebouclage

DB25 F / test

9 broches avec rebouclage

DB9 F / test

Espion RS232

DB9 F / DB9 M / DB9 F

Contrôle de flux

Matériel (CTS/RTS)

Dans les explications suivantes, l'équipement qui envoie les données sera appelé l'émetteur et celui qui les reçoit le récepteur, quand bien même ils sont en fait émetteur et récepteur.

L'émetteur envoie des données. Le récepteur les stocke dans une mémoire tampon. Lorsque cette mémoire atteint un seuil de remplissage défini, le récepteur supprime son signal CTS (passage au 1 logique). L'émetteur arrête immédiatement d'envoyer des données. Le récepteur continue de traiter les données qu'il a dans sa mémoire tampon. Lorsque sa mémoire tampon arrive au seuil espace libre suffisant, il remet le signal CTS (passage au 0 logique). L'émetteur se remet à envoyer des données. Le cycle recommence jusqu'à ce que toutes les données aient été envoyées.

Logiciel (XON/XOFF)

Dans les explications suivantes, l'équipement qui envoie les données sera appelé l'émetteur et celui qui les reçoit le récepteur, quand bien même ils sont en fait émetteur et récepteur.

L'émetteur envoie des données. Le récepteur les stocke dans une mémoire tampon. Lorsque cette mémoire atteint un seuil de remplissage défini, le récepteur envoie le code XOFF ( caractère de code décimal 17) à l'émetteur. L'émetteur arrête immédiatement d'envoyer des données. Le récepteur continue de traiter les données qu'il a dans sa mémoire tampon. Lorsque sa mémoire tampon arrive au seuil espace libre suffisant, il envoie le code XON (caractère de code décimal 19) à l'émetteur. L'émetteur se remet à envoyer des données. Le cycle recommence jusqu'à ce que toutes les données aient été envoyées.

Ports série sur PC

Sur PC, les ports séries sont courament configurés comme suit:

Numéro du port Adresse Irq
1 3F8H 4
2 2F8H 3
3 3E8H 4
4 2E8H 3

Glossaire

Bauds
C'est le nombre de changement d'état de la ligne pendant une secondes. Cela correspond au nombre de bits par seconde dans le cas d'une liaison directe par câble. Ce n'est pas le cas pour un modem qui va utiliser d'autres techniques telles que la compression et la modulation de phase pour augmenter le nombre de bits par seconde transmis. Le nombre de baud étant dépendant de la ligne téléphonique utilisée.
Parité
Il s'agit d'un bit qui peut être rajouté à la suite des bits de données.
Parité paire (even)
le bit transmis est un 0 logique si le nombre de 1 logique des bits de données est paire. C'est un 1 logique dans le cas contraire.
Parité impaire (odd)
le bit transmis est un 0 logique si le nombre de 1 logique des bits de données est impaire. C'est un 1 logique dans le cas contraire.
Parité espace (space)
le bit transmis est toujours un 0 logique.
Parité marque (mark)
le bit transmis est toujours un 1 logique.
Pas de parité
on n'ajoute pas de bit de parité.
Bits de données
C'est le nombre de bits (0 ou 1 logique) transmis afin de coder un caractère. Si l'on est en 7 bits, la valeur décimale du caractère pourra aller de 0 à 127. Si l'on est en 8 bits, la valeur décimale du caractère pourra aller de 0 à 255.
Bits de start
C'est un bit au 0 logique qui définit le début de la donnée à transmettre.
Bits de stop
C'est un ou plusieurs (1,1.5,2) bits au 1 logique qui définissent la fin de la donnée transmise. Leur nombre défini la durée pendant laquelle on se trouve au 1 logique (1 fois, 1.5 fois ou 2 fois la durée d'un bit de donnée).
Simplex
La communication est unidirectionnelle. Elle ne se produit que dans un sens, de l'émetteur vers le récepteur.
Half duplex
Les 2 équipements peuvent émettre et recevoir. Ils sont tour à tour émetteur ou récepteur. Ils ne peuvent émettre en même temps.
Full duplex
Les 2 équipements peuvent émettre et recevoir. Ils peuvent simultanément émettre et recevoir.
Blindage
C'est une tresse métallique qui entoure un câble ou des conducteurs. Son rôle est de protéger les conducteurs qu'elle contient des parasites environnent.
Câble UTP/STP
UTP = Unshield Twisted Pair = paire torsadée non blindé
STP = Shield Twisted Pair = paire torsadée blindée

Licence

Ce logiciel est libre au sens de la 'GNU General Public License' (version 2) de la Free Software Foundation . Il est fourni en l'état et sans aucune garantie.

Téléchargement

La documentation au format PDF: fr_rs232.pdf

Historique du document

Date Version Auteur Description des modifications
9 juillet 2000 Alain JAFFRE Dans ma vie professionnelle, j'utilisais la liaison RS232 pour effectuer des transferts de programmes entre 2 équipements. Voulant écrire mon propre programme de transmission (voir la partie programmes), il m'a fallu en savoir plus.
6 janvier 2002 Alain JAFFRE Remise en forme du document pour le rendre plus lisible et facilement imprimable
1 avril 2002 Alain JAFFRE Ajout des configurations courantes des ports séries sur PC
6 octobre 2002 Alain JAFFRE Ajout des différentes versions de la norme pour les tensions. Ajout connectique RS232D
4 octobre 2003 Alain JAFFRE Correction du schéma CTS / RTS 9 broches - 9 broches (DTE avec DTE). Oubli des croisements 7 et 8.

La dernière version est disponible sur: http://jack.r.free.fr. Vous y trouverez aussi des programmes de transmission via RS232.