NIマルチファンクションRIOよくある質問 (FAQ)

内容

RIOテクノロジどのようものですか?

NIのRIO (再構成可能I/O) テクノロジの登場により、再構成可能なFPGAチップとNI LabVIEWグラフィカル開発ツールを使用して、カスタム仕様の計測ハードウェア回路を定義できるようになりました。RシリーズマルチファンクションRIOデバイスは、標準のPCフォームファクタ (PCI、PCI Express、PXI/CompactPCI、USBなど) で利用できる1つのデバイスに、最新のFPGAテクノロジと8個のアナログ入力、8個のアナログ出力、最大96個のデジタルI/Oラインを統合することで、価格と性能を最適なバランスで実現しています。LabVIEW FPGAモジュールを使用すると、ハードウェア記述言語に精通していなくても、カスタムデータ収集、高速制御、デジタル通信プロトコル、センサシミュレーション、オンボード信号処理などに対応する独自のハードウェア特性を作成することができます。   

図1. Rシリーズデバイスは、標準のPCフォームファクタ (PCI、PCI Express、PXI/CompactPCI、USBなど) で利用できます。

 

新しいマルチファンクションRIOデバイスどのようものですか?

最新のマルチファンクションRIOデバイスについては、下記のショップページを参照してください。

新しいRシリーズデバイスは、従来Rシリーズデバイスどこ違うですか?

新しいRシリーズデバイスは、優れた最適化機能を備えた高性能なKintex-7 FPGAを搭載していますので、従来のRシリーズデバイスに比べ高速でのコードの実行が可能な上、LabVIEWコード容量が増えています。新しいKintex-7 FPGAは、USB Rシリーズデバイスに最適です。このデバイスシリーズでは、従来のハイエンドFPGAが持つ機能や性能を備えながら、消費電力は半分で済みます。電力の大幅な削減により、従来のRシリーズデバイスに比べデバイスあたり最大10倍のデジタル信号処理 (DSP) 機能を搭載することが可能になっています。このように論理/DSPリソースが増えたことで、より複雑なアルゴリズムを実装することができ、信号処理やリアルタイム解析がさらに広く利用できるようになったほか、I/Oデータレートの高速化や昨今のアプリケーションの複雑化にも対応することが可能となっています。Kintex-7 FPGAの詳細については、「Xilinx 7シリーズFPGAモジュールのメリット」を参照してください。

また、新しいNI USB-785xRデバイスは、16ビット分解能および選択可能なゲイン分解能 (±10 V、±5 V、±2 V、および±1 V) を備えた、8つのアナログ入力チャンネルすべてで、最大1 M/sのサンプリングが可能です。FPGAベースの並列実行機能により、複数の制御ループがプロセッサの帯域幅で競合することがありません。アナログ入力レートが向上したことで、アナログトリガの精度や周波数計測機能も改善されています。また、新しいNI USB-785xRデバイスは固定小数点I/Oをネイティブでサポートしているため、FPGAで工学単位を直接操作することができます。

最後になりますが、新しいRシリーズデバイスは、最大80 MHzの速度で切り替えることができるより高速なデジタルI/Oチャンネルを備えています。  また、デジタルI/Oラインの電圧レベルをLabVIEW FPGAから直接選択できます。使用できる論理レベルは、3.3 V、2.5 V、1.8 V、1.5 V、および1.2 Vです。

 

NI FPGA製品FPGA比較

ゲート数は、FPGAチップとASICテクノロジを比較するのに使用されてきましたが、実際にFPGA内の個々のコンポーネントの数を表したものとは言えません。Xilinx社がFPGAのゲート数を特定することをやめたのは、そのためです。代わりに、フリップフロップ、ルックアップテーブル (LUT)、DSPスライス、使用可能なブロックRAMなど、いくつかの異なるコンポーネントを比較するようなりました。詳細については、「Slices on an FPGA Chip」ガイドのテーブルを参照してください。

アプリケーションどのFPGAいるか判断するどうよいですか?

残念ながら、アプリケーションやプログラムで、 サイズの小さいFPGAとサイズの大きいFPGAのどちらが必要になるかを判断するのは簡単なことではありません。LabVIEW FPGAモジュールとNI-RIOドライバを使用した場合、ハードウェアがなくてもブロックダイアグラムをコンパイルできるため、必要なリソース数を判断するにはFPGAを実際に試してみるのがよいでしょう。

アプリケーションにどのFPGAが適しているかを判断する目安として、一般的なガイドラインを次に説明します。FPGA上で基本的なタイミング、トリガ、同期を行うアプリケーションの場合は、サイズの小さいFPGAでかまいません。FPGAでタイミング、トリガ、同期とともに他の信号処理を行うアプリケーション (制御、デジタルフィルタ処理、複雑なアナログトリガ) の場合は、そのような操作を実装するためのより多くのリソースを備えた、よりサイズの大きいFPGAが必要となります。

 

Virtex-II作成したプログラムVirtex-5Kintex-7でも動作ますか?

一般に、Virtex-II 1MゲートFPGA用にコンパイルしたプログラムはVirtex-5 LX30以上でもコンパイルでき、Virtex-II 3MゲートFPGA用にコンパイルしたプログラムはVirtex-5 LX50以上でもコンパイルできるとされています。ただし、2つのFPGAシリーズはアーキテクチャが異なるため保証はなく、FPGAシリーズ間でのプログラムの移行が可能かどうかは、やはり実際に試してみるしかありません。LabVIEW FPGAモジュールとNI-RIOドライバを使用すると、ハードウェアがなくてもブロックダイアグラムをコンパイルできます。

 

