NIピアツーピア (P2P) ストリーミングテクノロジは、PCI Expressを使用してホストプロセッサやメモリを経由せずにデータを送信して、複数の計測器間の直接のポイントツーポイント転送を実現します。このため、他のシステムリソースに負荷を与えることなく、システム内のデバイス間で情報を共有することができます。NIのP2Pテクノロジは、PXI Express FlexRIO FPGAモジュール、FlexRIOコプロセッサモジュール、オシロスコープ/デジタイザ、任意波形発生器、ベクトル信号アナライザ、ベクトル信号発生器、ベクトル信号トランシーバ、高速シリアルモジュール、およびRシリーズデバイスの特定のモデルでサポートされています。
図1に示すシステムでは、PXIe-1075シャーシに組み込まれたPXIe-5622デジタイザがピアツーピアデータストリーミングを使用して、データをPXIe-7966R FlexRIO FPGAモジュールに直接送信します。FPGAモジュールは受信したデータを次に別のFPGAモジュールに送信し、そこでさらに処理が行われます。シャーシのバックプレーンに設けたスイッチはモジュールが入るスロットに直接リンクできるため、ホストコントローラを経由したりCPUやホストメモリなどのシステムリソースを使用したりせずにデータを転送することができます。
図1.PXIe-5622デジタイザにより、データが2つのPXI Express FlexRIO FPGAモジュールにストリーミングされます。
RFアプリケーションに必要な共通機能として、リアルタイムの周波数領域トリガがあります。ほとんどのRF計測器のトリガは電力レベルによるもので、周波数には依存しません。ただし、LabVIEW FPGAモジュールを使用したピアツーピアのデータストリーミングと処理では、周波数領域トリガを生成することができます。図2に示すアプリケーションでは、データはPXIe-5663ベクトル信号アナライザのピアツーピアストリーミングによりFlexRIO FPGAモジュールに送信され、そこでデータはウィンドウ処理を経て周波数領域に変換されてマスクと比較されます。データがこのマスクを超えていると、FPGAモジュールはPXIバックプレーンでデジタルトリガをアサートします。PXIe-5663はこのトリガを受信すると、通常の収集メモリを使用して、プレトリガサンプルなどのデータレコードをキャプチャします。ユーザーはホストからNI-RFSAドライバを経由してこのレコードにアクセスして、その他の処理や保存を行うことができます。
図2.このアプリケーションでは、PXIe-5663ベクトル信号アナライザに周波数領域トリガを追加するのはFlexRIO FPGAモジュールとなります。
ピアツーピアデータストリーミングのプログラミングは、NI-P2Pドライバを使うことで劇的に簡素化されます。図3のアプリケーションでは、FPGA No.1がデータをFPGA No.2に直接送信します。LabVIEW FPGAでは、シンプルなピアツーピアリーダ/ライタノードがデータ交換用にFIFO (first-in-first-out) ベースのインタフェースを提供しています。それらのノードは、DMAとローカルFPGA FIFOに似ています。データ交換に先立って、ホストはFPGA No.1上のライタストリームをFPGA No.2上のリーダストリームにホスト上のNI-RIO APIとNI-P2P APIを経由して接続する必要があります (図3参照)。構成によっては、ピアツーピアストリームを接続するのに1つか2つのVIを使用するだけで、データの交換が可能になる場合もあります。
図3.2つのFlexRIO FPGAモジュール間でのピアツーピアストリーミングと関連ソフトウェア。
NIのピアツーピアテクノロジを利用すれば、最大で一方向7 GB/sのレートでのデータストリーミングが可能です。 最大スループットは、ストリーミングモジュール、シャーシ、構成が許す範囲でのコントローラに左右されます。一般的に、これらの要素の内の最小のレートがP2Pの最大可能帯域幅となります。
ピアツーピア転送のレイテンシは極めて低くなるよう設計されていますが、システム構成に変動します。 ストリーミングがFIFOとPCIeバス経由でのみ行われる場合、レイテンシは通常、約2~4 μsです。ただし、他のバストラフィックの影響で数十 μsに急増することも少なくありません。 デジタイザからストリーミングする場合、レイテンシは通常、5 μs程度となりますが、任意波形発生器へのストリーミング時には、オンボードバッファの影響で10~20 μsになります。
PXIe-5622デジタイザなど、オンボード信号処理機能を備えたデバイスとのストリーミングで、追加のフィルタやその他の処理を加わることでレイテンシは最大で数百 μsになることがあります。 また、システムの性能を評価する際には、FlexRIO FPGAモジュールで実行されているユーザコードのレイテンシも考慮することが重要です。
1つのモジュールから他のモジュールへストリーミングされるデータはすべてシャーシを経由する必要があるため、シャーシは帯域幅を決定する重要な要因となります。シャーシのバックプレーンにあるPCI Expressスイッチはデータをシャーシ経由で送信し、広帯域のポイントツーポイント接続によりピアツーピアのデータストリーミングを実現しています。図4のように、モジュールのあるシャーシスロットが同じPCI Expressスイッチに直接接続されている場合、帯域幅はスイッチに依存します。
図4.シャーシへのモジュールのこの配置では、データはすべて単一のPCI Expressスイッチを経由するようになっています。
表1は、ある特定のシャーシに実装されたPCI Expressスイッチの最大帯域幅を示しています。この帯域幅を実現するには、任意の2つのスロットが同じスイッチに接続され、スイッチあたりの複数の接続には一定のレートが保証されている必要があります。 シャーシのバックプレーンアーキテクチャおよび帯域幅は、各シャーシの仕様書で確認できます。
シャーシ | スロット | 最大ピアツーピアレート (片方向) |
---|
PXIe-1062Q | 3~5 | コントローラに依存 |
PXIe-1065/1066DC | 7、8 | コントローラに依存 |
PXIe-1065/1066DC | 9~14 | 800 MB/s弱 |
PXIe-1071 | すべて | コントローラに依存 |
PXIe-1073 | すべて | 200 MB/s以上 |
PXIe-1075 | すべて | 800 MB/s以上 |
PXIe-1078 | 2、3、4 | コントローラに依存 |
PXIe-1078 | 5~9 | 200 MB/s以上 |
PXIe-1082Q | すべて | 800 MB/s以上 |
PXIe-1083 | すべて | 460 MB/s |
PXIe-1084 | すべて | 500 MB/s |
PXIe-1085 | すべて | 3.6 GB/s |
PXIe-1085 Gen 3 | すべて | 7.2 GB/s |
PXIe-1086 | すべて | 3.6 GB/s |
PXIe-1088 | 4、6、8 | コントローラに依存 |
PXIe-1088 | 2、3、5、7、9 | 500 MB/s |
PXIe-1090 | すべて | 895 MB/s |
PXIe-1092 | すべて | 7.2 GB/s |
PXIe-1095 | すべて | 7.2 GB/s |
表1.PXI ExpressシャーシのP2P帯域幅
P2Pストリーミングシステムの両方のモジュールがシャーシバックプレーンの同じPCI Expressスイッチに接続されていない場合、データはホストコントローラ上のオンボードスイッチまたはチップセットを経由して転送されます (この時データはCPUやメモリを経由しません)。その構成を図5に示します。
図5.シャーシ内のモジュールの配置次第で、データはホストコントローラ経由で転送されます。
表2は、特定のコントローラのPCI Expressスイッチまたはチップセットの最大帯域幅を示しています。この数字は、コントローラに出入りする特定のセグメント経由の総帯域幅である点に注意してください。それらの同じセグメントに複数のピアツーピアストリームが存在する場合は、帯域幅を分け合う必要があります。さらに、シャーシのPCIeの生成とレーン数も最大帯域幅に影響します。以下の値は、シャーシがコントローラと同じかそれより新しいPCIe世代であることを前提としています。
コントローラ | スイッチ間の最大レート | 注記 |
---|---|---|
PXIe-8135 | 3.4 GB/s | |
PXIe-8133 | 1.6 GB/s | |
PXIe-8130 | 600 MB/s以上 | チップセットによる制限 |
PXIe-8106 | 800 MB/s以上 | 4番目のリンクはサポートされない (NI PXIe-1075およびNI PXIe-1082シャーシの右端のスイッチ経由でのデータ転送) |
PXIe-8105 | 800 MB/s弱 | スイッチによる制限 |
PXIe-8101/8102/8108 | サポートなし | スイッチ後のP2Pは動作する |
PXIe-8301 | 6.4 GB/s (gen 3 x8) 3.2 GB/s (gen 3 x4) | |
PXIe-8360/8370 | 800 MB/s弱 | スイッチによる制限 |
PXIe-8375 | 800 MB/s以上 | |
PXIe-8381 | 3.2 GB/s (gen 2 x8) 1.6 GB/s (gen 2 x4) | |
PXIe-8398/8399 | 6.4 GB/s (gen 3 x8) 3.2 GB/s (gen 3 x4) | |
PXIe-8821 | 500 MB/s | |
PXIe-8840 | 2 GB/s | |
PXIe-8861 | 6.4 GB/s (gen 3 x8) 3.2 GB/s (gen 3 x4) | |
PXIe-8880/8881 | 6 GB/s (gen 3 x8) 3 GB/s (gen 3 x4) |
表2.PXI ExpressコントローラのP2P帯域幅
シャーシとコントローラの構成が十分な帯域幅をサポートしていると仮定した場合、実現可能な最大帯域幅はPXI Expressモジュールにより決まります。さまざまなP2P対応デバイスのベンチマークと構成の詳細を以下に示します。
PXIe-7976R、PXIe-7975R、PXIe-7972R、PXIe-7971R FlexRIO FPGAモジュール: これらのPXI Express FlexRIO FPGAモジュールは、モジュールとの間で1.5 GB/sでのデータストリーミングが可能です。ストリーム数とその帯域幅は、デバイスに搭載されているFPGAの構成とプログラミングにより決まります。PXIe-7976はPCIe Gen 2x8インタフェースを使用しており、モジュールとの間で最大3.2 GB/sでのストリーミングを可能にします。
PXIe-7966R、PXIe-7965R、PXIe-7962R、PXIe-7961R FlexRIO FPGAモジュール:これらのPXI Express FlexRIO FPGAモジュールは、800 MB/sを超えるレートでのモジュール間データストリーミングが可能です。双方向に同時にストリーミングする場合、FPGAモジュールは各方向700 MB/s、合計で1.4 GB/sを超えるレートを実現することができます。このデータは単一のストリームのこともあれば、デバイスのDMAチャンネルにつき1つずつ、最大16のストリームとなることもあります。ストリーム数とその帯域幅は、デバイスに搭載されているFPGAの構成とプログラミングにより決まります。
PXIe-5622 IFデジタイザ:PXIe-5622は、最大300 MB/sでデータを生成可能な150 MS/s、16ビットのデジタイザです。ピアツーピアストリーミング用として、オンボードメモリへの並列データパス上にライタエンドポイントが1つあります。収集したデータをこのエンドポイントに書き込んで、FPGAターゲットにストリーミングしたり、オンボードメモリ経由でホストに送信したりすることができます。PXIe-5622の主要機能として、直交デジタルダウンコンバージョン (DDC) 付きのオンボード信号処理 (OSP) 機能があります。これは、最大60 MHzのIF帯域幅でI/Qデータを75 MS/s (150 MB/s) で出力できます。このモードでは、Iサンプルの後にQサンプルが続く形で交互にサンプルデータがピアツーピアでストリーミングされます。
図6.PXIe-5622 IFデジタイザを使用したピアツーピアストリーミング
PXIe-5122高分解能デジタイザ:PXIe-5122は、チャンネルあたり1回のストリームにつき最大200 MB/sでデータを生成できる100 MS/s、2チャンネルの14ビットデジタイザです。ピアツーピアストリーミング用として、オンボードメモリへの並列データ経路上にライタエンドポイントが2つあります。収集したデータをそれらのエンドポイントに書き込めるほか、オンボードメモリを通してホストに送ることもできます。
図7.PXIe-5122高分解能デジタイザを使用したピアツーピアストリーミング
有効なストリーミング構成の例を表3に示します。
表3.有効なストリーミング構成
たとえばPXI Express Gen 1 x4のバス帯域幅を超えるレートでデータを生成するモジュール構成もできますが、データのオーバーフローが発生する可能性があります。表3の最後の構成の場合、フルレートでサンプリングすると、1回のストリームにつき400 MB/sになります (合計800 MB/s)。さらにホストPCにデータを送信すると、バス帯域幅を超えてしまいます。デジタイザのサンプリングレートを下げることで、データのオーバーフローを防ぐことができます。
モジュール | モデル | 最大ピアツーピアレート |
---|
任意波形発生器 | ||
---|---|---|
PXIe-5450 (Rev. C以降) | 800 MB/s以上 | |
PXIe-5451 | 800 MB/s以上 | |
PXIe-5745 | 7 GB/s | |
スコープ/デジタイザ | ||
PXIe-5122** | 800 MB/s | |
PXIe-5160 | 800 MB/s | |
PXIe-5162 | 800 MB/s | |
PXIe-5164*** | 3.2 GB/s | |
PXIe-5170*** | 3.2 GB/s | |
PXIe-5171*** | 3.2 GB/s | |
PXIe-5172*** | 3.2 GB/s | |
PXIe-5622** | 800 MB/s | |
PXIe-5624 | 3.2 GB/s | |
PXIe-5763 | 7 GB/s | |
PXIe-5764 | 7 GB/s | |
PXIe-5774 | 7 GB/s | |
PXIe-5775 | 7 GB/s | |
RF信号アナライザ | ||
PXIe-5663* | ||
PXIe-5663E* | ||
PXIe-5665* | ||
PXIe-5667 | ||
PXIe-5668R | ||
RF信号発生器 | ||
PXIe-5673* | ||
PXIe-5673E* | ||
RFベクトル信号トランシーバ | ||
PXIe-5644R*** | ||
PXIe-5645R*** | ||
PXIe-5646R*** | ||
PXIe-5840*** | ||
FlexRIO FPGAモジュール | ||
PXIe-7961R | 800 MB/s以上 | |
PXIe-7962R | 800 MB/s以上 | |
PXIe-7965R | 800 MB/s以上 | |
PXIe-7966R | 800 MB/s以上 | |
PXIe-7971R | 1.5 GB/s | |
PXIe-7972R | 1.5 GB/s | |
PXIe-7975R | 1.5 GB/s | |
PXIe-7976R | 3.2 GB/s | |
FlexRIOコプロセッサモジュール | ||
PXIe-7911 | 7 GB/s | |
PXIe-7912 | 7 GB/s | |
PXIe-7915 | 7 GB/s | |
高速シリアルモジュール | ||
PXIe-6591R | 3.2 GB/s | |
PXIe-6592R | 3.2 GB/s | |
PXIe-7902 | 3.2 GB/s | |
NI Rシリーズデバイス | ||
PXIe-7820R | 500 MB/s | |
PXIe-7821R | 500 MB/s | |
PXIe-7822R | 500 MB/s | |
PXIe-7846R | 500 MB/s | |
PXIe-7847R | 500 MB/s | |
PXIe-7856R | 500 MB/s | |
PXIe-7857R | 500 MB/s | |
PXIe-7858R | 500 MB/s | |
PXIe-7861 | 500 MB/s | |
PXIe-7862 | 500 MB/s | |
PXIe-7865 | 500 MB/s | |
PXIe-7866 | 500 MB/s | |
PXIe-7867 | 500 MB/s | |
PXIe-7868 | 500 MB/s | |
IFトランシーバ | ||
PXIe-5785 | 7 GB/s |
表4.対応PXI Expressモジュールの最大ピアツーピア帯域幅
* 上記のRF信号アナライザは、RFダウンコンバータ、ローカルオシレータ、デジタイザの3つのコンポーネントで構成されています。この中でP2Pストリーミングを実行するコンポーネントは、デジタイザです。これらのRF信号アナライザで使用されるデジタイザは、PXIe-5622です。同様に、RF信号発生器でP2Pストリーミングを実行するのは任意波形発生器です。
** PXIe-5122とPXIe-5622でピアツーピアストリーミングを実行するには、ファームウェアのバージョンが現行のバージョン (NI-SCOPE 3.6でP2Pを有効化) である必要があります。PXIe-5122およびPXIe-5622デバイスのファームウェアをアップデートするには、NI-SCOPE 3.6 Readmeに記載された手順に従ってください。
*** ソフトウェア設計型計測器 (Software Designed Instrument) の計測器ドライバがP2Pストリーミングをサポートしていない場合、計測器ドライバFPGA拡張機能を使用するか、計測器設計ライブラリ (Instrument Design Library) でプログラミングすることでP2Pストリーミングが可能になります。詳細については、デバイスの個別マニュアルをご覧ください。
ピアツーピアデータストリームは、スケーリングやキャリブレーションがされていない未処理のバイナリ形式となっています。NI-SCOPEで正規化係数をクエリして適用することで、ボルト単位にスケーリングせずにバイナリデータをキャリブレーションすることができます。正規化されたデータは下記の基準に準拠しているため、後でバイナリ情報を解釈したりボルト単位にスケーリングしたりすることができます。
注記:ユーザーが±10 Vを指定した場合でも、最大/最小のバイナリ値はNI-SCOPEでプログラムされた垂直レンジ (±11 Vなど) に達します。これは、ユーザーがレンジをオーバーシュートよりも狭く設定した場合でも、オーバーシュートのキャプチャを可能にするためです。
別の方法として、スケーリング係数をクエリして適用することで、1回の手順でデータのキャリブレーションとスケーリングを行うことができます。詳しくは、高速デジタイザのヘルプをご覧ください。
P2PストリーミングをサポートしているNIのハードウェアを下記のリストに示します。
シャーシ | |
---|---|
PXIe-1062Q | |
PXIe-1065/1066DC | |
PXIe-1071 | |
PXIe-1073 | |
PXIe-1075 | |
PXIe-1078 | |
PXIe-1082 | |
PXIe-1083 | |
PXIe-1084 | |
PXIe-1085 | |
PXIe-1085 Gen 3 | |
PXIe-1086 | |
PXIe-1088 | |
PXIe-1090 | |
PXIe-1092 | |
PXIe-1095 | |
コントローラ | |
PXIe-8105 | |
PXIe-8106 | |
PXIe-8130 | |
PXIe-8133 | |
PXIe-8135 | |
PXIe-8821 | |
PXIe-8840 | |
PXIe-8861 | |
PXIe-8880/8881 | |
リモートコントローラ | |
PXIe-8301 | |
PXIe-8360 (PCIe-8361/8362) | |
PXIe-8370 (PCIe-8371/8372) | |
PXIe-PCIe-8375 | |
PXIe-PCIe 8381 | |
PXIe-PCIe 8398/8399 | |
任意波形発生器 | |
PXIe-5450 (Rev. C以降) | |
PXIe-5451 | |
PXIe-5745 | |
スコープ/デジタイザ | |
PXIe-5122** | |
PXIe-5160 | |
PXIe-5162 | |
PXIe-5164*** | |
PXIe-5170*** | |
PXIe-5171*** | |
PXIe-5172*** | |
PXIe-5622** | |
PXIe-5624R | |
PXIe-5763 | |
PXIe-5764 | |
PXIe-5774 | |
PXIe-5775 | |
RF信号アナライザ | |
PXIe-5663* | |
PXIe-5663E* | |
PXIe-5665* | |
PXIe-5667 | |
PXIe-5668R | |
RF信号発生器 | |
PXIe-5673* | |
PXIe-5673E* | |
RFベクトル信号トランシーバ | |
PXIe-5644R*** | |
PXIe-5645R*** | |
PXIe-5646R*** | |
PXIe-5840*** | |
NI FlexRIO FPGAモジュール | |
PXIe-7961R | |
PXIe-7962R | |
PXIe-7965R | |
PXIe-7966R | |
PXIe-7971R | |
PXIe-7972R | |
PXIe-7975R | |
PXIe-7976R | |
NI FlexRIOコプロセッサモジュール | |
PXIe-7911 | |
PXIe-7912 | |
PXIe-7915 | |
NI高速シリアルモジュール | |
PXIe-6591R | |
PXIe-6592R | |
PXIe-7902 | |
NI Rシリーズデバイス | |
PXIe-7820R | |
PXIe-7821R | |
PXIe-7822R | |
PXIe-7846R | |
PXIe-7847R | |
PXIe-7856R | |
PXIe-7857R | |
PXIe-7858R | |
PXIe-7861 | |
PXIe-7862 | |
PXIe-7865 | |
PXIe-7866 | |
PXIe-7867 | |
PXIe-7868 | |
IFトランシーバ | |
PXIe-5785 |
表5. NIのP2Pがサポートされているハードウェア
* 上記のRF信号アナライザは、RFダウンコンバータ、ローカルオシレータ、デジタイザの3つのコンポーネントで構成されています。 この中でP2Pストリーミングを実行するコンポーネントは、デジタイザです。 これらのRF信号アナライザで使用されるデジタイザは、PXIe-5622です。 同様に、RF信号発生器でP2Pストリーミングを実行するのは任意波形発生器です。
** PXIe-5122とPXIe-5622でピアツーピアストリーミングを実行するには、ファームウェアのバージョンが現行のバージョン (NI-SCOPE 3.6でP2Pを有効化) である必要があります。PXIe-5122およびPXIe-5622デバイスのファームウェアをアップデートするには、NI-SCOPE 3.6 Readmeに記載された手順に従ってください。
*** ソフトウェア設計型計測器 (Software Designed Instrument) の計測器ドライバがP2Pストリーミングをサポートしていない場合、計測器ドライバFPGA拡張機能を使用するか、計測器設計ライブラリ (Instrument Design Library) でプログラミングすることでP2Pストリーミングが可能になります。詳細については、デバイスの個別マニュアルをご覧ください。