Electronique > Réalisations > Interfaces > Interfaces MIDI > Interface MIDI 011b

Dernière mise à jour : 29/05/2022

Présentation

Cette interface de conversion MIDI<->TTL et TTL<->MIDI est une "révision" de mon interface MIDI 011.

   

interface_midi_011bb_pcb_3d-rear  interface_midi_011bb_pcb_3d-front  
   

Les modifications que j'ai apportées à l'interface initiale interface MIDI 011 sont les suivantes :

   

Schéma 011b

Malgré les modifications de câblage et les ajouts apportés sur le circuit initial (011), le montage reste très simple.

   

interface_midi_011b

   

Le circuit peut être divisé en deux sections bien distinctes, une pour la partie réception MIDI et l'autre pour la partie émission MIDI.


Réception des données MIDI

Conversion MIDI-IN vers TTL-OUT

Les données MIDI arrivent sur l'optocoupleur U1 via la prise DIN d'entrée J1/MIDI-IN et la résistance R1. Elles ressortent au format TTL sur le connecteur J4/TTL-OUT. Les données TTL recueuillies sur la broche 4 de l'optocoupleur grâce à la résistance de rappel R2 pourraient être directement envoyées à la broche d'entrée Rx du microcontrôleur (du circuit en test), mais il est préférable de donner au signal reçu une forme la plus parfaite (la plus "carrée") possible. C'est la raison d'être des portes logiques U2:C et U2:D, contenues dans un circuit intégré 74HCT04 qui comporte 6 portes identiques. Ce circuit intégré sera de préférence monté sur un support, mais cela n'a rien d'obligatoire (pour ma part, je mets systématiquement un support pour tous mes circuits intégrés DIL traversants).

Il est possible d'utiliser d'autres optocoupleurs pour l'entrée MIDI, voir page Interfaces MIDI pour plus de détails. 

 

Recopie des données MIDI entrante

Sortie MIDI-THRU

La porte logique U2:B autorise un prélèvement discret des données TTL délivrées par la porte U2:C. Cela permet, après une premièreinversion de polarité opérée par U2:C et une deuxième inversion de polarité  opérée par U2:B, de disposer d'un signal conforme à une sortie MIDI-OUT ou MIDI-THRU. Le connecteur DIN J2/MIDI-THRU délivre ainsi des données rigoureusement identiques à celles arrivant sur le connecteur DIN J1/MIDI-IN, c'est une recopie pure et simple des messages MIDI reçus.

 

Emission des données MIDI

Conversion TTL-IN vers MIDI-OUT

Les messages MIDI au format TTL qui proviennent de la sortie Tx du microcontrôleur (du circuit en test) et qui arrivent à l'interface sur le connecteur J5/TTL-IN pourraient très bien être amenées directement à la prise DIN de sortie J3/MIDI-OUT, je l'ai fait plusieurs fois et ça ne pose pas de problème technique. Cependant, j'ai préféré là aussi jouer la carte de la prudence et profiter des portes logiques libres laissées par le 74HCT04, car on est toujours plus enclin à faire des erreurs pendant une phase de tests ou de débogage. 

Petit luxe : les données arrivant sur J5/TTL-IN peuvent au besoin être inversées, grâce au cavalier (jumper) JP1. Cela bien sûr n'est utile que si les données entrantes sont de polarité opposée à la norme (0 V au repos, au lieu de +5 V au repos). En prélevant les données en sortie de la porte U2:A, les données arrivant sur le connecteur J5/TTL-IN sont inversées deux fois de suite avant d'arriver sur le connecteur J3/MIDI-OUT (passage par U2:A et U2:F). En prélevant les données en sortie de la porte U2:E , les données arrivant sur le connecteur J5/TTL-IN sont inversées trois fois de suite avant d'arriver sur le connecteur J3/MIDI-OUT (passage par U2:A, U2:E et U2:F).

 

Alimentation

