・DTM機材

USB転送2

2014/10/08

USB1.1で接続するのオーディオインターフェイスで
チップセットによって不具合が発生することがありました。

これは、UHCIとOHCIの制御方式があった為でした。

UHCI(Universal Host Controller Interface)はINTELとVIAが採用し、
OHCI(Open Host Controller Interface)はマイクロソフトをはじめ、
nVidiaなどのインテルとVIA以外のチップメーカーが採用していました。

採用する会社の数では OHCI が多かったものの、
INTEL製チップセットを採用するパソコンが多かったため、
UHCIが事実上のスタンダートとなっていました。

この辺りの事情がUSB1.1のI/Oでチップセットにより
不具合があった要因の一部となっています。

ドライバのインストールではインストーラがUHCIかOHCIかを判断して、
それ用のドライバをインストールしていたので、利用者がUHCIか
OHCIかを意識することはありませんでした。

チップセットドライバを見れば判るのですが、
不具合がなければそこまでは普通は見る事もないでしょう。

そんなUSB1.1でしたが、USB2.0以降については
統一された制御方式になっています。

チップセットによって転送速度が云々ということは別として、
チップセットによって制御方式が異なるということは無くなりました。

また、USB1.1ではある一定の周期に一定のデータを転送する方式を
オーディオインターフェイスでは採用することが多く、
その転送方式をアイソクロナス転送ということは昨日までに書いたとおりです。

では、一定の周期とはどのような周期なのでしょうか。

USB1.1では1msを1フレームとして転送しています。
転送エラーがあった際は1フレームに不具合があることいなります。

エラーがあっても再送信しないアイソクロナス転送なので、
エラーがあった場合は1msに異常が出る訳です。

1msだとプチッとかブツッとなるようです。

ではUSB2.0ではどうなのでしょう。

1フレーム(1ms)は8マイクロフレームで構成されるので、
1マイクロフレームは125マイクロ秒であり、
1マイクロフレームに1024byteのトランザクションを
3回送ることができるのです。

転送エラーがあったとしても通常は
人の耳で判るものではないと思います。

連続すれば話は別ですが、
それはもう不良品のケーブルと呼べる品質になってしまいます。

通常のUSB2.0ケーブルであれば、耳で判るほど連続してエラーが
発生するようなことはありません。

また、USBではLowSpeedで3m、それ以上では5mまでと
ケーブルの長さは決まっています。

これ以上の長さであればリピーターケーブルを利用するか、
ハブを利用することになります。

参考までに、USB2.0の理論値では、
インタラプト転送時には1msあたり24,576byteの転送が可能で、
1マイクロフレームで1024byteのトランザクションを3回送れます。

バルク転送時には1msあたり53,248byteの転送が可能で、
1マイクロフレームで512byteのトランザクションを13回送れます。

アイソクロナス転送時には1msあたり24,576byteの転送が可能で、
1マイクロフレームで1024byteのトランザクションを3回送れます。

コントロール転送時には1msあたり15,872byteの転送が可能で、
1マイクロフレームで64byteのトランザクションを31回送れます。

先日よりWindowsのUSBに係る内容を書いてきました。

何かの参考までに。

-・DTM機材