Duplex (canal de communication)

Un article de Wikipédia, l'encyclopédie libre.

Pour les articles homonymes, voir Duplex.

Le terme duplex est utilisé pour désigner un canal de communication. On différencie différents canaux :

  • simplex qui transporte l'information dans un seul sens
  • half-duplex permet le transport d'information dans les deux directions mais pas simultanément.
  • full-duplex pour lesquels l'information est transportée simultanément dans chaque sens.

Un exemple de canal simplex est la radiophonie telle la Radio FM. Les informations sont envoyées à partir d'une station émettrice et reçues sur un poste. Les auditeurs ne peuvent pas répondre.

La liaison half-duplex peut être comparée à une communication avec des talkies-walkies, l’un parle (l’autre ne peut parler en même temps) et lorsqu’il lâche le bouton (signal de fin de conversation) l’autre peut parler à son tour.

Le full-duplex est très souvent l'association de deux canaux simplex, comme une autoroute est l'association de deux routes à un seul sens. La liaison full-duplex peut être comparée à une conversation téléphonique. Les deux interlocuteurs peuvent parler en même temps.

Explication technique:

Exemple de liaison full-duplex (protocole Xon/Xoff) : Dans ce protocole, la synchronisation de l'émetteur et du recepteur est assurée de facon logicielle (controle de flux programmé). Quand le tampon de reception est presque plein, le recepteur envoie vers l'emetteur, sur la ligne utilisée pour transférer les données, le code ASCII 13h (appelé DC3 pour Device Control 3) pour demander une suspension du transfert. Lorsque les données ont éte traitées et que le tampon de réception est presque vide, le récepteur envoie le code ASCII 11h (pour Device Control 1) et le transfert reprend. L'emetteur doit donc surveiller en permanence l'eventuelle arrivée d'un code DC1 ou DC3.

Exemple de liaison half-duplex (protocole ETX/ACK) : Dans ce protocole, les données sont envoyées par blocs (trames). L'émetteur envoie un bloc de données auquel il ajoute le code ASCII 03h (appelé ETX pour End of Text) puis se met en attente. De son coté, le récepteur traite les données et renvoie à l'émetteur le code ASCII 06h (appelé ACK pour ACKnowledge) pour signaler qu'il a bien reçu le bloc de données précédent et qu'il est prêt à recevoir de nouveau des données. Le récepteur peut dans certains cas renvoyer le caractere ASCII 21h (appelé NACK pour Negative ACKnowledge) pour signaler qu'il a détecté une erreur dans la transmission.