《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 一種DDS任意波形發生器的ROM優化方法
一種DDS任意波形發生器的ROM優化方法
來源:電子技術應用2013年第2期
李 超,謝雪松,張小玲
北京工業大學 半導體可靠性研究室,北京100124
摘要: 提出了一種改進的基于直接頻率合成技術(DDS)的任意波形發生器在現場可編程門陣列(FPGA)上的實現方法。首先將三角波、正弦波、方波和升/降鋸齒波的波形數據寫入片外存儲器,當調用時再將相應的數據移入FPGA的片上RAM,取代分區塊的將所有類型波形數據同時存儲在片上RAM中的傳統方法;再利用正弦波和三角波的波形在4個象限的對稱性以及鋸齒波的線性特性,通過硬件反相器對波形數據和尋址地址值進行處理,實現了以1/4的數據量還原出精度不變的模擬信號,從而將整體的存儲量減小為原始設計方案的5%。經驗證,這種改進方法正確可行,能夠大大降低開發成本。
中圖分類號: TN741
文獻標識碼: A
文章編號: 0258-7998(2013)02-0012-03
A ROM optimization method of DDS-based arbitrary waveform generator
Li Chao,Xie Xuesong,Zhang Xiaoling
Semiconductor Reliability Research Departmention, Beijing University of Technology,Beijing 100124,China
Abstract: This paper presents an improved method of arbitrary waveform generator based on direct digital frequency synthesis(DDS) technology achieved on field programmable gate array(FPGA). First, it writes the waveform data of triangle wave, sine wave, square wave, and ascending or descending sawtooth wave data to the off-chip memory, and moves the corresponding data into FPGA on-chip RAM when it is invoked, which replaces the traditional method that stores all types of waveform data in on-chip RAM sub-blocks. Then,it takes use of the symmetry of sine and triangle waveform in the four quadrants, and the linearity of the sawtooth waveform, process the waveform data and the address value by hardware inverter. It can restore the same-precision analog signal with a quarter of the amount of data. The overall storage capacity is reduced to 5% of the original design. After validation, this improved method is feasible, and it can greatly reduce the development costs.
Key words : DDS;FPGA;ROM optimization

    隨著數字通信技術的發展,基于直接頻率合成技術(DDS)的信號發生器,以其頻率轉換速度快、頻率分辨率高、相位連續、波形穩定度高以及便于程控等諸多優勢,得到了越來越廣泛的應用[1]。與此同時,DDS技術的一個缺陷也逐漸顯現出來,即要想獲得高精度的波形,就要以占用大量的存儲資源為代價[2]。對于常見的基于現場可編程門陣列(FPGA)的DDS信號發生器的設計方案,為了不影響系統的運行速度,波形數據一般都存放在FPGA的片上RAM資源中。而FPGA的片上RAM資源有限,且其存儲空間的大小與FPGA芯片的價格成正比,這無形中增加了系統的開發成本。針對這一問題,本文提出一種改進的、基于FPGA的DDS任意波形發生器的設計方案。該方案在不改變波形精度的前提下,將波形數據量降低為傳統設計方案的25%,并且能夠輸出正弦波、三角波、占空比可變的方波和升/降鋸齒波5種波形。

1 DDS基本原理
    DDS技術的核心是利用累加器將頻率控制字、相位控制字和波形控制字轉化成讀取波形數據的地址值,再將讀出的波形數據與幅度控制字相乘得到不同的波形,其結構框圖如圖1所示[3]。

 
