一種基于DDS和Qt的“所見即所得”波形發(fā)生器
0 引言
隨著電路設(shè)計(jì)的多樣化,電路測(cè)試也對(duì)信號(hào)源提出了更高的要求。傳統(tǒng)的信號(hào)源只能產(chǎn)生幾種固定的波形,靈活度較差。任意信號(hào)發(fā)生器(AWG)很好地滿足了這個(gè)要求,它不僅可以輸出標(biāo)準(zhǔn)信號(hào),而且可以方便地產(chǎn)生任意波形,在測(cè)控、通信,醫(yī)療等領(lǐng)域有著廣泛的應(yīng)用。任意信號(hào)發(fā)生器通常采用直接數(shù)字頻率合成(direct digital frequency synthesizer,DDS)技術(shù)實(shí)現(xiàn)。DDS技術(shù)是J.Tiemev在1971年首次提出的一種以全數(shù)字技術(shù),它從相位概念出發(fā)直接合成所需波形的一種新的合成原理。Qt是一個(gè)跨平臺(tái)的C++圖形用戶界面應(yīng)用程序框架。它提供給應(yīng)用程序開發(fā)者建立圖形用戶界面所需的所用功能。Qt是完全面向?qū)ο蟮模K化程度非常高,很容易擴(kuò)展,并且允許真正地組件編程。 Qt具有優(yōu)良的跨平臺(tái)特性,支持多種系統(tǒng)和平臺(tái),包括Windows系統(tǒng),所有的UNIX系統(tǒng)以及嵌入式系統(tǒng)等。Qt遵循GPL(general public lice-nse)協(xié)議,開放主要的源代碼,用戶可以在GPL的規(guī)定下自由添加新特性。
1 DDS模塊的設(shè)計(jì)
1.1 DDS在FPGA中的實(shí)現(xiàn)
DDS由相位累加器,波形存儲(chǔ)器,D/A轉(zhuǎn)換器,低通濾波器等部分組成。該系統(tǒng)的DDS模塊根據(jù)需要做了適當(dāng)?shù)男薷?。其結(jié)構(gòu)框圖如圖1所示。
(1)增加了通信接口電路和DD8控制模塊用于接收用戶數(shù)據(jù)和控制DDS的運(yùn)行狀態(tài)。
(2)基準(zhǔn)時(shí)鐘采用5 MHz,經(jīng)過可控分頻器分頻后作為DDS的時(shí)鐘信號(hào),周期分辨率最高可達(dá)200 ns(即分頻為1)。
(3)相位累加器的頻率控制字固定為1,相位控制字固定為0。
(4)波形存儲(chǔ)器采用RAM,可以寫入用戶自定義的波形數(shù)據(jù)以產(chǎn)生任意波形,其地址寬度設(shè)置為11 b,這樣存儲(chǔ)深度可達(dá)2K點(diǎn)。
(5)電平偏移電路用于消除D/A輸出信號(hào)中疊加的無效直流分量,對(duì)于有效的直流分量會(huì)保留。
1.2 通信接口及控制寄存器的設(shè)計(jì)
DDS控制寄存器控制整個(gè)DDS模塊的運(yùn)行參數(shù)和狀態(tài),并通過通信接口接收來自ARM的數(shù)據(jù)。根據(jù)需要共設(shè)置了8個(gè)寄存器,地址從O~7。其功能和分配如表1所示。
表1其中:
(1)0~3 B存儲(chǔ)分頻參數(shù),占用32位,因此分頻范圍為1~232。
(2)4~5 B存儲(chǔ)相位累加器的參數(shù),用于控制波形點(diǎn)數(shù)和觸發(fā)模式,其各位的含義如表2所示。
評(píng)論