R シリーズインテリジェント DAQ のよくある質問 (FAQ)
目次
- 新しい R シリーズデバイスとはどのようなものですか?
- 新しいRシリーズモジュールは、これまでのRシリーズデバイスとどこが違うのですか?
- 新しいVirtex-5 FPGAは何ゲートですか?
- アプリケーションにどちらのFPGAが合っているかわからないのですが。
- Virtex-II用に作成したプログラムはVirtex-5にも使えますか?
- Virtex-5 FPGAにはどのようなメリットがありますか?
- LabVIEW FPGA を使用するのに、VHDL の知識は必要ですか?
- Rシリーズデバイスをプログラミングするのに、LabVIEW FPGAモジュールは必要ですか?
- Rシリーズは他のデータ集録製品とどこが違うのですか?
- NI-DAQmx、NI-DAQmx Base、またはNI計測ハードウェアDDK(NI MHDDK)でRシリーズデバイスをプログラムできますか?
- Rシリーズのオンボード処理機能とは何ですか?
- Rシリーズデバイスで同時アナログ入出力を実行することは可能ですか?
- LabVIEW FPGAのその他の機能について教えてください。
新しい R シリーズデバイスとはどのようなものですか?

新しいNI Rシリーズインテリジェントデータ集録(DAQ)・制御モジュール4製品は、NI LabVIEW FPGAモジュールを使って構成できます。表1は、750 kS/秒の同時アナログ入力レート、1 MS/秒の同時アナログ出力レート、新しい高性能Virtex-5 FPGA(field-programmable gate array)チップなど、Rシリーズデバイスの全製品とその機能を一覧にしたものです。
|
製品名 |
バス/ |
FPGA |
16ビット |
最大 |
16ビット |
最大 |
デジタル |
|
マルチファンクションRシリーズデバイス |
|||||||
|
NEW! |
PXI |
Virtex-5 LX30 |
8 |
750 kS/秒 |
8 |
1 MS/秒 |
96 |
|
NEW! |
PXI |
Virtex-5 LX50 |
8 |
750 kS/秒 |
8 |
1 MS/秒 |
96 |
|
NEW! |
PXI |
Virtex-5 LX30 |
8 |
200 kS/秒 |
8 |
1 MS/秒 |
96 |
|
NEW! |
PXI |
Virtex-5 LX50 |
8 |
200 kS/秒 |
8 |
1 MS/秒 |
96 |
|
PCI, PXI |
Virtex-II 1Mゲート |
4 |
200 kS/秒 |
4 |
1 MS/秒 |
56 |
|
|
PCI, PXI |
Virtex-II 1Mゲート |
8 |
200 kS/秒 |
8 |
1 MS/秒 |
96 |
|
|
PCI, PXI |
Virtex-II 3Mゲート |
8 |
200 kS/秒 |
8 |
1 MS/秒 |
96 |
|
|
デジタルRシリーズデバイス |
|||||||
|
PCI, PXI |
Virtex-II 1Mゲート |
- |
- |
- |
- |
160 |
|
|
PCI, PXI |
Virtex-II 3Mゲート |
- |
- |
- |
- |
160 |
|
表1. R シリーズインテリジェントデータ集録および制御デバイス
これらのインテリジェントDAQデバイスは、ユーザ定義のオンボード処理機能や自由に設定できるI/Oタイミング/トリガ機能が搭載されています。NI LabVIEW FPGAモジュールを使ってLabVIEWブロックダイアグラムを作成することで、デバイスの全機能を構成できます。ブロックダイアグラムはハードウェアで実装され、全ての I/O信号をPXI/PCIデバイスで制御できます。RシリーズとLabVIEW FPGAを使えば、下記のような高精度なタイミングや制御機能が求められる様々なアプリケーションで、ユーザ定義のハードウェアを構成することができます。
- オンボード処理機能付きデータ集録
- 高速アナログ/ディスクリート制御ループ
- パルス幅変調(PWM)とエンコーダ通信
- ユーザ定義のデジタル通信プロトコル
- 最大64ビット分解能のカスタムカウンタ
- ハードウェアタイミング(40 MHz)による条件判断
新しいRシリーズモジュールは、これまでのRシリーズデバイスとどこが違うのですか?
新しいRシリーズモジュールは、優れた最適化機能を備えた高性能なVirtex-5 FPGAを搭載していますので、これまでのRシリーズデバイスに比べ高速でのコードの実行が可能な上、LabVIEWコード容量が高められています。Virtex-5 FPGAは、リソース使用率が大幅に改善された新しい6入力ルックアップテーブル(LUT)アーキテクチャを採用し、DSPスライスを搭載することで複雑なデジタル信号処理でもさらに高速で実行することが可能となっています。新しいVirtex-5 LX30 FPGAはVirtex-II 1MゲートFPGAの約2倍のサイズで、Virtex-5 LX50 FPGAはVirtex-II 3MゲートFPGAよりわずかにサイズが大きくなっています。
また、NI PXI-7851RおよびPXI-7852Rモジュールは、8チャンネルのアナログ入力全てで16ビット分解能、最大750 kS/秒のサンプリングが可能です。PID制御ループは、これまでのRシリーズハードウェアに比べ3.5倍以上の速さで実行でき、FPGAを利用した並列実行機能により、複数の制御ループがプロセッサで競合することがありません。アナログ入力レートが向上したことで、アナログトリガの精度や周波数計測機能も改善されています。
新しいRシリーズモジュールには、最新バージョンのNI-RIOドライバ(バージョン2.4以上)が必要です。お持ちのRシリーズデバイス用NI-RIOドライバのバージョンが古い場合は、無料で最新版にアップグレードできます。
新しいVirtex-5 FPGAは何ゲートですか?
ゲート数は、FPGAチップとASIC技術を比較するのに従来使用されてきましたが、実際にFPGA内の個々のコンポーネントの数を表したものとは言えません。Xilinx社が新シリーズのVirtex-5製品でゲート数を特定していないのはそのためです。LabVIEW FPGAベンチマークを行ったところ、新しいVirtex-5 LX30 FPGAはVirtex-II 1MゲートFPGAの約2倍のサイズで、Virtex-5 LX50 FPGAはVirtex-II 3MゲートFPGAよりわずかにサイズが大きくなっています。
アプリケーションにどちらのFPGAが合っているかわからないのですが。
残念ながら、構築するアプリケーションやプログラムによって、1 Mゲートと3 MゲートのどちらのFPGAが必要かを判断するのは簡単なことではありません。LabVIEW FPGAモジュールとNI-RIOドライバを使用した場合、ハードウェアがなくてもブロックダイアグラムをコンパイルできるため、必要なリソース数を判断するには実際に試してみるのがよいでしょう。
アプリケーションにどちらのFPGAが適しているかを判断する目安として、以下のガイドラインを使用できます。
FPGA上で基本的なタイミング、トリガ、同期を行うアプリケーションなら、小さいFPGAでかまいません。FPGA でタイミング、トリガ、同期とともに信号処理を行うアプリケーション(制御、デジタルフィルタ、複雑なアナログトリガ)の場合は、そのような操作に対応できるより大きなFPGAが必要です。
FPGAの内部的な仕組みについての詳細は、技術資料FPGAの内部を参照してください。
Virtex-II用に作成したプログラムはVirtex-5にも使えますか?
一般に、Virtex-II 1MゲートFPGA用にコンパイルしたプログラムはVirtex-5 LX30でもコンパイルでき、Virtex-II 3MゲートFPGA用にコンパイルしたプログラムはVirtex-5 LS50でもコンパイルできるとされています。ただし、2つのFPGAはアーキテクチャが異なるため保証はなく、プログラムの移行が可能かどうかは、やはり実際に試してみるしかありません。
LabVIEW FPGAモジュールとNI-RIOドライバを使用すると、ハードウェアがなくてもブロックダイアグラムをコンパイルできます。Virtex-5 Rシリーズターゲットに対応するようにするには、最新版のNI-RIOに無料でアップグレードできます。
Virtex-5 FPGAにはどのようなメリットがありますか?
Virtex-5 FPGAアーキテクチャは、LabVIEW FPGAモジュールでシングルサイクルタイミングループを使用して高速かつ効率的に実行するよう最適化されています。FPGAチップにデジタルロジックを実装するための基本構成単位はスライスと呼ばれ、各スライスはフリップフロップとルックアップテーブル(LUT)からなっています。先行機種であるVirtex-II FPGAは、4入力LUTを採用し最大16通りのデジタルロジック値が使用できましたが、新しいVirtex-5 FPGAは6入力LUTにより64通りの値が可能で、各スライスに実装できるロジック数が向上しています。さらに、スライス自体もより緊密に配置されているため、電子の伝搬遅延を軽減できるとともに全体の実行レートも向上しています。それによりLabVIEW FPGAアプリケーションにはどのような影響があるでしょうか。シングルサイクルタイミングループ構造では、6入力LUTを利用することでリソースの使用率が大幅に改善されています。つまり、より多くのLabVIEW FPGAコードを最適化してVertex-5 FPGA内に組込み、1クロックサイクルあたりより多くの操作を実行することが可能となっています。
LabVIEW FPGA を使用するのに、VHDL の知識は必要ですか?
いいえ。LabVIEW FPGAモジュールを使用すると、LabVIEWからRシリーズデバイスのFPGAに直接グラフィカルコードをコンパイルし、組込むことができます。LabVIEWのグラフィカルなブロックダイアグラムをVHDLにコンパイルする方法を知ることは最適化を理解する上で役に立ちますが、LabVIEWはFPGAテクノロジやVHDLを知らなくても使用することができます。LabVIEWは、FPGAテクノロジを利用してハードウェアのカスタマイズを行う必要はあるものの、VHDLやVerilogなどのローレベルハードウェア記述言語に関する知識のないエンジニアには最適です。
Rシリーズデバイスをプログラミングするのに、LabVIEW FPGAモジュールは必要ですか?
はい。NI R シリーズデバイスをプログラミングするには、LabVIEW FPGAモジュールを使用する必要があります。ただし、既存のVHDL IPコアや他のVHDLコードを使用したい場合は、HDLインタフェースノードを使ってVHDLをLabVIEWブロックダイアグラムに組込むことができます。
VHDLをLabVIEWブロックダイアグラムに組込む方法については、こちらのアプリケーションノートを参照してください。
Rシリーズは他のデータ集録製品とどこが違うのですか?
固定されたASICを使ってデバイスの機能を制御するのではなく、Rシリーズはユーザ定義のFPGAチップが搭載されていますので、オンボード処理や柔軟なI/O操作が実現できます。マルチファンクションRシリーズインテリジェントDAQデバイスには、各チャンネルに専用のA/Dコンバータが装備されていますので、独立したタイミングとトリガが可能です。そのため、マルチレートサンプリングや個々のチャンネルのトリガといった特殊な機能も利用できます。このような機能は、一般のデータ集録ハードウェアには搭載されていないものです。RシリーズデバイスのハードウェアタイミングによるデジタルI/Oは、デジタル通信プロトコルでカウンタ、PWMチャンネル、フレキシブルエンコーダ、またはラインとして定義できます。
NI-DAQmx、NI-DAQmx Base、またはNI計測ハードウェアDDK(NI MHDDK)でRシリーズデバイスをプログラムできますか?
全てのRシリーズインテリジェントDAQデバイスはNI-RIOドライバソフトウェアを使用します。NI-DAQmxやNI-DAQmx Baseには対応していません。ただし、NI計測ハードウェアDDKではレジスタレベルのプログラミングによってカスタムドライバ開発をサポートしています。LabVIEW FPGAアプリケーションをコンパイルしてRシリーズターゲットにダウンロードしたら、ホストアプリケーションからPCI/PXIバス経由でFPGA上のレジスタと通信するためのドキュメントがNI MHDDKで用意されています。
Rシリーズのオンボード処理機能とは何ですか?
LabVIEW FPGAモジュールには、以下のような様々な関数が入った信号処理パレットが含まれています。
• PID制御
• バタワースフィルタ(ハイパス/ローパス)
• ノッチフィルタ
• アナログ周期計測
• DC/RMS計測
LabVIEWのデジタルデバウンスフィルタやウォッチドッグタイマなどの機能を簡単に実装できます。また、LabVIEW FPGA IPNetにはさらに多くの関数やサンプルが用意されています。
Rシリーズデバイスで同時アナログ入出力を実行することは可能ですか?
はい。全てのマルチファンクションRシリーズデバイスには、各アナログI/Oチャンネルに専用のADC(アナログ/デジタル変換器)、DAC(デジタル/アナログ変換器)が付いているため、全てのチャンネルで同時にサンプリング/アップデートを行ったり、異なるレートでサンプリング/アップデートを行うことが可能です。デバイスの各チャンネルは独立したA/Dコンバータを備えているため、どのチャンネルも最大レートの750 kS/秒でサンプリングすることが可能です。個々のD/Aコンバータは、アナログ出力チャンネルを最大1 MS/秒のレートでアップデートするようプログラムすることができます。
図1のLabVIEW FPGAブロックダイアグラムは、RシリーズFPGAで同時アナログ入出力をいかに簡単に実装できるかを示しています。同じWhileループ内でNI PCI-7833Rボードの8チャンネル全てから読み取りを行うLabVIEW FPGAアナログ入力I/Oノードを使用して、このプログラムは全8チャンネルから200 kS/秒で同時にサンプリングするようになっています。並列で実行している下のループは、LabVIEW FPGAアナログ出力I/Oノードを使用して、8チャンネルのアナログ出力全てを1 MS/秒でアップデートできます。

