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