English Version
French Version
Spanish Version
MIDIbox Hardware Platform, Core Module
Le module CORE est le coeur de toutes les applications
de la plateforme MBHP. Le module repose sur un composant principal : le PIC18F452, un
micro-contôleur fabriqué par Microchip. Il fonctionne à une fréquence de 40 MHz
(synchronisé en externe par un crystal 10 MHz) et offre des
performances suffisantes pour gérer tous les modules
analogiques
et numériques avec une latence inférieure
à 1ms. Le PIC dispose d'un système complet
intégré, c'est à dire qu'il contient
non seulement un CPU, mais aussi une mémoire-programme flash
de 32k, 1536 bytes de mémoire pour les données,
256 bytes de données sur une EEPROM, et beaucoup d'autres
capacités périphériques comme un
convertisseur
AD et un mode UART (pour le MIDI). J'ai pris la décision
d'utiliser des contrôleurs PIC pour mes applications MIDI
depuis déjà plusieurs années, et
je continue à travailler avec cette famille de produits car il sont
économiques et que les hobbyistes peuvent se les procurer
facilement, n'importe où dans le monde. A la
différence d'autres micro-contrôleurs (plus
modernes), le PIC reste facile à programmer, ne requiert pas
de mémoires externes et est quasi-indestructible. De plus,
les PICs sont disponibles en package DIP, et ceux qui
débutent en électronique peuvent ainsi travailler
avec ce chip sans craindre de l'endommager, les petites pattes SMD
(Surface Mount Device) étant elles plus fragiles et
nécessitant une bonne pratique de la soudure.
Par ailleurs, Microchip considère
toujours de produire des puces à la connectique compatible, ce
qui offre de bonnes perspectives pour l'avenir. La MBHP a
débuté avec un PIC16F877, maintenant c'est un PIC18F452
qui est utilisé, et pour les futurs projets nécessitant
beaucoup de mémoire tels que les MIDIbox SEQ V3 ou MIDIbox SID V2
, c'est un PIC18F4620/4685 qui a été choisi. Tant que ces mise
à jour sont possibles, basculer vers une autre famille de
produit (comme les micro-contrôleurs Atmel ),
avec tous les avantages et désavantages que cela
représente, n'est pas nécessaire. Et de nouvelles
applications compatibles au niveau logiciel et matériel
vont pouvoir voir le jour dans les années à venir.
MBHP_CORE_V3
-
A ce jour, le module CORE en est
à sa troisième version, avec quelques
améliorations dans le circuit et le layout. Malgrés tout,
vous pouvez toujours utiliser l'anciennne version du module. A
l'attention des utilisateurs à qui il resterait une ancienne
version du circuit à monter, une page spéciale a été créé, elle contient toutes les informations relatives à l'ancien module.
Téléchargements
-
-
-
Ports Disponibles
-
Les interfaces suivantes sont disponibles sur le module CORE :
-
Nom |
Nbre de pins |
Description |
J1 |
2 |
Connection vers l'alimentation. La sortie d'un
transformateur 7V-10V ou un adaptateur mural peuvent être
utilisés. Il est recommandé d'avoir 500 mA,
surtout lorsque vous avez un écran rétro-éclairé, mais le MIDIfilter et le MIDImerger fonctionneront
très bien avec 100 mA . Vous pouvez choisir aussi bien une
alimentation DC ou AC, un pont rectifieur derrière J1 assurant
un courant DC de toute façon. De fait, la polarité n'a
pas d'importance non plus. |
J2 |
2 |
Sortie +5V, qui peut être
utilisée pour alimenter un autre module CORE dans un
environnement multi-processeurs, dans ce cas vous n'avez besoin de
monter les composants relatifs à l'alimentation (X1, IC3, C5,
C6) que sur un seul module CORE. Restriction: Le
régulateur
7805 chauffe beaucoup lorsqu'il délivre un courant au dessus de
500 mA, donc seul les modules CORE sans écrans
rétro-éclairés comme pour les MIDIO128, MIDImerger,
MIDIfilter peuvent être alimentés par ce port.
J2 peut aussi être utilisé comme entrée +5V pour
une alimentation stabilisée fournissant déjà ce
voltage, ou pour alimenter le module depuis le port J2 d'un autre CORE.
Dans les deux cas le régulateur
(IC2) ne doit pas être monté, et le reste du circuit de
stabilisation de J1 et J2 (X1, C5, C6) peut être omis. Si le
module CORE (et tous les autres modules qui y sont connectés)
nécessitent plus de 100 mA, il est recommandé de monter
C5 directement sur J2 (un petit câble entre les trous de montage du
7805 retiré fera l'affaire).
Notez
qu'alimenter plusieurs CORE depuis un module CORE principal n'est
recommandé que si l'ensemble de votre système ne consomme
pas plus de ~ 500 mA. Dans le cas contraire, le
7805 chauffera trop! Et plus particulièrement si des LEDs et/ou
des LCDs rétro-éclairés sont connectés
à chaque CORE, il sera préférable de monter un
7805 sur chaque CORE .
Des exemples de connections pour le port J2 sont disponibles ici : diagramme des interconnections pour le SID et exemple de PSU pour la MIDIbox LC. |
J3 |
3 |
obsolete depuis la révision v3 |
J4 |
4 |
Interface vers le BankStick, vers les modules MBHP_IIC_* tel que le MBHP_IIC_MIDI, et second port MIDI IN pour le MIDImerger. |
J5 |
10 |
Interface vers le module AIN
pour les MIDIbox64 et MIDIbox64E. Il existe aussi quelques applications
qui utilisent ces pins comme entrées ou sorties digitales. |
J6 |
5 |
Interface vers le AIN module pour les MIDIbox64 et MIDIbox64E |
J7 |
5 |
Interface vers le module MF, également utilisé parfois pour les modules MBHP_AOUT ou MBHP_AOUT_LC. |
J8 |
5 |
Interface vers la chaîne de modules DOUT. |
J9 |
5 |
Interface vers la chaîne de module DIN. |
J10 |
8 |
Interface vers les modules spécifiques aux applications tels que le module SID. |
J11 |
4 |
Port MIDI digital IO, interface vers le module LED/Thru/COM. Peut aussi être utilisé pour cascader plusieurs modules
CORE en créant une chaine MIDI, (voir MIDIbox Link). Note: Ne
montez pas l'optocoupleur (IC2, 6N138) lorsque vous utilisez le pin
J11:MI (MIDI-IN) comme entrée, car dans ce cas l'entrée
Rx recevrait des données de plusieurs sources
simultanément, ce qui n'est pas autorisé par le protocole
MIDI (point-to-point). Un MIDImerger sera nécessaire pour combiner plusieurs sources de données MIDI
En d'autres mots : lorsque vous utilisez le module COM ou lorsque vous connectez le port J11:MO d'un module CORE au port
J11:MI d'un autre CORE, ou encore lorsque vous connectez votre CORE
directement au Gameport, l'optocoupleur de l'autre module ne doit pas être monté
afin d'éviter des flux de données MIDI invalides. |
J12 |
3 |
Port MIDI OUT. Reportez-vous aux schémas pour savoir comment y connecter une embase MIDI. |
J13 |
3 |
Port MIDI IN. Reportez-vous aux schémas pour savoir comment y connecter une embase MIDI. |
J14 |
1 |
Utilisé par le MIOS comme entrée pour les Touch Sensors. Parfois également utilisé dans des procédures de débuggage |
J15 |
16 |
Interface vers un module LCD. |
Used Components
-
Voici la liste des composants utilisés. Une liste de commande complète chez Reichelt est disponible ici, pour les U.S.A. une liste de commande chez MOUSER est disponible sur le site de SmashTV, et si vous avez fait une liste pour un fournisseur dans votre pays,
n'hésitez pas à me la faire parvenir, elle sera
publiée ici.
-
Nom |
Valeur |
Description |
IC1 |
PIC18F452 (or PIC16F877-20) |
Le micro-contrôleur PIC - utilisez le PIC18F452 pour les applications basées sur le MIOS. Il est recommandé de ne plus utiliser le PIC16F877! |
C1, C2, Q1 |
2*33pF
10 MHz for PIC18F462
20 MHz for PIC16F877-20 |
Le circuit résonant pour l'oscillateur interne du PIC. Note: Un quartz 10MHz avec coupe parallèle
doit être utilisé (PIC16F877: 20 MHz!!!). Il existe aussi
des quartz pour circuit résonant en série (ceux
utilisé la plupart du temps dans les applications radio) qui ne
délivre pas une fréquence juste pour l'oscillateur du PIC.
|
R1 |
100 |
Cette résistance connecte
l'entrée reset "low-active" du PIC (MCLR#) au
+5V. A l'allumage, une charge "lente" assure que le reset du PIC soit
correctement effectué. Vous pouvez connecter un bouton "reset"
si vous le désirez, ce bouton devra être connecté
entre le pin MCLR#-et le pin Vss
(masse). Dans cette configuration, la résistance évitera
un court-circuit lors du reset . |
R2, R12 |
1k |
Ces résistances 1k sur le +5V (Pull-Up) sont nécessaire pour l'interface IIC. Sans celles-ci, votre MIDIbox pourrait ne plus
répondre, se réinitialiser fréquemment ou encore
envoyer des données MIDI invalides lors des tentatives
d'accès au matériel IIC - n'oublez donc jamais de les monter! |
R3 |
10k |
Pas vraiment nécessaire ,-) |
T1 |
BC337 |
Contrôle le courant pour le rétro-éclairage des écrans LCD |
R4 |
1k |
Protège la base du BC337 de courants trop élevés. |
P1 |
10k |
Cette résistance variable sert au réglage de la luminosité du rétro-éclairage des LCDs. |
P2 |
10k |
Cette résistance variable sert au réglage du contraste des LCDs. |
IC2 |
6N138 |
Tout matériel MIDI dispose d'un tel
optocoupleur, servant à isoler l'entrée MIDI de l'appareil connecté à l'autre bout, afin
d'éviter tout dommage éventuel.
Au cas ou vous ne
pourriez pas vous procurer de 6N138, vous pouvez vous servir d'un 6N139
(la connectique est compatible). Le 6N136 est également
compatible, mais requiert une modification du circuit (merci Arto pour l'avoir testé!) |
R5, R6 |
5.6k, 1.2k |
Résistances Pull-Ups/Downs pour l'optocoupleur, valeurs suggérées par Bjorn Julin. |
D1 |
1N4148 |
Diode de protection de l'entrée MIDI
protégeant l'optocoupleur si les pins du MIDI In se trouvaient
inversées par erreur. |
R7, R8, R11 |
220 |
Résistances de protection des ports MIDI, elles limitent le courant si les ports MIDI sont court-circuités
par erreur |
R9, R10 |
10k |
Résistances Pull-Ups pour les entrées digitales, elles assurent un signal stable lorsque les modules DIN ne sont pas connectés. |
IC3 |
7805 |
Un régulateur de tension qui stabilise
l'alimentation à 5V
indépendament de l'intensité et des variations de
température. Il tolère un courant de charge
jusqu'à 1.0A si un radiateur adéquat est installé,
jusqu'à
500mA sans radiateur. |
C5, C6 |
2200uF, 330nF |
Pour lisser la tension en entrée du régulateur (ripple rejection). |
C3, C4 |
10uF, 100nF |
Pour lisser la tension coté circuit (ripple rejection). |
C7, C8 |
100nF |
Ces condensateurs de "Bypass" doivent être
montés sur l'autre face du PCB , aussi prés que
possible des pins d'alimentation du PIC. |
X1 |
B40C800 |
Un pont-redresseur pour 40V/800mA en boitier
rond. Normalement, un tel pont-redresseur n'est nécessaire que
si le circuit est alimenté en AC (courant alternatif), mais il
est recommandé de l'utiliser également si le circuit est
alimenté en DC (courant continu), vous éviterez ainsi
tout dommage en cas d'inversion des cables d'alimentation.
Eventuellement le pont-redresseur peut être remplacé par 4
diodes
1N4001, leur disposition est décrite sur le schéma . |
J* |
* |
Tous les connecteurs sont optionnels, les câbles
pouvant être soudés directement sur le circuit. Sinon je
vous suggère d'utiliser des embases SIL (header sockets),
telles qu'on en trouve sur les carte-mères des PC. Elles sont
économiques et très pratiques. |
DIL |
SOCKETS |
N'oubliez pas de vous procurer des socles
(sockets) pour le PIC et l'optocoupleur. Le PIC nécessite un
socle DIL à 40 pins, l'optocoupleur un socle DIL à 8 pins. |
MIDI |
SOCKETS |
2 embases MIDI sont nécessaires pour les ports MIDI In/Out. |
Guide de Soudage
-
-
|
Commencez par souder les 4 ponts , ces derniers
vous évitent d'avoir à réaliser un pcb double-face
(2-layer). Utilisez pour cela le reste des pattes de vos
résistances et condensateurs que vous avez déjà
montés, et attendez d'avoir fini tous vos modules avant de les
jeter! :-)
La résistance 1k "R12" doit aussi être soudée au
plus prés du PCB, car elle sera recouverte ensuite par le
support 40 pins. |
|
Montez les composants.
Gardez à l'esprit, que pour les condensateurs electrolytiques C5
et C4, pour la diode D1, pour le transistor T1 et pour les deux ICs
(PIC et optocoupleur), la polarité doit être
respectée. Si vous avez un doute, reportez-vous aux
schémas, ou ouvrez le fichier .brd file avec Eagle. |
|
Les pattes du 7805 peuvent être
légèrement pliées comme sur la photo. Ce sera
nécessaire si vous utilisez un connecteur DIL pour le LCD
(socket J8) |
|
Deux cables isolés doivent être soudés au dos PCB (voir aussi l'aperçu).
Ils sont uniquement requis pour l'utilisation de certains modules (par
ex. modules IIC, module SID). Si vous êtes certain que votre
application n'a pas recours à ces modules, vous pouvez vous
abstenir d'installer ces ponts. |
|
TESTS: alimentez votre module une fois que tous
les composants sont montés à l'exception du PIC et de
l'optocoupleur. Vérifiez le voltage entre les principaux pins
à l'aide d'un multimètre (analogique ou digital, peu
importe) avant d'installer le PIC et le 6N138 dans leur socle :
IC1:MCLR(1) - IC1:Vss(12) = 5V
IC1:Vdd(11) - IC1:Vss(12) = 5V
IC1:Vdd(32) - IC1:Vss(31) = 5V
IC2(8) - IC2:(5) = 5V |
|
Une photo d'un module terminé - vous
noterez certaines différences entre ce module et les autres
modules CORE, c'est juste que j'en ai monté plusieurs en essayant
différentes conceptions :)
Cette image montre la dernière version.
L'étape suivante consiste à uploader le MIOS, et si ça ne fonctionne pas, à débugguer vos connections MIDI. |
Soudage des cables (à la demande de certains)
-
-
-
|
tout d'abord dénudez l'extrémité du câble à l'aide d'une pince coupante |
|
le câble doit être étamé afin d'assurer une bonne jonction |
|
les connecteurs doivent être eux aussi préalablement étamés |
|
vous pouvez maintenant souder facilement vos câbles à vos pins sans ajouter de soudure |
Last update: 2015-09-24
Copyright © 1998-2015, Thorsten Klose. All rights reserved.
|