ピアピアストリーミン概要

内容

ピアピアストリーミン概要

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モジュールとなります。

 

LabVIEW 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/1066DC7、8

コントローラに依存

PXIe-1065/1066DC9~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-81353.4 GB/s 
PXIe-81331.6 GB/s 
PXIe-8130600 MB/s以上チップセットによる制限
PXIe-8106800 MB/s以上4番目のリンクはサポートされない (NI PXIe-1075およびNI PXIe-1082シャーシの右端のスイッチ経由でのデータ転送)
PXIe-8105800 MB/s弱スイッチによる制限
PXIe-8101/8102/8108サポートなしスイッチ後のP2Pは動作する
PXIe-83016.4 GB/s (gen 3 x8)
3.2 GB/s (gen 3 x4)
 
PXIe-8360/8370800 MB/s弱スイッチによる制限
PXIe-8375800 MB/s以上 
PXIe-83813.2 GB/s (gen 2 x8)
1.6 GB/s (gen 2 x4)
 
PXIe-8398/83996.4 GB/s (gen 3 x8)
3.2 GB/s (gen 3 x4)
 
PXIe-8821500 MB/s 
PXIe-88402 GB/s 
PXIe-88616.4 GB/s (gen 3 x8)
3.2 GB/s (gen 3 x4)
 
PXIe-8880/88816 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サンプルが続く形で交互にサンプルデータがピアツーピアでストリーミングされます。

PXIe-5622 IFデジタイザを使用したピアツーピアストリーミング

図6.PXIe-5622 IFデジタイザを使用したピアツーピアストリーミング

PXIe-5122高分解能デジタイザ:PXIe-5122は、チャンネルあたり1回のストリームにつき最大200 MB/sでデータを生成できる100 MS/s、2チャンネルの14ビットデジタイザです。ピアツーピアストリーミング用として、オンボードメモリへの並列データ経路上にライタエンドポイントが2つあります。収集したデータをそれらのエンドポイントに書き込めるほか、オンボードメモリを通してホストに送ることもできます。 

PXIe-5122高分解能デジタイザを使用したピアツーピアストリーミング

図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-5451800 MB/s以上
 PXIe-57457 GB/s
スコープ/デジタイザ
 PXIe-5122**800 MB/s
 PXIe-5160800 MB/s
 PXIe-5162800 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-56243.2 GB/s
 PXIe-57637 GB/s
 PXIe-57647 GB/s
 PXIe-57747 GB/s
 PXIe-57757 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-7961R800 MB/s以上
 PXIe-7962R800 MB/s以上
 PXIe-7965R800 MB/s以上
 PXIe-7966R800 MB/s以上
 PXIe-7971R1.5 GB/s
 PXIe-7972R1.5 GB/s
 PXIe-7975R1.5 GB/s
 PXIe-7976R3.2 GB/s
FlexRIOコプロセッサモジュール
 PXIe-79117 GB/s
 PXIe-79127 GB/s
 PXIe-79157 GB/s
高速シリアルモジュール
 PXIe-6591R3.2 GB/s
 PXIe-6592R3.2 GB/s
 PXIe-79023.2 GB/s
NI Rシリーズデバイス
 PXIe-7820R500 MB/s
 PXIe-7821R500 MB/s
 PXIe-7822R500 MB/s
 PXIe-7846R500 MB/s
 PXIe-7847R500 MB/s
 PXIe-7856R500 MB/s
 PXIe-7857R500 MB/s
 PXIe-7858R500 MB/s
 PXIe-7861500 MB/s
 PXIe-7862500 MB/s
 PXIe-7865500 MB/s
 PXIe-7866500 MB/s
 PXIe-7867500 MB/s
 PXIe-7868500 MB/s
IFトランシーバ
 PXIe-57857 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ストリーミングが可能になります。詳細については、デバイスの個別マニュアルをご覧ください。

Was this information helpful?

Yes

No