Root » Serveurs » Chauffage » Technique » Protocoles de communication
Processus industriels
Protocoles de communication
 
Quelques protocoles de communication standardisés utilisés dans l'industrie
-

-

L'industrie utilise souvent des boucles de mesure de 4-20mA, mais il existe d'autres protocoles de communication. Dans sa version standard, la boucle 4-20mA est un protocole analogique, mais qui est peu sensible aux parasites grâce à l'utilisation d'un courant au lieu d'une tension.

Bon nombre de protocoles numériques ont disparu, parce qu'ils ne sont pas utilisables dans un environnement industriel: le bus parallèle qui permet en théorie de transmettre les données 10× plus vite n'a pas survécu. Le protocole USB ne peut être utilisé que sur de courtes distances.

Transmission série

La transmission série est un protocole général qui permet l'envoi de données sous forme sérielle. Un des grands avantages, c'est qu'il ne faut que 3 lignes pour une communication full duplex: une ligne TX (transmission) connectée à la ligne RX de l'autre appareil et une ligne RX (réception) connectée à la ligne TX de l'autre appareil. Il faut également un référentiel (niveau zéro).

En cas de transmission dans un seul sens (simplex) une liaison avec deux fils suffit. Il s'agit par exemple d'envoyer des données d'un microprocesseur à un écran LCD.

L'avantage de cette norme, c'est qu'elle est standardisée depuis les années 1960 et simple à implémenter en pratique. Elle était utilisée à l'origine pour brancher un téléscripteur (machine à écrire commandée à distance) à un modem. La communication était déja duplex, la machine à écrire avait un clavier normal.

Plus tard, quand on a utilisé des terminaux d'ordinateur (écran et clavier électronique), la norme est restée. Le protocole VT-100 permettait la communication entre un ordinateur central et un terminal (avec clavier). La norme VT-100 ajoutait simplement certains codes de mise en page (effacement écran, positionnement du curseur,...), mais la communication était sérielle classique.

A partir des années 1980 jusqu'au années 2000, les ordinateurs avaient un ou plusieurs ports de communication sériels (appellés ports COM). Les ports COM étaient utilisés pour y connecter certains périphériques, notament des souris, des modems, certaines imprimantes,... Grâce à ce port série, les ordinateurs pouvaient également fonctionner comme un terminal VT-100.

Sur les ordinateurs, les ports COM ont été remplacés par des ports USB plus rapides à partir des années 2000. Le débit qui était suffisant pour transférer des données texte ne l'était plus quand il fallait transférer des images ou des animations.

Mais les automates programmables industriels (API), les machines-outils et d'autres applications continuent à utiliser le protocole série car il est simple. Il ne nécessite pas de processeur spécifique, simplement un régistre qui stocke les données octet par octet.

  • Certaines applications embarquées (par exemple le GPS) transmettent les données reçues via une ligne sérielle.
  • Les serveurs peuvent être commandés à distance via un port série (le serveur se comporte alors comme un terminal VT-100). C'est important lors du démarrage quand il n'y a pas encore de système d'exploitation actif.

Mais précisons les caractéristiques de la communication série.

Connectique

