《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的DDS設計及實現
基于FPGA的DDS設計及實現
維庫開發網
摘要: 0引言隨著現代電子技術的不斷發展,在通信系統中往往需要在一定頻率范圍內提供一系列穩定和準確的...
關鍵詞: FPGA DDS
Abstract:
Key words :

  隨著現代電子技術的不斷發展,在通信系統中往往需要在一定頻率范圍內提供一系列穩定和準確的頻率信號,一般的振蕩器己不能滿足要求,這就需要頻率合成技術。直接數字頻率合成(Direct DIGITAL Frequency Synthesis,DDS)是把一系列數據量形式的信號通過D/A轉換器轉換成模擬量形式的信號合成技術。DDS具有相對帶寬寬、頻率轉換時間短、頻率分辨率高、輸出相位連續、可產生寬帶正交信號及其他多種調制信號等優點,已成為現代頻率合成技術中的姣姣者。目前在高頻領域中,專用DDS芯片在控制方式、頻率控制等方面與系統的要求差距很大,利用FPGA來設計符合自己需要的DDS系統就是一個很好的解決方法。

  現場可編程門陣列(FPGA)器件具有工作速度快、集成度高、可靠性高和現場可編程等優點,并且FPGA支持系統現場修改和調試,由此設計的DDS電路簡單,性能穩定,也基本能滿足絕大多數通信系統的使用要求。

  1 DDS的結構原理

  DDS的基本原理是利用有限的離散數據,通過查表法得到信號的幅值,通過數模轉換器D/A后生成連續波。DDS的原理框圖如圖1所示。

  其中:頻率控制字為fword;相位累加器的位數為N。相位累加器以步長fword做累加,產生所需的頻率控制數據;把得到的頻率控制數據作為地址對ROM存儲器進行尋址。數據存儲器(ROM)實質是一個相位/幅度轉換電路,ROM中存儲二進制碼表示所需合成信號的相位/幅度值,相位寄存器每尋址一次ROM,就輸出一個相對應的信號相位/幅度值。

  理想情況下,累加器的N位全部用來尋址時,DDS的合成頻率為:

  式中:fword為頻率控制字;N為相位累加器位數;fclk為輸入時鐘。當fworld=1時,得DDS的最小分辨率。如果改變頻率控制字,就可以改變合成的頻率的頻偏。

  2 DDS調頻系統在FPGA中的實現

  2.1 累加控制模塊的設計

  累加控制模塊通過調用QuartusⅡ中模塊化庫LPM進行設計。即由加法器lpm_add_sub和乘法器lpm_mult及累加器altaccumulate模塊構成。若要求DDS系統精度高,相位累加器的位數N須較大。現在大多數專用的DDS芯片的位數都在24~32位之間,這里取N=32。累加控制模塊如圖2所示。

  ADC轉換芯片處理后的8位數字信號,為了使DDS合成的頻率較大,末尾補4個O作為參數化模塊lpm_add_sub的12位輸入datai。由于ADC信號輸出的是8位二進制偏移碼,與計算機處理的二進制補碼形式不同,需將二進制偏移碼轉換成二進制補碼,在這里與另一路輸入信號常數2 048做減法,就能達到求補的目的,并輸出12位有符號數。

  12位的輸出接入lpm_mult模塊,lpm_mult的另一路輸入為12位任意數輸入。乘法器的輸出直接影響累加器累加相位的速度。當乘以一個比較大的數,則頻率變化加快。

  同理,為了使合成頻率較大,乘法器的24位輸出在末尾補O成為32位數datab送到累加模塊altaccumulate中。為了節省ROM容量,最后取altaccumulate輸出的高10位作為ROM查找表的地址信號。累加控制模塊的時序仿真如圖3所示。

  2.2 ROM查找表的設計

  針對不同的可編程器件,ROM查找表的設計采用的方法也不相同。主要是基于lpm_rom和VHDL選擇語句這兩種方法。使用lpm_rom的波形存儲表只需要產生數據文件*.mif,然后直接在定制lpm_rom時,添加數據文件即可。不過這種方法在FPGA支持內部嵌入式陣列塊(EAB)時才可以使用;使用VHDL選擇語句比較直觀,但當輸入數據量大的時候,這種方法是比較繁瑣的。此次設計采用第一種方法。

  mif文件是在編譯和仿真過程中作為存儲器(ROM或RAM)初始化輸入的文件,即memory initializatiON file。創建mif文件的方式有很多種,在這次設計中,在Matlab中采用C語言來生成mif文件。mif文件編寫格式如下:

  通常相位累加器的位數N很大,實際設計中受到體積和成本的限制。為了節省ROM的容量采用相位截斷的方法,一般只取累加器輸出的高幾位作為ROM的尋址地址。設計中取累加結果的高10(M=10)位來進行查表,也就是說正余弦ROM有210=1 024個尋址地址,數據寬度為12。如圖4所示,設計了2個lpm_rom模塊,分別是sin波形存儲器和cos波形存儲器。

  3 單片機控制電路

  此次選擇的FPGA芯片為Altera公司的ACEXlK系列的EPlK30TTl44-2。它可以采用專用的配置器件來配置,也可以采用單片機來配置。前者價格昂貴,而且專用配置器件的ROM為一次性編程,不易實現FPGA的系統功能轉換。采用單片機C8051F330D對FPGA進行被動串行(PS方式)配置,使用可多次修改的AT24C512(E2PROM)作為配置文件存儲器,真正做到“現場可編程”,對提高生產率、降低生產成本均有好處。

  系統的配置電路如圖5所示。其電路的工作過程為:經QuartusⅡ編譯生成的配置文件(.rbf),利用PC機端的控制程序,通過PC機的串行通信口,經U1存儲在U2中,U1再根據系統的要求通過P0.6,P1.O,P1.1,P1.6和P1.7等5個I/O口將其存儲在U2中的配置數據下載到電路中的FPGA器件U3中。PC機的控制程序在此略。

  4 設計結果

  累加控制器、ROM查找表組成一個整體,實現了一個基本的DDS系統。DDS系統的最后仿真結果如圖6所示。

  圖6中的pllclk,acum,dai,daq分別代表時鐘輸入、累加輸出及正弦波和余弦波輸出。把O~2π的相位分成3FF段,取出相應的幅度值存儲于ROM中。ROM中存儲數據如下,相位數據(O~3FF),幅度數據(O~FFF)。從仿真圖可以看出dai[11..O]輸出從EFF~FFF~0~EFF變化,daq[11..O]輸出從FFF~O~FFF變化。最后通過單片機配置FPGA運行,把得出的信號通過D/A轉換和濾波能夠得到所需的正弦波和余弦波信號。

  5 結語

  給出了基于FPGA的DDS設計的實現方案。通過仿真分析可以看出,DDS輸出信號具有如下特點:

  (1)頻率穩定性好,轉換時間短,分辨率高,相位變化連續。

  (2)設計者只需要通過改變測試輸入數據,就能夠快速準確地實現不同波形并且驗證正確性,使得測試工作更加全面高效,從而提高了調試效率和成功率。

  (3)整個信號實現過程較為簡單,實用性較強。

  限于實驗條件,此次設計在降低相位截斷誤差等方面仍有改進的空間,還可以進一步優化,限于篇幅,在此不多做介紹。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: CHINESE熟女老女人HD视频| 晚上睡不着来b站一次看过瘾| 欧美牲交a欧美牲交aⅴ图片| 欧美人与动人物乱大交| 日韩在线视频不卡| 把胡萝卜立着自己坐上去| 天堂bt资源www在线| 国产欧美精品一区二区色综合| 国产亚洲色婷婷久久99精品| 十九岁日本电影免费完整版观看 | 国产福利vr专区精品| 四虎成人精品在永久免费| 人人洗澡人人洗澡人人| 亚洲av无码专区在线播放| 东京热TOKYO综合久久精品| 18gay台湾男同亚洲男同| 色妞色综合久久夜夜| 欧美黑人疯狂性受xxxxx喷水| 日韩三级小视频| 天天干天天干天天| 国产成人综合久久久久久| 六月丁香婷婷天天在线| 亚洲国产成人久久77| 中文字幕无码不卡一区二区三区 | 无人区1080在线完整免费版| 国产黄三级高清在线观看播放| 国产卡一卡二卡三卡四| 亚洲综合校园春色| 久久久亚洲精品无码| 97影院在线午夜| 色久悠悠色久在线观看| 欧美日韩三级在线| 成年女人18级毛片毛片免费观看| 国产精品福利影院| 午夜精品一区二区三区免费视频| 亚洲av日韩aⅴ无码色老头| ntr出差上司灌醉女职员电影| 香蕉视频黄在线观看| 欧美色图另类图片| 忘忧草日本在线播放www| 国产在线精品一区二区不卡麻豆|