1 引言 隨著微電子技術的迅速發展,DDS技術得到了廣泛的應用,市場上有很多高性能多功能的DDS專用器件,但其工作方式和控制方式固定,一般用戶很難按自己的要求獲得相應的波形。同時任意波的輸入方式目前都只限于時域,無法實現電子、通信等領域的科研與教學中所需頻域參數定義的波形。本文介紹一種基于DDS的可視化信號發生器,它高精度地生成雙通道±8 V、0.01 Hz~10 MHz正弦波等常規波形。還可產生數碼流、調制信號、隨機噪聲、掃頻信號及時域或頻域自定義波等信號,信號參數均步進在線可調,由USB1.1與Delphi7.0完成與PC連機時的接口及圖形操作界面設計,TFT實現單機工作時的圖形操作界面,實驗表明該設計是行之有效的。 2 系統設計 系統結構框圖如圖1所示,其中用Delphi來開發圖形上位機軟件;PDIUSBD12為USB控制器,MCU實現系統智能控制和數值運算,FPGA為系統數字載體,內建DDS、MCU接口、時鐘控制、Flash讀寫、鍵盤掃描和TFT控制等模塊。設計雙路D/A輸出通道,通過調節DAC參考電壓提高小信號幅度分辨率,系統既可由上位機軟件控制實現信號源功能,也可通過觸摸按鍵和TFT圖形液晶顯示器智能實現便攜式任意源功能。 [/table][table] 設計中取系統時標信號頻率為fr=100 MHz,輸出信號每一周期由N個取樣點構成,取樣周期為Tr=(1/fr),則輸出信號的頻率為fo=fr/N,設合成信號初相為ψ0,相位累加器位數為x=32,存儲器位數為y=10,則 其中,f0min為合成器最低輸出頻率,△f為頻率分辨率,設輸出頻率控制字為k,則: nψ=ψ02x/2πk為初相量化值,最小相移、占空比的最小值和分辨率分別為: 當x-y>4時,正弦輸出相位截斷噪聲的信噪比SNRP=6.02y-3.992=68.24dB[1,3],可見相位截斷后仍有較高的信躁比,幅度噪聲的信噪比SNRE=6.02y+20lgr,其中r為輸出波形與滿刻度的峰-峰值之比,取r=1,則SNRE=72.2 dB[3,4]。 3 FPGA與分段時標設計 FPGA設計原理如圖2所示。DDSA、DDSB均是雙通道DDS產生模塊,內部由32位累加器和波形存儲器RAM組成,累加器在累加時鐘的控制下對頻率控制字k進行累加,其結果作為波形存儲器RAM的地址來讀出RAM中波形數值。波形存儲器RAM為雙口RAM,既可在讀信號、讀地址的配合下進行RAM的讀操作。也可在寫信號、寫地址和數據輸入信號的配合下進行寫操作,更換波形數據見圖3。雙通道設計為互相調制提供了方便。波形存儲器RAM為雙口RAM,在進行波形切換時,由MCU控制FPGA啟動Flash讀寫單元,以10 MHz的速度從外部的Flash中讀取4 096個波形數據到雙口RAM中。 接口模塊(interface)主要輸出8位DB、24位AB、256個片選信號、讀/寫控制信號,尋址能力達16 MB。Reg_array是寄存器矩陣,實現MCU對FPGA及系統的控制.主要儲存時鐘分頻系數CLK_DIV[63..0],雙通道幅度控制字V[31..0]、Flash的地址、數據和控制信號REGF[63..0]等。Ping_lv是頻率控制模塊,完成調頻、掃頻、頻率控制功能,輸出DDS信號產生單元所需的頻率控制字KA[31..0]和KB[31..0],由頻率字選擇模塊、調頻模塊、掃頻模塊組成。 任意波形產生時,先將從計算機采集到的波形數據量化編碼后通過USB下載到Flash存儲器,從Flash中讀取數據到雙口RAM中。這樣既能快速地產生任意波形.又能使任意波形在脫離計算機后還能繼續使用。系統Flash容量為2 MB,分為32頁,除了存儲常規的6種波形外,還能儲存26個任意波形。 DC可產生方波、數據流等其他波形,he.chen主要完成信號的合成功能,包括模擬調幅、隨機信號、ASK、FSK等。Clcok時鐘控制單元在CLK_DIV[63..0]和REGC[63..0]的控制下對外部40 MHz時鐘進行倍頻和分頻,輸出系統所需時鐘。tft是TFT顯示控制單元,采用查找表結構進行單色顯示。輸出直接接到TFT屏的三原色數據DR[5..0]、DG[5..0]、DB[5..0],和時序控制信號VS、HS、TFTCLK、REN等,實現波形菜單與圖形界面顯示。Keysan是鍵盤掃描單元,自建鍵盤掃描時序,輸出行列矩陣式鍵盤行列掃描信號,能自動進行鍵值識別、鍵碼鎖存keyvalue[7..0],并產生中斷信號int0。Flash控制模塊采用NOR Flash方式,讀操作與普通RAM一樣,但寫操作時要先擦除并輸入命令后才能讀寫。為此設計給MCU提供與RAM一樣的操作接口,同時在系統進行波形切換時.能自動地從外部Flash波形存儲器中讀取4 096個波形數據到DDS單元中.進行波形數據的改寫。 根據DDS原理。在較低的頻率段,由式(2)可知頻率控制字k減小,在對其進行量化時,勢必加大了量化誤差,故降低了信號的時域精度, 為此,在低頻段可由式(1)通過減小fr來降低f0min,提高k以提高信號的時域精度,可以采用分頻的方法,即在不同的頻率段采用不同的時標時鐘fr來解決這個問題,分段時標見表1。 4 上位機界面、信號參數定義與接口 本設計采用USB1.1作為通信接口,針對由PDIUSBD12實現的USB接口,可以利用Philips公司提供的EasyD12庫來編寫PC機應用程序。EasyD12庫包含3個文件,分別是EasyD12.lib、EasyD12.dll和EasyD12.h。庫文件提供了4個可以調用的函數,用于完成對PDIUSBD12端點1、端點2的讀寫操作。這4個函數分別為: 采用上述4個函數可以簡單地完成對PDIUS-BD12的讀寫操作。由于本設計中通用USB數據傳輸模塊的主要作用是由控制界面向接口模塊發送各種命令及波形數據,PC機對發送的時機是十分清楚的(通常在按鍵或菜單選項的響應函數中出現),所以命令及數據的可靠性及實時性能得到充分的保障。 主控制界面由波形設置、任意波形、模擬調制、數字調制、掃描信號、端口設置等部分組成,利用Delphi7.0提供的強大控件對信號幅度、頻率、占空比等參數實現實時控制,還有任意信號的手動制作和特殊波形(如抽樣波形、正弦的諧波合成、可控數碼流等)的采樣。圖4為數碼流PC控制界面。 時域信號疊加產生是依據各種實際需要,對常規波形進行疊加。軟件主要由波形構造、數據計算分析及控制組成。通過用戶輸入的公式及各常規波形的參數計算得出新的波形數據,然后根據數據進行描圖。計算定義為時域波形數據的加、減、乘、除。 頻域還原時域信號產生是采用諧波輸入法。依據幅度譜和相位譜信息。利用反傅立葉變換實偶對稱級數,還原為時域波形,經4 096個點數據采集,10位量化編碼后得到所需波形數據。 5 研制結果與展望 研制的雙通道"便攜式DDS高精度信號發生器"樣機采用40 MHz外部晶振,TFT選用彩色PT035TNO1,FPGA選用Altera-Cyclone系列EP1C6 T114-8。DAC選用10位ADI-AD9763,運算放大器選用ADI-AD8014,MCU 選用Philips-P89LV51RD2,Flash選用AM19LV160D。主要性能如下: (1)主波形有正弦波、方波等,100μHz~10MHz,儲存波形為100 Hz~100 kHz。分辨率為100μHz。幅度分辨率10 bit,(≤10 MHz)10 mV~18Vp-p(高阻),1 mV~10 Vp-p(50 Ω)。 (2)任意波形由計算機界面輸入,具有時域與頻域三種輸入方式。 (3)調制特性:內調制,調制信號頻率范圍為100μHz~1 MHz,調制深度范圍為1%~100%,數碼流、碼元速率可編程,調頻時最大頻偏為載波頻率的50%。 (4)掃描特性:頻率掃描掃描起終點及步進100μHz≤f≤10 MHz,幅度掃描掃描起終點及步進10mV≤V≤10 V,步進時間均為1 ms~20 s,線性掃描。向上或向下或來回掃描,自動控制方式。 (5)偽隨機噪聲:隨機碼元移位速率可調,可編程數碼流:碼元32位可編程輸入,波特率1 kb/s~1000 kb/s,電平10mV~10 V。 實驗表明:研制的樣機功能多、操作方便、TFT與PC屏幕顯示直觀、具有獨特的任意信號輸入方式、性價比高,儀器還可設計對外部輸入信號實時調制,直流分量應可控,由矢量分析儀產生的頻譜圖存儲后轉入信號發生器來重現時域波形的工作正在研究之中。 |