?

基于FPGA的DDFS函數信號發生器設計

2017-09-15 13:02
無線互聯科技 2017年16期
關鍵詞:按鍵波形濾波

黃 麗

(武漢鐵路職業技術學院,湖北 武漢 430205)

基于FPGA的DDFS函數信號發生器設計

黃 麗

(武漢鐵路職業技術學院,湖北 武漢 430205)

FPGA的可編程屬性使得其在通信系統設計中使用越來越頻繁,文章采用DDFS算法技術,以模擬電路為基礎架構,完成了一個多種波形輸出、高精度的數字信號發生器設計。且設計了以單片機加LCD、按鍵為輸入控制及實時顯示的最小系統,可以手動輸入選擇輸出如方波、正弦波及三角波等任意頻率可變的信號。

FPGA;單片機;DDFS;函數信號發生器

有線或者無線通信系統的研究或應用領域,高精度、多類型的信號源必不可少[1]。故信號發生器是用來產生正弦波、鋸齒波、方波、三角波等各種信號的一種通用儀器,在科學研究和工程設計中廣泛應用[2]。成熟的信號發生器一般采用集成電路器件設計實現,其輸出信號只能是某種特定的周期性信號。如果采用現場可編程邏輯門陣列(Field Programmable Gate Array,FPGA)進行波形存儲器設計之后,將能合成任意波形的信號[3]。用直接數字式頻率合成器(Direct Digital Synthesizer,DDS)產生正弦信號的方法具有輸出頻率信號穩定、相位連續等特點,且很容易通過數字的方法實現調整。本文采用89C52單片機為控制核心,結合FPGA任意可編程功能,采用經典的直接頻率數字頻率合成(Direct Digital Frequency Synthesis,DDFS)技術,輔助以部分放大模擬電路,設計出了一個高精度、可手動選擇、波形穩定的數字信號發生器,輸出波形可以在正弦波、方波及三角波間切換。

1 系統總體設計方案及實現框

1.1 總體設計框

系統總體設計框如圖1所示,本系統由單片機89C52完成系統控制和數據運算,波形表存儲在FPGA中,由FPGA實現DDS的地址累加器,在外圍采用D/A及濾波電路完成波形的合成,幅度控制采用雙D/A。第一級的輸出作為第二級D/A轉換的參考電壓,濾波模塊電路用于濾除由第二級DAC產生的高頻分量,以及數字采集樣時產生的高次諧波分量,從而得到平滑干凈的信號。

圖1 總體設計框

1.2 關鍵模塊設計

本系統的關鍵模塊主要是基于FPGA DDFS算法設計。

1.2.1 FPGA的設計

FPGA設計的DDFS實際就是個相位累加器,設計不同的累加步進,即可得到不同的頻率分辨率,步進越小,輸出的波形越平滑。FPGA將累加輸出值送到內部存儲好的波形數字幅度RAM的地址上,讀出數據后送到DAC完成數模轉換,最終輸出數字波形到輔助模擬電路,單片機完成相關頻率和步進的配置。頻率合成器的核心模塊如圖2所示。

圖2 FPGA中核心DDS模塊

1.2.2 基于單板機的人機交互模塊設計

人機交互是由單片機、LCD和按鍵來實現的,單板板選用INTEL公司的89C52,其用于控制LCD顯示和按鍵輸入控制等;同時還要控制FPGA的輸入,配置其頻率合成所需要的步進值、信號波形類型等。單片機與FPGA的有基于Intel總線模式的讀寫接口,對FPGA內部實現配置和選擇,從而讓FPGA內部的雙口RAM內存儲數據的讀出送到DAC上。兩片DAC的控制接口也由單板模擬產生。

本信號發生器人機交互的總體設計思想是:單片機循環等待按鍵輸入,默認輸出標準的1 kHz方波,用戶可以通過按下按鍵后選擇實現各種功能,如實現方波、正弦波和三角波之間的切換。同時還可完成頻率控制和幅度控制,這都可以通過輸入相應的數字完成所需要輸出波形的頻率或幅度輸入。LCD的顯示也由單板在控制掃描輸入,最大支持輸入6位數字輸入,系統自動默認為001000。設置有取消/刪除鍵取消本次輸入或修改之前輸入的參數。