Pour la connection de différents appareils, on utilise de préférence le connecteur DB-9 (en fait DE-9, mais tout le monde l'appelle DB-9 par analogie avec les ports DB-15 (vidéo) et DB-25). Il dispose de 9 lignes, dont on n'en utilise que quelques unes en général.

Le connecteur DB-25 avec encore plus de lignes n'a pas été utilisé très longtemps, la plupart des lignes n'étant pas nécessaires.

Pour la connection d'un ordinateur (DTE) à un périphérique (DCE), on utilise un cable normal (non croisé), les broches ayant une fonction différente selon le type d'appareil. La broche 2 (TxD, transmit data) est une sortie sur l'ordinateur et une entrée sur le périphérique et la broche 3 (RxD, receive data) est une entrée sur le DTE et une sortie sur le DCE.

Pour la connection de deux ordinateurs entre eux, il faut utiliser un cable spécial (null modem) qui a un brochage croisé, pour que la sortie 2 aille à l'entrée 3. Le terme null modem signifie en fait qu'on élimine le modem entre les deux ordinateurs en les connectant directement entre eux, sans périphérique.

Il s'agit d'une norme hardware (appareil terminal et appareil périphérique) et non d'une norme logicielle (client et serveur). Selon la norme sérielle, le serveur et le client sont tous deux des terminaux.

Nous décrivons ici la dénomination des broches. On voit que le cable a principalement été utilisé pour connecter un ordinateur (ou un terminal VT-100) à un modem:


    DTE: Data Terminal Equipment,
    c'est l'appareil en bout de ligne ("terminal"), par exemple un ordinateur

    DCE: Data Communication Equipment,
    c'est l'appareil périphérique qui communique avec l'extérieur.

  • - Protective ground:
    Tresse de masse qui relie les deux appareils

  • 1 DCD Data Carrier Detect:
    Le périphérique (modem) signale à l'ordinateur qu'il reçoit le signal modulé de l'autre modem (la communication entre les deux modems est établie)

  • 2 RxD Received Data:
    Données reçues par l'ordinateur

  • 3 TxD Transmitted Data:
    Données envoyées par l'ordinateur

  • 4 DTR Data Terminal Ready:
    Signale que l'ordinateur est prêt. Si l'ordinateur n'est pas ou plus prêt, le périphérique coupe la communication avec l'autre périphérique (en pratique, il libère la ligne).

  • 5 Signal Ground:
    Potentiel zéro (masse)

  • 6 DSR Data Set Ready:
    Signale que le périphérique est prêt

  • 6 RTS Request To Send:
    L'ordinateur demande au périphérique de se préparer à émettre. Cette ligne était à l'origine utilisée pour les communication half-duplex (où un des appareils pouvait envoyer des données à la fois). Plus tard, la ligne a été utilisée pour signaler RTR Ready To Receive quand l'ordinateur est prêt à recevoir des données. La ligne est alors mise à 0 quand la mémoire-tampon de l'ordinateur est remplie et qu'il ne peut plus recevoir plus de données.

  • 8 CTS Clear to Send:
    Le périphérique est prêt à recevoir des données (de l'ordinateur). La ligne est mise à 0 quand la mémoire tampon du périphérique est remplie.

  • 9 RI Ring Indicator:
    Signale un appel entrant, permet à un ordinateur qui est en veille de se réveiller (hardware interrupt) pour recevoir l'appel. Cette ligne était par exemple utilisée pour les Bulletin Board Systems: l'ordinateur en attente était alors activé et prenait la ligne.
Le cable RS-232 prévoit un controle du flot de données (hardware flow control) en utilisant les lignes RTR/CTS. Un controle alternatif du flot de données était également possible car certains cables série n'utilisaient pas toutes les broches. Il s'agit alors d'un controle logiciel de flot (software flow control ou XON/XOFF flow control). Quand la mémoire tampon d'un appareil risque de déborder, l'appareil envoie un code XOFF sur sa ligne de données sortantes. Les codes XON et XOFF sont des codes ASCII qui ne sont normalement pas utilisés.

Pour une connection d'un ordinateur à un écran LCD, il suffit de deux connections: protective ground et signal ground (connectés ensembles) et TxD. Un exemple est donné à droite, l'écran LCD a 3 connections: masse, RX et alimentation de 5V (VDD). S'il faut une communication full duplex, il suffit de 3 fils ground, TxD et RxD (et éventuellement une alimentation).

Niveaux électriques

La communication série a été définie avec des tensions assez spécifiques: à cette époque les ordinateurs nécessitaient plusieurs tensions de fonctionnement. Cela se voit aux alimentations d'ordinateur qui produisent les tensions de +5V, -5V, +12V et -12V.

En principe, un niveau "1" est indiqué par une ligne à un potentiel de -3V à -15V. Au repos, la ligne est également à ce potentiel. Un "0" est codé par une tension de +3V à +15V. La zone entre -3V et +3V n'est pas définie.

L'envoi d'un octet commence par un bit de démarrage, suivi des 8 bits de données et d'un bit d'arrêt. Le récepteur détermine les bits en se basant sur le débit de la transmission, qui est généralement de 9600 baud: après le premier bit de démarrage, le bit suivant est attendu 104ms plus tard, et ainsi de suite jusqu'au bit d'arrêt. Si les deux appareils ne sont pas réglés sur le même débit, ils ne peuvent pas communiquer. La fréquence des bits est fixe pour permettre le décodage. En 9600 baud, un bit est transmis toutes les 104µs environ. Chaque byte est transmis de manière indépendante (non synchronisée). On peut transmettre environ 900 bytes par seconde.

Il s'agit d'une communication asynchrone, les données sont émises à n'importe quel moment: les données ne sont pas mises en paquet. Le timing à l'intérieur d'un octet doit par contre être respecté. Il n'y a pas de signal d'horloge et le signal peut être décodé si l'erreur entre les deux horloges locales (celle de l'émetteur et celle du récepteur) ne dépasse pas 10%.

En plus du bit d'arrêt, certains protocoles utilisent un bit de parité: cela n'est pas précisé dans le standard RS232. En principe un autre codage que le codage ASCII est possible (EBCDIC utilisé par les mainframes dans les années 1970 - 1990).

Bon, mais voila, les niveaux du port série ne sont pas adaptés aux systèmes modernes (automates, microprocesseurs,...) qui ne fonctionnent qu'avec deux tensions: 0 et 5V (et parfois même 3.3V).

Les convertisseurs de niveau permettent d'adapter les niveaux, par exemple un ordinateur avec port COM qui utilise les niveaux standards et un écran LCD qui utilise les niveaux TTL.

Certains appareils récents utilisent des niveaux TTL (0 et 5V). Il s'agit de communication locale, par exemple d'un microcontrolleur à un écran LCD. Notez que ces niveaux sont inverse des niveaux série: au repos la ligne se trouve à +5V et un "1" est indiqué par un niveau haut (logique positive).

La communication série TTL est limitée à une communication locale. Pour transmettre des données à plus longue distance, il faut utiliser une vraie communication RS-232. Grâce aux niveaux plus élevés, la communication est mieux à l'abri des parasites. Mais malgré tout, la distance maximale admissible est d'environ 15m.

Petit détour historique

Les premiers lecteurs de carte de mémoire, apparus dans les années 1990 (avec les premiers appareils photos numériques) avaient une interface sérielle (le port USB n'était pas encore utilisé). Les photos avaient une résolution de 1024×768 et les fichiers une taille de fichier de 225kB (les routines de compression n'étaient pas encore au point à cette époque).

Pour transmettre le contenu de la carte Smartmedia de 4MB (environ 20 photos), cela prenait... une heure (plus longtemps que de développer les photos argentiques). C'est à ce moment qu'on c'est rendu compte qu'un système plus rapide était nécessaire, et c'est ainsi que sont apparus les ports USB.

Publicités - Reklame

-