USBオシロスコープの実装に使用するのに最適なUSB転送タイプ(バルク、割り込み、アイソクロナス転送)は何ですか?


20

USBオシロスコープを作りたい。さまざまなUSB転送タイプについて読んでいました。収集したADCサンプルをUSBオシロスコープからPCに転送するのに最適な転送タイプはどれですか?

以下は私の発見のいくつかです。私を修正してください。また、誰かが良い転送タイプを提案できるといいでしょう。

  1. アイソクロナス転送-データの損失の可能性。各データ項目は貴重であるため、オシロスコープには適していません。どのくらいのデータが失われる可能性がありますか?
  2. 割り込みモード-USB接続がフラッディングするかどうかわからない
  3. バルクモード-データの損失がないため、最適なようです
  4. コントロール転送-データの転送を目的としていないため、適切ではありません

2
私が読んだことから、USBを備えたほとんどのスコープは、バルクモードを使用してスコープのスクリーンショットを送信します。
通行人

おそらく、アイソクロナスモードを使用する場合、エラー修正のために余分な帯域幅を少し予約することができます。
user253751

または、過剰な過剰使用のために、PCIe DMAは私の空想をくすぐります。
ミッチ

回答:


28

バルク転送ではデータは失われませんが、最小帯域幅は保証されていません。(一方で、他の転送で実際に使用されていない帯域幅をすべて使用できるため、より高速に到達できます。)

オシロスコープのデータ転送が(エラーまたは他のデバイスのために)遅延し、新しいデータが蓄積されるとどうなりますか?古いデータが送信されるまでデバイスを停止しますか、それとも古いデータを破棄して現在のデータを送信できるようにしますか?

アイソクロナス転送は、「リアルタイム」データ用に設計されています。エラー処理については選択肢がありませんが、帯域幅はバス上で予約されています。

  • 記録されたデータをリアルタイムで表示する場合は、アイソクロナス転送を使用する必要があります。
  • 測定が終了した後に記録されたデータをPC 転送する場合は、バルク転送を使用する必要があります。

10

質問は、オシロスコープとしての使用とはほぼ完全に独立しており、USBに要求する通信の種類によって完全に管理されています。例えば:

  • 内部に大きな(マルチメガバイト)バッファーがあり、最初に短いテストを実行してからデータをアップロードするように設計されたオシロスコープは、完全にバルク転送を使用します。帯域幅を保証する必要はないため、大量転送のエラーチェック付きの大容量が最適です。
  • 連続的にテスト対象の回路に連続的に接続し、「リアルタイム」で動作する必要のあるオシロスコープ(読み取り:確定的実行時間)は等時性を選択します。Bulkは、確定的な実行時の保証を提供せず、帯域幅を予約するようにパイプを設定することはできません。独自のエラー修正を行う必要がありますが、少なくとも確定的に行うことができます。
  • 人間が見るための「ライブ」フィードとトリガーでの高速キャプチャを備えたオシロスコープは、2つのエンドポイントを設定できます。人間が消費する場合、1つまたは2つのフレームを失うことは大した問題ではないため、アイソクロナスのエラーチェックの欠如を心配する理由はありません。ただし、実際のデータについては、エラー修正のために一括で転送します。
  • この回路を実際のシステムの一部として使用できます。それは、オシロスコープだけでなく、回路が動作範囲を離れており、コンピュータによってシャットダウンする必要があることを示す信号に対する安全装置でもあります。この場合、システムに割り込みエンドポイントを追加して、保証されたレイテンシー(および明確に定義されたエラー処理)を取得し、問題が回路を破壊する前に確実に処理されるようにします。

送信しているデータの種類と、データが到達する必要があるサービス品質(QoS)の用語がわかったら、どのUSB転送メカニズムを実行するかを決定できます。必要なデータとQoSを説明するために「オシロスコープ」という言葉が不要になったときに、これらの決定を下す準​​備ができていることがわかります。そうすれば、これらの問題への対処を開始するのに十分な言葉で客観的に理解できます。


4

オシロスコープの場合、転送の帯域幅は最大化するパラメーターです。バルク転送は高帯域幅向けに特別に設計されているため、適切な選択です。アイソクロナス転送と割り込み転送はレイテンシに限界がありますが、低帯域幅から中帯域幅のデータストリームのみを対象としています。


3

バルク転送を使用してください。オシロスコープは、実際には高データレートのデバイスではありません。デジタル蛍光体タイプの設計を計画している場合を除き、オシロスコープは実際には波形の非常に小さな部分への単なる窓にすぎません。たとえば、1000水平ピクセルを表示し、約30Hzでディスプレイを更新するとします。サンプルがそれぞれ8ビット(これが典型的)であり、2つのチャネルがある場合、60,000バイト/秒しか見ていません。フルスピードUSBは約1,000,000バイト/秒を実行できるため、使用しているバススループット容量は6%未満です。これにより、バルク転送モードを実行するのに十分な時間が与えられ(エラーを修正し、他のバストラフィックを回避)、十分な帯域幅を割り当てることができない実際のバス構成に遭遇することはほとんどありませんその量のデータのために。

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