138164

2011年12月25日日曜日

FUNCTION GENERATORの作成 2

一応、DDS部のRTL作成が終わり、シミュレーションで動作確認をしている。
以下はdds_coreをテストベンチに4つインスタンスして、1.0Hz(基本波), 1.001Hz, 1.01Hz, 1.1Hzを生成させてみている。 phase_accumulatorの小数部は12bitなので、基本波の1/1000程度の周波数までは生成できる。ただし、前回のブログに書いた通り小数の場合は誤差はあり、1mHzは実際は0.9765625mHzになる。 (上記の周波数はDACのサンプリングレートを1usecとした場合で表している。 最終的には変わるかもしれない。元々1Hzから10MHz程度の周波数を生成可能にしたいと考えていたので、1usecでは10MHzが生成できないため。 現状、1usecとしているのは開発に使用するSpartan3A StarterKitのDACのサンプリングレートが1usec位になるためだ。)

動作モードとしては単一周波数をずっと出し続けるモードの他にSweepモードも持たせようと考えている。Sweepの種別は周波数が倍々で増加するoctave モード、10倍づつ増加するdecade モード、そして設定されて増分づつ増加するstep linear モードの3種だ。

step linear mode


octave mode

0 件のコメント:

コメントを投稿

ERROR: Failed to spawn fakeroot worker to run ...

なにかと忙しくてなかなか趣味の時間を確保できない。 ...orz  家の開発機のOSはLinux Mintなのだが、最近バージョンを22に更新したところ、myCNC用のpetalinuxをビルドできなくなってしまった。ビルドの途中で ERROR: Failed to spawn ...