LabVIEW FPGA使用するVHDL知識必要ですか?

いいえ、必要ありません。LabVIEW FPGAモジュールを使用すると、LabVIEWからRシリーズデバイスのFPGAに直接グラフィカルコードを統合することができます。LabVIEWでグラフィカルなブロックダイアグラムをVHDLにコンパイルする方法を理解することは、最適化のトレードオフを特定する上で役に立ちますが、LabVIEWはFPGAやVHDLを理解していなくても使用することができます。LabVIEWは、FPGAテクノロジを利用してハードウェアのカスタマイズを行う必要はあるが、VHDLやVerilogなど、下位レベルのハードウェア記述言語に関する知識のないエンジニアには最適です。

 

RシリーズデバイスプログラミングするLabVIEW FPGAモジュール必要ですか?

はい、必要です。Rシリーズデバイスをプログラミングするには、LabVIEW FPGAモジュールを使用する必要があります。ただし、既存のVHDL IPコアや他のVHDLコードを使用したい場合は、HDLインタフェースノードを使ってVHDLをLabVIEWブロックダイアグラムに組み込むことができます。

VHDLをLabVIEWブロックダイアグラムに組み込む方法については、こちらのアプリケーションノートを参照してください

 

RシリーズデバイスC/C++でプログラミングできますか?

FPGA-Interface C APIでは、NI LabWindows™/CVIやMicrosoft Visual StudioなどのCツールを使用して、NI FPGAベースハードウェア上のリアルタイムプロセッサをプログラミングし、FPGA上で実行されているLabVIEW FPGAコードに接続することができます。つまり、ホストマシン上で実行されるコードはC/C++またはLabVIEWで記述できますが、実際にFPGAにデプロイされるコードはLabVIEW FPGAで記述する必要があります。

詳細については、「FPGA-Interface C API」を参照してください。

 

Rシリーズ他のデータ収集製品どこ違うですか?

Rシリーズデータ収集 (DAQ) デバイスには、デバイス機能制御用の固定ASICに代わり、ユーザによるプログラミングが可能なFPGAチップが搭載されており、オンボード処理および柔軟なI/O操作が可能です。Rシリーズデバイスは、独立したタイミング/トリガ機能を実現するために、チャンネルごとに専用のアナログ-デジタル変換器 (ADC) を備えています。そのため、マルチレートサンプリングや個々のチャンネルのトリガといった特殊な機能も利用できます。このような機能は、一般のデータ収集ハードウェアには搭載されていないものです。RシリーズデバイスのハードウェアタイミングデジタルI/Oは、デジタル通信プロトコル用のカウンタ、PWMチャンネル、フレキシブルエンコーダ、またはラインとして定義できます。

 

NI-DAQmx、NI-DAQmx Base、またはNI計測ハードウェアDDKRシリーズデバイスプログラミングできますか?

すべてのRシリーズマルチファンクションRIOデバイスは、NI-RIOドライバソフトウェアを使用します。NI-DAQmxやNI-DAQmx Baseには対応していません。ただし、NI計測ハードウェアDDK (ドライバ開発キット)では、レジスタレベルのプログラミングによるカスタムドライバの開発がサポートされています。LabVIEW FPGAアプリケーションをコンパイルしてRシリーズターゲットにダウンロードすると、ホストアプリケーションからFPGA上のレジスタに接続するためのドキュメントがNI計測ハードウェアDDKによって提供されます。

 

Rシリーズオンボード処理機能ですか?

LabVIEW FPGAモジュールには、以下のようなさまざまな関数が入った信号処理パレットが用意されています。

  • PID制御
  • バタワースフィルタ (ハイパスおよびローパス)
  • ノッチフィルタ
  • アナログ周期計測
  • DC/RMS計測

 

Rシリーズデバイス同時アナログ入出力実行すること可能ですか?

はい、可能です。すべてのRシリーズマルチファンクションデバイスでは、各アナログ入出力チャンネルに専用のADC (アナログ-デジタル変換器) およびDAC (デジタル-アナログ変換器) を装備しているため、すべてのチャンネルで同時にサンプリング/アップデートを行ったり、異なるレートでサンプリング/アップデートを行うことが可能です。デバイスの各チャンネルは独立したADCを備えているため、どのチャンネルも最大レートの1 MS/sでサンプリングすることができます。個々のDACは、アナログ出力チャンネルを最大1 MS/sのレートでアップデートするようにプログラミングすることができます。

図2のLabVIEW FPGAブロックダイアグラムは、RシリーズFPGAで同時アナログ入出力をいかに簡単に実装できるかを示しています。このプログラムでは、同じWhileループ内でRシリーズデバイスの8チャンネルすべてから読み取りを行うLabVIEW FPGAアナログ入力I/Oノードを使用することで、8チャンネルすべてから同時にサンプリングを行います。並列で実行している下のループでは、LabVIEW FPGAアナログ出力I/Oノードを使用して、8つのアナログ出力チャンネルすべてを1 MS/sでアップデートします。

RシリーズとLabVIEW FPGAを使用した同時アナログ入出力

図2. RシリーズとLabVIEW FPGAを使用した同時アナログ入出力

 

Was this information helpful?

Yes

No