Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
You are viewing an older revision! See the latest version
Homepage
さらに今更、SC-88ProにS/PDIFを付けよう
ある日倉庫を掃除していると、古い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回ぐらいw 素人なりに色々試したが、88proとの相性の問題と判断した。 次はDIT4192である。これはRS componentsに、我らがOSS事業部に購入依頼した。Amazonにオーダーした中華Arduino Nanoが届くまでに回路をくみ上げ、これもまた秋月の変換基板を利用して組み上げた。DIT4192は安定して動作した。DIT4192が一つ余ったので、みんなと同じく、やっぱり+VとGNDをショートさせて壊してしまったので、それからはがしたATmega328P 32-pin TQFPを再利用、ChaNさんのUEWを使った表面実装を試してみた。これもうまく動いた。
SC-88proのデジタル出力改造については 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を買おうかと思ったけれども、STM32F103の0.35漱石位のボードがAmazonで売っていて、中国から送料無料で届くと。
やってみるべ。