Catégorie : Embarqué     Tags :      0 Commentaire

    Retrouvez cet article dans : Linux Magazine Hors série 23

    Derrière ce titre se cache un problème et une solution typique pour tout bidouilleur qui se respecte. Comment se connecter à un périphérique communiquant en mode série qui n’utilise pas des tensions similaires à celles d’un PC ? La solution tient en une famille de composants spécifiques.

    Routeurs, calculatrices scientifiques, modems ADSL, microcontrôleurs, systèmes embarqués divers... autant de périphériques et de matériels disposant d’un port de communication série ou d’un port dénommé " console " souvent incompatibles avec les ports série d’un PC.
    Non seulement, ces derniers sont en voie de disparition, mais cela est d’autant plus grave qu’ils constituent une interface idéale pour piloter, flasher et configurer de nombreux systèmes.
    Si nous prenons l’exemple d’un routeur ou d’un modem, il n’est pas rare d’y trouver un port spécifique utilisant un connecteur RJ45, RJ11 ou DB9.
    Parfois, un simple adaptateur est suffisant pour le connecter à un PC et ainsi rattraper une configuration maladroite ayant bloqué son fonctionnement ou la prise de contrôle via le port ethernet.
    Le plus souvent, la connexion directe n’est pas possible et nécessite une mise en forme des signaux. La solution la plus évidente est alors l’achat d’un câble de connexion dédié vendu à un prix dépassant de loin sa valeur matérielle.

    /img-articles/lmhs/23/art-14/i1.jpg

    Exemple de câble de connexion RJ45/DB9 fait maison pour une connexion RS232 entre un routeur et le PC.

     /img-articles/lmhs/23/art-14/i2.jpg

    Vue arrière d’un routeur Efficient Networks 5711 et de son  port console. Rien ne l’indique clairement ici, mais la documentation du produit indique qu’il s’agit bien de RS232.

    Rappel sur le port série

    La désignation " port série " fait référence à un port de communication spécifique fonctionnant, on s’en doute, de manière sérielle. Les bits d’information sont envoyés via une seule ligne un après l’autre (idem pour la réception). Cette communication série est à voir en opposition à une communication parallèle. C’est le cas pour le port du même nom où un octet est envoyé sur huit lignes représentant chacune la valeur d’un bit. La communication série n’est pas spécifique au PC, mais largement utilisée pour bon nombre de liaisons. La grande spécificité du port série des PC réside dans les tensions utilisées. Un tel port respecte le standard RS232 (plus exactement EIA232). Celui-ci spécifie l’assignation des broches pour les connecteurs DB9 et DB25, les délais, la fonction de chaque signal et surtout les tensions utilisées.
    C’est d’ailleurs là que tout le problème d’interconnexion se pose. Un port série EIA232 utilise aussi bien des tensions positives que négatives. Une tension entre –3 V et –25 V est un 1 logique, une tension entre +3 V et +25 V est un 0 logique. Les tensions entre –3 V et +3 V sont dites " de transition " et ne signifient rien. Nous sommes loin des signaux TTL où 0 V est un 0 logique et +5 V un 1 logique. Vous comprendrez qu’une simple interconnexion entre un port EIA232 et le port " console " non EIA232 d’un routeur risque de conduire à la destruction partielle de l’interface d’un côté ou de l’autre... ou des deux.

    /img-articles/lmhs/23/art-14/t1.jpg

    RS232 vers TTL

    Bon nombre de périphériques utilisent des signaux dit " TTL ". C’est un standard largement utilisé aussi bien par les composants du même nom que par bon nombre de périphériques. La mise en forme des signaux de l’une à l’autre interface se fait simplement via un composant dédié largement répandu : le MAX232 (figure 1).  Ce composant originellement fabriqué par Maxim Dallas est un convertisseur RS232/TTL double. Comprenez par là qu’il intègre deux unités de conversion indépendantes.
    La plupart du temps, seule l’une d’entre elles est utilisée. Le MAX232 est alimenté en +5 V et des condensateurs doivent être ajoutés pour élever cette tension à +10 V ou –10 V pour la partie communicant avec le PC (figure 2). La documentation du composant indique une valeur de 1 µF pour le MAX232.  D’autres composants de la famille utilisent des valeurs différentes. On notera cependant, que le standard RS232/EIA232 permet une certaine tolérance et on pourra donc utiliser des condensateurs de 2.2 µF ou 4.7 µF (parfois même 22 µF sur certains schémas présents sur le web).

     

    /img-articles/lmhs/23/art-14/fig-1.jpg

    Fig.1

     

    /img-articles/lmhs/23/art-14/fig-2.jpg

    Fig.2

     

    /img-articles/lmhs/23/art-14/fig-3.jpg

    Fig.3

    Les condensateurs polarisés doivent être de bonne qualité. On optera de préférence pour des tantales gouttes, plus chers mais bien moins encombrants que les condensateurs électrolytiques (chimiques). La mise en œuvre est simplissime (figure 3) et le schéma parle de lui-même. Il suffit, en effet, de correctement repérer les pattes du composant et de connecter les condensateurs. Ce type de montages est directement utilisable avec certains routeurs, calculatrices (Casio, TI) et téléphones GSM/GPRS.
    Pour alimenter le montage, il n’est pas forcément nécessaire d’utiliser une source externe. Dans la plupart des cas, celui-ci peut tirer suffisamment de courant du port série lui-même.  Pour cela, on connectera tout simplement une diode sur chacune des broches DTR et RTS (afin de bloquer les tensions négatives) et on les reliera ensemble en entrée d’un régulateur 78L05 (figure 4). Le condensateur correspond au C5 de la figure 2 et sera de même valeur que tous les autres. On obtient ainsi un ensemble autonome. En utilisant des composants de taille réduite (CMS) et en faisant preuve de patience, on arrivera à faire tenir tout cela dans le cache plastique d’un connecteur DB9. (Voir tableau broche)
    Pour faciliter la prise en charge avec un terminal de communication (comme Minicom), on pourra connecter les broches 7 et 8 (RTS et CTS) pour simuler un contrôle de flux matériel ainsi que les broches 4 et 6 (DTR et DSR) pour simuler la disponibilité systématique des deux équipements : le PC (DTE, Data Terminal Equipment) et le périphérique (DCE, Data Communications Equipment).

    /img-articles/lmhs/23/art-14/t2.jpg

    RS232 vers non-TTL

    De plus en plus d’équipements n’utilisent plus en sortie " console " de signaux TTL, mais LV-TTL (LV pour Low Voltage). Nous n’avons donc plus affaire à du +5 V mais à du +3.3 V. C’est le cas, par exemple, du connecteur interne des modems SpeedTouch Home d’Alcatel. Pour ce type d’interfaçage, on utilisera un MAX3232. La principale différence avec le MAX232 est le fait qu’il soit capable de travailler avec différentes tensions allant de +3 V à +5.5 V. La tension d’alimentation du composant (Vcc) déterminera la tension du côté du périphérique. Il conviendra également de choisir les condensateurs en fonction de cette tension selon le tableau ci-contre. Pour alimenter le composant en +3.3 V, plusieurs solutions existent. On peut directement utiliser une source utilisant cette tension (connecteur d’alimentation ATX de la carte mère) ou utiliser une source externe ou encore le port série lui-même comme avec un MAX232.
    Le régulateur 78L05 ne fera bien sûr pas l’affaire. On pourra le remplacer par un 78L033 fournissant exactement la tension recherchée. Autre solution, utiliser un LM317 (moins coûteux) que l’on utilisera avec des résistances permettant d’ajuster la tension selon la formule 1.25*(1+R2/R1).  La figure 5 montre l’utilisation du régulateur LM317 pour obtenir une tension d’environ +3.3 V (1.25*(1+(2200/(1000+330)))=3.31766). La figure 6 montre le brochage du MAX3232 ainsi que le schéma logique. On utilisera celui-ci de la même manière que le MAX232 (figure 3).

    /img-articles/lmhs/23/art-14/i3.jpg

    Vue interne d’un modem SpeedTouch Home d’Alcatel. Les broches A10 et B10 seront connectées respectivement à la broche 9 et 10 du MAX3232. B6 correspond à la masse.

    /img-articles/lmhs/23/art-14/fig-4.jpg

    Fig. 4

    /img-articles/lmhs/23/art-14/fig-5.jpg

    Fig. 5

    /img-articles/lmhs/23/art-14/fig-6.jpg

    Fig. 6

    Conclusion

    Les indications qui viennent d’être données le sont à titre indicatif. Dans tous les cas, il vous faudra consulter la documentation du matériel et celle des composants utilisés dans le montage de l’interface.  La tolérance et les composants périphériques (condensateurs) doivent être choisis avec attention. Enfin, il est évident que l’utilisation d’un câble fait maison n’est pas recommandée par les fabricants. Dans la plupart des cas, une telle utilisation servira de prétexte idéal pour l’annulation de la garantie.  D’autre part, pour certains périphériques, le fait d’accéder au connecteur de l’interface est déjà une cause d’annulation de garantie du fait de son emplacement interne (modem Alcatel STH ou routeur Dlink DI-604, par exemple). Il n’en reste pas moins que l’utilisation de ce type de montage peut sauver un routeur ou un modem qui, sinon, aurait été destiné au rebut. Bon nombre de pages web et de messages sur des forums font référence à ce type de résurrection de la dernière chance.

    Retrouvez cet article dans : Linux Magazine Hors série 23

    Posté par Denis Bodor (Lefinnois) | Signature : Denis Bodor | Article paru dans

    Laissez une réponse

    Vous devez avoir ouvert une session pour écrire un commentaire.