基于DDS的高任意波形發(fā)生器設(shè)計-設(shè)計應(yīng)用_第1頁
基于DDS的高任意波形發(fā)生器設(shè)計-設(shè)計應(yīng)用_第2頁
基于DDS的高任意波形發(fā)生器設(shè)計-設(shè)計應(yīng)用_第3頁
基于DDS的高任意波形發(fā)生器設(shè)計-設(shè)計應(yīng)用_第4頁
基于DDS的高任意波形發(fā)生器設(shè)計-設(shè)計應(yīng)用_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯基于DDS的高任意波形發(fā)生器設(shè)計-設(shè)計應(yīng)用摘要:系統(tǒng)利用直接數(shù)字頻率合成技術(shù)(DDS)完成任意波形發(fā)生器設(shè)計,以FPGA作為控制器件,用Flash和RAM作為波形數(shù)據(jù)存儲模塊,在上位機(jī)軟件的控制下,利用高精度D/A轉(zhuǎn)換器,實現(xiàn)正弦波、方波、三角波、鋸齒波、高斯白噪聲等任意波形輸出。系統(tǒng)可廣泛用于通訊、遙控遙測、震動激勵和儀器儀表等領(lǐng)域。

隨著數(shù)字信號處理技術(shù)的飛速發(fā)展,高精度大動態(tài)范圍D/A轉(zhuǎn)換器的出現(xiàn)和廣泛應(yīng)用,基于取樣技術(shù)和計算技術(shù),通過數(shù)字方法生成頻率和相位相對固定且可調(diào)的合成技術(shù),即直接數(shù)字頻率合成(DDS)技術(shù)日益成熟,它采用全數(shù)字化結(jié)構(gòu),具有頻率分辨率高、相對帶寬寬、頻率轉(zhuǎn)換速度快、相位噪聲低、信號純度高等優(yōu)點。因此,本系統(tǒng)采用DDS技術(shù)來完成任意波形發(fā)生器設(shè)計。

1DDS工作原理

直接數(shù)字頻率合成(DDS)技術(shù)是一種以采樣定理為基礎(chǔ)的全數(shù)字化波形產(chǎn)生方法。DDS頻率合成器主要由相位累加器、波形數(shù)據(jù)存儲器、D/A轉(zhuǎn)換器和低通濾波器組成,其原理框圖如圖1所示。在一個系統(tǒng)時鐘周期內(nèi),相位累加器將前的累加值與頻率控制字相加,得到新的累加值,將新的累加值作為地址,從波形數(shù)據(jù)存儲器中讀取信號的幅度值,送入D/A轉(zhuǎn)換器將數(shù)字信號轉(zhuǎn)換為模擬信號,再經(jīng)低通濾波器生成需要波形。其中波形數(shù)據(jù)存儲器中存儲了周期信號單個周期的幅度值,相位累加器每溢出1次,可從波形數(shù)據(jù)存儲器中讀取1個周期的信號幅度值。因此,若假設(shè)頻率控制字為K,相位累加器為N位,則經(jīng)過個系統(tǒng)時鐘周期,可產(chǎn)生1個周期的輸出信號,再設(shè)系統(tǒng)時鐘頻率為fsclk,則輸出信號頻率。

2系統(tǒng)總體框圖

系統(tǒng)總體框圖如圖2所示。其中,上位機(jī)軟件由LabWindows軟件編寫,用于控制信號的產(chǎn)生,下位機(jī)以FPGA作為控制器件,主要用于接收上位機(jī)發(fā)送的控制命令和信號參數(shù),并控制下位機(jī)系統(tǒng)產(chǎn)生對應(yīng)波形。下位機(jī)系統(tǒng)主要分為FPGA控制單元、波形存儲單元、波形產(chǎn)生單元。波形存儲單元主要包括Flash和SRAM,F(xiàn)lash用于存儲各種波形數(shù)據(jù),波形產(chǎn)生時,F(xiàn)PGA先將要產(chǎn)生的波形數(shù)據(jù)從Flash讀入SRAM,再利用相位累加器的累加值從SRAM中讀取波形數(shù)據(jù)。波形產(chǎn)生單元主要完成波形數(shù)據(jù)的產(chǎn)生,首先將SRAM讀出的波形幅度數(shù)據(jù)送入D/A轉(zhuǎn)換器,產(chǎn)生信號的階梯序列波,再通過低通濾波器和功率放大電路產(chǎn)生輸出信號。

3系統(tǒng)硬件設(shè)計

3.1Flash連接電路圖

Flash采用美國飛索半導(dǎo)體公司的S29AL032D,其容量為32MB,它用于存儲各種波形的幅度信息,其存儲形式如圖4所示。

由圖4可知,地址區(qū)間0x000000~0x01FFFF存儲正弦波幅度值,地址區(qū)間0x020000~0x03FFFF存儲三角波數(shù)據(jù),地址區(qū)間0x040000~0x05FFFF存儲鋸齒波數(shù)據(jù),地址區(qū)間0x060000~0x07FFFF存儲白噪聲數(shù)據(jù),地址區(qū)間0x080000~0x0FFFFF為4個用戶自定義區(qū),存儲4種用戶需產(chǎn)生的周期波形數(shù)據(jù)。

