PICマイコンを使ったUSB-MIDI_HOST変換基板の製作 2019.4.3/2019.11.3

     本変換器はヤフーオークションにて販売しておりましたが完売致しました。
     次回販売予定はありません。(2019.11.28現在)


    1.はじめに

     USBインタフェースしか持っていないMIDIキーボードやMIDIコントローラを、DIN5ピンの標準MIDIコネクタしか持たないMIDI音源(RolandSC-88など)と接続するためのUSB-MIDI_HOST変換基板を製作しました。

     きっかけは、安く手に入れたKORGのMIDIキーボードnanoKEY2と、先に製作しましたPICマイコンを使ったMIDIシンセサイザーをパソコン無しに直接接続したいと思ってのことです。

     この基板を製作するまでは、パソコンとYAMAHAのUSB-MIDI変換ケーブル(UX-16)を使って接続していました。

     製作にあたっては、USBからMIDI-OUTへの変換のみに限定しました。このため、DINコネクタは一つだけでよく 21mmx38mmと小さな基板に回路を収めることができました。勿論、表面実装部品を使ったということが小さく出来た最大の理由です。

     基板サイズ21mmx38mmのUSB-MIDI-HOST基板です。  マイクロBコネクタは電源供給用です。USB-MIDIデバイスは、Aコネクタに接続します。  基板の裏面にPIC32MX220F032Bを取り付けました。
     USB-MIDIデバイスを認識すると緑色のLEDが点灯します。
     パソコン無しに nanoKEY2 で 自作シンセを演奏できるようになりました。


    2.機 能

     見た目はちっちゃなHOST変換基板ですが、以下のような3つの機能を持たせました。

    (機能 -1)USB-MIDIからMIDI-OUTへ出力

      USB-MIDI ------> MIDI-OUT

     この基板製作のきっかけとなった必須の基本機能です。これが出来ないと意味がありません。
     USBコネクタに差したUSB-MIDIデバイス(キーボード等)のMIDIメッセージをDINコネクタのMIDI-OUTに出力します。

     変換基板内のUSBホストモジュールのファームには、ハブ対応の機能を持たせましたので、ハブを内蔵したKORGのmicroKEY 37キーボードコントローラなども接続することができます。

       KORGのmicroKEY 37 ハブ付きキーボードコントローラです。  内蔵のハブが邪魔をして KENTON の USB-HOST には接続できませんが、この変換器には接続できます。


    (機能 -2) 複数のUSB-MIDIデバイスの出力をマージしてMIDI-OUTに出力
       MIDIマージ
      USB-MIDI#1 ---+---> MIDI-OUT
      USB-MIDI#2 ---+
      USB-MIDI#3 ---+
      USB-MIDI#4 ---+

     ハブ対応の機能を活かして、外付けのハブを使えば複数のUSB-MIDIデバイスを同時に接続できるようにしました。
     複数のUSB-MIDIデバイスからのMIDIメッセージは、マージしてMIDI-OUTに出力します。

       KORGのmicroKEY 37のハブポートにAKAIのLPK25を接続して、2つのキーボードの出力をマージしています。音源は、SC-88Proです。  YAMAHAのUX16でMIDIキーボードをUSB変換して、外付けハブを使ってLPK25とマージしています。 


    (機能 -3)USB-MIDIからMIDI-OUTへ出力すると同時に他のUSB-MIDIデバイスにスルー
       MIDIスルー
      USB-MIDI#1 ---+---> MIDI-OUT
              +---> USB-MIDI#2
              +---> USB-MIDI#3
              +---> USB-MIDI#4

     一つのUSB-MIDIデバイスからの出力をMIDI-OUTに出力すると同時に他のUSB−MIDIデバイスに出力スルーします。
     基板上にあるJP1端子を付属のジャンパーキャップでショートすることで、マージ機能からスルー機能に切り替わります。

       基板上にはJP1端子があり、オープンでマージ機能が有効になっています。  付属のジャンパーキャップでJP1をショートするとスルー機能に切り替わります。 

    3.詳細説明・制限事項等

    3-1.形状等

     ・電源コネクタのマイクロBコネクタは小さく破損しやすいので電源ケーブルの抜き差しやケーブルの取り廻しは慎重に行ってください。
     ・絶縁とケースを兼ねて透明の収縮チューブを被せています。JP1にジャンパーをする場合には、チューブの一部をカッターナイフ等で切り開いてください。中に収めてあるジャンパーキャップは小さく紛失しやすいので取扱に注意してください。
     ・JP1付近にあるCN4,CN5コネクタ端子は、デバッグとファーム書込みのためのものです。端子からは、+3.3Vの電源も出力されています。不用意にショートしたりしないようにしてください。

    3-2.ハブの使用

     ・ハブを使って接続できるUSB-MIDIデバイスの数は、最大4デバイスです。
     ・ハブの多段接続はできません。外付けハブのポートにハブ内蔵のMIDIキーボードを差しても使えません。
     ・ハブ内蔵のキーボードは本基板のUSBコネクタに直接差し込みます。
     ・ハブのポートにUSB-MIDIデバイス以外のデバイス(マウスなど)を差しても無視しますので動作に影響はありません。


    3-3.電流制限

     ・基板のUSBコネクタにはリセットヒューズを設けておりコネクタからの電源供給は定常350mAです。750mA以上流れると遮断します。
     ・この制限は、本基板の電源をパソコンのUSBコネクタから取った場合に備えてのことです。
     ・電流を多く必要とするデバイスをハブに接続する時は、セルフパワーのハブを使ってください。


    3-4.USB-MIDIメッセージ

     ・USB-MIDIでは、ケーブルナンバーを使って16個までのMIDIパケットを一度に送受信できるようになっていますが、変換器はケーブルナンバー0 のMIDIメッセージのみを変換します。

     ・複数のMIDIコネクタを持つUSB-MIDIインタフェース機器(マルチポートデバイス)では、MIDI-IN/OUT1がケーブルナンバー0に,MIDI-IN/OUT2がケーブルナンバー1に対応しているようです。このような機器を接続する時は、MIDI-IN/OUT1を使ってください。

     ・USBパケット上では、MIDIメッセージには全てステータスコードが付加されていますが、MIDI-OUTへの変換では、直前の同一ステータスを省略するランニングステータスの処理を行っています。ただしランニングステータスが1秒以上継続しないようにしています。


    3-5.MIDIマージ

     ・アクティブセンシングの出力は、変換器に先に到着したUSBデバイスのものを優先して出力します。他のデバイスからのアクティブセンシングは破棄します。現在送信中のアクティブセンシングが3秒以上途絶えると次のデバイスからのアクティブセンシングを優先して出力するようになります。

     ・あるデバイスからSysExメッセージが送信されてくると、そのメッセージの送信が終了するまでは、他のデバイスからのメッセージ(リアルタイムメッセージは除く)は出力されずに変換器内部のメモリにバッファリングされます。SysExの送信が完了するとバッファリングされていたメッセージが出力されます。バッファメモリは有限です。長時間に渡って大きなサイズのSysExを送信すると他のデバイスからのメッセージ抜けが発生する場合があります。同時送信が重ならなければ問題はありません。なお、SysExの終了は、エンドコード 0xf7 が必ず送信されてくるものとしています。


    3-6.MIDIスルー

     ・変換器が最初に認識したUSBデバイスが USB-MIDI#1となり、USB-MIDI#1から受信したUSBパケットが他のUSBデバイスにも送信されます。

     ・ハブに複数のデバイスを差したまま変換器に接続した時はどのデバイスが最初に認識されるか特定できません。また、後からハブにデバイスを差した時、ハブとデバイスの相性によっては、先に差されていたデバイスが内部で一度切断・再接続となり、認識しているデバイスの順番が変わることがあります。スルー機能を使う時は、事前にデバイスを抜き差ししてみて、期待通りの接続になっているか確認を行ってください。


    4.接続可能な機器

    4-1. USB標準MIDIクラスのデバイス

     いわゆるMacやWindowsなどに接続する時に特別なドライバーソフトウエアを必要としないデバイスです。
     Amazonで売られている激安のUSB-MIDIケーブルなども接続できます。激安品は、ハード構成の他にファームにも問題があるようです。使用する場合は注意してください。

     動作テストでは、KORGのnanoKEY2, microKEY37, AKAIのLPK25, M-AUDIOのKEYSTATION MINI32 を使いました。


    4-2 特別に対応している機器

     次の5台のUSB MIDIインタフェースを使えるようにしました。ただし特別なドライバーを組み込んでいる訳ではありませんので、装置特有の機能(UX96のMIDIパッチベイ機能など)が使えるものではありません。

    YAMAHA UX96 USB-MIDI INTERFACE YAMAHA UX16 USB-MIDI INTERFACE Roland UM-ONE USB MIDI INTERFACE (TAB/COMPどちらでも使えます。) Roland UM-2 USB MIDI INTERFACE SuperMPU32(IN1,OUT1を使います) Roland EDIROL USB MIDI INTERFACE UM-2ex (アドバンスドドライバーは、オンでもオフでも使えます。)

    5.ハードウェア、ファームウェア

    5-1.回 路

     基板の回路は左のとおりです。PICマイコンを使って電子工作している方には、特に説明するような所もない簡単なものとなっています。

     CN4, CN5は、デバッグとファーム書き込み用の端子です。CN4からは、USBデバイスのエヌメレーションに関するデバッグメッセージが出力されています。MIDIメッセージは出力されていません。

     CN5は、PICKit3の接続端子です。PICKit3を使って基板内のファームを書き換えれば、基板ハードを流用して他のものを作ることも可能です。ただし、コネクタ端子は、1.27mmピッチです。

     セルフハブのための電源を準備するのが面倒という場合には電流制限を外すことも可能です。USBAコネクタの付近にあるF1がヒューズです。これを取り外して基板端子を半田でショートするとUSBコネクタからの電流制限を回避できます。ただし自己責任にて行ってください。供給元の電源や基板内パターン配線が焼損する可能性があります。


    6.さいごに

     本変換器は、あらゆるシーンで活用できるプロ用機器として開発したものではありません。あくまでも趣味の範疇でお使い頂くものです。

     演奏会やスタジオ録音など重要かつ大事な場でご使用になる場合には事前に十分な評価を行った上でお使いください。

     本変換器の製作者は、技術者であり、ミュージシャンではありません。そのため、ミュージシャンから見て不足の機能や使い勝手の悪い面が多々あるかと思われますが、ご容赦ください。


    ===== ケースについて(2019.11.3) =================================

     本変換器は、ヤフオクで販売しておりますが、その際にはケースの代替として絶縁、安全を考慮して熱収縮チューブを被せています。
     チューブは結構厚みがあってそのまま使っても破損などの心配はありませんが、やはり気に入ったケースに収めて使いたいという方もおられるようです。

     昨日、購入者様から「こんな専用のケースを作って見ました。」と手作りケースの写真が送られてきました。

     3Dプリンターで作られたそうです。見た目も良く、素晴らしい出来栄えです。

     上下に分割出来るようになっていて、使い勝手も良さそうです。

     実は、私も以前にプラ板でケースを試作したことがあります。プラ板の1.5mmの厚みが結構目立つ、不出来なものでした。