波形發(fā)生器設計篇,基于FPGA的DDS任意波形發(fā)生器
波形發(fā)生器具有多種類型,對于波形發(fā)生器,小編在系列文章中有過諸多介紹。本文中,小編將為大家介紹DDS任意波形發(fā)生器,主要內(nèi)容在于探討如何基于FPGA實現(xiàn)該波形發(fā)生器的設計。如果你對波形發(fā)生器具有興趣,不妨繼續(xù)往下閱讀哦。
一、DDS概述
1.1 DDS基本原理
直接數(shù)字合成技術(shù)(Direet Digital Synthesis,簡稱DDS)是建立在采樣定理基礎上,首先對需要產(chǎn)生的波形進行采樣,將采樣值數(shù)字化后存入存儲器作為查找表,然后通過查表讀取數(shù)據(jù),再經(jīng)D/A轉(zhuǎn)換器轉(zhuǎn)換為模擬量,將保存的波形重新合成出來。DDS基本原理框圖如圖1所示。
由圖l看出,除了濾波器(LPF)之外,DDS系統(tǒng)都是以數(shù)字集成電路實現(xiàn),因此DDS系統(tǒng)易于集成和小型化。DDS系統(tǒng)的參考時鐘源通常是一個具有高穩(wěn)定性的晶體振蕩器,整個系統(tǒng)的各個組成部分提供同步時鐘。頻率字(FSW)實際上是相位增量值(二進制編碼),作為相位累加器的累加值。相位累加器在每一個參考時鐘脈沖輸入時,累加一次頻率字,其輸出相應增加一個步長的相位增量。由于相位累加器的輸出連接在波形存儲器(ROM)的地址線上,因此其輸出的改變就相當于查表。這樣就可把存儲在波形存儲器內(nèi)的波形抽樣值(二進制編碼)經(jīng)查找表查出。ROM的輸出送到D/A轉(zhuǎn)換器,經(jīng)D/A轉(zhuǎn)換器轉(zhuǎn)換成模擬量輸出。
1.2 DDS的基本參數(shù)及其計算
在系統(tǒng)時鐘脈沖的作用下,相位累加器不停累加,即不停查表,把波形數(shù)據(jù)送到D/A轉(zhuǎn)換器轉(zhuǎn)換成模擬量輸出,從而合成波形。濾波器則進一步平滑D/A轉(zhuǎn)換器輸出的近似正弦波的鋸齒階梯波,同時衰減不必要的雜散信號。設頻率字(FSW)的值為d,系統(tǒng)時鐘頻率為f,相位累加器的字長為N,則系統(tǒng)的輸出頻率為:
二、任意波形發(fā)生器的設計方案
基于DDS技術(shù)的任意波形發(fā)生器主要由微處理器控制模塊、鍵盤與顯示模塊、DDS通道的FPGA實現(xiàn)模塊、D/A轉(zhuǎn)換模塊以及濾波器模塊組成。同時片外擴展了4 KB程序存儲器SRAM和6 KB數(shù)據(jù)存儲器ROM,分別用于存儲波形抽樣數(shù)據(jù)和3種標準輸出波形抽樣數(shù)據(jù)。本系統(tǒng)設計原理如圖2所示。
2.1 微處理器控制模塊
采用AT89C5l單片機完成數(shù)據(jù)處理和控制其他電路工作。將鍵盤接收的數(shù)據(jù)通過特定算法轉(zhuǎn)換成二進制碼,再將處理后的控制字、波形參數(shù)和其他器件的控制信號發(fā)送出去。
由于AT89C5l單片機主要接口有:微處理器與擴展器件的接口;微處理器與FPGA模塊的接口;微處理器與鍵盤、顯示模塊的接口;微處理器與輸出幅值調(diào)節(jié)電路的接口。由于單片機的輸出引腳有限,需擴展其引腳。本設計采用8255器件擴展單片機的輸出引腳,8255的PA用于相位控制字的輸出;PB用于頻率控制字的輸出;PC是位可控輸出端,用于DDS工作方式的控制字和波形參數(shù)的控制字輸出引腳。AT89C5l單片機與FPGA的接口電路如圖3所示。
2.2 鍵盤與顯示模塊
由于本系統(tǒng)設計的測量裝置需要設置輸出波形、頻率、電壓等參數(shù),而且監(jiān)控程序需要菜單驅(qū)動,因此需要設置鍵盤。鍵盤采用外接4×4軟鍵盤,使用軟件掃描方式獲得按鍵信息。因為按鍵需要去抖動,因此采用軟件編程方式實現(xiàn),這樣可以節(jié)省硬件資源,簡化電路設計。
液晶顯示可提供人機交互界面和系統(tǒng)運行狀態(tài),選用精工的MGLS 19264液晶顯示屏。該液晶顯示屏內(nèi)置2塊HD61202U液晶顯示驅(qū)動控制器。其中CSA,CSB作為左、右屏片選信號,接單片機A8、A9引腳。同時單片機用地址Al作為R/W信號控制數(shù)據(jù)總線的數(shù)據(jù)流向;地址AO作為D/I信號控制寄存器的選擇;E信號由單片機的讀信號RD和寫信號WR合成產(chǎn)生,實現(xiàn)計算機對內(nèi)置HD61202U圖形液晶顯示模塊的電路連接。電位器用來調(diào)節(jié)顯示屏的對比度,如圖4所示。液晶顯示左半屏命令字地址為0EOOH;狀態(tài)字地址為0EIOH;寫顯示命令字地址為0E0lH;讀顯示命令字地址為0EllH;右半屏對應地址為0D00H、0D10H、0D0lH、0DllH。
2.3 DDS通道的FPGA實現(xiàn)模塊
該模塊設計是DDS信號合成的關(guān)鍵部分,主要由相位累加器、地址總線控制器、數(shù)據(jù)總線控制器與SRAM組成。其中,除了SRAM外,其余3個模塊都由FPGA實現(xiàn)。
相位累加器是整個DDS系統(tǒng)的關(guān)鍵,直接影響整個系統(tǒng)的功能。圖5給出的FPGA結(jié)構(gòu)框圖中相位累加器實質(zhì)上是一個帶反饋的29位加法器,它把輸出數(shù)據(jù)作為反饋數(shù)據(jù)和由微處理器送來的頻率控制字連續(xù)相加,從而產(chǎn)生有規(guī)律的29位相位地址碼。設計中采用流水線技術(shù)實現(xiàn)29位加法。當輸入所需頻率時,轉(zhuǎn)換成頻率控制字來驅(qū)動FPGA工作,從而產(chǎn)生所需波形頻率。整個模塊設計過程使用FPGA的開發(fā)軟件實現(xiàn)并進行仿真。
2.4 D/A轉(zhuǎn)換模塊
D/A轉(zhuǎn)換器是DDS系統(tǒng)的核心器件,其速度和特性直接影響整個系統(tǒng)的性能。從建立時間、尖峰脈沖能量、位數(shù)和積分線性等四個方面選擇D/A轉(zhuǎn)換器。因為DDS系統(tǒng)的工作頻率一般都很高,因此首先應選用高速D/A轉(zhuǎn)換器。其次是考慮信噪比問題,增大D/A轉(zhuǎn)換器的位數(shù),可減小電壓幅值量化誤差,增大信噪比,因此,采用了12位的D/A轉(zhuǎn)換器。
2.5 濾波器模塊
濾波器分為兩組:一組是橢圓函數(shù)濾波器,用于正弦波的濾波;另一組是線性濾波器,用于其他標準波形的濾波。
以上便是此次小編帶來的“波形發(fā)生器”相關(guān)內(nèi)容,通過本文,希望大家對如何基于FPGA實現(xiàn)DDS任意波形發(fā)生器具備一定的認知。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!