Subversion Repositories svn.mios

Rev

Rev 1022 | Blame | Compare with Previous | Last modification | View Log | RSS feed

HEADER 3 MBHP USB GM5 Module

<H1>MIDIbox Hardware Platform, USB GM5 Module</H1>

<P><CENTER><IMG SRC="mbhp/mbhp_usb_gm5_v1_1.jpg" width=500 height=380></CENTER></P>

<DL>
   <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> Background Infos </H2></DT>
   <DD>
<UL CLASS=CL>
  <LI><A HREF="http://www.midibox.org/forum/index.php/topic,11387.msg90225.html#msg90225" TARGET="_blank">Forum Article</A></LI>
  <LI><A HREF="http://www.midibox.org/dokuwiki/tk_gm5_bulkorder" TARGET="_blank">Wiki Page for GM5 and "Small PCB" order</A></LI>
  <LI><A HREF="http://www.midibox.org/dokuwiki/gm5x5x5" TARGET="_blank">Wiki Page for order of fully featured GM5 Expansion Board</A></LI>
</UL>
  </DD>
</DL>

<DL>
   <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> Download </H2></DT>
   <DD>
   <DD><TABLE WIDTH="100%" BORDER=0 CELLSPACING=5 CELLPADDING=0>
    <TR>
      <TD COLSPAN=4 CLASS=TABCOLOR1>PCB data, can be viewed, modified and converted with <A HREF="http://www.cadsoft.de/download.htm" TARGET="_blank">Eagle Light</A>. The .pdf based schematic has been created with <A HREF="http://opencircuitdesign.com/xcircuit" TARGET="_blank">xcircuit</A>. There are no special eagle schematics available, since components have been netlisted in the .brd file directly!</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Module</STRONG></FONT></td>
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Schematic</STRONG></FONT></td>
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Layout Data</STRONG></FONT></td>
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Quick-view</STRONG></FONT></TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><I>MBHP_USB_GM5_V1_1</I></TD>
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_usb_gm5.pdf">mbhp_usb_gm5.pdf</A></TD>
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_usb_gm5_v1_2.brd">mbhp_usb_gm5_v1_2.brd</A></TD>
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_usb_gm5_v1_2.gif">mbhp_usb_gm5_v1_2.gif</A></TD>
    </TR>
  </TABLE></DD>

  <DD><TABLE WIDTH="100%" BORDER=0 CELLSPACING=5 CELLPADDING=0>
    <TR>
      <TD COLSPAN=4 CLASS=TABCOLOR1><FONT SIZE=3>Additional informations</FONT></TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>File</STRONG></FONT></td>
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Size</STRONG></FONT></td>
      <TD NOWRAP CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Description</STRONG></FONT></TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_usb_gm5_orderlist.txt">mbhp_usb_gm5_orderlist.txt</A></TD>
      <TD CLASS=TABCOLOR2>1k</TD>
      <TD CLASS=TABCOLOR2><A HREF="http://www.reichelt.de/" TARGET="_blank">Reichelt</A> orderlist</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2><A HREF="mbhp/mbhp_usb_gm5_4io_board.pdf">mbhp_usb_gm5_4io_board.pdf</A></TD>
      <TD CLASS=TABCOLOR2>13k</TD>
      <TD CLASS=TABCOLOR2>Breakout board for 4 additional MIDI INs and 4 additional MIDI OUTs</TD>
    </TR>
  </TABLE></DD>
  </DD>
</DL>

<DL>
   <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> Available Ports </H2></DT>
   <DD>
