USBトランスポート

CypressのFX2LPというUSB2.0対応インターフェースチップを使ってUSBオーディオ・インターフェースを作りました。

通常、USBオーディオ・インターフェースというと、USBオーディオクラスというものを使ってアイソクロナス転送という方法でS/PDIFの形でPCとデータをやり取りします。で、Windowsにはカーネル・ミキサーというものがあって、これがデータを改変したりするといわれています。

当方、アイソクロナスではなく、バルク転送を使ってデータをやり取りすることにしました。USB2.0のHiSpeedであれば、AUDIO転送には十分すぎる帯域がありますので、FX2LP側の( 今回作った )基板にクロックを載せてこちらをマスタにすることができます。

従ってそこからS/PDIFで送り出すのではなく、直接DACを駆動するのであれば、ジッタの心配はありません。

当方はとりあえず( デジタルオーディオ基板の )開発マニアですので、WAVEファイルだけではなく、DSDファイルを再生できるようにしました( というか、とりあえず今はDSDだけ再生可能 )。

しかも、128fsという倍速のDSDでもThinkPad X31というセントリーノ( スペルを忘れた! )搭載超古いWindowsXPパソコンでも問題ないことを確認できました。よって、176.4kHz/192kHzのWAVEファイルでも転送速度的に問題ないでしょう。

倍速のDSDデータは、とりあえず1bitコンソシアムのデータを利用させていただきました。単純に再生してDSD対応DACでD/A変換してもよいのですが、PCM4204というTIのチップがあるので、それを使って遊んでみました。

このPCM4204というA/Dコンバータは、DSDを入力すると44.1kHzのPCMに変換してくれる機能があります( 44.1kHzオンリーのようです )。そこで、こいつに128fsの倍速DSD信号を喰わせて、44.1kHzのS/PDIFを吐き出させるという、酔狂な実験をよりによってお盆休みに実行したのでした。

結果は、すでに書いたとおりに、うまいこと動作したというわけです。

デジカメが不調で証拠 (笑) 写真が載せられないのが残念ですが、PCから見てオーディオデータの吐き出しと、キャプチャの双方ともできていますので、4chの倍速DSD対応 USB A/Dコンバータ、なんていうのも( 帯域が許せば )できそうです。