其中,fo為輸出頻率;K為頻率控制字;N為一個正整數,其數值一般為頻率控制字K的位寬;fc為輸入時鐘的頻率。由累加器輸出的結果與相位控制字相加,相當于將輸出波形進行一次相移,從而確定波形的相位。因為DDS任意波形發生器能夠產生多種類型的波形,所以需要將不同類型的波形數據分區塊地寫入波形存儲器(ROM)中,將之前產生的地址值與波形控制字相加,即為用于將地址指向特定的波形類型的數據所在的區塊。讀出的離散波形數據經過D/A轉換器就轉換成了連續的模擬信號,再經過低通濾波器(LPF)就可以得到所需要的平滑波形輸出。
2 DDS優化設計
2.1 整體設計方案

    本設計的DDS任意波形發生器能夠直接產生0~1 kHz的正弦波、三角波、升/降鋸齒波和占空比可變的方波等5種波形,經過后接的功率放大電路其幅值可達65 V。系統采用型號為AD9746的高精度差分D/A轉換芯片,其數據位寬為14 bit,這就意味著每個波形數據都為14 bit位寬,則對模擬信號采樣生成波形數據時,就需要采集214個數據點。如果按照傳統的DDS設計方案,所占用的片上RAM資源為:波形類型數×數據位寬×數據量=5×14×214=1 146 880 bit。由此可以看出,資源的占用量已經遠遠超出了大多數常用FPGA芯片的片上資源總量。為了減小資源的占用,本設計首先對不同類型的波形數據的存儲方式進行優化。
    如圖1所示,傳統的DDS任意波形發生器是將所有類型的波形數據按區塊存儲在ROM中,按照需求讀出某一區塊的數據用于產生相應波形。這種設計方案的ROM利用率很低,以存儲5種波形數據為例,在生成某種波形時,ROM空間的80%存儲的都是無關數據。因此,為了節省空間,將不同類型的波形數據以數組的形式寫在軟件中,當需要產生某種波形時,通過波形控制字的控制,將指定的波形數據移入FPGA的片上存儲器。由于軟件運行的存儲區域為片外的SDRAM,而SDRAM的存儲空間較大,因此,用SDRAM的空間占用取代FPGA片上存儲資源的占用可以在很大程度上降低成本。

    另外,從式(1)中可以看出,當頻率控制字K取1時,可以得到系統的頻率分辨率[4]:
    
    由此可見,N的取值越大,輸出頻率的步長就越小,頻率分辨率也就越高。本設計采用了32 bit字長的頻率控制字,參考時鐘為100 MHz,所以頻率分辨率可達0.023 2 Hz。但是,累加器輸出的結果將要作為對ROM尋址的地址,而ROM的尋址空間顯然無法達到232 bit。為了使地址值能夠與ROM中的數據一一對應,又不影響頻率分辨率,這里截取累加結果的高14位作為尋址的地址值,但并不表示ROM的尋址空間為214 bit,而是對不同的波形類型將對這14位的地址值做不同的處理,從而進一步對ROM進行優化。
2.2 正弦波、三角波的ROM優化設計
    因為系統中采用的D/A的精度為14 bit,所以在對參考的模擬波形采樣時,需要采集214個離散的數據點。但是不難發現,正弦波和三角波在4個象限的波形具有很好的對稱性,因此,為了進一步對ROM進行優化,只存儲波形在第一象限的數據點,利用基于VHDL硬件描述語言編寫的硬件反相器對尋址地址值和波形數據進行處理,就可以在不改變數據精度的情況下得到完整的波形[5-6]。由于三角波和正弦波的原理完全相同,所以這里僅以正弦波的ROM優化設計為例進行說明,其硬件框圖如圖2所示。

    在正弦波的生成電路中,ROM只存儲第一象限,即圖3中是高2位為00時所對應的波形數據。由圖3可分析得出,第二象限的波形數據相當于對第一象限數據進行反方向讀取,即對地址值先取反再尋址;第三象限的波形數據為第一象限數據的相反數,即對波形數據先取反再讀取;第四象限的波形數據為第三象限數據的反方向讀取,即同時對地址值和波形數據取反再尋址讀出數據。綜上所述,反相器1在累加器輸出結果的次高位為0時不采取任何操作,在次高位為1時將地址值取反;反相器2在最高位為0時不采取任何操作,在最高位為1時對ROM中的波形數據取反。這樣利用2個反相器就可以僅存儲212個數據點,還原出14 bit精度的完整正弦波形和三角波形。
2.3 升、降鋸齒波ROM優化設計
    與正弦波和三角波不同,升/降鋸齒波為單調線性波形,所以在針對參考波形進行14 bit精度采樣時,將生成的214個數據點每隔3個存儲1個,把所存儲的數據點個數減小到212個,這對于單調的線性波形幾乎沒有影響。因此,在尋址時只需要截取累加器輸出的高12 bit作為地址值。另外,為了進一步簡化設計,考慮到降鋸齒波實際上是對升鋸齒波的波形數據進行反向讀取得到的,因此,可以僅存儲升鋸齒波的波形數據,利用波形控制字和反相器就可以得到降鋸齒波形。其電路框圖如圖4所示。

    定時器中,以輸入的占空比控制字為初值,每個時鐘周期對頻率控制字進行一次累加。當累加結果≤232-1時,控制位為0,反相器不工作,D/A直接收到ROM中讀出的數據,即輸出方波高電平;當累加結果>232-1時,控制位置1,反相器將ROM中讀出的波形數據取反,即輸出方波的低電平。累加結果為33 bit位寬,當發生溢出時,自動回到初值狀態,從占空比控制字開始繼續對頻率控制字進行累加。因此,通過輸入不同的占空比控制字就可以得到占空比可變的方波。