図1. RシリーズとLabVIEW FPGAを使った同時アナログ入出力
LabVIEW FPGAのその他の機能について教えてください。
LabVIEW FPGAを使用すれば、通常ならカスタムハードウェアが必要となるようなあらゆる特有の問題にも対処できます。LabVIEW FPGAとNI Rシリーズを使って実装できるタスクには、以下のようなものがあります。
- フィルタ、高速フーリエ変換(FFT)などの信号処理関数
- デジタル通信プロトコル
- 高速アナログ/ディスクリート制御ループ
- カスタムモーションコントロール
- アナログ/デジタル信号生成
LabVIEW FPGAの関数やサンプルの詳細なリストは、LabVIEW FPGA IPNetでご覧いただけます。
法律関連事項
本チュートリアル(以下「チュートリアル」という)は、National Instruments(以下「NI」という)によって作成されたものです。本チュートリアルは、NIにてサポートされていますが、本チュートリアルの内容に関するテストや検査が完全に行われていない可能性があり、チュートリアルの品質について、もしくは、関連製品およびドライバの各改訂版に対するサポート継続については、何らの保証も適用されません。本チュートリアルは、いかなる保証もなく「作成された状態のまま」で提供されており、ni.com/jpの使用条件に特別に規定されている特定の制約事項に従うものとします。 (http://ni.com/legal/termsofuse/japan/ja/)

