鋸波、三角波、矩形波も出力できるようになった。 これらはDDSのphase accumulatorの値や、sin tableへの入力アドレス、符号信号を利用して生成している。
FPGAのBRAMは本質的にDual Port Memoryであり、sin(x) tableのROMもDual Port ROMとして生成している。このDual Portの利点を活かして波形生成機能も2CH持つことにした。 それぞれのCHで生成波形の種別や周波数、初期位相、振幅(減衰量)を個別に設定できる。また、両CHの出力について乗算(DSB変調波形の生成)・加算が出来るようにした。
以下はCH1側にDDS1とDDS2の乗算結果を、CH2にDDS2の出力そのままを出している。
以下はDDS2で三角波、DDS1で正弦波を発生させ、両者を加算した波形をCH1に出している。
ここまでの機能のDDS部とUART I/FでSpartan3E 250E用にRTLを構築して合成したところ合成できた。
まだDAC I/F部は入っていないがここまでの機能であればSpartan3E 250Eに実装出来そうだ。
0 件のコメント:
コメントを投稿