3 測試結果
    按照上述優化方法設計出基于DDS的任意波形發生器,FPGA的片上存儲器僅需要存儲4 096個14 bit位寬的波形數據,就能夠實現可輸出5種波形的任意波形發生器。在Quartus II 8.0軟件中的綜合結果如圖6所示。

    從圖6中可以讀出,片上存儲資源的占用量僅為108 928 bit,這是因為中間過程中用到的寄存器和嵌入的NIOS II軟核占用了一部分的存儲空間。利用RIGOL公司生產的型號為DS1102CA的示波器可觀察到最終的不同頻率、不同幅值的輸出波形,如圖7~圖12所示。

 

 

    若按照傳統的設計方案,5種波形、14 bit精度的DDS任意波形發生器將占用FPGA片上大于1 Mb的存儲空間,而符合這個要求的FPGA芯片市場價格一般都接近千元。本系統采用Altera公司生產的Cyclone II系列的FPGA芯片EP2C20F484C8為核心處理器件,能夠大大減小FPGA的片上資源占用,其市場價格僅為100元左右,很大程度上減小了成本。
參考文獻
[1] 張嚴,洪遠泉.基于FPGA的任意波形發生器設計與研究[J].現代電子技術,2011,34(10):157-159.
[2] 杜偉韜,盧起斌,徐偉掌,等.面積優化的調相DDS軟核編譯器設計與實現[J].微電子2008,38(3):381-384.
[3] 江志浩,孫明珠,蔡德榮.高精度DDS的FPGA資源優化設計[J].微計算機信息,2009,25(1-2):191-193.
[4] 傅沈文,曾廣璽.基于DDS技術的高性能脈沖信號源設計[J].微計算機信息,2011,40(4):108-109.
[5] 藍天,張金林.直接數字頻率合成器DDS的優化設計[J]. 電子技術應用,2007,33(5):42-44.
[6] 李建磊,馬震,莊波,等.直接數字頻率合成器(DDS)精度提高方法研究[J].濱州學院學報,2006,22(3):43-46.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产欧美日韩精品| 性欧美精品高清| 国产日韩欧美精品在线| 欧美日韩免费一区二区三区视频 | 一区二区三区日韩在线观看| 亚洲激情在线视频| 久久精品国产一区二区三| 性欧美精品高清| 欧美一级播放| 欧美怡红院视频| 欧美在线综合视频| 亚洲第一精品影视| 久久精品国产91精品亚洲| 久久精品免费播放| 亚洲激情影视| 日韩网站在线看片你懂的| 日韩午夜激情av| 在线中文字幕一区| 亚洲欧美日韩一区二区| 先锋影音久久久| 久久精品123| 快she精品国产999| 欧美国产精品久久| 欧美日韩精品一本二本三本| 欧美视频日韩| 国产精品综合| 国产字幕视频一区二区| 一区免费视频| 91久久精品一区| 一本色道**综合亚洲精品蜜桃冫| 在线亚洲欧美视频| 香蕉久久夜色精品国产| 亚洲电影免费观看高清完整版在线观看 | 日韩午夜在线观看视频| 在线中文字幕日韩| 欧美亚洲一级| 亚洲欧洲一二三| 99re热这里只有精品视频| 亚洲一区二区精品视频| 性欧美在线看片a免费观看| 久久久久国产精品午夜一区| 蜜臀91精品一区二区三区| 欧美激情精品久久久| 国产精品www网站| 国产视频亚洲| 亚洲国产精品电影| 夜夜嗨av一区二区三区| 午夜精品久久久久久久久久久久 | 午夜在线观看欧美| 亚洲国产日韩精品| 亚洲一区视频| 老司机久久99久久精品播放免费| 欧美精品手机在线| 国产精品午夜电影| 在线播放亚洲一区| 宅男噜噜噜66一区二区| 亚洲第一成人在线| 亚洲一二三四久久| 美玉足脚交一区二区三区图片| 欧美日韩国产va另类| 国产精品一区二区三区观看| 亚洲国产高清在线| 亚洲欧美福利一区二区| 91久久香蕉国产日韩欧美9色| 亚洲专区欧美专区| 久久夜色精品国产| 国产精品毛片a∨一区二区三区| 在线国产日韩| 亚洲欧美另类中文字幕| 亚洲伦伦在线| 久久久水蜜桃| 欧美性猛交视频| 1769国内精品视频在线播放| 亚洲一区二区3| 日韩视频免费| 久久亚洲一区二区| 国产精品卡一卡二| 亚洲精品小视频| 亚洲激情视频| 久久精品理论片| 欧美午夜不卡在线观看免费| 亚洲国产精品一区二区久| 亚洲欧美激情视频在线观看一区二区三区| 亚洲激情在线观看| 久久精品国产第一区二区三区| 欧美日韩在线不卡一区| 亚洲国产精品久久久久秋霞不卡| 午夜精品久久久久久久99樱桃| 国产精品99久久久久久久女警| 老司机午夜免费精品视频| 国产免费观看久久| 这里只有精品视频| 99国内精品| 欧美成在线视频| 樱花yy私人影院亚洲| 西西人体一区二区| 午夜日韩激情| 国产精品国产馆在线真实露脸| 亚洲国产精品一区二区www| 久久黄色小说| 久久久国产精品一区二区三区| 国产精自产拍久久久久久| 亚洲最新合集| 9久re热视频在线精品| 欧美大片在线观看一区二区| 激情综合自拍| 久久国产欧美| 久久久久久色| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲欧美一区二区精品久久久| 亚洲一区二区三区中文字幕在线| 欧美日本国产一区| 亚洲啪啪91| 亚洲毛片在线看| 欧美精品在线免费观看| 亚洲激精日韩激精欧美精品| 亚洲精品一区二区三区不| 免费欧美在线| 亚洲国产一区在线| 亚洲精品黄网在线观看| 欧美二区在线| 亚洲人成网站色ww在线| 日韩午夜激情| 欧美日韩一区二区三区在线观看免| 亚洲靠逼com| 亚洲一区二区免费视频| 欧美吻胸吃奶大尺度电影| 亚洲视频在线一区观看| 午夜精品久久久久久久99水蜜桃| 国产精品国产三级国产专播品爱网 | 日韩午夜电影av| 欧美日韩国产综合久久| 亚洲精品久久久久久久久久久| 99精品视频免费观看视频| 欧美日韩精品久久| 日韩亚洲欧美在线观看| 亚洲一区二区免费视频| 国产免费观看久久黄| 欧美一区二区三区在线| 久久夜色撩人精品| 亚洲国产中文字幕在线观看| 一二三区精品福利视频| 欧美午夜免费电影| 午夜一级在线看亚洲| 久久综合久久久| 亚洲人在线视频| 亚洲在线视频免费观看| 国产模特精品视频久久久久| 久久精品国产99精品国产亚洲性色 | 国产精品综合色区在线观看| 久久国产精品久久国产精品| 免费一区视频| 一区二区三区精品| 欧美有码视频| 亚洲福利视频网站| 亚洲午夜视频在线| 国产亚洲欧美另类中文| 亚洲日本成人| 国产精品啊啊啊| 欧美在线一二三| 欧美日本高清视频| 亚洲欧美一级二级三级| 美女视频一区免费观看| 夜夜嗨av一区二区三区网站四季av| 亚洲欧美日韩国产综合在线 | 欧美一区国产一区| 精品51国产黑色丝袜高跟鞋| 在线视频精品一区| 国产亚洲精品久| 日韩视频在线一区二区| 国产精品羞羞答答xxdd| 亚洲激情二区| 国产精品欧美日韩一区| 亚洲国产裸拍裸体视频在线观看乱了 | 国产亚洲一二三区| 日韩视频免费观看| 国产乱码精品一区二区三区av| 亚洲国产欧美一区二区三区久久| 欧美色中文字幕| 亚洲大片精品永久免费| 欧美视频在线一区二区三区| 欧美一区网站| 欧美视频在线播放| 亚洲国产日韩欧美在线动漫| 国产精品捆绑调教| 亚洲国产精品精华液网站| 国产精品成人av性教育| 亚洲第一主播视频| 国产精品一区二区女厕厕| 亚洲久久成人| 国内欧美视频一区二区| 亚洲一区二区在| 91久久精品网| 久久久久久久精| 一区二区三区欧美成人| 欧美大片在线看免费观看| 欧美一区二区三区在线免费观看| 欧美三级日韩三级国产三级| 亚洲黄色小视频| 国产日韩精品在线|