USBバスパワーハブ-デバイスあたり100 mA以上?


11

USBの電源管理に関して非常に具体的な質問をしたいと思います。

まず、デバイスのデザインの概要を説明します。これは、私のDIYスピーカーシステム用のオーディオコーデックが組み込まれた対称信号ラインドライバーです。デバイスは内部的に2つの独立したブロックに分割されています。制御MCUを備えたラインドライバとオーディオコーデック(TIのPCM2706)です。どちらも(ドライバーブロック用のFT232Rを介して)USBデータ接続が必要であり、デバイス全体にバスパワーを供給する必要があります。2つのブロックはUSBハブチップによってリンクされ、PCへの単一のアップリンクUSB接続を生成します。ドライバーステージの消費量は100〜200 mA(間違いなく複数の負荷ユニット)になると思います。

ここで問題が発生します。USB仕様によると、バスパワーハブは、ダウンストリームポートごとに1ユニットしか提供できませんが、アップストリームから最大5ユニットを引き出します。知りたいのですが、ドライバーステージ用にFT232を介して2つのユニットを要求した場合、ハブはどうなりますか?アップストリームの5ユニットの制限に達しないため(ハブ用に1ユニット、コーデック用に1ユニット、ドライバ用に2ユニット)、コンピュータは物理的にその電流を供給できるはずです。

ハブチップについては、http: //www.ti.com/lit/ds/symlink/tusb2036.pdfをチェックしてきました。「連動」電源モードのオプションがありますが、これは役に立ちますか?または、チップはドライバーに2つのユニットを許可することを拒否しますか?この場合、汚い回避策はありますか?

列挙中に最大100 mAを引き出すには高出力デバイスも必要であるという要件を認識しています。FT232は列挙の直後にドライバーをオンにすることができるため、これは問題ではありません。ハブもステージを個別にオンにします。

私は私の問題を十分に明確に述べてくれたことを願っています。

更新:

TUSB2036チップについてさらに調査を行いました。過電流保護は、/ OCPROTピンによってオフにできます。次に、ハブは、過電流を検出できないことをルートコントローラーに報告します。USB 2.0仕様ではOC保護が必要であるというデータシートに警告があります。これは私には関係ありません。必要なのは1.1フルスピードのみです。PCのルートハブは、デバイス全体にIMOから500 mAmpを供給します。したがって、ドライバーのFT232が100 mAのみを必要とするように設定することができ、ハブは(もちろんPCからの500 mAを考慮して)制限を超えたかどうかを知ることはありません。これがうまくいくかどうか誰かが知ることができますか?

回答:


3

あなたの設計についての私の理解は、デバイス全体が単一のPCBにあり、単一のエンクロージャー内にあり、単一のUSBケーブルでホストに接続されているということです。ハブをPCBに統合して、両方のデバイスがPCと通信できるようにしました。次の答えは、これらの仮定にかかっています。取り外し可能なケーブルで接続された複数の個別のデバイスで構成されている場合、状況が変わります。

この場合は、ハブをハイパワーデバイスとして列挙するように構成し、結果の500 mAをボード全体で共有することをお勧めします。興味深いことに、TIの連動ポートのサンプル回路図は、電源管理ICを使用している場合でも、デバイスがすべて接続されていることを示しています。

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

入ってくる5V電源ライン(この複雑な回路図で注目している2つのネットの1つであるため、青色で強調表示)はTPS2041パワーマネージメントIC(寛大な説明、実際にはFETであり、 500mAの電流が流れていることを検出します)。ただし、各入力は互いに短絡されており、各出力も互いに短絡されており、各ダウンストリームポートに分配されています(ネットは赤で示されています)。

基本的に、それらは単一のICのすべてのダウンストリームセクションに対して過電流保護を行っています。3つの低電力(100mA)ユニット、1つの高電力ユニット、または2つの低電力ユニットと1つの300 mAユニットがあるかどうかを検出する方法はありません。これらのオプションはすべて、このリファレンスデザインに基づいて許容されます。あなたが書いた:

USB仕様によると、バスパワーハブは最大5ユニットを描画しながら、ダウンストリームポートごとに1ユニットしか提供できません...

しかし、あなたの質問に直接答えるために、テキサスインスツルメンツ(USBグループメンバーであり主要な実装者)によるこの設計は、総電流が5ユニット未満であることを保証するだけでよいことを示しています。


問題を解決するために、ルールは次のように述べています(一言で言えば、優れたUSBから取得)。

