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.
⇑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.
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.
⇑Ils sont dépendants du type d'équipement. Il y a 2 types d'équipement:
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. |
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. |
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. |
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):
Connecteur 9 broches | Connecteur 25 broches |
---|---|
1 | 8 |
2 | 3 |
3 | 2 |
4 | 20 |
5 | 7 |
6 | 6 |
7 | 4 |
8 | 5 |
9 | 11 |
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. |
⇑
⇑
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.
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.
⇑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 |
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.
⇑La documentation au format PDF: fr_rs232.pdf
⇑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.
⇑