Adaptateur RS232

Cette page décrit la réalisation d'un module optionnel RS232 pour la visualisation du fonctionnement sur un PC.


Partie matérielle

Beaucoup parmi vous ne possèdent pas de Minitel, notamment dans les pays francophones autres que la France ; aussi, voici le schéma électrique d'une interface très simple permettant de relier le montage au port série de votre PC, en remplacement du Minitel :

Le fonctionnement est relativement simple ; rappelons que dans la norme RS232, les niveaux logiques '0' et '1' correspondent respectivement à une tension d'environ +10V et -10V (logique inversée). La sortie RTS (Request To Send) est rebouclée sur l'entrée CTS (Clear To Send) ; une diode permet de récupérer du -10V lorsque RTS est au niveau '1', idem sur la sortie TD (Transmit Data, au repos à '1') ; les diodes permettent d'éviter un conflit en cas de différence des niveaux logiques sur TD et RTS ; leurs anodes correspondent à un '-Valim' (-10V, filtré par le condensateur). La sortie DTR (Data Terminal Ready) est rebouclée sur les entrées DCD (Data Carrier Detect) et DSR (Data Set Ready) et fournit le +10V ; DTR au niveau logique '0' constitue le +Valim.

Le composant principal est le photocoupleur (ici un 4N36, mais un CNY17 ou autre devrait faire l'affaire) ; il assure l'isolation galvanique entre le PC et le montage, autorisant un branchement 'à chaud' sans éteindre l'ordinateur (par exemple, sur le câble du modem). La led est reliée d'un côté au +5V du montage (via une résistance qui limite le courant à 10mA) ; de l'autre, elle est branchée sur la sortie 'Données Minitel' (notée 'Tx' sur le schéma) ; ce câblage est justifié par le fait que la sortie est à 'drain ouvert'.

Lorsque la sortie 'Données Minitel' est à '1', la led est éteinte, le photo-transistor bloqué, et l'entrée RD (Receive Data) de la liaison série est ramenée au -10V par la résistance de tirage de 5,6ko (RD est alors à '1'). Lorsque 'Données Minitel' passe à '0', la led s'allume, le photo-transistor devient passant, et l'entrée RD est ramenée au +10V (niveau '0') fourni par la sortie DTR.

Selon le port série disponible, vous pouvez câbler l'ensemble avec une DB9 ou une DB25 (femelle, dans les deux cas) ; compte-tenu de la simplicité du montage, aucun circuit imprimé n'a été prévu : utilisez un bout de plaque pastillé (genre Veroboard). Vous pouvez même l'intégrer dans le capot d'une DB25 (c'est plus délicat avec une DB9 !).

Photo du prototype

Voici la photo de mon adaptateur : j'ai recyclé la DB9 femelle d'une vieille carte vidéo CGA (d'où le tore de ferrite et le connecteur noir). J'utilise l'interface sur le port COM2 en le branchant à la place de mon modem.


Partie logicielle

Voici le programme que j'ai conçu pour l'affichage des données ; il fonctionne sous Windows 95/98/Me/NT/2000/XP :

Interface du programme MINCOM.EXE, version 2.1

Vous pouvez télécharger le fichier [MINCOM21.ZIP] (167.454 octets), qui, une fois décompressé avec PKUNZIP ou WINZIP, donne le fichier MINCOM.EXE (325.632 octets). Son utilisation est on ne peut plus aisée : il suffit de le lancer et de sélectionner le port série sur lequel est branché le montage (via l'adaptateur) ; les données en provenance du montage viennent s'afficher dans la fenêtre principale, comme le montre la copie d'écran ci-dessus (juste après un RESET du montage). La première ligne affiche six caractères bizarres : ce sont les caractères de configuration du Minitel ; j'aurais pu les filtrer à l'affichage dans le programme, mais j'ai préféré les laisser, car cela permet de contrôler leur présence.


En fait, n'importe quel programme du genre 'Terminal' permet d'afficher les données venant du montage par le port série choisi. Il faut pour cela indiquer au logiciel les paramètres de la liaison série : 1200 bauds, 1 bit de start, 7 bits de données, 1 bit de parité (parité paire), 1 bit de stop, contrôle de flux : 'matériel' ou 'aucun'. Si vous utilisez un logiciel en anglais, sachez que concernant la parité, 'paire' se dit 'even' (impaire : 'odd', aucune : 'none').

Voici le résultat obtenu avec l'Hyper Terminal fourni en standard avec Windows 95/98 (Démarrer / Programme / Accessoires / Communication / Hyper Terminal) :

Sont affichés :

Je n'ai pas testé le terminal de Windows 3.11, mais il doit fonctionner. Sous Linux, avec la RedHat, on peut utiliser 'Minicom' qui n'est pas très difficile à configurer (même pour un non spécialiste), et qui donne de bons résultats...

Voici également "CAT_LIRE.BAS", un petit programme d'une dizaine de lignes écrit pour QBASIC, pour ceux qui n'ont que le DOS (QBASIC est fourni avec MS-DOS version 5.0 à 6.22) ; il permet également l'affichage des données, mais ça n'est pas un modèle du genre...


Dernière mise à jour : le 24/02/2003.