《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 一種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亚洲国产精品_日韩亚洲一区二区
裸体歌舞表演一区二区| 国产女人18毛片水18精品| 亚洲欧美卡通另类91av| 亚洲美女视频| 亚洲国产精品高清久久久| 欧美一区91| 亚洲综合日韩| 亚洲影视在线播放| 一区二区三区日韩精品| 99re6热在线精品视频播放速度| 亚洲高清久久久| 亚洲国产精品高清久久久| 影音先锋欧美精品| 黄色日韩网站| 在线观看欧美亚洲| 亚洲国产日韩美| 亚洲人体大胆视频| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲欧洲精品一区二区三区 | 黄色日韩精品| 在线免费观看一区二区三区| 在线看片一区| 亚洲精品一区二区三区四区高清| 亚洲精选视频免费看| 99在线|亚洲一区二区| 中日韩视频在线观看| 亚洲一区二区欧美| 午夜精品美女久久久久av福利| 香港久久久电影| 亚洲福利视频免费观看| 亚洲精品欧美精品| 亚洲一区二区三区在线观看视频| 亚洲综合三区| 久久精品一区二区三区中文字幕| 另类春色校园亚洲| 欧美猛交免费看| 国产精品美女久久福利网站| 国产一区二区精品久久99| 激情校园亚洲| 亚洲乱码一区二区| 香蕉久久夜色精品国产| 亚洲国产欧美日韩精品| 9久草视频在线视频精品| 亚洲一区二区三区视频播放| 久久精品综合网| 久久人人97超碰国产公开结果| 欧美成人午夜激情| 欧美色图一区二区三区| 国产欧美成人| 亚洲国产欧美在线人成| 亚洲一区二区三区视频播放| 久久国产婷婷国产香蕉| 一本久道久久综合狠狠爱| 午夜精品视频在线观看| 蜜桃久久精品一区二区| 欧美午夜免费电影| 精品999在线播放| 日韩系列在线| 欧美制服丝袜| 一区二区激情视频| 久久精品国产69国产精品亚洲| 欧美成人资源| 国产九区一区在线| 亚洲人成绝费网站色www| 亚洲女人小视频在线观看| 亚洲人在线视频| 欧美一级电影久久| 欧美激情aⅴ一区二区三区| 国产伦理一区| 亚洲美女91| 久久精品一二三| 午夜精品影院在线观看| 欧美成人免费大片| 国产日韩一区二区三区| 夜夜精品视频| 亚洲精品永久免费精品| 久久精品论坛| 欧美午夜精品久久久久久人妖| 亚洲成色www8888| 午夜精品理论片| 亚洲一区二区三区欧美| 欧美成人亚洲| 国内免费精品永久在线视频| 99综合精品| 亚洲精品乱码久久久久久久久| 久久99伊人| 国产精品久久久久久一区二区三区 | 狂野欧美一区| 国产精品一区2区| 日韩午夜三级在线| 最新69国产成人精品视频免费| 欧美夜福利tv在线| 国产精品成人一区二区三区夜夜夜| 亚洲高清在线观看| 久久福利电影| 久久福利影视| 国产精品激情电影| 亚洲美女在线视频| 亚洲美女区一区| 美女视频网站黄色亚洲| 国产一区二区三区免费在线观看| 中文国产成人精品| 在线视频欧美日韩精品| 欧美激情网友自拍| 在线观看欧美一区| 久久精品免费看| 久久精品一二三区| 国产偷久久久精品专区| 亚洲综合国产激情另类一区| 亚洲性色视频| 欧美日韩视频一区二区三区| 亚洲精品久久久久久一区二区| 亚洲国产精品成人一区二区| 久久视频在线免费观看| 国产亚洲视频在线观看| 午夜亚洲性色福利视频| 羞羞漫画18久久大片| 国产精品久久久99| 亚洲一区二区三区高清| 亚洲一区二区三区精品在线观看| 欧美日韩第一区| 日韩亚洲精品在线| 亚洲深爱激情| 国产精品黄色| 亚洲伊人伊色伊影伊综合网 | 欧美激情亚洲另类| 亚洲精品视频在线观看免费| 亚洲精品欧美日韩专区| 欧美日本精品一区二区三区| 亚洲人成啪啪网站| 夜夜爽夜夜爽精品视频| 欧美日韩国产一区精品一区 | 一区二区三区免费在线观看| 亚洲一区二区精品在线观看| 国产精品久久久对白| 亚洲一区在线观看免费观看电影高清| 亚洲欧美日韩天堂| 国产日韩精品在线观看| 欧美一区二区视频观看视频| 久久综合五月| 亚洲精品美女免费| 亚洲专区一区| 国产乱人伦精品一区二区| 欧美一区二区三区日韩| 欧美va亚洲va日韩∨a综合色| 亚洲狠狠婷婷| 亚洲一区二区三区精品视频 | 欧美在线不卡视频| 免费h精品视频在线播放| 亚洲国产综合91精品麻豆| 亚洲午夜高清视频| 国产亚洲精品bt天堂精选| 亚洲国产成人tv| 欧美日韩123| 亚洲一区二区视频在线观看| 久久久精品一区| 亚洲国产精品成人一区二区| 亚洲午夜电影| 国产在线视频不卡二| 亚洲精品国偷自产在线99热| 欧美性猛交视频| 欧美一区二区黄| 欧美成人中文| 亚洲一区二区三区精品在线观看| 久久精品一级爱片| 亚洲欧洲综合另类| 午夜精品美女久久久久av福利| 韩日视频一区| 中文亚洲欧美| 狠狠88综合久久久久综合网| 一区二区三区欧美在线观看| 国产精品爽爽爽| 亚洲日本成人在线观看| 国产精品男人爽免费视频1| 亚洲福利免费| 欧美午夜片在线观看| 亚洲国产高清一区二区三区| 国产精品久久久久一区二区三区共| 久久激情五月激情| 欧美香蕉视频| 亚洲黄色天堂| 国产乱码精品1区2区3区| 日韩视频在线观看| 国产日韩欧美自拍| 亚洲视频在线观看视频| 狠狠做深爱婷婷久久综合一区| 亚洲调教视频在线观看| 一区免费在线| 欧美在线网站| 99精品视频免费全部在线| 久久综合久久美利坚合众国| 在线视频精品一区| 欧美xx69| 欧美亚洲网站| 国产精品福利久久久| 亚洲人成网站999久久久综合| 国产精品永久免费视频| 99视频一区二区| 亚洲国产欧美在线| 久久中文精品|