もっともシンプルなオーディオ・プロセッサに!

ZYBOに搭載されたFPGA + ARMコアのSoCチップ (ZYNQ)ですが、実はこのデバイスはほかのARMプロセッサなどと違ってディスプレー出力のための専用回路を含んでません。

画面出力のためのディスプレー・コントローラ、VRAMとメモリ間のデータ転送を担うDMAC、そしてHDMIやVGA出力のためのロジック回路は、ZYNQを使う設計者がFPGA内に回路として作りこまなければ実現できないようになっています。

通常は設計者がゼロから回路設計をしなくても済むように、FPGA内に実装可能な回路コアが提供されていて、それを組み込めば良いようになっています。

実際、現行のZYBOに組み込んだFPGA内の設計データである “zybo_base_system” には、下の図のようにネットワーク・オーディオには不要なこれらの回路も組み込まれています。クリックで拡大

接続するのがUSB DACであれば、I2Sコントローラも不要ですから、極論すればZYNQだけあれば良いのです( 前述のとおり、”ZYNQ”はFPGA + ARMコアのSoCチップでありますが、回路図中とここでは FPGA部無しのARMコア自体を “ZYNQ” と称しています )。そこで、ディスプレー関連の機能をすべて削除してシンプルなオーディオ・プロセッサとして使ってみようと思います。

具体的には、下の図のようにまで回路を減らすことができます。クリックで拡大

ZYBOの上には、アナログ・デバイスのSSM2603といういわゆるコーデックが載っていて、ZYBOのメーカーであるDigilent社のサンプルプロジェクトである、”zybo_base_system” でFPGAに組みこまれている「I2Sコントローラ」の出力がこのICにも接続されています。この際、I2Sコントローラも削除し、ついでにポートを強制的に内部でGndに接続することで、SSM2603の入力ポートがバタバタしないようにします。
その結果、非常にシンプルなネットワーク・オーディオ・プロセッサが出来上がりました。

すでにご利用されている方は、MicroSDカード内のBOOT.bin と devicetree.dtb をこちらのシンプルな方に入れ替えてみてください。MicroSDカードイメージの方も期を見て入れ替えます。

QNAPだけではなく、RockDiskNext (のTwonky Media Server )からもDSDまでトラブルなく再生できたというご報告をいただいております。