Une alimentation de 5 V est nécessaire pour faire fonctionner cette interface. Contrairement à ce que j'avais décidé pour la petite soeur interface MIDI 011, j'ai décidé ici de placer un régulateur de tension 5 V (1117-50) et une prise jack d'alimentation traditionnelle directement sur le circuit imprimé. Cette façon de faire évite de prélever l'alimentation sur le circuit en cours de test, mais impose en revanche l'ajout d'un petit bloc d'alimentation externe délivrant une tension de 9 V. 

Rien bien sûr n'empêche d'opérer sans le régulateur de tension en question, puisqu'il est possible de remplacer la diode D101 (protection contre les inversions de polarité) par un strap. Notons au passage qu'il est possible de laisser cette diode en place, mais dans ce cas mieux vaut utiliser une diode schottky (par exemple BAT42) pour limiter la chute de tension introduite. Seconde opération : placer un second strap entre les points d'entrée et de sortie du régulateur (ce dernier étant bien entendu absent).

   

Schéma 011bb

Idem ci-devant, avec ajout de LED et de points test.

   

interface_midi_011bb

   

Brochage des prises MIDI

Câblage valable pour les prises MIDI IN, MIDI OUT et MIDI THRU.

 
midi_din_cablage_001
   

La borne 2 est reliée à la masse au niveau des sorties mais pas au niveau des entrées, pour éviter toute boucle de masse entre équipements. Ici on s'en fiche puisqu'il n'y a pas de prise MIDI OUT.


Prototypes

Versions 011b et 011bb réalisés selon les implantations de PCB proposées ci-après. 

   
Prototype version 011b
   
interface_midi_011b_proto_rm_001a  interface_midi_011b_proto_rm_001c  interface_midi_011b_proto_rm_001d  
   

Si vous regardez bien les photos du prototype ci-devant, un détail bien curieux pourrait vous surprendre...

Le circuit a été testé en bouclant sa sortie TTL vers son entrée TTL et en le soumettant à un flux ininterrompu de messages MIDI délivrés par mon logiciel MidiTest associé à une interface MIDI M-Audio. Le comptage des messages MIDI au départ et à l'arrivée atteste de l'absence de perte de données. 

   

interface_midi_011b_miditest_001a  interface_midi_011b_scope_001a  interface_midi_011b_scope_001b  

   

Les copies d'écran de l'oscilloscope montrent en outre l'excellente qualité des signaux TTL, ce qui bien sûr n'est pas étranger à l'absence d'erreurs de communication.

   

Prototype version 011bb

Circuit quasi identique à la version 011b, avec ajout de LED pour visualiser les données entrantes et sortantes.

       

interface_midi_011bb_proto_rm_001a  interface_midi_011bb_proto_rm_001b  interface_midi_011bb_proto_rm_001c  interface_midi_011bb_proto_rm_001d  

   

Là aussi, j'ai utilisé mon logiciel MIDI-Test pour valider le fonctionnement de l'entrée MIDI et des deux sorties MIDI OUT et THRU. Tout est OK.

Pour finir, oserai-je comparer mon interface MIDI 011 "originale" avec les plus récentes 011b et 011bb ? 
 
interface_midi_011b_proto_rm_001b  
   

Circuits imprimés (PCB)

Réalisés en double face (quel luxe !).

   
Circuit 011b

Circuit avec une seule LED (témoin de présence d'alimentation).

   
interface_midi_011b_pcb_components
   

Dessins du circuit imprimé (PCB 011b) au format PDF

   
Circuit 011bb

Légères retouches apportées à mon interface 011b, qui devient 011bb. Quelques composants déplacés, ajout d'un plan de masse, de points tests et de LED signalant la présence de données en entrée (Rx) et en sortie (Tx). J'ai également créé une nouvelle empreinte pour les prises DIN afin de pouvoir accueillir des modèles différents.

   
interface_midi_011bb_pcb_components
   

Dessins du circuit imprimé (PCB 011b) au format PDF

    

Historique

29/05/2022
- Ajout photos prototype 011bb.

08/05/2022
- Ajout photos prototype 011b.
- Ajout vue nouveau PCB 011bb, un poil plus travaillé.

10/04/2022
- Première mise à disposition.