もっと今更、SC-88ProにS/PDIFを付けよう

Dependencies:   mbed

You are viewing an older revision! See the latest version

Homepage

Table of Contents

    さらに今更、SC-88ProにS/PDIFを付けよう

    /media/uploads/peu605/frontview.jpg  ある日倉庫を掃除していると、古い5インチフロッピが出てきた。NIFTY serveからダウンロードしたものを保管していたものだった。聴き専ではあったが、FMIDIからダウンロードした、とても懐かしいデータであった。  ところがSC-88とSC-55は最近処分したばかり。インターフェースもない。何とかして再び聴いてみたいものである。DOOM musicもmp3じゃなくて実音源で聴いてみたくて仕方がなくなった。

     ヤフオクで探すとSC-88proは5漱石くらいから落札できるようだ。ぉッチしながら88proのことを調べていると、デジタル出力改造している方がいらっしゃる。もうすでに前世期から。  古くはToshiba TC9231、近年はTI DIT4192を使用するようだが、いずれも88proネイティブの18bit nativeの扱いは工夫が必要らしい。今からやるなら、 1.TI DIT4192をハードウェアモード、シフトレジスタで24ビットに 2.Asahi KASEI EMD AK4103Aはハードウェアモードで18bitをサポートしている 3.DIT4192をソフトウェアモード、マイコンで動作モード設定

     1に関しては2個ほどロジックICが必要であるし、先達と同じことをするのは面白くないので後回し。まずは2をチャレンジすることにした。AK4103Aは秋月や共立などでは販売していない。Digikeyにはもちろんあるのだが送料がネック。ところが、MISUMI-VONAで取り扱いがあることが分かった。個人向け扱いはないようだが、本業にOpen Source Software事業部をでっち上げてオーダーしてみた(ごめんなさい)。驚いたことに1漱石以下なのに送料無料で届いてしまったのである。

     さて届いたAK4103 Synchronousモード(ハードウェアコントロール)で秋月の変換基板上に組んでみたのだが、音が出ないことがる。それも5回に4回ぐらい orz 素人なりに色々試したが、88proとの相性の問題と判断した。

     次はDIT4192である。これはRS componentsに、我らがOSS事業部に購入依頼した。Amazonにオーダーした中華Arduino Nanoが届くまでに回路をくみ上げ、これもまた秋月の変換基板を利用して組み上げた。DIT4192は安定して動作した。DIT4192が一つ余ったので、みんなと同じく、やっぱり+VとGNDをショートさせて壊してしまったので、それからはがしたATmega328P 32-pin TQFPを再利用、ChaNさんのUEWを使った表面実装を試してみた。これもうまく動いた。

     SC-88proのデジタル出力改造については「今更SC-88ProにS/PDIFを付けよう」 http://www7a.biglobe.ne.jp/~naopy/av.html を大変参考にさせていただいた。文章もとっても好みw 復習のつもりでよーく読んでいたら、「出来る人は全てワンチップのマイコンでSPDIFに変換したり」と書いてある。できるかな?  調べると、シンセアンプラグド http://d.hatena.ne.jp/pcm1723 という(stm32で何かしようと調べるといつも引っかかる、とても参考になるサイト)サイトで、PSoC5LPやSTM32F4で作成されているようだ。頑張って読むのだが、高度すぎて、なるほど、わからん。

     やるのは、256fsのクロックで32kHz周期でシリアル送信されてくるデータを受信して、SPDIFのデータに変換して、出力するのを繰り返すこと。マイコンのSPIで送受信できそうな気が… 正確さを必要とするSPDIFのクロックはどうしたらよいのか… DIT4192の場合、88proから引き出したBCLKをSCLKとMCLKに繋いだが…

     エウレーカ!

    ・88proに光出力を付ける場合も、88proから引き出したBCLKをSPDIFのクロックに利用すればいい! ・SPIはslave full-duplexモードにする。BCLKに同期して受信と送信を同時に行ってくれる ・SPIの入力側は、1/2フレーム間に128 clkで送信されてくる。(18bit, right justified, MSB first) 。SPIの出力側は、1/2フレーム間に32bit送信すればいい。Biphase Mark Codeで必要ビットは2倍になり64bit。128clkで64bitを送信するためには、ソフトでデータを2倍に引き延ばせばいい。

     マイコン工作、MBEDから長らく遠ざかっていたのだが、貧乏人のMBED、Nucleoを引っ張り出してきた。白いから目立たないがほこりをかぶってるw Nucleo F411REならできるはず、いい娘ちゃんだもんね。  ところがだ、Nucleoちゃんはデカい、88proに入らん。小さいNucleoを買おうかと思ったけれども、AmazonでSTM32F103の0.35漱石位のボードが売っていて、中国から送料無料で届くと。そしてNucleo F103RBとしてコンパイルできるらしい。

     さらにボンビーぽくていいじゃないか。  やってみるべ。

     中華bule pillだし全然MBEDじゃないけど、開発はNucleo F411REで行いました。STMさん、MBEDさん、ありがとう。

    SPIDIF出力 /media/uploads/peu605/spdifout.jpg

    上から 配線引き回しに無駄が多いが、いろいろあれこれ作って外してした後なので… /media/uploads/peu605/topview.jpg

    光コネクタへの配線はここから通した /media/uploads/peu605/cableout.jpg

    リアパネルにタカチ電機工業 SW型 プラスチックケース 黒, 40 x 30 x 20mm を筐体のビス2本で固定。光コネクタは横向きに /media/uploads/peu605/rearpanel.jpg

    STMF32F103 割り込み処理部分の負荷率(割り込みのlatency除く) 20.8%。F411REだとその半分。違いはなに? /media/uploads/peu605/loadduty.jpg

    信号引き出しはここから。コネクタからとってもいいが、カスタムICの出力が直接つながっているビア /media/uploads/peu605/signals.jpg

    祭りの後www /media/uploads/peu605/fourdits.jpg


    All wikipages