<P CLASS=DESC>Following interfaces are provided by the USB GM5 module:</P>
  <DD><TABLE CLASS=BOX WIDTH="100%" BORDER=1 CELLSPACING=5 CELLPADDING=0>

    <TR>
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Name</STRONG></FONT></td>
      <TD CLASS=TABCOLOR1><FONT SIZE=2><STRONG>No. of pins</STRONG></FONT></td>
      <TD NOWRAP CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Description</STRONG></FONT></TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2>J1, J2, J3</TD>
      <TD CLASS=TABCOLOR2>2</TD>
      <TD CLASS=TABCOLOR2>Configuration jumpers. See table in schematic</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2>J4</TD>
      <TD CLASS=TABCOLOR2>3</TD>
      <TD CLASS=TABCOLOR2>MIDI In1 Jack (opto isolated)</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2>J5</TD>
      <TD CLASS=TABCOLOR2>3</TD>
      <TD CLASS=TABCOLOR2>MIDI Out1 Jack</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2>J6</TD>
      <TD CLASS=TABCOLOR2>10</TD>
      <TD CLASS=TABCOLOR2>Digital MIDI IO pins. Can be used for direct digital connections to J11 (MIDI Link port) of the <A HREF="mbhp_core.html">MBHP_CORE</A> module. Connect a J6:Ox pin to J11:MI, and J6.Ix to J11:MO. Up to 5 cores can be bidirectionally linked this way. Ground (J11:Vs, don't forget it!) is available at J7.<BR>
For audio applications like MIDIbox SID, MIDIbox FM or MIDIbox CV it is recommended to use an optocoupler at MIDI In to avoid a ground loop between USB and audio (-> 50 Hz hum!)<BR>
For a full featured 2x5 MIDI Interface, line I2-I5 and O2-O5 can be connected to a breakout board with 4 additional opto isolated MIDI INs and 4 additional MIDI Out Jacks.</TD>
    </TR>
    <TR>
      <TD CLASS=TABCOLOR2>J7</TD>
      <TD CLASS=TABCOLOR2>2</TD>
      <TD CLASS=TABCOLOR2>External power supply port. The "Vs" (GND) pin provides the ground for digital MIDI IO connections to J11 (MIDI Link port) of the <A HREF="mbhp_core.html">MBHP_CORE</A> module. Cores could be USB powered via J7, but this isn't recommended for audio applications like MIDIbox SID, MIDIbox FM or MIDIbox CV since this will lead to a ground loop between USB and audio (-> 50 Hz hum!). Note also, that a USB host limits the max. current drain to 500 mA.<BR>
This port can also be used to power a breakout board for 4 additional MIDI IOs + optocoupler.</TD>
    </TR>
  </TABLE></DD>
  </DD>
</DL>

<DL>
  <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> Windows Driver </H2></DT>
  <DD>
<P CLASS=DESC>All major platforms (Windows/Linux/MacOS) natively support the USB MIDI protocol, so that the 5 MIDI IO ports of GM5 will be available without additional driver installation. However, the Microsoft driver has some flaws (e.g. no multi client capability, corrupted SysEx transfers when large blocks are transfered, 1 mS latency between each event when they are sent over multiple ports) which can only be solved with a dedicated driver.</P>

<P CLASS=DESC><A HREF="http://www.ploytec.de" TARGET="_blank">Ploytec</A> (the makers of the GM5 chip) provide a Windows driver, which overcomes all these limitations. The performance is great, and the best: for GM5 buyers it's free!<BR>
<B>Download:</B>
  <UL CLASS=CL>
    <LI><A HREF="gm5/midibox.org_gm5_WIN32_1.0.10.zip">midibox.org_gm5_WIN32_1.0.10.zip from 2009-11-27</A> (32bit version)
    <LI><A HREF="gm5/midibox.org_gm5_X64_1.0.10.zip">midibox.org_gm5_X64_1.0.10.zip from 2009-11-27</A> (64bit version)
  </UL>
</P>

<P CLASS=DESC><B>Hint:</B> it's possible to give each MIDI port it's own name by editing the [Strings] section in the midibox.org_gm5.inf file.<BR>
Example:
<TT><PRE>
WDM.MIDI_1.szPname="MIDIbox SID (1)"
WDM.MIDI_2.szPname="MIDIbox FM (2)"
WDM.MIDI_3.szPname="MIDIbox SEQ (3)"
WDM.MIDI_4.szPname="MIDIbox Stribe (4)"
WDM.MIDI_5.szPname="Keyboard (5)"
</PRE></TT></P>

<P CLASS=INFO>This helps you to organize your MIDI ports, so that they are easier to find:
<CENTER><IMG SRC="gm5/gm5_multi_port.gif" width=658 height=168></CENTER></P>
  </DD>
</DL>


<DL>
  <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> FAQ </H2></DT>
  <DD>
    <UL CLASS=CL>
       <LI><B>Q:</B> the EEPROM is marked as optional in the schematic, what does this mean?<BR>
           <B>A:</B> it means, that you don't need to mount an EEPROM to get the module working. It's only a minor feature which helps to separate the modules in the device list if more than 2 devices are connected to a PC, so that they don't appear under the same name. Instead of midibox.org or ploytec.com you could give it the name of your wife/girlfriend or whoever.<BR>
              The EEPROM can only be programmed with a special <A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios&path=%2Ftrunk%2Fmbhp%2Fmbhp_usb_gm5_eeprom%2F">application</A> running on a <A HREF="mbhp_core.html">MBHP_CORE</A> module.<BR>
              My proposal if you are unsure about this option: don't buy an EEPROM, you don't really need it, even when multiple GM5 modules are connected to your PC!</LI>
       <LI><B>Q:</B> I want to use two GM5 modules for getting 10 MIDI IO ports, how can I give them individual names?<BR>
           <B>A:</B> Break the bridge at J8 of the PCB with a small screwdriver, so that IC2:IO4 is not connected to ground anymore. This selects the ploytec.com VID, so that your operating system can differ between two devices (midibox.org and ploytec.com) and installs an individual .inf file.<BR>
           If more ports with individual names are required, you could use different IO number configurations (J1..J3), since this results into different PIDs. Alternativeley you can use an EEPROM to define your own IO port configuration and PID - so long VID is assigned to Ploytec range, the Windows driver will find it.<BR>
           Note that without individual names, your OS will numerate the ports so that you are still able to differ between them.</LI>
       <LI><B>Q:</B> Is a dedicated driver planned for MacOS or Linux?<BR>
           <B>A:</B> This isn't required, as the legacy drivers are already working great!</LI>
    </UL>
  </DD>
</DL>

FOOTER