USBケーブルの最大長がRS232より短いのはなぜですか?


9

ケーブルが5mより長い場合、なぜUSB信号をバッファする必要があるのですか?
それは信号電圧の低下が原因ですか?
それは電流を駆動するためですか?


1
Rs232は+/- 12ボルト、USB 0-5ボルトを使用
ミシュニック2015

回答:


16

USBは半二重であるため、送信速度が重要です。応答を送信するには、バスを回転させ、データを反対方向に送信する必要があります。そのため、ホストはデータを送信し、確認または応答を待ちます。すべての転送はホストによって制御されます。その後、デバイスは応答する一定の(かなり短い)時間を持ちます。この時間は、おおよそ5mのケーブルに沿った2つの信号のトリップにかかる時間です。

(今すぐ参照を見つけることはできませんが、関連する仕様書は公開されています)

編集:このセクションを見つけてくれたpsmearsに感謝

ケーブルと長距離ソリューション

  1. ケーブル長に制限があるのはなぜですか?

A:次のビットが送信される前に反射がトランスミッタで整定できるように、ケーブルの長さは26nsのケーブル遅延仕様によって制限されていました。USBはソースターミネーションと電圧モードドライバーを使用するため、これが当てはまる必要があります。これは、ライン電圧がビットの終わりまでに完全に安定したことを意味するものではありません。最悪の場合、不完全に終了します。ただし、ビットの終わりまでに十分な減衰があったため、反射の振幅は管理可能なレベルに減少しました。低速ケーブルの長さは18nsに制限され、伝送ラインの影響が低速信号に影響を与えないようにしています。

  1. 5メートルを超えるケーブルを作成したいのですが、なぜこれが機能しないのですか?

A:仕様に違反したとしても、文字通りそれほど遠くまでは行きません。最悪の場合の遅延時間を想定すると、5つのハブとケーブルの最下部にあるフルスピードデバイスのタイムアウトマージンは280psです。このマージンを0psに減らすと、余分な5cmが得られるだけで、問題になることはほとんどありません。

だから私の答えは半分正しいです:往復制限はハブとケーブルの最悪の場合のチェーン、合計深さ25mに対するものです。

Dan Neelyは、キーボード、マウス、プリンターなどの「遅い」周辺機器にとって、USBが常に最も低コストのソリューションであると想定されていたことも正しいです。より高速より遠くに全二重が必要な場合は、100baseTイーサネットが自然な選択です。


帽子は20mのUSBケーブルを作るものです。どうなるの?あなたは電圧が変化せず速度が重要だと言います。では、20mのケーブルケースで何が起こり、USBが機能しないのでしょうか。
user16307

2
ホストは要求を送信し、時間内に応答を取得せず、もう一方の端のデバイスを列挙できません。
pjc50 2015

4
あなたはこれについて確信を持っていますか?USB仕様に従って、ケーブルに沿った信号の伝播遅延は<26ns(表7-9)である必要があるため、信号は標準の5mケーブルで5.2 ns / m未満かかります。往復遅延の制限は約1.5μsです。その速度では、信号が100mを超えるケーブルを行き来するのに十分な時間があります。USB実装者フォーラムでは、5mの制限について別の理由が示されています。
psmears 2015

USB 1.0-2.0が(USB 3.0のように)初日から全二重ではなく半二重になる理由はありますか?言い換えれば、全二重よりも半二重の実用的な利点はありますか?
tigrou 2015

1
@tigrouより広くUSB1は、RS232 / PS2 / LPT /ゲームポートに対抗できるほど実装コストが安くなければならないため、あらゆる場所でシンプルなオプションを採用しました。シリコンは何年にもわたってずっと安くなっています。しかし、対象となるアプリケーションにとって「十分」であるのに必要な最低限よりも高い価格を持つことは、USB2がFireWireを殺すことになった。サンダーボルトはますます死産のように見えます。
DanはFirelightによっていじくられています2015

10

このページ/superuser/64744/maximum-length-of-a-usb-cableを参照してください

Q1:デバイスの接続に使用できるケーブルの長さはどれくらいですか?A1:実際には、USB仕様では、フルスピードデバイス間のケーブルの長さを5メートル(16フィート5インチ弱)に制限しています。低速デバイスの場合、制限は3メートル(9フィート10インチ)です。

Q2:3mまたは5mより長いケーブルを使用できないのはなぜですか?A2:USBの電気設計はそれを可能にしません。USBが設計されたとき、USBケーブルの最大長を4mの範囲に制限する方法でUSBデータライン上の電磁界の伝播を処理することが決定されました。この方法には多くの利点があり、USBはデスクトップ環境向けであるため、範囲の制限は許容できると見なされていました。伝送線路理論に精通していて、このトピックの詳細を知りたい場合は、開発者向けFAQのUSB信号のセクションをご覧ください。