高電力バス給電機能は、バスからすべての電力を引き出し、設定されるまで複数のユニット負荷を引き出すことができません。その後、記述子でこれを要求した場合、5つのユニット負荷(最大500 mA)を排出できます。

デバイスが構成されるまで(ホストコントローラーの時間遅延のように単純な場合もある)、ドライバーステージが電流の引き込みを開始しないことが保証できる場合は、単純にすべてを一緒に配線できます。回路全体が単一のPCBにあり、ユーザーがアクセスできるダウンストリームポートがないため、TPS2041を省略して、どのような状態でも500 mAを超える電流を必要としないようにシステムを設計することもできます。

ハイパワーデバイスとして列挙するもう1つの利点は、入力電圧仕様が改善されていることです。低電力デバイスとして列挙した場合、ホストはアップストリームポートで4.40 Vを生成することのみが必要です(ケーブルの抵抗のためにデバイスで低くなります)。ハイパワーデバイスとして列挙した場合、仕様では4.75 Vが得られることが保証されています。これは、使用している5Vコンポーネントの動作範囲内である可能性が高くなります。


素晴らしい答えをありがとう。しかし、ハブをそのように構成するにはどうすればよいですか?外部EEPROMが必要ですか、それとも/ GANGEDピンをグランド(および送信した回路図に従って他の設定ピン)に接続するだけですか?
Ladislav、2012年

1
!GANGEDを​​グラウンドに、!EXTMEMを3.3Vに接続する必要があります。ただし、外部EEPROMは良いかもしれません。そうしないと、デバイスはPCで「汎用USBハブ」として表示されます。または、オンボードマイクロコントローラーでEEPROMをエミュレートすることもできます(スレーブとして機能するようにI2Cインターフェイスの1つを構成します)。次に、それを「スピーカーシステムドライバーとコーデックコントローラー」またはそのようなものとして報告できます。
ケヴィンフェルメール

5

そのハブの周りにボードを設計しました。

私のアプリケーションでは、FT232とFT245へのアクセスを許可していました。

すべてが独自のPCBにある場合は、過電流保護システム全体を完全に無視することをお勧めします。結局のところ、PCBの何かが故障した場合、すべてが機能する必要があるため、デバイスが部分的な故障を処理できるようにすることは、一種の問題点です。

私の状況では、TUSBをストラップして500 ma全体を要求し、過電流保護を無効にし、すべてをUSB 5.0vから直接実行しました。これを実現するには、ハブにアップストリームホストにセルフパワーであると報告させます。

私は何の問題もなくボードをいくつか作成しましたので、それは完全に実行可能な戦略のようです。また、複数の異なるコンピューターで使用されているので、そのまま使用するとかなり自信があります。

もちろん、これが個人のプロジェクトやテストハーネス(私の場合はそうです)ではなく、実稼働デバイス用である場合、それはまったく別の問題です。

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

(回路図の注記を参照)


それだけの価値があるので、多くの場合、あまり問題なく、最新のUSBポートのほとんどを恐ろしく乱用することができます。それらの多くは、あまり問題なく、定格の500mAよりもはるかに多くの電力を供給できます。
また、それらのほとんど(一部のラップトップを除いて、私がテストしたすべての)は、デバイスがまったく列挙する必要なく500フルを喜んで供給します。

ただし、これはUSBホストの設計方法に応じて、マザーボードによって異なります。あなたのマイレージは異なる場合があります。


はい、私はそれについて考えていましたが、あなたが言ったように、これはMBごとに異なります。このデバイスは数千台で生産されることはありませんが、できる限り相互運用できるようにする必要があるため、どのコンピューターでも「正常に動作」します。とにかくありがとう、実用的な観察は同様に価値があります:)。
Ladislav、2012年

@Ladislav-少なくとも多少はUSB仕様に違反せずにダウンストリームデバイスの電源を切り替える機能を必要としないようにする方法はないと思います。
コナーウルフ

バスパワーであると報告するためにデバイスをストラップし、電源切り替えを気にしない場合は、とにかく動作する可能性があることに注意してください。テストする価値があるかもしれません。または、USB-1.1のみのハブICを探します。
コナーウルフ

1

少し汚れている可能性があります。TUSB2036では、ダウンストリームポートを選択できます(p3 NPINT1-0を10に設定)。次に、デバイスを2つの(物理)ポートに接続して、2つのユニットを並行して描画できるようにします。

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