09-24-2021 10:13 PM
現在,compactRIO9039を用いてFPGAを実装しようと考えています.
連続アナログ信号をNI9223(ADC)に入力して,フィルタ処理をしたのち,NI9269(DAC)で出力するようなプログラムを作成しました.
入力,処理,出力はそれぞれWhileループで独立に動かしています.それぞれのWhileループ間でのやり取りはFIFOを用いています.
実行にあたっていくつか疑問点があるので,質問させていただきます.
質問なのですが,
入力パート(input loop)で3つのチャンネルから入ってきた信号を配列連結追加した後の出力は1D配列になっているのでしょうか.また,その場合各チャンネルからの信号はどのような順序で配列されるのでしょうか.
入力パートから処理パート(process loop)へFIFOで送る際に読み取りでタイムアウトになってしまいます.改善策等あればご教授いただきたいです.
よろしくお願いします.
※FIFO確認用,FIFO確認用2はそれぞれHOST VI へ信号を転送しています.
09-26-2021 08:51 PM
cRIOが手元にないのと知識が古いので的外れかもしれませんが・・・
・読み取りタイムアウトを0にしたらほぼタイムアウトするのではないでしょうか?
・FPGAプログラムでマルチループの意図がわかりません。A/Dから1個読み取って処理してD/Aに1個書き込むのをループに入れて、それを何Hzで回すかというコードが普通だと認識しています。
・FIFOはプロジェクトで定義すると思いますが、データタイプを配列にできましたっけ?できるのなら定義通りだと思います。