2020年4月13日月曜日

EZ-USB FX2LP を動かしてみる (43) feedback実装できず、撤退か?

EZ-USB FX2LPでDCCを作りたい.

ですが、たぶん、撤退です.ショック!

マスタークロックで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 件のコメント:

コメントを投稿