Dernière mise à jour :
03/06/2012
Présentation
Cette interface MIDI dispose d'une entrée MIDI IN et d'une
sortie MIDI OUT.
Elle permet de "ralentir" un rythme MIDI composé de messages MIDI
Timing Clock
(MIDI sync 24 PPQN, octet de statut $F8), en n'en laissant passer qu'un
seul parmi un nombre choisi par l'utilisateur. Ce système a été conçu
pour la synchronisation d'un Korg Monotribe (un peu modifié pour
profiter du MIDI) sur un maître MIDI trop pressé. Le retard (temps de transit entre entrée MIDI IN et sortie MIDI
OUT) introduit
par ce "ralentisseur d'horloge" est de quelques centaines de us (environ 0,5 ms).
Schéma
Le coeur du montage est un microcontrôleur
PIC 16F628A. Le circuit présente de fortes ressemblances avec l'
interface MIDI 008, qui fonctionne globalement sur le même principe. Une alimentation +5 V
est requise pour faire rouler la machine.
Fonctionnement général
Les données MIDI qui arrivent à la queue leu leu sur l'entrée MIDI IN
sont analysées octet par octet.
-
si l'octet reçu est $F8, le logiciel regarde le facteur de division
choisi par l'utilisateur, et décide si oui ou non il faut le filtrer
(l'empêcher de sortir sur la prise MIDI Out).
- si l'octet reçu est diférent de $F8, il est transmis sans autre forme de procès (pas de filtrage).
Circuit d'horloge / base de temps
Les
lignes
RA7/OSC1 et RA6/OSC2 du PIC sont utilisées pour y connecter un
quartz de 8 MHz avec ses deux petits condensateurs céramiques
de
faible valeur. Vu le travail demandé au logiciel, on pourrait aussi se
contenter d'un quartz de 4 MHz.
Entrée MIDI
L'entrée MIDI est
composée de l'optocoupleur U2 raccordé sur la prise
DIN 5 broche J1, via une résistance de limitation de courant (R1) et
une diode (D1) protégeant l'optocoupleur en cas d'inversion des deux
fils d'entrée de la prise DIN (broches 4 et 5). La sortie de
l'optocoupleur (type NPN) permet de récupérer le signal MIDI au
format TTL, grâce à la présence de la résistance R2 reliée au +5 V. Les
données MIDI ainsi mises en forme aboutissent à l'entrée RB1/RX du PIC.
Sortie MIDI
La
sortie MIDI (broche RB2/TX du PIC) délivre
brièvement une note MIDI C3 (Do3) lors de son initialisation,
ce qui permet dès la mise sous tension de savoir si
tout démarre bien. Après l'initialisation, la sortie MIDI
laisse sortir les infos MIDI qui n'ont pas été filtrées.
Choix du facteur de division
Le facteur de division dépend de la position des microswitches
(interrupteurs miniatures) DSW1 connectés sur les broches RA0 à RA3 du
PIC.
Division par | RA3 | RA2 | RA1 | RA0 |
1 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 0 | 1 | 1 |
4 | 0 | 1 | 0 | 0 |
5 | 0 | 1 | 0 | 1 |
6 | 0 | 1 | 1 | 0 |
7 | 0 | 1 | 1 | 1 |
8 | 1 | 0 | 0 | 0 |
9 | 1 | 0 | 0 | 1 |
10 | 1 | 0 | 1 | 0 |
11 | 1 | 0 | 1 | 1 |
12 | 1 | 1 | 0 | 0 |
13 | 1 | 1 | 0 | 1 |
14 | 1 | 1 | 1 | 0 |
15 | 1 | 1 | 1 | 1 |
Si
par exemple vous voulez diviser par deux la fréquence des messages
d'horloge ($F8), vous devez mettre en position ON l'interrupteur
relié sur la broche RA1 du PIC, les autres interrupteurs devant rester
à OFF (entrée RA1 à l'état logique haut et entrées RA0, RA2 et RA3 à
l'état logique bas). Pour une division par quatre, seul l'interrupteur
connecté sur RA2 doit être positionné à ON. A priori, on choisira plus
souvent un facteur de division multiple de deux (2, 4, voire 8), mais
disons qu'il peut être intéressant d'expérimenter avec des horloges qui
rendent fous les musiciens. Donc facteur de division possible entre 1
et 15. Le facteur de division est bien de 1 quand les entrées RA0 à RA3
du PIC sont toutes à l'état logique bas (0).
Alimentation
Un
régulateur de tension de +5 V est prévu directement sur le circuit
(U3), ce qui permet d'alimenter cette interface / filtre avec n'importe
quel bloc d'alimentation secteur délivrant une tension comprise entre
+9 V et +15 V. La consommation est assez faible pour se
permettre d'utiliser un régulateur de tension "miniature" de type
LM78L05 (100 mA max), et ce dernier n'a pas besoin de dissipateur
thermique. La
diode D2 n'est pas indispensable mais est très vivement
conseillée, les blocs secteurs du commerce permettant parfois
d'inverser la polarité de la tension de sortie. Il serait dommage de
griller le microcontrôleur pour une bête inversion qui n'arrive qu'aux
autres. Si vous disposez déjà d'une alimentation de +5 V, alors vous
pouvez supprimer tous les composants relatifs à cette section, à savoir
D2, C3, C4 et U3.
Choix d'autres optocoupleurs
Il est possible d'utiliser
d'autres optocoupleurs pour l'entrée MIDI, voir page
Interfaces
MIDI pour plus de détails.
Le brochage des prises MIDI
Câblage valable pour les prises MIDI IN, MIDI OUT et MIDI THRU.
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.
Logiciel du PIC
Les fichiers assembleur (*.asm) et binaire compilé (*.hex) sont
disponibles
dans l'archive dont le lien suit.
Interface
MIDI 013 - PIC 16F628A - 03/06/2012
Si
vous souhaitez recevoir par la poste un PIC préprogrammé
et prêt à utiliser, merci de consulter la page
PIC - Sources.
Circuit imprimé
Réalisé en simple face.
Pas de strap, mais quatre résistances CMS soudées côté cuivre (R5 à R8).
Typon
aux formats EPS, PDF et Bitmap 600 dpi
Les connecteurs DIN femelle chassis sont montés directement sur le
circuit imprimé. Il serait possible de réduire les dimensions du
circuit imprimé en plaçant sur ce dernier deux ou trois
points de connexion à câbler sur des prises DIN fixées "indépendament"
sur le boîtier.
Historique
03/06/2012- Première mise à disposition.