Electronique > Bases > MAX487

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).


interface_dmx_001_proto_001c

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.


max487_test_001a

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, on en trouve aussi chez Farnell et autres revendeurs. Le SN75176BP est un bon candidat au remplacement du MAX487.


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.