Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
MSP430を使ったUSB-MIDIパラレル変換器
● 自己紹介
車、バイク好き電子、機械工作好きの4C-1742です。
これから紹介するものは何?
● 2016年に1982~4年頃に作った古いシンセをTK80と再稼動させました。
● 当時はMIDIが一般的になる前で、パラレルバスで制御していました。
● TI社のMSP4305529LPを使ったUSB-MIDIをパラレルに変換する変換器です。
何のために?どこに接続するの?
● 84年にVCOを廃止してDCOに変更しました。DCOはパラレルバス接続のため、市販のCV/ゲート変換器は使えません。
● TK80はいつ動かなくなってもおかしくないご老体です。TK80が動かなくなってもPCで動かせたら良いですよね?
● TK80の代わりをさせるためにはMC80+の手前に接続します。
● ソフトを標準のUSB-MIDIに対応させればDominoや世界樹がそのまま使えます。
TK80/ BS
8’ーFDD
MC80+
データ8ビットアドレス4ビット
バス
SYSTEM7000
DCOVCOVCFVCAEG
MSP430パラレル変換
PCWin7
USB-MIDI
前置き1DCOの概観
● 14526(PFD)を使ってトップオクターブを生成(デバイダが8ビットなのでエラーが大きい)
● 4046(PLL)で64てい倍
● バイナリカウンタで約9オクターブを生成
● 64個の波形ROMをDACへ出力
● データは8ビット、64長
前置き2MC80+の概観
● TK80の8255パラレルバスからCVとゲートを生成
● CVは接続先が無いのでVCFに接続(キー・フォロー)
● テンポ用VCO内蔵
● 10ステップシーケンサでテンポ制御
● LEDでCVとゲートをバイナリでデータ表示
前置き3SYSTEM7000
● 8chアナログ/デジタル混在シンセ(サイズ:910x910mm)
● VCA(出所不明)
● VCF(ウエーブキット)
● VCOは無くて代わりにディレイド・モジュレータ( MFOS:2017年作製)
● EG(エフェクタ自作&操作術’81)
● DCO(オリジナル)
VCAx8
VCFx8
DL-MOD x8
D C O x8
EGx8
TK-80/BS
MC-80+
CPUボードMSP430F5529 LaunchPad
● TI社の非ARMのRISCの16ビットCPU
● ROM:128Kバイト
● RAM:8Kバイト
● USBデバイスコントローラ搭載(ただし、開発環境にUSB-MIDIのプロファイル無し)
● 開発環境:CCS(フリー)
● オンボードのUSBデバッグIF
● 内蔵IOのサンプルコードが豊富
ハードウェア1LCD
● MSP430のGPOでパラレルIFのLCDを制御
● 128x64ドットのグラフィックタイプ
● ネットのフリーフォントを修正して使用
● ユーザインターフェース用の表示
ハードウェア2ベースボード
● MC80バス切り替え回路
● 3V-5Vレベル変換
● ベロシティ用の8chADC
● ユニバーサル基板とICソケット、ジュンフロン線で手配線
ハードウェア3パネル
● QCAD(2D-CAD)でレタリングと穴位置を実寸でデザイン
● フォントはベクタフォントを使用
● DXFファイルで出力
ハードウェア4パネルのレタリング
● HeeksCNC(3DーCAD)でDXFをGコードに変換
● レーザ加工器でレタリング部を刻印
● レタリング部は表面のつや消し黒の塗装が無くなり、地のアルミが露出
● 穴あけ部はケガキ線、ドリルはセンタを刻印
ハード完成~周辺IOの種類
● ユーザIFスイッチ:4ビットLED:2個LCD:メニュー キー・シフト チューニング LCD輝度など
● MC80バス入力
● MC80バス出力
● ベロシティ用8chDAC出力
LCDスイッチ、LED
MC80バス出力、入力、ベロシティ出力
USB-パラレル変換器BGMの環境 <録音済み曲再生>
PC MSP430USB-MIDIパラレル変換
SYSTEM7000
MC80パラレルバス
USB
トーンホイール似ROMテーブル
SMFー>Domino
ミキサ
FPGA-DDS64倍トーンジェネレータ
USBMC80+
DCOクロック
MIDI
<曲目>J.S.BACH ・BWV639 DDS 2:10秒
ウイリアム・クロフト ・グラウンド 旧DCO 2:08秒
DL-MODLFO
Audacityー>MP3
SP808
サンプラ / エフェクタ
9ch10ch
ソフトウェア1USB
● 43oh(MSP430のフォーラム)に” How to set up MIDI over USB” という投稿があり、USB-MIDIとして認識させるための、ディスクプリタの設定方法の議論があり、ほぼWEBページにディスクプリタが掲載
● MMA(マイクロソフトメッセージアナライザ)を使用してUSB列挙の過程がキャプチャ可能
● 正しいディスクプリタの設定->PCは標準のMIDIデバイスとして認識 (デバイスマネージャ/サウンドデバイス)
● Dominoで演奏するとPCからはバルク転送
● MSP430のCDC用APIを使って4バイト単位で受信処理
ソフトウェア2-1マスタ:PC
ソフトウェア2-2MC80バス出力
● TK80の出力するバスをロジアナで解析し、似せて出力
● MC80+のCVはS/Hで保持しているので、リフレッシュ動作も出力
● USB側で 1トラックに和音があれば、空いているチャンネルを探して出力
ソフトウェア3-1マスタ:TK80
ソフトウェア3-2MC80バス入力
GPIでバスをポーリング各チャンネルのノートとゲート情報を入力
ゲート出力のタイムアウト検出
ノートとゲート情報からUARTへMIDIデータの出力
ソフトウェア4マスタ:外部MIDI
ベロシティ制御1VCA-EG
● SYSTEM7000のEGは<エフェクタ自作&操作術’81>の電圧制御EGを採用
● 図の 3 つの赤枠の+15Vの代わりに、任意の電圧にすると、EGの出力振幅を制御可能
ベロシティ制御2VCA-EG出力
● 上記制御入力にボリュームを接続して動作確認
● VCAのCVに入力すれば、ベロシティ制御が可能
USB-パラレル変換器ブースのデモ環境
PC MSP430USB-MIDIパラレル変換
2chHLSFPGAシンセ
SD-90(エフェクタミキサ
MC80パラレルバス
MIDI
スピーカヘッドフォン
1ch、2ch
SMFー>Domino
9ch、10ch
設定ボリューム
USB