サンプルコードとドキュメント

FPGAの待機関数について

製品と環境

このセクションは、サンプルの作成に使用された製品およびOSを反映します。

以下に示された製品を含め、NIのソフトウェアをダウンロードするには、ni.com/downloadsをご覧ください。

    ソフトウェア

  • LabVIEW

コードとドキュメント

添付

Description

FPGA上でVIを構築する際、待機の関数は下記の2種類があります。

ループタイマ Express VI

待機 Express VI

それらの違いについて詳細はこちらをご覧ください。

FPGAタイミング関数で実行レートを管理する(FPGAモジュール)

 

簡単に説明すると、

・ループタイマ関数は、前のループで記録された時間から指定時間待機します。

  この関数は最初の実行時は待機しません。

 

・待機関数は、呼び出されてから指定時間だけ待機します。

 

それぞれの関数は待機する時間の単位を、ティック、usec、msecの中から選択できます。

例えばどういった違いがあるか、下記で説明します。

下記サンプルではすべて「ティック」単位を使用しています。

 

◎ループタイマ Express VI

 

Looptimer.JPG

ループタイマ関数はN回目のループとN+1回目のループの間で指定カウント待機します。

そのため、各ループの実行時間を計算すると、指定したカウント間隔で実行されていることが分かります。

 

 

◎待機 Express VI

Wait.JPG

 

待機関数は、呼び出されてから指定時間待機する挙動をします。

そのためFPGA VIではwhileループが一度実行されてから次のループへ移行するまで、2tickかかることが分かります。

また、表示器を一つ増やすとさらに2tickかかっています。

 

 

これは一つの目安に過ぎませんが、2つの待機関数の違いにはご注意ください。

添付のファイルは、検証用に使用したプロジェクトです。

LabVIEW 2014で実行ができます。

NIコミュニティのサンプルコード交換のサンプルコードは、MIT Licenseによりライセンス供与されています。