前言
不知道現在還有多少人會對這個有興趣呢?
前陣子把塵封已久的DB50XG挖出來,
雖然以前做了個MIDI外接盒,
但是現在改用後Notebook也沒有MIDI介面可用了,
又不想花錢買貴貴的USB to MIDI Kit,
於是又想自己動手.
這陣子剛好在玩USB Device,
於是就想乾脆做一個USB介面的子卡外接盒.
我想這應該是我這塊DB50XG最後的歸宿了吧~~~
電路設計
這個電路可以看成是USB to MIDI Bridge,
其實和其他USB轉MIDI的Cable是一樣的功能.
USB Controller我選用Cypress FX2 CY7C68013,
它是一顆8051-based的USB2.0控制器.
我用的是56pin SSOP的包裝透過轉接版插在萬用版上.
由於56pin包裝的FX2並沒有UART,
所以需要另外作一個31.25kbps的Trasmitter.
因此我用Verilog寫了一個簡單的傳送電路放在Xilinx XC9536 CPLD中.
這個電路使用FX2的12MHz CLKOUT,
內部除以384做為bit clock.
Waveblaster部份就不再贅述,
提供+/-12V電源, Reset電路, 並且把Audio Output拉到耳機孔輸出.
http://bit.kuas.edu.tw/~ychsin/midi/usb/Schematic.pdf
電路圖
上方26pin排線接到子卡, 右上方PLCC44包裝的是XC9536,
中間是CY7C68013, 下方是USB及耳機插座.
USB Audio/MIDI Class
一個很嚴重的問題是, 我不會寫Driver....
不過USB IF早已定義了標準的USB Audio Class,
這個Class中也包含了MIDI Device Protocal.
而微軟在Windows裡也提供了標準的usbaudio驅動程式,
因此只要Device按照這個規範設計,
理論上就可以使用標準Driver.
Firmware部份完全按照USB-IF的Audio Class 2.0及USB MIDI Devices 1.0 規範設計.
http://www.usb.org/developers/devclass_docs#approved
然而, 在我的IBM T43上卻無法在控制台中選擇MIDI Device,
但裝置管理員中卻有正常認到USB Composite Device以及USB音效裝置.
Google大神說, 這似乎是WinXP MS USBAudio driver的問題,
USB-IF Forum上也有不少人遭遇同樣的情形.
然而, 我在桌上型電腦, 甚至用VMWare裡卻可以正常使用,
因此往後的測試都是在Vmware底下進行[b12]
真是詭異的現象, 希望Vista會改掉這個問題.
裝置管理員中有出現USB Composite Device及USB音效裝置.
音訊裝置中最底下的MIDI裝置應該會出現圖中的USB音效裝置,
但是在我的IBM T43電腦中卻不會.
裝箱
把電路及變壓器, +/-12V穩壓電路, 還有最寶貝的DB50XG全塞到機盒中.
嗯, 頓時覺得有點空虛, 總覺得還少了什麼.
來塊LCD Module吧~~~:D
當FX2的Firmware從USB接收到MIDI Note-On時,
除了送給子卡外, 也按照Channel Number及音量顯示在LCD下方.
這樣聽MIDI時視覺上就不會無聊了~~~
正在測試LCD的顯示.
把LCD塞進去, 盒子內頓時變得好擠好亂=.=
結語
其實這還沒做完, 因為前後面板還沒挖洞.
誰來教教我怎麼挖出漂亮的方形洞?
不知道會有多少人跟我一樣熱血想DIY一個外接盒呢?
Firmware的Binary File和Verilog還有些小地方需要修改所以沒放在網路上,
但如果需要也可以跟我要.
謝謝大家看完我的製作流水帳紀錄~
Written by Randy Hsin
ychsin@gmail.com
<分享>DB50XG最後的復活 - USB子卡外接盒製作、套件登記處
版主: DearHoney
這個以前就看過了,只是我本身不是電子出身,所以看不懂電路版,如果有成套的套件,我也要排隊~~
這是我之前看到的,已經好幾年前了
http://bit.kuas.edu.tw/~ychsin/midi/db.html
這是我之前看到的,已經好幾年前了
http://bit.kuas.edu.tw/~ychsin/midi/db.html