基于fpga的dds任意波形輸出原理_第1頁
基于fpga的dds任意波形輸出原理_第2頁
基于fpga的dds任意波形輸出原理_第3頁
基于fpga的dds任意波形輸出原理_第4頁
基于fpga的dds任意波形輸出原理_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一講:DDS 原理;第二講:為什么能控制頻率、波形、幅值;第三講:為什么達(dá)不到預(yù)定的標(biāo)準(zhǔn);第四講:工程中的各個部分;第一講DDS 的原理DDS(Direct Digital Frequency Synthesizer)直接數(shù)字頻率器,也可叫 DDFS。DDS 是從相位的概念直接所需波形的一種頻率技術(shù)。不僅可以產(chǎn)生不同頻率的正弦波,而且可以控制波形的初始相位。DDS 原理框圖主要:相位累加器,正弦查找表:DAC,LPF(低通濾波器)工作過程1、將存于 ROM 中的數(shù)字波形,經(jīng) DAC,形成模擬量波形。2、改變尋址的步長來改變輸出信號的頻率。 步長即為對數(shù)字波形查表的相位增量。由累加器對相位增量

2、進(jìn)行累加,累加器的值作為查表地址。3、DAC 輸出的階梯形波形,經(jīng)低通濾波,成為模擬波形。頻率控制在程序中,采樣時鐘是 50M,N 相位累加器的位寬是 32,M 頻率控制字的位寬是 16 位;可以控制的最大的頻率就是 65535*50000000/=762Hz;相位控制波形正弦信號相位與幅度的對應(yīng)關(guān)系可以將正弦波波形看作一個矢量沿相位圓轉(zhuǎn)動,相位圓對應(yīng)正弦波一個周期的波形。波形中的每個采樣點對應(yīng)相位圓上的一個相位點。相位累加器的值作為 ROM 的地址,AD 轉(zhuǎn)換和濾波ROM 的相位幅度,實現(xiàn)相位到幅度的轉(zhuǎn)換。分析:DDS 優(yōu)點頻率分辨率高,可達(dá) 2 的 N 次。頻率切換速度快,可達(dá) us 量級

3、。頻率切換時相位連續(xù)??梢援a(chǎn)生任意波形。DDS 缺點輸出頻帶范圍有限。輸出雜散大。第二講頻率的控制在該工程中,有四個文件時用來控制頻率的,如下:其中 adder_32 和reg32 用來控制頻率的快慢,請記住這樣一個原理:波形的產(chǎn)生是通過產(chǎn)生一個 ROM 的尋址信號對存放波形的 ROM 進(jìn)行尋址,然后得到 ROM 中的數(shù)據(jù)。而尋址的快慢就是波形輸出的頻率,所以通過控制對 ROM 的尋址快慢就可以控制頻率了。這里控制頻率的實現(xiàn)是通過一個 32 位的加法器和一個 32 位的寄存器進(jìn)行尋址的;32位加法器的加數(shù)分別來自控制頻率信號 set_f 和 reg32 模塊反饋回來 32 為數(shù),其實 set_

4、f 就是 32 位加法器的一個步進(jìn)值,同時也是 ROM 尋址的步進(jìn)尺度。通過控制這個尺度就可以控制頻率了。當(dāng)這個尺度越大,頻率就越高,相反則越小,如果想確定有多高和有多小就得用下面這個公式進(jìn)行計算:為什么要把 reg32 的數(shù)重新加到 adder_32 呢?因為要不斷地去尋址,要把 ROM 里面的數(shù)據(jù)都讀出來,而 ROM 里面的數(shù)據(jù)就是一個周期的波形,所以要不斷地累加上去。幅值的控制講幅值的控制之前,要先科普一下 DAC,DAC 就是一個把數(shù)字信號編程模擬信號的器件,輸出的電壓范圍和器件所接的參考電壓,開發(fā)板上的 DAC 的工作電壓是 5V,參考電壓也是 5V。所以輸出的電壓范圍也是 05V。

5、因為 TLC5615 是 10 位精度的 DAC,所以其電壓分辨率是 5/1023=0.00489V。比如你要輸出個 2.5V,那你就必須把數(shù) 512 往里面送,輸出大約就是 2.5V 了。知道了DAC 是怎么控制輸出電壓之后,再來了解怎么控制怎個波形的電壓范圍。因為 ROM 中的波形表最大的數(shù)為 1023 所以,能夠輸出的峰值是 5V,y=kx?,F(xiàn)在把這個 5V 分為 10 份,每一份就是 0.5V,當(dāng)這種就是等比例放大與縮小輸出控。這部分在工程中是如何操作的呢?要輸出 y=3V 時,有計算得出,k=0.6。首先,將 ROM 的數(shù)據(jù)讀出(怎么讀出要看頻率控制那一部分),然后將讀出的數(shù) dds

6、_data_reg乘以一個小于 10 的數(shù),再除以 10,因為在 FPGA 中你是無法直接進(jìn)行小數(shù)運(yùn)算的,也沒有相關(guān)的描述語言可以描述,所以必須要這樣做。程序詳見:這樣就可以很方便控制輸出波形的電壓范圍了。當(dāng)你想提高控制的精度時,你可以將小數(shù)點后增加一個,這時就乘以一個兩位數(shù),然后除以 100 了。相位的控制相位的控制其實和頻率一樣,這里先講一個故事,有兩個人(A、B)同時從一個起點出發(fā),他們的速度相同,跑了一半之后A 突然加速,而 B 一直保持原速,A 加速到和 B 相差 10 米后保持原速,然后兩個人一直跑下去。這里可以把他們等同于兩個波形,本來尋址的速度是一樣的,后來其中一個的步進(jìn)值變大

7、了(大了 10 米),這樣就是相位超前了,A 超了 B 十米。工程中這部分的內(nèi)容在:這里還要講一個知識點,就是截斷,有沒有發(fā)現(xiàn),把前面所說的 32 位弄出來呢?請看一個圖:的 ROM 的地址是 10 位的,那怎么截斷就是把 32 位累加器的高 10 位拿出來作為相位累加器的值進(jìn)行相加,而相位控制字就是控制相位超前和延后的控制參數(shù)。波形的控制波形的控制就是,采用編碼的方法,0 的時候為正弦波,1 的時候為三角波,2 的時候為,3 的時候為鋸齒波。第三講按照DDS 的原理,理論上是什么頻率都可以到達(dá)的,當(dāng)然這得看你的系統(tǒng)時鐘有多高,頻率累加器的位數(shù)有多寬了。工程總采用的是 50M 和 32 位,頻率的分辨率是 0.012 的。因為頻率控制字 set_f 我只用了 16 位,所以最大只能輸出 762Hz,如果你要提高輸出頻率,必須把 32 位都用上去。當(dāng)然還要看 D

溫馨提示

  • 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

提交評論