1
それでも多くの霧の情報については何も説明してい
ません

10
あなたには霧がかかるかもしれませんが、この形式が許す部屋で信号理論を説明する簡単な方法はありません。
Wouter van Ooijen

5
この回答は、制限がある理由を指摘していると思います。ウェブ検索を行うことで、これらの領域をさらに探索することは非常に簡単です。たとえば、送電線理論について。それが私がこの回答を投稿した理由です。
マティアス・ヨハンソン

1
私はめったに反対票を投じないので、今それを正当化することを余儀なくされています。Wouter van Ooijenのコメントに反して、この回答が「USBケーブルの長さの制限」で検索するための可能な提案よりも具体的なものを提供しているとは本当に思いません。さらに、あなたが参照する回答にはデッドリンクが含まれているため、さらに読むための提案はそれほど有用ではありません。psmearsとpjc50が行ったように、正しい元のソースを見つけてそこから引用した場合は、別の問題になります。これは、この制限が存在する理由の詳細を実際に提供するためです。
Oleksandr R.

5

少なくとも通常の意味では、USBを「バッファリング」することは実際には不可能です。通常、バッファリングとは、電気的な増幅とおそらく信号の再生を意味します。

USBでは、ホストがバス全体を駆動します。ホストは要求を送信し、デバイスはホストに応答を発行する必要があります。応答の開始は、要求の送信が完了した後、特定の時間にホストに到達する必要があります。ケーブルが長すぎると、伝播遅延が長すぎて応答が時間内にホストに届きません。

したがって、回避策があり、バッファリングによって遅延が追加されるため、単純な「バッファリング」を伴うものはなく、ホストをより長い遅延に耐えられるようにする必要があります。

回避策には2つのクラスがあります。

  1. 物理ハブまたは仮想ハブを挿入する回避策。ホストがバス上のハブを列挙する場合、ハブ自体が余分な遅延を追加し、ハブとホストの間に別の全長ケーブルが存在する可能性があります。ハブからダウンストリームに接続するデバイスに対する要求は、追加の遅延を伴ってスケジュールされます。

    1. 最大7つのハブを直列に接続して、ケーブルの4mごとに単一ポートのハブを挿入できます。制限は、ホストから最終的なデバイスまでの7レベルのハブであるため、トラッピングの上流にハブがある場合は、それに応じてハブの数を減らす必要があります。多くのUSBホストには単一レベルの内部ハブが含まれているため、6つのハブが直列に接続されたケーブルの長さは28mになるのが現実的です。最初のものを除くすべてのハブは、セルフパワーであるふりをする必要があります。

    2. ホストに接続するプラグのすぐ近くにプリエンファシスを備えたより頑丈なトランシーバーを備えた仮想ハブを追加してから、より長いケーブルを介してUSBトラフィックを送信できます。そのような延長ケーブルの終端でデバイスが受信する信号が仕様の範囲内であり、レシーバーが標準デバイスが長いケーブルで送信したデータを復元できる限り、問題はありません。ホストが長い遅延を許容するように仮想ハブが追加されます-もちろん、物理ハブはなく、それらの偽装のみです。

  2. より高いレベルのプロトコルで「遅い」ように見えるデバイスをエミュレートする回避策。これが一部のCat-5 USB「エクステンダー」の動作方法です。ここには5つのパートナーがあります。実際のホスト(rHost)、それによって見られるエミュレートされたデバイス(eDev)、長いケーブル、エミュレートされたホスト(eHost)、およびケーブルの遠端でそれを見るデバイス(rDev) 。

    最初は、eDevはそこにいないふりをします。ある時点で、eHostはrDevがプラグインされたことを確認します。それを列挙し、データをeDevに転送します。次に、eDevはプラグインイベントをエミュレートし、rHostはそれを列挙します。rHostは、rDevを認識していると信じていますが、そこにいるのはeDevのふりだけです。同様に、rDevは、それがrHostを認識していると見なしますが、そこに存在するのはeHostだけのふりです。

    最終的に、rHostは、それを使用するために、そこにあると信じているrDevに転送を発行したいと考えています。IN転送の場合、eDevはデータがないように見せかけます(NAKで応答します)。転送要求はeHostに転送され、eHostはrDevでそれを再実行します。この結果はeDevに転送され、eDevは次にホストが転送を試みるときにその結果を使用します。

    OUT転送の場合、eDevはrDevの動作を推測する必要があります。ここで試行できるさまざまなヒューリスティックと動作があります。1つの方法は、eDevが常にデータを受信し、ACKで応答することです。転送はeHostに転送され、eHostは転送をrDevに再生します。理想的には、rDevは最終的にデータを消費してACKします。これが成功しない場合、またはrDevがSTALLで応答する場合、eDevが実行できる最善の方法は、ホストからの次の転送でこのように動作することです。あるいは、eDevは常に転送をNAKすることができます。通常は、ホストが後で同じ転送を再試行するだけであるという正しい仮定が当てはまります。元の転送はNAKで転送されましたが、eHostに転送され、rHostで転送が実行されます。rDevの応答が何であれ、eDevはそれを知るとすぐにeDevの応答になります。

    現実的な実装は、NAKによって延期できるすべての転送について、rDevへの完全なラウンドトリップを伴う保守的なヒューリスティックから始まります。転送が進むにつれて、rDevの予想される動作が学習され、eDevの保守性が低下する可能性があります。「エクステンダー」は、標準のUSBクラスの知識と、ベンダー固有のクラス/デバイスの知識/ブラックリスト/ホワイトリストを使用して、パフォーマンスを向上させることもできます。


