08-17-2017 04:47 AM
LabVIEW FPGAの'FPGA数学&解析'パレット内にある'正弦波発生器'関数の出力がカクカクになります。
viは非常に単純で、正弦波発生器からの信号をアナログアウトにつないでオシロスコープで見ているだけです。振幅をフルスケールにすると、振幅が大きすぎるのか、AOの最大振幅の方形波が出力されます。画像は振幅を4にしたときのオシロスコープのキャプチャです。
1V刻みでカクカクしてます。振幅を10にしても同様に1V刻みでカクカクしてます。
ルックアップテーブル、分解能、いろいろいじってみましたがわかりません。
システムの構成は、NI cRIO-9024(リアルタイムコントローラ)、NI-9264(±10V,25kS/s,16bit)です。
解決済! 解決策の投稿を見る。
08-17-2017 09:40 PM
AO2のIOノード左側の端子に赤色の強制ドットがついています。これは、データタイプの不一致を示します。正弦波出力の関数からは整数の値を出力していますが、入力しようとしているIOノードは固定小数点の値を受け付けるようになっていますので、かくかくになっています。ワイヤの色とIOノードの文字の色が違うということでもデータタイプが違うことがわかります。
正常な正弦波を出力するためには整数の値をうまく9264の出力レンジ(±10V)におさまるように掛け算などを使って調整して、固定小数点に変換する変換関数を構成した後にIOノードに配線するとうまくいくとおもいます。
http://zone.ni.com/reference/ja-XX/help/371361M-0112/lvhowto/configure_fxp/
08-19-2017 02:09 AM
フルスケールに設定後、定数で割ればきれいに出力出来ました。ありがとうございました。さらに、定数倍をかけることにより任意の振幅の波形が出力されるようになりました。(これじゃあ正弦波発生器のプロパティの振幅の存在意義がさっぱりわかりませんが)
しかし、固定小数点に変換をつけようがつけまいが、きれいに正弦波が表示されます。また固定小数点に変換しても、強制ドットがついたままです。原因はデータ型の不一致ではなかったようです。
これを取り除くことは出来ませんか?
08-21-2017 12:17 AM
きれいに出力できたようでよかったです。
強制ドットがついたままなのは、データ型の不一致です。Ctrl+Hを押すと、詳細ヘルプという小窓がでます。それが表示されている状態でIOノードにカーソルをあわせると、固定小数点のビット数、符号なしか符号付きか、ビット数の中の整数ビット数が表示されます。それが割り算の結果とすべて一致していない限り強制ドットは取り除けません。
FXPに変換関数を右クリックするとそのあたりを合わせられますが、割り算の関数が結果を崩さないようにビット数を自動的に追加したりしますので、うまくあわす必要がありますね。「商」関数を右クリックして自動的にビット数を増やさないように設定することもできますが。
ちなみに、FPGAプログラミングでは割り算は非常に多くのFPGAリソースを使ってしまいますので、掛け算を使うなどして使用を回避することが推奨です。
ご参考までに。
09-02-2017 07:13 AM
ありがとうございました。
とても参考になりました。