- リンクを取得
- ×
- メール
- 他のアプリ
- リンクを取得
- ×
- メール
- 他のアプリ
前回で "自作ベンチマークソフト" で RAMDISK に 388MB/sec の書き込みが出来ましたが、なんだか遅いような気がするのでさらに調べてみます。
サンプルの 1 つめ (2-Multi-ch RF MIMO RecPlay demo)
このサンプルは RFSA から 2ch のデータをストレージに保存する物です。
RF Record & Playback を見てみると、
→RF Record & Playback.lvproj
→Recorder.vi
→Stream NI-Scope.vi
で NI-Scope から取得したデータをファイルに保存する、P-C パターンが実装されており、ここがデータ取得→ファイルに保存のコア部分のようです。
RFSA は PXIe-5673 が前提。85MHz ~ 6.6GHz 対応の RF モジュールですね。
Recorder.vi を見ると、
- NI-RFSA の初期化とオープン (RF周波数、IQ レート、帯域、LO など) を行い
- 同時に RF周波数などの設定値を記録する ini ファイルの準備をし
- Stream NI-Scope.vi を開いて、VI 上の制御器に値を設定し ( Invoke ノードで)
- Stream NI-Scope.vi を実行(Run)
Stream NI-Scope.vi 内部では、
- NI-SCOPEバイナリ 16 をフェッチ.vi から波形を取得、
- 波形をファイル書き込み用 Consumer ループにキューで送信(→ファイルに保存)と
もう一つ分岐した波形を、チャンネル番号などをバンドルした SMT(wfm) に入れて SMT キューに向けて送信しています。
- SMT キューに入れられたデータは Recorder.vi の右上のブロックで受信し、
周波数領域・パワーに変換したものがグラフと Graph Unit に、dBm や impedance 等が数値で表示されます。
- 終了時は、
- wfm info を取得(?)
- ファイルのクローズ
- NI-RFSA のクローズが行なわれて終了です。
サンプル 2つめ (4-NI RF Record Playback (NI5672)v2.1)
このサンプルは RFSA から 4ch のデータをストレージに保存する物です。
4-NI RF Record Playback (NI5672)v2.1 は、
Record & Playback UI.lvproj
→NI Record & Playback Main.vi
→Configure & Record data.vi
→Set RFSA Record Settings.vi
→niRFSA Simple Record.vi
で 1つめのサンプルと同じく NI-RFSA からのデータをファイルに保存しています。Simple というだけあって 1つめよりもだいぶシンプル。
RFSA は、PXIe-5672 が前提。250kHz~2.7GHz 対応の RFモジュール。
niRFSA Simple Record.vi 一つのファイル内で、RFSA 設定からファイルの保存まで行なっています。
設定値の記録は、Configure & Record data.vi 内部で XML に保存。
RF 関連の設定は Set RFSA Record Settings.vi で行なうという流れ。
細かなところは 1つめと同じなので割愛。
サンプル 3つめ (Basic FlexRIO Streaming)
こちらのサンプルは2つと違い、FlexRIO 空のデータをファイルに保存するもの。
いわゆる FlexRIO シリーズの、
Virtex5 SX50T | |
Virtex5 SX50T, 512MB DDR2 | |
Virtex5 SX95T, 512MB DDR2 |
に対応しています。
弊社が保有しているのは NI PXIe-7965R なので、そのまま動くはずです。
このサンプルにはプロジェクトが2種類含まれていて、
Basic Streaming(under development)
Benchmark
の2種類。
まずは Basic Streaming で、FlexRIO からストレージに書き込みを行なってみます。
under development と言うだけあって、VI を実行して直ぐに終了してしまう場合がありますが、こりずに Run ボタンをクリックするとデータ転送が開始されます。
ポイントは "Data Rate" 制御器。
ここに 600MB/sec 等と入れておくと、FlexRIO から指定したデータレートで創出してくるので、それを TDMS ファイルに書き込みます。
このサンプル + FlexRIO PXIe-7965R + RAID ストレージ(NI HDD-8265) の組み合わせで、600MB/sec で安定した転送(FPGA Overflow しない) が行えました。
まとめ
前回の自作ベンチマークソフトでは 388MB しかストレージへの書き込みが出来なかったですが、ストレージに送り込むデータ次第では転送レートを上げることが出来るようです。
当たり前と言えば当たり前なのですが、PXIe-8130 搭載の CPU AMD Turion では 388MB/sec が上限だったという事なのでしょう。
次は、FlexRIO のサンプルを改造して、デジタイザ→FlexRIO の転送を P2P で行なってみることにします。
以上、ドルフィンシステム福島でした。
コメント
コメントを投稿