2ポートのUSBデバイス-両方のユーザーのプラグインから保護する方法


11

私は2つのポートを提供したいフルスピードUSBデバイスを持っています-エンクロージャの両端にそれぞれ1つ。これは、ケーブルを最も便利な場所に接続できるようにするためです。私のMCU(atmega32u4)にはインターフェースが1つしかないため、物理ポートは共有されますが、一度にプラグインする必要があるのは1つだけです。

もちろん、ユーザーが両方のプラグを同時に差し込まないことを信頼することはできません。これに対する保護方法は?

私が思いついたアイデア:

  • それらを「現状のまま」接続し、ホストが結合されたD + / D-ピンを処理できることを望みます
  • 入力として別々の5Vピンを備えたNANDゲート、両方に接続されている場合にVccを切断するMOSFETへの出力

2番目のオプションは妥当に聞こえますか、またはより複雑なソリューションが必要ですか?


D +とD-を接続するために2つのポートを配線することをどのように提案しますか?提案するレイアウトを説明する図を追加する必要があります。
ソーラーマイク

@SolarMike 2つの間で共有-「正しい」シナリオでは、1本のケーブルのみが接続され、他のコネクタのD + / D-はぶら下がります。
monty

7
また、一度に1つのUSBポートのみが露出するように、可動カバーを使用してケースを設計することを検討する必要があります。そうすれば、2つのホストをプラグインしても動作しない場合にポートを混同するのではなく、一度に1つのポートにしかプラグインできないことをユーザーに明確に伝えることができます。
ノニームース

4
男性と男性のUSBケーブルを見つけてデバイスをそれ自体に接続するユーザーを忘れないでください!!!
RozzA

回答:


23

指摘したように、2台のホストをデバイスに直接接続することはできません。そのため、それらを一緒に配線し、誰かが両端に接続した場合、問題が発生します。

ただし、一方の端だけが差し込まれている場合にも問題があります。USB、特に高速(480Mbps)モードはインピーダンスを制御します。両方のコネクタのデータラインを一緒に配線すると、高周波設計でスタブと呼ばれるものになります。未使用のコネクタに接続するケーブルは、アクティブなコネクタのパフォーマンスを低下させます。

これを適切に行うには、マルチプレクサICが必要です。この種のアプリケーション専用に設計された専用のUSB2.0マルチプレクサー(TS3USB30など)を購入できます。これにより、両方のポートからデータラインをマルチプレクサ入力に接続し、出力をデバイスに内部的に接続できます。マルチプレクサは、未使用のコネクタを切断し、伝送ラインスタブを切断します。

電力には、おそらくダイオードOR-ing回路などの電力マルチプレクサーを使用します。次に、ポートの1つからのVBUSライン(電力マルチプレクサーの前)をデータマルチプレクサーへの入力として使用できます。

グラウンドは、2つのUSBポートとデバイス間で共通(接続)になります。


1
私はスタブを考慮しませんでした-そのマルチプレクサ(パワーマルチプレックスと組み合わせた)は理想的に見えます!
monty

3
フルスピードではスタブは問題になりません。これは質問で尋ねたすべてです。
デイブツイード

1
@DaveTweedこの回答がHigh Speedをカバーしていることに気付いた後、Full Speedの説明を追加しました。この設計には「うまくやる」ことができることを知っているのは良いことですが、高速での影響を知ることは間違いなく感謝しています。
monty

今、私は本当にatmega32u4が480Mbpsをサポートするようにする方法に興味があります:)
Dmitry Grigoryev

9

Tom Carpenterが提案したマルチプレクサは、良い解決策です。

ただし、フルスピードUSB(12 Mbps)の場合、信号のスタブは特に重要ではありません。スタブ端間の距離が波長の1/10未満、つまり約2メートル未満である場合、反射によって波形が大きく歪むことはありません。

また、D +およびD-ピンの電圧レベルは許容範囲内にとどまるため、どちらのホストにも電子的損傷のリスクはあまりありません。

残る主な問題は、両方のホストから+ 5Vピンを一緒に接続すると、大電流が発生する可能性があることです。各USBコネクタの+ 5Vピンからダイオードを使用して、電流を入力するだけで、決して出力しないようにすることができます。


4

怠zyな電子設計の方法は、物理的なマルチコネクタスイッチを使用して、どちらを使用するかを選択することです。

これには、両方をプラグインのままにして、スイッチを使用して使用する入力を選択できるという追加の利点があることに注意してください。


2

これを行うUSB準拠の方法はありません。USBは2つのホスト間で共有されるように設計されていないため、共有しようとすると、悲惨な状況が発生する可能性があります。

せいぜい、GPIOでUSBマルチプレクサーまたはスイッチICを使用して、接続されているコネクターを判別できます。両方を同時にUSBインターフェイスに接続することはできないため、どちらのUSB接続を優先するかを決定する必要があります。

または、代替案を見てください。1台のコンピューターが他のコンピューターと通信するようにします。または、Bluetoothを使用するか、Wi-Fiまたは別の接続タイプを使用します。


質問に明確化を追加しました。一度に使用されるポートは1つだけであり、(できれば)NANDゲートは、「両方がプラグインされた」シナリオを単純に拒否することで優先順位の問題を解決できます。
モンティ

どのような悲惨な状況につながると思いますか?
jpa

1
@jpaは、2つのシステムに、たとえば50V異なる「接地」電位があるとします。両方をD-に接続することは「興味深い」かもしれません。電位がわずか50mV異なる場合でも、ノイズを生成する「グランドループ」を作成した可能性があります。
アレフゼロ

1
@alephzero確かに、しかし典型的なマルチプレクサやスイッチICでさえそれを処理しません。ただし、USBコネクタで最初に接地することで、ほとんどの場合この問題は解消されます。
jpa

2

この機能を備えたWacomタブレットを持っています。それらは、機械的なインターロックを使用して、あなたが説明している問題を処理します。

位置に応じて、1つのポートまたは他のポートをブロックするプラスチックスライダーがあります。

ここに画像の説明を入力してください


1

おそらく、エンクロージャの片側にUSBコネクタを残し、他のすべてのユーザー向け要素を対称的に複製および/または再配置する方が簡単でしょう。次に、エンクロージャーを回転させて、USBポートがコネクターに向くようにしますが、他のすべての要素には簡単にアクセスできます。

もう1つのオプションは、エンクロージャーの両側(両端)に両方のポートを配置し、エンクロージャー内にスライディングスタブを追加して、ユーザーが移動して片方のポートを開くことです。12 MHz USBは、接続されている余分な切断ポートで動作する可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.