基于DDS的高精度任意波形發(fā)生器設計
用A代表命令控制字,A[n]代表命令控制字的第n位數(shù)據(jù),則:
當A[15]為1時表示存儲用戶自定義波形數(shù)據(jù),為0時表示任意波形的產(chǎn)生。當為波形存儲時,A[14:8]為0表示將波形數(shù)據(jù)存入用戶自定義1區(qū),為1表示存入2區(qū),為3表示存入3區(qū),為4表示存入4區(qū)。從讀取的第4個數(shù)據(jù)開始即為用戶自定義波形數(shù)據(jù),共65 536個,再以16'h65 80和16'h0856作為結(jié)尾,其存儲形式如圖12所示。本文引用地址:http://2s4d.com/article/191578.htm
當為任意波形產(chǎn)生時,A[14:11]為0表示產(chǎn)生正弦波;為2表示產(chǎn)生方波;為3表示產(chǎn)生三角波;為4表示產(chǎn)生鋸齒波;為5表示產(chǎn)生高斯白噪聲;為6表示產(chǎn)生用戶自定義1區(qū)波形;為7表示產(chǎn)生用戶自定義2區(qū)波形;為8表示產(chǎn)生用戶自定義3區(qū)波形;為9表示產(chǎn)生用戶自定義4區(qū)波形。從RAM中讀取的4個16位數(shù)據(jù)分別代表要產(chǎn)生波形的頻率(32位)、幅度、相位(方波時為占空比)控制字。其數(shù)據(jù)存儲形式如圖13所示。
4.3 Flash數(shù)據(jù)存取模塊設計
此模塊用于波形數(shù)據(jù)的存儲和讀取。在信號產(chǎn)生模式時,它根據(jù)Sig_Type[3:0]輸入的數(shù)據(jù)判斷需產(chǎn)生的波形,再從Flash中讀取對應波形的數(shù)據(jù)信息并存入RAM中。當Sig_Type[3:0]為1時表示產(chǎn)生正弦波;為2時表示產(chǎn)生方波;為3時表示產(chǎn)生三角波;為4時表示產(chǎn)生鋸齒波;為5時表示產(chǎn)生高斯白噪聲;為6時表示產(chǎn)生用戶自定義l區(qū)波形;為7時表示產(chǎn)生用戶自定義2區(qū)波形;為8時表示產(chǎn)生用戶自定義3區(qū)波形;為9時表示產(chǎn)生用戶自定義4區(qū)波形。
4.4 波形產(chǎn)生控制模塊
模塊利用DDS技術(shù)控制AD768產(chǎn)生任意波形信號,如圖15所示。
fre_ctrl,amp_ctrl,phase_ctrl分別為波形的頻率控制字、幅度控制字和相位控制字。clk為此模塊的控制時鐘,它的6分頻時鐘為32位相位累加器時鐘。在一個相位累加器時鐘周期內(nèi),模塊以累加器的高16位累加值、相位控制字及18'h20000之和作為RAM地址,從RAM中讀取波形信號的數(shù)據(jù),設此數(shù)據(jù)為data,則D/A輸出的數(shù)據(jù)為,然后再在clk_da的上升沿將此數(shù)據(jù)送入AD768,依次循環(huán),則AD768的輸出將產(chǎn)生階梯狀的信號波形,再經(jīng)過低通濾波器和功率放大器即可得要產(chǎn)生的波形,圖16為系統(tǒng)產(chǎn)生的5V、200kHz正弦信號。
5 結(jié)束語
完成了任意波形發(fā)生器的設計,完成了系統(tǒng)硬件路的設計及軟件編程,經(jīng)測試,系統(tǒng)可產(chǎn)生50Hz~200kHz頻帶內(nèi)的正弦波、方波、鋸齒波、三角波、高斯白噪聲等常用信號,該信號發(fā)生器具有頻率分辨率高,頻率轉(zhuǎn)換速度快、信號純度高、產(chǎn)生信號種類多等優(yōu)點??蓮V泛應用于通信系統(tǒng)、自動控制系統(tǒng)、儀器儀表、電子對抗及遙控遙測等領(lǐng)域。
評論