皆様こんにちは、ドルフィンシステムの笹生です。
さて今回は笹生担当分は NI SDR システムで USRP と並んでよく使用される 579x (FAM) + FlexRIO のサンプルプログラム (IDL サンプル)についての後編です。
前回はこちら
http://dolphinsasoh.blogspot.com/2018/06/579x-idl-flexrio.html
簡単におさらい
提供される FAM IDL サンプルプログラムは、対応している FlexRIO が
・7966R
・7975R
の2種類になっています。全ての FlexRIO に対応していないんですね。
たとえば PXIe-7976R には対応していません。
サンプルプログラムをPXIe-7976R に対応させる場合は、別途作業が必要になります。
FAM IDLのサンプルプログラムを対応していないFlexRIOに対応させる手順は以下の通りです。
新規で FlexRIO デバイス作成(前回)
↓
FAM の追加 (前回)
↓
サンプルからソースコードや仮想フォルダをコピーして FPGAビルド(今回)
↓
ホスト VI の修正(今回)
という手順を踏みます。
サンプルのソースコードをコピー
サンプルのソースコードなどを、もともとのサンプルからコピーしましょう。
もともとあった、NI 5791 & 7975 を開いてぶら下がっている仮想フォルダをドラッグして NI 5791 & 7976 にコピーします。
コピーするときは、仮想フォルダを Ctrl キーを押しながらドラッグドロップします。
最後にトップ vi をコピーします。
トップ VI を開いて、実行できるか確認します。
実行できる状態であれば、コンパイルも実行できます。
残念ながらビルド仕様は、元のサンプルからコピーできないので、作成します。
簡単なのはトップレベル VI を右クリックして「ビルド仕様を作成」することです。
ビルド仕様のプロパティを見ると、デフォルトのビットファイル名がわかりにくいものなので、サンプルに合わせて「ni5791_Xcvr_7976.lvbitx」とします。
ソースファイルでトップレベル VI が選択されていれば、ビルド可能です。
ビルドできたら FPGA 側の対応は終了したので、ホスト側の VI を次は対応させます。
ホスト側の対応
ホスト側の vi は以下の 4つあります。
・Rx Streaming (Host).vi : 受信ストリーミングのサンプル
・Tx Streaming (Host).vi : 送信ストリーミングのサンプル
・MIMO Rx Streaming (Host).vi : MIMO 受信ストリーミングのサンプル
・MIMO Tx Streaming (Host).vi : MIMO 送信ストリーミングのサンプル
修正する部分は基本的に一緒なので、 「Rx Streaming (Host).vi」 で解説します。
ホスト側は簡単で、FPGA にダウンロードするビットファイルを先ほどビルドした「ni5791_Xcvr_7976.lvbitx」にするだけです。
「Rx Streaming (Host).vi」のフロントパネルを開いて、[Ctrl+E] (または[ウィンドウ]→[ブロックダイアグラムを表示]) でブロックダイアグラムを開きます。
この赤枠で囲った「FPGA VI リファレンスを開く」関数をダブルクリックしてビットファイルを先ほどビルドした「ni5791_Xcvr_7976.lvbitx」に変更します。
これでホスト側も対応できました。
まとめ
前回と今回で 579x FAM の IDL サンプルそのままでは対応している FlexRIO が 2種類なので、今回それ以外の FlexRIO を使用する場合の追加方法を解説しました。
一度サンプルプロジェクトを対応させておくと次から使いまわせるので便利です。
USRP 、PXI システムなど SDR に関して日々研鑽しています。
0 件のコメント :
コメントを投稿