USB AUDIO基板からDSD4ch録音機能を省くことにしましたので、基板上のFPGA内に結構大きく構成された2ch分のDSD2PCM変換機能が不要になります。この回路部分も削除した結果、ある程度の機能を追加することができる見込みとなりました。
基板の付加価値を下げないためにも、キワモノというか、できるだけ尖がった機能を新たに入れこもうと考えたのですが、すこしばかり保守的な方向に傾いてしまった感が否めません。
結局、独自Bulk転送による44.1kHzから192kHzまでのSTEREO waveファイル録再、2.8MHzと5.6MHzのSTEREO DSDIFF(DSD)ファイル録再、という機能に追加して、標準の「USB AUDIO Class 1.0」に準拠したアイソクロナス転送を使って、44.1kHzから96kHzまでのSTEREO PCMファイルの再生機能を追加しました。Quad speed再生には「Bulk転送」モードをお使いください。
いままで再生できなかったフォーマットが再生できる、というわけではないので、本質的な機能追加とはいえないかもしれませんが、多くの標準的なアプリケーションが使えるようになることが期待できますので、いろいろな意味で幅が広がるかもしれません。手元の2009年型MacBookでもOS X上でUSB DUAL AUDIO基板は使えています。
もうひとつ。単に標準にも準拠した、というだけではつまらないので、そこは当方流にアレンジしました。そもそもオリジナルのBulk転送版はPC側のクロックの影響を受けずに、「基板上の水晶発振精度で再生する」というのが特徴だったわけですので、その特徴はアイソクロナス転送時にもきちんと受け継いでいます。
現状では、出来合いのチップを使って(プログラムせずに)標準オーディオクラスでこのような機能を実現することはできないと考えております。
本基板では同じ1枚の基板上で実現させるわけですから、アイソクロナス転送の方だけPLLを使ってPC側のクロックと歩調を合わせる、というのではハード(回路)的にも意味がありませんので、Bulk転送とまったく同じデバイスを使って新しい機能をインプリメントしました。
Ayre社のQB-9という機種がありますが、この機種と同じようにPC側をフロー制御※してUSB基板側のクロック速度・位相に合うようにPCからのデータ量を調節する方法で、PC側のクロックと完全に非同期で動作させています(Asynchronous転送)。
したがって、Bulk転送モードとは実現方法が異なりますが、どちらのモードも基板上の水晶発振器レートで動作させることができるというわけです。
ご興味のある方はこちらのページに詳細を記載しましたのでご覧ください。
※USB基板とPCのクロックは全く無関係に動いていますので、PCからあるサンプリング周波数でデータが送られてくる場合、USB基板側は本来その速度に合わせて動作しなければなりません。USB基板側が自分のクロック速度で「勝手に」動作していれば、いつかは辻褄が合わなくなって受信データがバッファから溢れてしまったり、バッファが空になってしまうというわけです。そこで、ある一定の期間内におけるPCからのデータ転送量がUSB基板側のクロック動作速度に見合うように、USB基板側から「次からもう少し多めに転送してね」とか、「次からもう少し少な目に転送してね」といった指示をPC側に出して、トータルでの転送量をUSB基板側のクロック速度に合うように調節しています。