3.2RAM連接電路圖

RAM采用美國芯成半導(dǎo)體公司的IS61LV25616AL-10T,其容量為256×103×16bit,主要用于存儲上位機(jī)發(fā)送的控制命令及波形產(chǎn)生時信號的幅度值,其存儲形式如圖6所示。

地址區(qū)間Ox00000~0x1FFFF存儲上位機(jī)發(fā)送給下位機(jī)的控制命令和數(shù)據(jù)參數(shù),地址區(qū)間Ox20000~Ox2FFFF存儲系統(tǒng)要產(chǎn)生信號的波形幅度值。

3.3信號產(chǎn)生電路連接圖

圖7為任意信號產(chǎn)生的電路連接圖,產(chǎn)生信號頻率范圍為50Hz~200kHz。其中,AD768為16位高精度D/A轉(zhuǎn)換器,其更新速率可達(dá)40Msps,滿足設(shè)計要求。

4系統(tǒng)軟件設(shè)計

4.1上位機(jī)軟件設(shè)計

上位機(jī)部分由Labwindows軟件編寫,主要負(fù)責(zé)對下位機(jī)系統(tǒng)的控制,包括對信號頻率、幅度、相位(占空比)的設(shè)置,信號波形的選擇,用戶自定義波形數(shù)據(jù)的輸入等,其控制面板如圖8所示。

4.2FPGA軟件設(shè)計

FPGA為系統(tǒng)的控制單元,負(fù)責(zé)與上位機(jī)軟件通信及控制下位機(jī)系統(tǒng)產(chǎn)生任意波形。

4.2.1與上位機(jī)通信模塊設(shè)計

上位機(jī)與下位機(jī)的通信是通過RS232來實現(xiàn)的,F(xiàn)PGA主要用于接收RS232發(fā)送過來的數(shù)據(jù)并將其存入外部RAM中,通信模塊如圖9所示。

RS232_Controller模塊用于接收上位機(jī)發(fā)送過來的數(shù)據(jù),RS232的速率為115.200kB/s,8位數(shù)據(jù)位,1位停止位,無校驗位。data_bu-ffer將RS232_Controller接收的數(shù)據(jù)緩存,并按接收先后順序組合成16位數(shù)據(jù)后送入RamWrite。RamWrite再將這些16位數(shù)據(jù)從地址0x00000開始存入外部RAM中。

4.2.2接收數(shù)據(jù)處理模塊

本模塊主要用于分析和處理接收到的上位機(jī)數(shù)據(jù),從中提取出信號的數(shù)據(jù)信息、各項參數(shù)及控制命令,如圖10所示。

當(dāng)RS232發(fā)送數(shù)據(jù)完成時,接收數(shù)據(jù)處理模塊立即從地址0x00000開始讀取RAM中的數(shù)據(jù)。當(dāng)?shù)?個數(shù)據(jù)和第2個數(shù)據(jù)分別為16'hAAF0和16'hBB55時,則第3個數(shù)據(jù)的高8位為命令控制字,否則接收數(shù)據(jù)處理模塊停止讀取RAM中的數(shù)據(jù)。8位命令控制字各位所代表含義如下

用A代表命令控制字,A[n]代表命令控制字的第n位數(shù)據(jù),則:

當(dāng)A[15]為1時表示存儲用戶自定義波形數(shù)據(jù),為0時表示任意波形的產(chǎn)生。當(dāng)為波形存儲時,A[14:8]為0表示將波形數(shù)據(jù)存入用戶自定義1區(qū),為1表示存入2區(qū),為3表示存入3區(qū),為4表示存入4區(qū)。從讀取的第4個數(shù)據(jù)開始即為用戶自定義波形數(shù)據(jù),共65536個,再以16'h6580和16'h0856作為結(jié)尾,其存儲形式如圖12所示。

當(dāng)為任意波形產(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.3Flash數(shù)據(jù)存取模塊設(shè)計

此模塊用于波形數(shù)據(jù)的存儲和讀取。在信號產(chǎn)生模式時,它根據(jù)Sig_Type[3:0]輸入的數(shù)據(jù)判斷需產(chǎn)生的波形,再從Flash中讀取對應(yīng)波形的數(shù)據(jù)信息并存入RAM中。當(dāng)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è)此數(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ā)生器的設(shè)計,完成了系統(tǒng)硬件路的設(shè)計及軟件編程,經(jīng)測試,系統(tǒng)可產(chǎn)生50Hz~200kHz頻帶內(nèi)的正弦波、方波、鋸齒波、三角波、高斯白噪聲等常用信號,該信號發(fā)生器具有頻率分辨率高,頻率轉(zhuǎn)換速度快、信號純度高、產(chǎn)生信號種類多等優(yōu)點??蓮V泛應(yīng)用于通信系統(tǒng)、自動控制系統(tǒng)、儀器儀表、電子對抗

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論