基于FPGA的DDS正弦波信號發(fā)生器的設(shè)計方案
出處:維庫電子市場網(wǎng) 發(fā)布于:2023-06-25 10:50:35
引言
在工程應(yīng)用和測試領(lǐng)域中,信號發(fā)生器有著非常廣泛的應(yīng)用,它可以用來為各種電路提供測試信號。眾所周知,傳統(tǒng)的信號發(fā)生器用模擬電路或者專用芯片搭建而成,但是存在著較多問題,如頻率不高、穩(wěn)定性較差、不易擴展和調(diào)試等;而如果采用DDS直接數(shù)字頻率合成技術(shù)設(shè)計的信號發(fā)生器的話,則改變了這種狀況,可以大大提高其和靈活性。本文通過Altera公司的EPFl0K10LC84-4芯片,成功實現(xiàn)了正弦波信號發(fā)生器。
1 系統(tǒng)硬件結(jié)構(gòu)
本系統(tǒng)由LED顯示、鍵盤電路、FPGA單元、低通濾波器和D/A轉(zhuǎn)化構(gòu)成。系統(tǒng)總體設(shè)計結(jié)構(gòu)。
1.1 LED顯示
在本系統(tǒng)中,通過4個LED數(shù)碼管進行動態(tài)顯示。電路設(shè)計。LED數(shù)碼管動態(tài)顯示的實現(xiàn)方法為依次點亮各個數(shù)碼管,循環(huán)進行顯示,利用人眼的視覺暫留特性,數(shù)碼管每秒導(dǎo)通16次以上,可以達到4個數(shù)碼管同時顯示的效果。但是,延時也不是越小越好,因為數(shù)碼管達到一定亮度需要一定時間。如果延時控制不好則會出現(xiàn)閃動,或者亮度不夠。根據(jù)經(jīng)驗,延時0.005秒可以達到滿意效果。
1.2 鍵盤電路
在本系統(tǒng)中,通過鍵盤電路改變頻率控制字K,從而實現(xiàn)對正弦信號的頻率、相位的初始化設(shè)置。為了節(jié)省FPGA的I/O端口,簡化硬件線路,鍵盤電路采用4×4矩陣式健盤。鍵盤共設(shè)有14個鍵,其中包括4個功能健。具體鍵盤按鍵設(shè)置。
使用時先通過“0~9”、“↑”、“↑”12個設(shè)置按鍵輸入所需信號頻率,再按下ENTER執(zhí)行健,頻率控制字K將刷新,使得輸出信號頻率發(fā)生變化。CLR鍵用于將原有的設(shè)定值清零。
1.3 FPGA單元
FPGA單元包括鍵盤轉(zhuǎn)換頻率控制字、LED顯示控制、相位累加器、ROM查詢表的實現(xiàn)。鍵盤電路是一組按鍵開關(guān)的集合,F(xiàn)PGA掃描鍵盤電路的電平信號,通過FPGA中指定程序轉(zhuǎn)化為頻率控制字K輸入到相位累加器,同時,將設(shè)置輸出的頻率通過4個LED數(shù)碼管實時顯示。
1.4 低通濾波電路
低通濾波器用于濾除階梯信號中的諧波分量。本文采用2階低通濾波電路,階梯信號通過低通濾波,使得輸出信號頻譜純度較好,失真較小。
1.5 D/A轉(zhuǎn)化
從FPGA輸出的正弦波信號還只是階梯信號,需要經(jīng)過D/A轉(zhuǎn)化器進行數(shù)字/模擬信號的轉(zhuǎn)化。本設(shè)計使用的是8位D/A轉(zhuǎn)化芯片DAC083 2。該芯片用倒T形電阻網(wǎng)絡(luò)轉(zhuǎn)換,為電流輸出型。DAC0832中有兩級鎖存器,級即輸入寄存器,第二級即DAC寄存器,數(shù)據(jù)輸入有直通數(shù)字輸入、雙緩沖輸入或單緩沖輸入三種工作方式。
D/A接口電路。
2 DDS技術(shù)
DDS(Direct Digital Synthesis)是一種應(yīng)用直接數(shù)字合成技術(shù)來產(chǎn)生信號波形的方法。DDS技術(shù)首先對需要的信號波形進行采樣、量化,然后存入存儲器作為待產(chǎn)生信號的數(shù)據(jù)查詢表。在輸出信號波形時,從數(shù)據(jù)表依次讀出數(shù)據(jù),產(chǎn)生數(shù)字信號。
輸入時鐘頻率和輸出波形信號的頻率關(guān)系。在To表示輸出波形的周期,Tc為采樣周期,2N為ROM查詢表尋址范圍,K為頻率控制字??芍猅o=Tc×2N/K,轉(zhuǎn)換為頻率可表示為fo=fc×K/2N,fc為時鐘信號clk的頻率。
在本設(shè)計中N=8,因此信號的輸出頻率fo=fc×K/256。
3 系統(tǒng)軟件設(shè)計
軟件設(shè)計主要通過Verilog硬件語言進行相位累加器和ROM查詢表的編程實現(xiàn)。
3.1 相位累加器
相位累加器主要用于產(chǎn)生ROM查詢表所需的地址信息。在Quartus軟件中編程生成的相位累加器符號,相位累加器的輸入信號包括時鐘信號clk、復(fù)位信號clr和頻率控制字K。輸出信號addr[7…0]為ROM查詢表的輸入地址信號。
相位累加器類似一個計數(shù)器。首先,軟件設(shè)置相位累加器的基數(shù)為0,并通過時鐘信號clk上升沿觸發(fā),基數(shù)與頻率控制字K相加,相加后的值反饋到相位累加器的輸入端作為下的基數(shù)。當(dāng)相位累加器的溢出時,—個完整的階梯正弦信號就從ROM查詢表的輸出端輸出。因此,相位累加器的溢出率就是正弦波信號的輸出頻率。相位累加器的仿真波形。
3.2 ROM查詢表
本文設(shè)計的ROM查詢表尋址范圍為256,輸出q[7…O]需與D/A轉(zhuǎn)換器的輸入相連。ROM查詢表的輸出為8位,因此與D/A轉(zhuǎn)換芯片的分辨率相匹配。
由于此時生成的mif文件不符合Quartus中所需載入的mif格式,還需要對其進行修改。
通過載入此mif文件,就可獲得ROM查詢表。
4 結(jié)語
本文介紹的這種基于FPGA的DDS正弦波信號發(fā)生器,可以使電路結(jié)構(gòu)簡單、工作頻率穩(wěn)定度高、頻率調(diào)整高。同時,此方法同樣適用于三角波、方波等其他任意波形的實現(xiàn)。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識介紹2025/8/29 16:58:56
- SQL核心知識點總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識2025/6/18 16:30:52









