DMAアプリケーションでホストVIがデータを読み取るように設計する
- 更新日2025-03-06
- 4分で読める
ホストVIがDMAチャンネルからデータを読み取るように設計することは、DMAアプリケーションの実装において重要な部分です。
メモ このトピックで説明される設計は、FPGAターゲットからホストコンピュータにデータを転送するアプリケーションに適用されます。
設計を選択する
以下の表は、設計に関するいくつかの有用な概要を記載しています。
| 使用例 | 設計 | 利点 | 欠点 |
|---|---|---|---|
| 以下の1つまたはそれ以上の状況が発生しているアプリケーション
| ブロック |
|
|
| FPGAがデータを集録するデータロギングアプリケーションは既知のレートで集録を実行しますが、ホストコンピュータはデータを不明または不規則なレートで読み取ります。 | 変数の要素数をポーリングする | ホストVIはデータの読み取りが可能になると即座に要素数を読み取ることができます。 | ブロック設計との比較:
|
| アプリケーションでは、続行する前に固定の既知量のデータを読み取る必要がありますが、データが利用可能になるのを待つ間に他のタスクを完了しなければいけません。たとえば、1024の要素を1つのフレームのデータとして処理し、他のターゲットにもコマンドを送信する必要があるアプリケーションについて考えてみます。固定ポーリングデザインはデータが利用可能になるとバッファからデータを読み取りますが、データが利用可能でないときに必要なコマンドを送信します。 このデザインは、FPGAがデータを不明または不規則なレートで集録する際にも役立ちます。 | 要素の固定数をポーリングする | ホストVIは、データが利用可能になるのを待機中にほかの連続的なタスクを実行できます。 |
|
ホストVIをプログラミングする
以下のFPGA VIを検討します。
このVIはFPGAデバイスの温度を予め指定したレートで測定し、この温度の値をFPGA DMAバッファに書き込むデータ収集を表しています。以下のセクションは、このデータを読み取るホストVIの例を示します。
ブロック
変数の要素数をポーリングする
このVIが読み取る要素数が、前回の読み取り後の残りの要素数に従って変化することに注目します。
要素の固定数をポーリングする