Dernière mise à jour :
04/09/2011
Présentation
Ce merger MIDI non intelligent est une version un poil plus évoluée de mon
merger MIDI 001.
Par
rapport à son
prédécesseur, celui décrit ici dispose d'un
automatisme de blocage d'une entrée MIDI si l'autre reçoit des données.
En gros, c'est l'entrée qui reçoit des données en premier qui devient
prioritaire, et quand plus aucune donnée n'est reçue les
deux entrées reviennent à l'écoute. Il est toujours interdit à
deux entrées
de recevoir des données en même temps, mais avec cette version il
y a beaucoup plus de chances de trouver des données MIDI valides en
sortie puisque les collisions ne peuvent plus exister. A voir aussi le
MIDI Merger 003, auquel j'ai essayé d'insuffler un poil d'intelligence.
Schéma
Là encore aucun composant programmable puisque pas besoin d'intelligence particulière, il n'est fait usage que de
composants courants et bon marché.
Bien sûr par rapport au schéma du petit frère, il y a quelques élements en plus...
Entrées MIDI
Chacune des deux entrées MIDI (MIDI IN 1 et MIDI IN 2)
abouti à un optocoupleur, chargé d'isoler galvaniquement
la sortie de l'instrument que l'on va y connecter. Les
résistances R1 et R2 sont chargées de limiter le courant
dans
la LED contenue dans l'optocoupleur, et les diodes D1 et D2 permettent
de
protéger ces mêmes LED en cas d'inversion de
polarité des fils du câble MIDI. Ces diodes ne sont pas absolument
indispensables mais je vous conseille tout de même de les mettre.
Mélange des données MIDI
Pourquoi parler de mélange des données MIDI alors que justement il ne
peut plus y avoir de mélange ? Pour attirer votre attention,
simplement. Auparavant, l'arrivée simultanée de données MIDI sur les
deux entrées conduisait à une bouillie de données informatiques au
point de sommation des diodes D3 et D4, rendant les sorties MIDI OUT
inutilisables. Ici le problème ne peut plus survenir car les
données MIDI des deux entrées passent chacune par des portes logique de
type "AND", à savoir U6:A pour l'entrée MIDI 1 et U6:B pour l'entrée
MIDI 2. Ces deux portes logiques agissent comme une "autorisation de
passer" dont l'ordre de passage est donné par un monostable lui-même
déclanché par les entrées "opposées". Pour faire clair : l'arrivée de
données sur une entrée MIDI déclanche (active) le monostable qui lui
correspond, ce dernier interdit alors à d'éventuelles données MIDI
arrivant sur l'autre entrée d'aller plus loin. Cette interdiction dure
quelques ms. Le câblage des circuits logiques est réalisé de telle
sorte que des données MIDI arrivant sur l'entrée devenue secondaire ne
puissent pas bloquer les données MIDI en cours de passage sur l'entrée
devenue prioritaire. Vous rigolez, mais c'est ce que faisait mon
premier proto (...), je n'avais pas pensé à ce détail au début. Besoin
d'une explication détaillée ? Allons-y. Au repos, aucune donnée
n'arrive sur les entrées MIDI, les optocoupleurs sont inactifs et on
retrouve un niveau logique haut sur le collecteur de leur transistor de
sortie. Ce qui conduit à disposer de niveaux logiques bas sur la sortie
des portes inverseuses U3:A et U3:B qui font directement suite. Les
portes U6:A et U6:B ne peuvent rien faire d'autre que délivrer un
état logique bas puisque pour rappel il s'agit de portes AND. Les
points de report
marqués "A" et "B" sont donc eux aussi à l'état bas et les monostables
U5:A et U5:B se tiennent à carreau. Ces derniers étant au repos, ils
délivrent un état logique bas sur leur sortie Q (broches 6 et 10) et un
état logique haut sur leur sortie Q barre (broches 7 et 9). Ces
dernières sorties (Q barre en broches 7 et 9) sont celles qu'on utilise
pour disposer des signaux d'autorisation de passage. Les signaux MIDI
peuvent transister de l'entrée vers la sortie si ces sorties Q barre
sont à l'état haut. Supposons qu'une donnée MIDI NoteOn arrive sur
l'entrée MIDI IN 1. Dans ce cas la broche 5 de l'optocoupleur U1 passe
de façon répétée de l'état logique bas à l'état logique haut durant
toute la trame MIDI (3 octets transmis en série, pour rappel). Ces
changements d'état transitent tranquillement de l'entrée MIDI IN1 vers
les sorties MIDI OUT car la porte logique U6:A reçoit sur son
entrée un état logique haut venant du monostable U5:B (qui n'a pas
été déclanché). En revanche, les transitions logiques bas-haut
présentes au point "A" (données MIDI arivant sur l'anode de la diode
D3) déclanchent et redéclanchent le monostable U5:A dont la sortie Q
barre bascule alors à l'état bas. Ce qui a pour conséquence de
transformer la porte logique U6:B en porte de prison : toute donnée
MIDI qui arriverait à ce moment sur l'entrée MIDI 2 serait stoppée
nette au niveau de la broche 5 de U6:B, et aucune collision ne pourrait
donc avoir lieu au point commun des diodes D3 et D4. Il en est de même
dans l'autre sens. Si l'entrée MIDI IN 2 reçoit des données en premier,
c'est le monostable U5:B qui est déclanché et qui bloque la porte
logique U6:A. Le principe, comme vous pouvez le constater, est vraiment
très simple en théorie et très simple à mettre en oeuvre ! Oh, un
détail pour terminer cette partie : une LED a été ajoutée sur la sortie
Q des deux monostables, il s'agit de D7 et D8. Ces LED s'allument pour
signaler le déclenchement des monostables, et par là-même l'arrivée de
données MIDI. Pratique pour voir quelle entrée est actuellement
prioritaire et active. Le graphe qui suit montre l'activité de signaux
MIDI arrivant sur les deux entrées MIDI et ce qui en découle.
Chacune
des entrées MIDI reçoit un évenement NoteOn suivit d'un évenement
NoteOff. C'est l'entrée MIDI IN 1 qui reçoit en premier son NoteOn et
on retrouve cet évenement en sortie MIDI OUT. Le NoteOn de l'entrée
MIDI IN 2 qui arrive juste après est tout bonnement ignoré et ne vient
pas gêner la bonne transmission du NoteOn de la première entrée. A
l'opposé, le NoteOff de l'entrée MIDI IN 2 arrive en priorité et c'est
lui qui est transmis sur la sortie MIDI Out, le NotOff de l'entrée MIDI
IN 1 qui arrive juste après est bloqué. Dans la pratique, cet exemple
conduirait à faire jouer une note à l'infini puisque l'ordre d'arrêt
(NoteOff) de la note déclanchée n'a pas passé les mailles du filet (il
faudrait la rejouer pour être sûr qu'un NoteOff parte bien vers la
sortie MIDI Out). Pas de collision mais des effets secondaires
possibles... que l'on peut sans doute éviter en jouant sur les durées
d'inhibition. Mais rappelez-vous tout de même du message initial : ce
merger n'est pas intelligent et n'est pas fait pour jouer avec deux
entrées MIDI en même temps.
Durée d'inhibition
La durée
pendant laquelle une entrée MIDI est inhibée quand l'autre entrée MIDI
reçoit des données, dépend de la valeur donnée aux couples de
composants R11/C3 et R12/C4.
T (secondes) = R (ohms) * C (Farads)Avec les valeurs du schéma (100 kO et 10 nF), cette durée est de 1 ms (0,001 seconde) :
T (secondes) = 100000 (ohms) * 0,00000001 (Farads) = 0,001
Rien,
mais absolument rien ne vous interdit d'opter pour une durée
d'inhibition supérieure telle que 1 seconde (1 uF et 1 MO). Le minimum
reste par contre de 1 ms, qui correspond à peu de chose près à la durée
d'un bloc de 3 octets. Si vous aimez faire des tests, je ne saurais
trop vous conseiller de remplacer R11 et R12 par un potentiomètre de 1
MO et de donner aux condensateurs C3 et C4 la respectable valeur de 1
uF (si condensateurs polarisés, pôle positif vers la résistance
associée). Cela vous permettra de définir à votre guise la durée
d'inhibition posée par chaque entrée MIDI, de façon indépendante. Et
avec les LED D7 et D8, vous saurez toujours qui a eu le dernier mot !
Sorties MIDI
Rien de particulier à dire ici, encore une fois borne 4 de la prise
DIN
reliée au +5 V au travers d'une résistance de 220 ohms,
borne 5 de cette même prise DIN recevant les données MIDI venant de la
sortie des portes inverseuses U3:C et U3:D. Pour disposer de deux
sorties MIDI supplémentaires, on peut ajouter en parallèle de ces deux
portes U3:C et U3:D les deux portes U3:E et U3:F qui sont inutilisées.
La
compatibilité TTL / CMOS est ici assurée car les portes TTL préconisées sont de type HC ou HCT (74HC14 ou 74HCT14).
Alimentation
Le circuit intégré régulateur de
tension
positif de +5 V de type 78L05 permet d'utiliser n'importe quelle source
de
tension comprise entre 9 V et 15 V. Un bloc d'alimentation secteur bon marché
fera
parfaitement l'affaire. Comme ce genre d'accessoire permet parfois de se
tromper
facilement dans les polarités "plus" et "moins", une diode (D5)
a
été ajoutée afin de prévenir toute
catastrophe
: en cas de mauvais branchement, le montage ne fonctionnera pas mais
sera
protégé. Un condensateur additionnel de 100 uF (C1)
assure
un filtrage minimal, celui des blocs secteur classiques laissant bien
souvent
à désirer. Enfin, la LED D6 signale sans
équivoque
si le bloc secteur est correctement branché et s'il délivre une tension.
Câblages des prises MIDI
Le câblage est le suivant, attention au sens de la vue (de devant ou de
derrière)
La borne 2 n'est reliée à la masse qu'au niveau des
sorties et non au niveau des entrées, pour éviter toute
boucle de masse entre équipements.
Circuit imprimé
Non réalisé, vue 3D uniquement là pour donner un aperçu des composants utilisés.