Dernière mise à jour : 29/08/2010
Présentation
Le présent article décrit l'utilisation d'une
boucle de courant pour transmettre des informations
logiques d'un point à un autre sur de longues distances et/ou en milieu
ambiant perturbé (RS422 ou RS485). Il est fait usage d'un MAX487 pour
assurer la conversion tension (TTL) vers boucle de courant (RS422 ou
RS485) ou inversement.
Schéma de test
Le circuit permet d'assurer une
liaison en mode point à point en half-duplex, on peut
échanger des données dans les deux sens mais pas en même temps. Deux
MAX487 sont mis
en oeuvre, un à chaque extrémité de la liaison.

Sens de transmission des données
Le MAX487 intègre dans un même boitier un module émetteur et un
module récepteur. En mode half-duplex, un seul de ces modules (dans un
même circuit MAX487) doit fonctionner à un instant donné. Cela est
rendu possible par des entrées d'activation qui rendent actifs ou
inactifs ces modules de réception ou d'émission :
- l'entrée de
commande RE barre permet d'activer le module de réception
(convertisseur RS4xx vers TTL). Quand cette entrée est à l'état logique
bas, le module de réception est activé. Quand cette entrée est à l'état
logique haut, le module de réception est désactivé.
- l'entrée de commande DE permet d'activer le module d'émission
(convertisseur TTL vers RS4xx). Quand cette entrée est à l'état logique
haut, le module d'émission est activé. Quand cette entrée est à l'état
logique bas, le module d'émission est désactivé.
Cette
complémentarité entre les deux entrées de commande RE Barre et DE est
bien pratique. Il suffit en effet de les relier ensemble pour être sûr
qu'un seul module (réception ou émission) est activé à la fois. En
procédant ainsi des deux côtés de la liaison, on se rappellera
simplement que lesdites entrées doivent être à l'état bas d'un côté et
à l'état haut de l'autre. En analysant le schéma proposé ci-avant, on
peut en déduire les faits suivants :
-
Pour transmettre les données Data1 de la "gauche vers la droite"
(Data1_Tx vers Data1_Rx), il faut que SW1 soit en position
haute (entrées RE Barre et DE de U1 au +5 V) et que SW2 soit en
position basse (entrées RE Barre et DE de U2 à la masse).
- Pour transmettre les données Data2 de la "droite vers la gauche"
(Data2_Tx vers Data2_Rx), il faut que SW1 soit en position
basse (entrées RE Barre et DE de U1 à la masse) et que
SW2 soit en position haute (entrées RE Barre et DE de U2 au +5 V).
Si les deux circuits U1 et U2 sont en mode émission en même temps, il
y a conflit sur les lignes de la liaison filaire. Cela n'est pas
destructeur pour les MAX487 qui sont protégés, mais cela doit tout de même être
évité pour limiter tout risque d'échauffement excessif.
Ordres de transmission / réception
La
gestion du sens de transmission des données doit être assurée de façon
"intelligente". C'est ainsi que les entrées de commandes RE Barre et DE
seront pilotées par les circuits qui émettent les données et en
attendent en retour (les circuits en question seront probablement des
ordinateurs ou des microprocesseurs). On peut très bien imaginer la
procédure suivante :
- on décide (plus ou moins arbitrairement) qu'un des deux équipements est un maître et que l'autre est un esclave.
- au repos, les deux équipements maître et esclave sont en mode réception.
- le maître passe en mode émission et envoie des données à l'esclave, qui pendant ce temps se contente d'écouter.
- le maître repasse en mode réception, attendant que l'esclave envoie sa réponse.
- l'esclave passe en mode émission et envoie sa réponse au maître, qui écoute attentivement.
- l'esclave repasse en mode réception et le maître traite les données reçues, prêt à relancer le dialogue.
Cette
façon de faire est assez simple car il n'y a que deux équipements, mais
vous pouvez tout à fait imaginer la présence de 1 maître et de 5
esclaves. Dans ce cas, et afin que tout le monde puisse s'entendre sans
se marcher sur les pieds, il faut attribuer à chaque équipement un
identifiant unique qui permet de savoir à qui est adressé le message en
cours de transmission. Le format de cet identifiant (adresse) importe
peu, le principal est que l'on puisse distinguer les appareils les uns
des autres. Si un esclave ne se reconnait pas au travers de
l'identifiant émis en début de message, il en ignore simplement le
contenu. Pour tout ce qui est du contenu même des messages, vous pouvez
laisser libre cours à votre imagination. Tout (ou presque) est permis.
Résistances de terminaison
Les
résistances de terminaison notées R1 et R2 sur le schéma permettent de
conserver au signal transmis la meilleur qualité possible, elles sont
d'autant plus importantes quand on travaille avec des signaux
numériques de fréquence élevée. En leur absence, le signal numérique
pourrait être perturbé par des réflexions multiples (échos) qui le
rendrait moins fiable vu côté récepteur. Dans le cas présent la liaison
est de type point à point, il n'y a qu'un seul émetteur et un seul
récepteur et on doit mettre une résistance à chaque bout. Dans une
liaison multipoints de type RS485, il faudrait placer les résistances
de terminaison sur les appareils qui se trouvent en bout de chaîne et
non pas sur tous. Dans la pratique, et en prévision de changements
éventuels dans une chaine d'équipements existants, on prévoit cette
résistance avec un cavalier ou un petit interrupteur qui permet de la
mettre facilement en ou hors circuit. On procédait ainsi avec les
chaines SCSI et on fait de même avec les chaines Word Clock.
Où trouver des MAX487 ?
A l'écriture de ces lignes (aout
2010), je m'en suis procuré une dizaine chez Radiospare, via accès
professionnel. Attention à
l'offre "particuliers" proposée par ce professionnel, obligeant à
passer par un service téléphonique
surtaxé. On en trouve aussi chez Farnell. Côté Selectronic je n'en ai
pas trouvé mais ils ont par contre des SN75176BP qui sont très
similaires en fonctionnement.
Exemples d'utilisation
Interface DMX 001 - Interface DMX simple développée comme extension pour ma platine de développement PIC EasyPIC.
Contrôleur DMX 001 - Contrôleur 4 voies pour pilotage PAR 36 LED Ibiza.