1.3 輔助模擬電路設計

模擬電路主要是完成最終的模擬信號輸出,選擇了2片DAC和濾波放大模塊共同實現。DAC器件使用的是DA公司的DA0832,由于DA0832為電流輸出型的轉換器,因此要獲得模擬電壓輸出時,需接外加轉換電路,本設計中采用運放電路作為轉換電路。

后邊的濾波模塊采用二階巴特沃茲濾低通濾波器進行濾波,濾除波形中由D/A產生的高頻分量,使輸出波形平滑不失真。

2 系統測試結果

按照上述方案完成系統設計后,對本設計進行了詳細的系統測試,本設計的單板、FPGA和模擬電路皆能正常工作,濾波電路也能正常濾波,通過示波器進行觀測,輸出的波形都能夠按照按鍵輸入選擇的模式、頻率和幅度來輸出。部分相關測試數據如表1所示。

表1 基本波形的頻率測量結果(0.5~250 kHz,步進0.5 Hz)

3 結語

本設計采用了FPGA來實現DDFS算法,配以INTEL的單片機89C52來作為設計的控制核心,并配合LCD和按鍵完成人機交互設計,從而完成了一個結構清晰、使用方便且成本低的信號發生器設計,配合以模擬電路,完成高精度、分辨率高的信號產生[4]。方案的核心是用FPGA設計DDFS算法,比采用專用DDS芯片更為靈活方便。通過CPU重新配置和更新FPGA中的雙端口RAM中的波形數據,就可以完成任意波形的輸出,具有相當大的靈活性[5-6]。FPGA芯片設計為PS加載方法,還支持在線升級,既可以將更多的波形設計輸入到此系統中,且不會增加系統的開銷,非常靈活多變,這在進行教學研究時具有很大的實用價值。

[1]韓葉祥,朱兆優,張斌.基于MAX038的程控函數信號發生器的設計[J].電子元器件應用,2008(5):22-25.

[2]郝小江,羅彪.基于FPGA的函數信號發器[J].電測與儀表,2008(5):49-51.

[3]易宏,杜志明,吳國輝,等.基于FPGA的函數信號發生器設計[J].電氣電子教學學報,2009(6):35-37.

[4]郭振永,鄧云凱,楊松,等.線形調頻信號DDS頻率合成源的設計與實現[J].現代雷達,2005(3):56-59.

[5]郭德淳,費元春.DDS的雜散分析及頻率擴展研究[J].現代雷達,2002(1):63-66.

[6]邱娜靈,楊陽.一種基于單片機的函數信號發生器的設計與實現[J].信息通信,2017(5):90-92.

Design of DDFS function signal generator based on FPGA

Huang Li
(Wuhan Railway Vocational College of Technology, Wuhan 430205, China)

The programmable attributes of Field Programmable Gate Array(FPGA)makes it more frequently used in the design of communication system. This paper completes a design with variety of waveform output and high precision digital signal generator uses Direct Digital Frequency Synthesizer(DDFS)algorithm technology and analog circuit as the basic structure. And designs of the smallest system with microcontrollers plus LCD, the key input control and real-time display, which can manually enter the selected output arbitrary frequency variable signal such as square wave, sine wave and triangular wave.

Field Programmable Gate Array; microcontrollers; Direct Digital Frequency Synthesizer; function signal generator

黃麗(1987— ),女,湖北孝感人。

猜你喜歡
按鍵波形濾波
基于有限狀態機的按鍵檢測程序設計
對《壓力容器波形膨脹節》2018版新標準的理解及分析
基于LFM波形的靈巧干擾效能分析
一種多方向導光按鍵結構設計
基于ARM的任意波形電源設計
大連臺使用CTS-1記錄波形特點
RTS平滑濾波在事后姿態確定中的應用
基于線性正則變換的 LMS 自適應濾波
基于隨機加權估計的Sage自適應濾波及其在導航中的應用
按鍵的多種狀態檢測及消抖處理方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合