代替ハブがバスパワーで動作しているように見せることはできませんか?バスパワーのハブはセルフパワーのハブに電力を供給できると思いますか?
スーパーキャット2015

バスパワーとは何の関係もありません-それはACKへの応答における総遅延です。
pjc50 2015

@supercatはい、代替のふりハブが存在する可能性があります。見せかけのデバイスツリーがホストに準拠しているように見える限り、どのように行うかは問題ではありません。
モニカ

@ pjc50 USB仕様によると、最大ACK遅延は約400nsです。時間信号は、40メートルの銅を両方向に移動できます。ここでは制限要因ではありません。
ZAB

1
@ZAB参照くださいusb.org/developers/usbfaq/#cab1
pjc50

2

ほとんどのdata-transmission-over-cableスキームには、ケーブルの「特性インピーダンス」の仕様(これを抵抗と考えますが、ACに適用されます)、終端インピーダンス(接続の最後にある「抵抗」は、信号の反射がケーブルから送信機に跳ね返るのを避けるために必要です。多くの場合、指定された「スルーレート」(信号が信号から信号に遷移するのにかかる時間) 0状態から1状態へ、またはその逆)、つまり、1秒あたり0/1の間の遷移の最大数(つまり、kbps / Mbps / Gbps)、したがって信号の完全性が低下するまでのケーブルの長さ&ものは正しく機能しなくなります。

USBと比較して、RS232にはケーブルタイプ、特性インピーダンス、スルーレート、ケーブル長、コネクタタイプに関するすべての仕様があります。確かに、25ピンと9ピンの「D」コネクタは一般的でしたが、実際にはRS232はあらゆる種類のコネクタとケーブルと製品に組み込まれており、特に仕様はありません。実際には、RS232を使用すると、通常、1秒あたりのビット数(別名「ボー」)レートに落とすことで、より長い距離を移動できます。達成できる最大距離は、ケーブルがシールドされているかどうか、終端が終端であるかどうかなど、ケーブルのインピーダンスの重要な部分によっても決まります。

RS232をUSBと比較すると、1960年代の「標準」を115k2で(まれな例外を除いて)かなり上回っていますが、1990年代と2000年代の1.5Mbpsで開始したものと比較すると、桁違いに速いです。次に12Mbps(ほぼ100倍高速)、次に480Mbps(ほぼ5000倍高速)ですが、ケーブルパラメータとケーブル長が、確実に機能させるために重要な役割を果たしたことを意味します。それはデスクトップ周辺機器接続規格として設計されたので、5mは許容できると見なされ、ケーブルとコネクタと速度のすべてのパラメータがその時点から規定されました。USBを遅くする方法があった場合、おそらくそれを(リピーターなしで)より長いケーブルで実行させることができます。


2
RS232は115Kで「トップアウト」している可能性がありますが、テレプリンターとモデムの間のリンクが毎秒110 ビットまたは300 ビットだったのを覚えています。信号は不平衡であり、電圧は-12Vから+ 12Vに変動し、ツイストペア、終端、またはシールドはありませんでした。その速度では、そのような短い距離では、ワイヤーの特性は何も意味しませんでした。その後、人々が数百メートル以上の高速で送信したいと思ったとき、RS422とRS485を入手しました。
ソロモンスロー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.