Electronique > Réalisations > Interfaces > Interface série RS232 001b

Dernière mise à jour : 08/10/2008

Présentation

Cet article décrit une interface de puissance 32 voies que j'ai spécialement conçue pour interfacer un port série RS232 avec des lampes 230V, ces dernières étant pilotées par mon logiciel séquenceur ProgSeq. Il s'agit de la même interface que celle présentée à la page Interface série 001, mais sans microcontrôleur, ce qui rend son usage moins universel.

Avertissement

Cette interface série 001b est pour moi moins prioritaire que l'interface série 001, et j'y passerai donc moins de temps. Pour l'heure, je préfère travailler sur l'interface série 001.

Schéma

Pas encore testé pratiquement.

interface_rs232_001b

Principe général de fonctionnement
L'interface réceptionne l'état des 32 sorties du séquenceur ProgSeq selon une transmission série, sur un seul fil de liaison appelée DATA. Les données reçues sont envoyées dans des registres à décalage de type CD4094, qui jouent le rôle de convertisseurs série / parallèle, permettant ainsi de récupérer l'état de chaque sortie sur des sorties électriques individuelles. Afin d'éviter tout "scintillement" des sorties pendant les transferts de données, les registres sont pilotés par deux fils supplémentaires CLOCK (CLK) et STROBE (STR), qui s'ajoutent à la liaison DATA (D). En procédant de la sorte, les 32 sorties des registres sont mises à jour uniquement quand l'état des 32 sorties a été intégralement transféré depuis le PC.

Interface RS232
Les signaux RS232 peuvent présenter des amplitudes de +12V ou -12V, et on a bien souvent recours à un circuit spécialisé d'interface du type MAX232 pour faire la transition avec les niveaux logiques TTL. Comme ici nous ne faisons que recevoir des ordres, et qu'il n'y a aucun besoin de transmettre des informations vers le PC, aucune conversion de tension pour passer de 0V / +5V (TTL) à +12V / -12V (RS232) n'est nécessaire. Le seul besoin étant de réduire une tension trop élevée (de 12V vers 5V) et de ne pas tenir compte des tensions négatives (-12V) nous autorise à utiliser ici de simples diodes et transistors montés en commutation.

Conversion série / parallèle
Elle est assurée par les quatre registres à décallage CD4094 montés en cascade. Les données représentatives de l'état des 32 sorties sont véhiculées sur la ligne DATA, et arrivent en premier lieu sur la broche D du premier registre (borne 2). La mise en série des registres s'effectue en reliant la sortie QS d'un registre à l'entrée DATA du registre suivant. Cette façon de faire conduit à obtenir un fonctionnement tel que celui que l'on aurait avec un seul registre à décallage de 32 sorties. L'entrée CLK reçoit les données d'horloge qui vont faire avancer d'un cran l'état logique qui été présenté à l'entrée D du premier registre le coup d'horloge précédent. Ainsi, l'état logique présenté au premier coup d'horloge sur l'entrée DATA, va se retrouver sur la sortie O5 au bout de 5 coups d'horloge, et va se retrouver sur la sortie O27 au bout de 27 coups d'horloge. Le dernier état logique présenté sur l'entrée DATA du premier registre à décallage va ainsi se retrouver sur la sortie O1. Lors du transfert des données, il convient donc de transmettre en premier l'état logique de la sortie O32, puis ensuite l'état logique de la sortie O31, puis celui de la sortie O30, etc., pour finir par la transmission de l'état logique de la sortie O1. Pendant le transfert des données (état des 32 sorties), les sorties des registres sont verrouillées sur les anciennes valeurs. Les nouvelles valeurs ne sont appliquées que lors de l'envoi d'une impulsion sur la ligne STROBE.
Pour résumer :
- La ligne DATA véhicule l'état des 32 sorties, les unes après les autres;
- La ligne CLOCK permet aux registres à décallage de transmettre ces états sur les lignes de sorties, les unes après les autres;
- La ligne STROBE n'est utilisée qu'après envoi de l'état des 32 sortie, pour indiquer aux registres qu'ils peuvent prendre en compte les nouveaux états.