ですが、たぶん、撤退です.ショック!
マスタークロックでDACを動かすのは必達目標である.そのためにはUSBは非同期転送しなくちゃいけない.転送レート調節機能であるfeedbackが必要となる.
そこでfeedbackをEZ-USBに実装したつもりだけど、動かない.音がプツッと途切れる.FIFOがアンダーフローしているためだ.
現状わたしがEZ-USB FX2LPに実装したEP番号はこうである.
EP2 audio stream data OUT
EP4 未使用
EP6 audio feature IN
EP8 feedback IN (EP2と対)
ところが、このような、EP2とEP8のペアだとfeedbackは動かないのだそうだ.
なんでダメなのか?
EP2 OUT/EP2 IN のように同じ番号同士じゃないとだめ
もしかしてwindows標準のusbaudio2.sysがEP2とEP8のペアでもfeedbackを動かしてくれるように気が利いていたら嬉しいのだが、現状その気配は感じられない.
同じEP番号にすりゃいいじゃんと思うところなのだが、EZ-USBは同一番号のIN/OUTを設定できないんだ.(EP1は除く)
全てが終了と思われる.
実をいうと、英語の意味が分からないのでスルーしていたUSB2.0規格書に致命的なことが書かれているのである.ひら意訳を交えて抜粋する.
USB2.0 9.6.6 Endpoint
3つのデータEPがあるとする.それらをEP2,EP4,EP6とする.
3つのデータEPが、一つのfeedback EPで処理されるとする.
このとき、feedback EPが何番であるかに制限がある.EP2でなければならないのだ.
そのように構成されていれば、EP4は自分よりも若い番号のfeedback EPをサーチすればfeedback EPを識別できる.EP6も同様である.
すなわち、最初のfeedback EP番号は、最初のデータEPと同じでなければならない.
これってEZ-USB FX2LPを使う限り無理なんだよなぁ.
ちなみに、CM6631では、データEP5 OUT/feedback EP5 INになっている.
最期の望みをかけてトライしてみるのはこれだ.
EP2 feedback IN (EP4と対)
EP4 audio stream data OUT
EP6 audio feature IN
EP8 未使用
これでfeedbackが動かなかったらEZ-USBからは撤退となる.
追記: 上のconfigでやってみたが、どうやらダメっぽい.撤退する.
エイメン
0 件のコメント:
コメントを投稿