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