尹其暢 任意波形發(fā)生器_第1頁
尹其暢 任意波形發(fā)生器_第2頁
尹其暢 任意波形發(fā)生器_第3頁
尹其暢 任意波形發(fā)生器_第4頁
尹其暢 任意波形發(fā)生器_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

摘要任意波形發(fā)生器是不斷發(fā)展的數(shù)字信號處理技術和大規(guī)模集成電路工藝蘊育出來的一種新型測量儀器,能夠滿足人們對各種復雜信號或特殊信號的需求,代表了信號源的發(fā)展方向??删幊涕T陣列(FPGA)具有高集成度、高速度、可重構(gòu)等特性。使用FPGA來開發(fā)數(shù)字電路,可以大大縮短設計時間,減小印制電路板的面積,提高系統(tǒng)的可靠性和靈活性。本課題將DDS、USB接口和虛擬儀器技術有機地結(jié)合在一起,以FPGA為硬件基礎,通過系統(tǒng)硬件電路設計、邏輯設計和軟件設計,實現(xiàn)了一款基于FPGA的低成本、便攜式、可擴展的即插即用任意波形發(fā)生器。本文系統(tǒng)的分析了DDS技術的基本組成、工作原理及其輸出信號的頻譜特性,給出了改善合成信號頻譜純度的方法,為任意波形發(fā)生器的設計與實現(xiàn)提供了理論指導。本課題從總體上規(guī)劃了任意波形發(fā)生器的硬件結(jié)構(gòu),結(jié)合DDS輸出信號的頻譜特性實現(xiàn)了波形的調(diào)幅、調(diào)頻及多種數(shù)字調(diào)制。關鍵詞:直接頻率合成可編程門陣列通用串行總線目錄第一章任意波形發(fā)生器的理論分析 71.1頻率合成技術及性能指標 71.2DDS原理分析 101.1.1DDS基本結(jié)構(gòu) 101.2.2DDS原理 121.3DDS輸出特性 17第二章任意波形發(fā)生器的硬件電路設計 272.1系統(tǒng)設計方案 272.2系統(tǒng)總體結(jié)構(gòu) 272.3功能模塊設計 282.3.1FPGA電路 282.3.2D/A轉(zhuǎn)換電路 312.3.3濾波器的設計 332.3.4放大衰減及直流偏置電路 372.3.5外部接口電路 402.3.6電源電路 43第三章FPGA邏輯設計 453.1任意波形發(fā)生器的FPGA實現(xiàn) 473.1.1地址譯碼和控制數(shù)據(jù)寄存模塊 483.1.2移位寄存器控制邏輯 493.1.3數(shù)字電位器控制邏輯 503.1.4相位累加器的設計 513.1.5波形存儲器的設計 523.2任意波形調(diào)制器的研究 543.2.1幅度調(diào)制 553.2.2頻率調(diào)制 563.2.3數(shù)字調(diào)制 57第四章任意波形發(fā)生器的軟件設計 594.1系統(tǒng)軟件結(jié)構(gòu) 594.2固件程序設計 594.2.1功能分析 604.2.2固件程序結(jié)構(gòu) 604.2.3固件程序開發(fā) 614.3USB設備驅(qū)動程序 624.3.1驅(qū)動程序的實現(xiàn) 624.3.2USB設備的訪問 634.4用戶應用程序 634.4.1任意波形發(fā)生器軟件界面 644.4.2波形數(shù)據(jù)的產(chǎn)生4.4.3 參數(shù)提取和數(shù)據(jù)發(fā)送結(jié)束語致謝 77參考文獻 79第一章任意波形發(fā)生器的理論分析1.1頻率合成技術及性能指標所謂頻率合成技術是指以一個或者多個高精確度和高穩(wěn)定度的頻率參考信號源為基準,在某一頻段內(nèi),綜合產(chǎn)生多個工作頻率點的技術。頻率合成技術是產(chǎn)生頻率源的一種現(xiàn)代化手段,在通信、雷達、導航、廣播電視、電子偵察、電子干擾與反干擾及現(xiàn)代儀器儀表中有著廣泛的應用。依據(jù)頻率合成原理制成的頻率源稱為頻率合成器。對頻率合成器的基本要求是既要合成所需頻率,又要保證信號的純凈。綜合來看,衡量頻率合成器的主要性能指標為:(1)輸出頻率范圍輸出頻率范圍是指頻率合成器輸出最低頻率和輸出最高頻率之間的變化范圍。越大,頻率合成器的輸出頻率范圍越寬,有時候也用相對帶寬來衡量其輸出頻率范圍:式(2-1)(2)頻率穩(wěn)定度頻率穩(wěn)定度指在在規(guī)定的時間間隔內(nèi),頻率合成器的實際輸出頻率與頻率標定值偏差的數(shù)值,可分為長期、短期和瞬時穩(wěn)定度。(3)頻率分辨率頻率合成器的輸出頻譜通常是不連續(xù)的。頻率分辨率指兩個輸出頻率之間的最小間隔。(4)頻率切換時間頻率切換時間指輸出頻率由一個頻率切換到另一個頻率并達到穩(wěn)定工作所需的時間。該指標與頻率合成所采用的技術緊密關聯(lián)。(5)頻譜純度頻率合成技術中常常提到的一個指標就是頻譜純度,頻譜純度以雜散分量和相位噪聲來衡量。雜散又稱寄生信號,分為諧波分量和非諧波分量,主要由頻率合成過程中的非線性失真產(chǎn)生,也有頻率合成器內(nèi)外干擾的影響,還與頻率合成方式有關;相位噪聲是是瞬間頻率穩(wěn)定度的頻域表示,在頻譜上表現(xiàn)為主譜兩邊連續(xù)噪聲邊帶。頻譜純度是衡量頻率合成器質(zhì)量的一個重要指標。(6)調(diào)制性能調(diào)制性能是指頻率合成器的輸出是否具有調(diào)幅、調(diào)頻、調(diào)相、幅移鍵控、頻移鍵控、相移鍵控、掃頻、猝發(fā)等功能。頻率合成理論形成于20世紀30年代,經(jīng)過幾十年的發(fā)展,經(jīng)歷了三代技術變革。第一代:直接頻率合成技術。直接頻率合成是一種早期的頻率合成技術,它利用一個或者多個不同的晶體振蕩器作為基準頻率源,經(jīng)過倍頻、分頻、混頻及模擬開關等途徑直接組合出多個離散頻率的輸出信號。圖1.1直接頻率合成原理框圖圖1.1是直接頻率合成的一種示例。在這種頻率合成技術中,由控制信號選擇不同輸入信號進行混頻,在頻率合成器的輸出端可以得到任意一個輸入頻率的頻率值,或者任意兩個或兩個以上頻率的和頻或差頻。這種方法得到的信號長期和短期穩(wěn)定度高,頻率切換速度快,但是大量混頻器和濾波器的使用使大規(guī)模集成不可能,因而體積大、功耗大、調(diào)試難度大,并且雜散抑制不易做好。目前仍有些雷達信號的產(chǎn)生采用此方法。第二代:鎖相頻率合成技術。鎖相頻率合成也稱間接頻率合成,是20世紀50年代出現(xiàn)的頻率合成技術。它是利用一個或者幾個參考頻率源,通過諧波發(fā)生器混頻或分頻,產(chǎn)生大量的諧波或組合頻率,然后用鎖相環(huán)把壓控振蕩器(VotageControlledOscillator,VCO)的輸出頻率鎖定在某一諧波或者組合頻率上,由VCO間接產(chǎn)生所需頻率輸出信號。圖1.2鎖相環(huán)頻率合成原理框圖圖1.2是鎖相環(huán)頻率合成框圖,它的工作原理為:參考頻率提供基準頻率VCO輸出頻率經(jīng)分頻器分頻后為,此信號與輸入?yún)⒖夹盘栐阼b相器中進行相位比較,鑒相器輸出兩個信號的相位誤差信號,再經(jīng)過環(huán)路濾波器送到VCO,調(diào)整VCO的輸出頻率使得,環(huán)路進入鎖定狀態(tài)。若想改變輸出頻率,可以通過輸入?yún)⒖碱l率或者改變分頻器的分頻比來實現(xiàn)。如果固定參考頻率不變,則VCO的輸出頻率是隨變化的一組不連續(xù)的頻率,其值是的整數(shù)倍。的值就是頻率合成器的輸出固定頻率分辨率。由此可見,鎖相環(huán)頻率合成器實際上是一個反饋系數(shù)可變的誤差反饋控制系統(tǒng)。這種頻率合成方法的優(yōu)點是頻率穩(wěn)定度高,雜散抑制好,頻譜純度高,電路簡單可靠,調(diào)試簡便。鎖相頻率合成的這些優(yōu)點使其具有廣泛的用途,其中一個重要的應用方向是用高穩(wěn)定的參考頻率振蕩器作為參考時鐘使用環(huán)路鎖定,以提供一系列高純,高穩(wěn)定度的頻率源。但是鎖相頻率合成存在一個問題:在改變鎖相頻率合成器的輸出頻率時,由改變導致失鎖到頻率重新鎖定需要一個轉(zhuǎn)換時間,而經(jīng)過前面的分析可知,為了提高其頻率合成的分辨率,需要減小參考頻率,而這與頻率轉(zhuǎn)換時間是相矛盾的。根據(jù)工程中的經(jīng)驗公式:式(2-2)由上式可以看出,頻率轉(zhuǎn)換時間與參考頻率成反比。提高頻率分辨率要以增加頻率切換時間為代價。目前解決這一問題的辦法是采用小數(shù)分頻合成方法。但總的來看,鎖相頻率合成引入了閉環(huán)系統(tǒng),其頻率切換速度比直接合成技術慢。在頻率轉(zhuǎn)換速度要求不高,但對相位噪聲、雜散要求高的場合,鎖相頻率合成技術仍有著特殊的優(yōu)勢。第三代:直接數(shù)字頻率合成(DDS)技術。DDS技術的出現(xiàn)是頻率合成技術的一次重大變革,它突破了前兩代頻率合成技術的原理,從“相位”的概念出發(fā)進行頻率合成。DDS的原始結(jié)構(gòu)可以表示為圖1.3的形式:圖1.3DDS原始結(jié)構(gòu)圖1.3所示是DDS的最初結(jié)構(gòu),這是一種基于數(shù)字存儲器的波形產(chǎn)生系統(tǒng),又被稱做數(shù)字波形存儲直讀法或者直接數(shù)字波形合成(DirectDigitalWaveformSynthesis,DDWS)。這種結(jié)構(gòu)利用可程控的時鐘信號作為地址計數(shù)器的計數(shù)時鐘,地址計數(shù)器的輸出作為波形存儲器的掃描地址,波形存儲器輸出相應地址的數(shù)字幅度序列,再經(jīng)過數(shù)模轉(zhuǎn)換成模擬階梯波形,最后通過低通濾波器平滑濾波得到最后的輸出波形(對DDS結(jié)構(gòu)詳細說明請參照本章第2節(jié))。假定地址計數(shù)器的時鐘頻率為,波形存儲器內(nèi)存有波形一周期內(nèi)的個采樣值,那么合成的波形頻率為:式(2-3)可見,采用圖1.3結(jié)構(gòu)進行頻率合成,輸出信號的的頻率必須通過更改參考時鐘頻率或者修改波形存儲中的數(shù)據(jù)點個數(shù)來實現(xiàn)。通過進一步的研究,人們提出了一種更為靈活的DDS結(jié)構(gòu),圖2.4所示是基于相位累加器的DDS改進模型。圖2.4DDS改進結(jié)構(gòu)為了區(qū)分它跟DDWS的不同,我們將這種結(jié)構(gòu)稱為直接數(shù)字頻率合成(DirectDigitalFrequencySynthesis,DDFS)。這種結(jié)構(gòu)用相位累加器取代了原來的地址計數(shù)器,使得輸出頻率的控制變得更加簡便,只需要通過修改頻率控制字就能實現(xiàn)。隨著對DDS技術研究和工程應用的不斷深入,DDFS已經(jīng)逐漸成為DDS的主流結(jié)構(gòu),以至于人們習慣于用DDS來特指DDFS。DDS具有很高的頻率分辨率、初始相位可控及頻率切換時間快等突出優(yōu)點,但同時存在比較嚴重的雜散。通過對DDS雜散形成機理及特點的深入研究,人們提出了一系列改進措施,大大提高了其輸出信號的雜散指標。DDS另外一大優(yōu)勢在于它能方便的產(chǎn)生任意波形,在具體應用中,只需要修改波形存儲器內(nèi)的波形數(shù)據(jù)即可。在綜合考慮DDS技術的這些優(yōu)勢后,本設計決定采用DDS來實現(xiàn)任意波形發(fā)生器,同時引入改進措施來降低DDS的雜散指標。1.2DDS原理分析1.2.1DDS基本結(jié)構(gòu)DDS與大多數(shù)的數(shù)字信號處理技術一樣,它的基礎仍然是奈圭斯特采樣定理。奈圭斯特采樣定理是任何模擬信號進行數(shù)字化處理的基礎,它描述的是一個帶限的模擬信號經(jīng)抽樣變成離散值后可不可以由這些離散值恢復原始模擬信號的問題。奈圭斯特采樣定理告訴我們,當抽樣頻率大于或者等于模擬信號最高頻率的兩倍時,可以由抽樣得到的離散信號無失真地恢復出原始模擬信號。只不過在DDS技術中,這個過程被顛倒過來了。DDS不是對模擬信號進行抽樣,而是一個假定抽樣過程已經(jīng)發(fā)生且抽樣值已經(jīng)量化完成,如何通過某種方法把已經(jīng)量化的數(shù)值重建原始信號的問題。DDS電路一般由參考時鐘、相位累加器、波形存儲器、D/A轉(zhuǎn)換器(DAC)和低通濾波器(LPF)組成。其結(jié)構(gòu)框圖如圖2.5所示。圖2.5DDS基本結(jié)構(gòu)框圖其中,為參考時鐘頻率,為頻率控制字,為相位累加器位數(shù),為波形存儲器位數(shù),為波形存儲器的數(shù)據(jù)位字長和D/A轉(zhuǎn)換器位數(shù)。DDS系統(tǒng)中的參考時鐘通常由一個高穩(wěn)定度的晶體振蕩器來產(chǎn)生,用來作為整個系統(tǒng)各個組成部分的同步時鐘。頻率控制字(FrequencyControlWord,F(xiàn)CW)實際上是二進制編碼的相位增量值,它作為相位累加器的輸入累加值。相位累加器由加法器和寄存器級聯(lián)構(gòu)成,它將寄存器的輸出反饋到加法器的輸入端實現(xiàn)累加的功能。在每一個時鐘脈沖,相位累加器把頻率字累加一次,累加器的輸出相應增加一個步長的相位增量,由此可以看出,相位累加器的輸出數(shù)據(jù)實質(zhì)上是以為步長的線性遞增序列(在相位累加器產(chǎn)生溢出以前),它反映了合成信號的相位信息。相位累加器的輸出與波形存儲器的地址線相連,相當于對波形存儲器進行查表,這樣就可以把存儲在波形存儲器中的信號抽樣值(二進制編碼值)查出。在系統(tǒng)時鐘脈沖的作用下,相位累加器不停的累加,即不停的查表。波形存儲器的輸出數(shù)據(jù)送到D/A轉(zhuǎn)換器,D/A轉(zhuǎn)換器將數(shù)字量形式的波形幅度值轉(zhuǎn)換成所要求合成頻率的模擬量形式信號,從而將波形重新合成出來。若波形存儲器中存放的是正弦波幅度量化數(shù)據(jù),那么D/A轉(zhuǎn)換器的輸出是近似正弦波的階梯波,還需要后級的低通平滑濾波器進一步抑制不必要的雜波就可以得到頻譜比較純凈的正弦波信號。圖2.6所示為DDS各個部分的輸出信號。由于受到字長的限制,相位累加器累加到一定值后,就會產(chǎn)生一次累加溢出,這樣波形存儲器的地址就會循環(huán)一次,輸出波形循環(huán)一周。相位累加器的溢出頻率即為合成信號的頻率??梢?,頻率控制字K越大,相位累加器產(chǎn)生溢出的速度越快,輸出頻率也就越高。故改變頻率字(即相位增量),就可以改變相位累加器的溢出時間,在參考頻率不變的條件下就可以改變輸出信號的頻率。圖2.6DDS各部分輸出波形1.2.2DDS原理根據(jù)傅立葉變換定理,任何滿足Dirichlet條件的周期信號都可以分解為一系列正弦或者余弦信號之和。為了不失一般性,下面以正弦信號的產(chǎn)生為例來說明DDS的基本原理。我們知道,正、余弦信號用可以用復數(shù)形式表示為:式(2-4)式(2-5)圖2.7信號的復數(shù)表示形式圖2.7描述了矢量繞原點沿正方向(逆時針)旋轉(zhuǎn)時,其模值與軸夾角(相位角)及在軸上的投影三者之間的關系。當連續(xù)地繞原點旋轉(zhuǎn),將取之間的任意值,將以為模取之間的任意值。如果將看作我們欲重構(gòu)正弦信號的幅度值,則相位角和的關系為:?,F(xiàn)將相位數(shù)字化(采樣、量化),將量化成等份,則相位量化的最小間隔為,這樣造成的結(jié)果是重構(gòu)信號的幅度值也相應離散化:式(2-6)由式(2-6)可以看出,只能取與相位對應的幅度值。圖2.8相位數(shù)字化示圖如圖2.8所示,設此時不是繞原點連續(xù)旋轉(zhuǎn),而是在系統(tǒng)時鐘的控制下以相位增量進行階躍式旋轉(zhuǎn)(圖2.8中),很容易可以看出來,在相位周期變化的同時,輸出信號的幅度也在周期重復著,因此,重構(gòu)信號的周期在幅度中也就體現(xiàn)出來了。為了進一步探討相位增量對輸出信號頻率的影響,我們分別以相位增量為和重構(gòu)信號幅度,分別如圖2.9和1.10所示。在此,我們假設相位累加是在相同的系統(tǒng)時鐘的進行的,即對于不同的相位增量,是固定不變的,這是理解相位增量和重構(gòu)信號頻率關系的基礎。圖2.9相位增量為時相位幅度的映射關系圖1.10相位增量為時相位幅度的映射關系對比圖2.9和圖1.10,我們很容易發(fā)現(xiàn),當相位增量減少為原來的二分之一時,輸出信號的采樣值密集度就成了原來的兩倍,那么旋轉(zhuǎn)一周的時間自然也增大為原來的兩倍,即。周期與頻率成倒數(shù)關系,由此可得兩種情況下輸出重構(gòu)信號的頻率關系:,如圖1.11所示。圖1.11相位增量不同對重構(gòu)信號頻率的影響(仿真)分析到這里,我們可以得出結(jié)論,在DDS系統(tǒng)中,在參考時鐘固定不變的前提下,通過改變相位增量的值,就可以得到不同頻率的重構(gòu)信號。那么相位增量跟我們的頻率控制字之間有什么聯(lián)系呢,頻率控制字又是通過怎樣的方式來控制輸出信號的頻率的呢?我們假設有一個頻率為的正弦信號:式(2-7)現(xiàn)以采樣頻率對該信號進行抽樣,得到離散序列為:式(2-8)其中為采樣周期。習慣上將式(2-8)寫成式(2-9)的形式:式(2-9)式(2-9)對應的相位序列為:式(2-10)該序列的顯著特性是線性,即相鄰樣值之間的相位增量是一常數(shù),且僅與信號頻率有關,當式(2-10)中的取1時得到量化相位增量為:式(2-11)倘若我們將相位均勻量化等份,人為構(gòu)造一個相位值:式(2-12)并且使得,那么就可以得到如下關系:式(2-13)根據(jù)以上原理,如果我們用變量構(gòu)造一個量化序列:式(2-14)然后完成到另一個序列的映射,即由構(gòu)造序列:式(2-15)將式(2-13)代入式(2-15)可得:式(2-16)對比式(2-9)跟式(2-16),我們不難發(fā)現(xiàn),其實就是信號經(jīng)過采樣頻率抽樣后的離散時間序列。在滿足奈圭斯特采樣定律的的條件下,即:式(2-17)可以經(jīng)過D/A轉(zhuǎn)換和低通平滑濾波唯一地恢復出??梢?,通過上述變換,變量將唯一地確定一個單頻模擬正弦信號:式(2-18)該信號的頻率為:式(2-19)式(2-19)就是DDS的基本方程,是利用DDS進行頻率合成的立足點。在實際的DDS應用中,一般取,為正整數(shù),于是DDS的基本方程可寫成:式(2-20)由式(2-20)可以看出,當時,DDS系統(tǒng)輸出信號頻率最小,而這個最小頻率同時也是DDS系統(tǒng)的頻率分辨率:式(2-21)對于DDS系統(tǒng)從波形存儲器中讀數(shù)據(jù)的過程,我們可以將其看作是對波形存儲器中的波形數(shù)據(jù)再次采樣的過程,也就是說,DDS系統(tǒng)查表的過程就是從波形存儲器中二次采樣過程,一個周期內(nèi)查表的點數(shù)即為采樣的點數(shù)。DDS系統(tǒng)要恢復出原始波形,其在一個周期內(nèi)至少要取樣兩點,這是受我們一直都在強調(diào)的奈圭斯特采樣定理的限制。那么DDS系統(tǒng)在理論上能輸出的最大頻率是:式(2-22)經(jīng)過以上的分析,我們得出以下幾點結(jié)論:(1)DDS系統(tǒng)的輸出頻率只與頻率控制字、系統(tǒng)時鐘頻率、相位累加器位數(shù)有關。在系統(tǒng)時鐘頻率和相位累加器位數(shù)固定時,通過改變頻率控制字的值,就可以方便地改變輸出信號的頻率。(2)DDS系統(tǒng)的頻率分辨率只與系統(tǒng)的系統(tǒng)時鐘頻率和相位累加器位數(shù)有關。想要提高系統(tǒng)的分辨率,可以增加相位累加器位數(shù)或者是降低系統(tǒng)時鐘頻率。(3)DDS理論上最大輸出頻率不會超過系統(tǒng)時鐘頻率的二分之一,但在實際應用中,由于DDS系統(tǒng)中的低通濾波器非理想特性,由通帶到阻帶之間存在著一個過渡帶,工程中DDS最高輸出頻率只取到左右。1.3DDS輸出特性作為一種全數(shù)字器件,雜散多是其固有特性,這一長期以來限制DDS應用的主要因素。為了獲得低雜散輸出信號,對DDS輸出特性的分析顯得尤為必要。要研究DDS的輸出特性,從研究其頻譜特性著手是一種比較好的方法。我們首先來分析一下理想情況下DDS輸出的頻譜特性。第二章任意波形發(fā)生器的硬件電路設計2.1系統(tǒng)設計方案采用DDS技術來實現(xiàn)波形合成不僅簡單可靠、控制方便,而且可以實現(xiàn)可編程和全數(shù)字化。目前市場上有很多性能優(yōu)良的專用DDS芯片,主要有Qualcomm、AD、Sciteg和Stanford等公司單片電路,具有代表性的如AD公司的AD9850、AD9852、AD9858等,這些DDS芯片不僅有比較高的工作頻率,內(nèi)部集了高精度的D/A轉(zhuǎn)換器,并且還具備一定的調(diào)制功能。但DDS專用芯片中的波形存儲器多采用只讀存儲器(ReadOnlyMemory,ROM),在芯片出產(chǎn)以前已經(jīng)將波形數(shù)據(jù)固化到ROM中,無法按用戶需求更改波形數(shù)據(jù)以產(chǎn)生任意波形。相比之下,采用現(xiàn)場可編程邏輯陣列(FieldProgrammableGateArray,F(xiàn)PGA)設計DDS電路比專用DDS芯片更具靈活性。因為只要通過改變FPGA內(nèi)部波形存儲器中的波形數(shù)據(jù),就可以實現(xiàn)任意波形輸出,這使得用FPGA來實現(xiàn)DDS具有相當大的靈活性。相比之下,F(xiàn)PGA所能實現(xiàn)的功能完全取決于設計需求,可以簡單也可以復雜,另外,F(xiàn)PGA芯片還支持在系統(tǒng)升級,雖然在精度和速度上略有不足,但是基本上能滿足絕大數(shù)系統(tǒng)的要求,另外,將DDS設計嵌入到FPGA內(nèi)部所構(gòu)成的系統(tǒng)中,其系統(tǒng)成本并不會增加多少,而專用DDS芯片的價格一般也比FPGA高。因此,采用FPGA來設計DDS系統(tǒng)具有較高的性價比。FPGA的應用不僅使得數(shù)字電路系統(tǒng)的設計非常方便,并且還大大縮減了系統(tǒng)的研制周期,縮小了數(shù)字電路系統(tǒng)的整體體積和所使用芯片的品種,而且,目前一些主流FPGA的時鐘頻率已可達數(shù)百MHz,加上它的靈活性、可編程以及強大的EDA軟件的支持,非常適合用于實現(xiàn)任意波形發(fā)生器的數(shù)字電路部分。本方案利用FPGA可按需求靈活編程的特性,參考DDS專用芯片(AD9852)的內(nèi)部結(jié)構(gòu)自行設計DDS。2.2系統(tǒng)總體結(jié)構(gòu)硬件電路設計中,所遵循的原則是:盡量使電路簡單和模塊化,并充分利用軟件智能化。因為硬件多了,不但增加體積和成本,而且也使系統(tǒng)的可靠性和性價比下降。因此,本次任意波形發(fā)生器設計遵循這一原則:在實現(xiàn)硬件電路功能的前提下,盡量簡化硬件電路設計,并將設計清晰地分成多個模塊。任意波形發(fā)生器的總體設計框圖如圖2.1所示:圖2.1任意波形發(fā)生器總體框圖任意波形發(fā)生器模塊硬件電路由下面?zhèn)€五部分組成:(1)USB接口電路 完成與PC機之間的通信(2)數(shù)字波形合成部分 波形合成,產(chǎn)生各種初始波形(3)控制部分 控制各個部分有序工作(4)模擬輸出通道 波形處理,將DDS產(chǎn)生的初始波形轉(zhuǎn)換成用戶需要的模擬波形(5)外調(diào)制輸入通道 實現(xiàn)外部信號調(diào)制功能其中數(shù)字波形合成部分是整個電路的核心部分,所有波形的生成都與它有關;控制部分完成輸出波形的頻率、相位及調(diào)制方式的控制,并控制模擬輸出通道和外調(diào)制輸入通道中的相關器件工作方式。這兩個部分都是通過FPGA內(nèi)部邏輯編程來實現(xiàn)的。模擬輸出通道是設計中的難點,它位于波形發(fā)生的末端,包括D/A轉(zhuǎn)換、低通濾波、幅度控制、電平調(diào)節(jié)、輸出驅(qū)動,它的設計直接影響輸出信號的質(zhì)量。從任意波形發(fā)生器的結(jié)構(gòu)框圖看出,波形發(fā)生器工作時,根據(jù)軟件界面參數(shù)設置,先在計算機中生成波形數(shù)據(jù),然后通過USB總線將數(shù)據(jù)寫入波形發(fā)生器的波形存儲器中,再將相應的頻率值、相移值寫入FPGA的控制器中,并將調(diào)制方式、低通濾波器、放大衰減、電平調(diào)節(jié)命令也寫到FPGA中,然后由FPGA中的DDS部分來合成信號。2.3功能模塊設計2.3.1FPGA電路本設計選用的FPGA是Altera公司CycloneII系列FPGA芯片EP2C5Q208C8。CycloneII系列器件延續(xù)了第一代Cyclone系列器件的成功,提供針對低成本用的用戶定制FPGA特性,支持常見的各種外部存儲器接口和I/O協(xié)議,并且含有豐富的存儲器和嵌入式乘法器,這些內(nèi)嵌的存儲器使我們在設計硬件電路時省去了外部存儲器,節(jié)省了資源,而其硬件乘法器資源則非常適合用來實現(xiàn)高速DDS調(diào)制器。另外,CycloneII系列器件使用極低的1.2V內(nèi)核電壓,大大降低了芯片的功耗。在本文的設計中,F(xiàn)PGA對內(nèi)主要實現(xiàn)DDS的功能,對外主要為ADC和DAC提供時鐘,以及對外圍器件提供控制信號和數(shù)據(jù)總線接口。(1)時鐘電路由于ADC和DAC的工作時鐘都是由FPGA來供給,而ADC和DAC的時鐘頻率是不一樣的,因此應該先由外部晶振給FPGA提供一個時鐘信號,由FPGA分頻或者倍頻再向外部提供工作時鐘。具體電路如圖2.2所示。圖2.2FPGA時鐘電路EP2C5內(nèi)部共有2個鎖相環(huán)(PLL),作為鎖相環(huán)的輸入引腳共有8個,分別是CLK0~CLK7,其中CLK0~CLK3共享PLL1,CLK4~CLK7共享PLL2,這些引腳既可以作為單端輸入,也可以作為差分輸入。本設計采用的是單端時鐘輸入,不用的時鐘引腳全部接地以減少干擾。另外DDS合成信號的質(zhì)量跟時鐘的質(zhì)量有關,因此使用了75MHz高穩(wěn)定度的有源晶振來為FPGA提供初始時鐘,圖2.2中電阻R201起串聯(lián)阻抗匹配的作用,以減少時鐘的反射干擾。(2)下載配置電路CycloneII器件使用SRAM單元來存儲配置信息,而SRAM作為易失性存儲器,每次掉電其內(nèi)部信息就會丟失,因此,CycloneII器件每次上電都必須下載配置數(shù)據(jù)。CycloneII器件支持多種配置方式,包括主動配置(AS)、被動配置(PS)和JTAG配置??紤]到JTAG配置每次都必須連接到計算機,通過計算機來下載配置信息,因此設計了兩種配置電路:JTAG配置和AS配置。JTAG配置口在調(diào)試的時候使用,在調(diào)試完成后,可以將配置文件寫入AS配置芯片,由AS方式來配置FPGA,這樣就不用在每次使用任意波形發(fā)生器的時候都通過人手來下載配置信息。本設計所使用的配置芯片是EPCS1,這是Altera公司推出的為其FPGA配套使用的一款串行配置芯片。由于采用了非易失的閃存(flashmemory)結(jié)構(gòu),因此掉電之后數(shù)據(jù)得以保存。EPCS1具有1Mbits數(shù)據(jù)容量,支持壓縮存儲,而EP2C5的配置文件最大約1.2Mbits,壓縮之后完全可以存入EPCS1,因此選用EPCS1完全能滿足要求。EP2C5的下載配置電路如圖2.3所示。圖2.3EP2C5下載配置電路圖2.3中,有兩個地方需要注意,第一:nSTATUS、CONF_DONE、nCONFIG三個引腳必須用10KΩ電阻上拉到VCC(本設計中VCC取2.3V),否則將出現(xiàn)無法對FPGA進行配置的情況。第二:MSEL0和MSEL1是配置方式選擇引腳,其選擇方式如表2.1所示。MSEL0和MSEL1即使不用也不能懸空。由于EPCS1只支持低速AS配置,所以設計中將MSEL0和MSEL1接地。另外,JTAG配置具有最高優(yōu)先權(quán),在使用JTAG方式進行配置的時候,其他方式都將被屏蔽。表2.1CycloneII配置方式選擇MSEL1MSEL0配置方式00低速AS(20MHz)01PS10高速AS(40MHz)--JTAG2.3.2D/A轉(zhuǎn)換電路在第二章的分析中曾經(jīng)提到在高頻電路中,D/A轉(zhuǎn)換的瞬間毛刺、非線性和數(shù)字噪聲已經(jīng)成了影響DDS性能的主要因素。因此在選擇D/A轉(zhuǎn)換芯片時除了字長和轉(zhuǎn)換速度外,還應該將D/A的非線性和噪聲特性也納入我們的考慮范圍之內(nèi)。在綜合各方面因素之后我們選擇了AD公司的AD9740,它是AD公司TxDAC系列的第三代高性能產(chǎn)品,其基本特性[13]如下:(1)10位精度;(2)支持單端CMOS時鐘輸入,最高轉(zhuǎn)換速率高達210MSPS;(3)采用了段電流源結(jié)構(gòu)和特有的開關技術,具有優(yōu)異的積分非線性、差分非線性性能和無雜散動態(tài)范圍;(4)數(shù)據(jù)輸入支持二進制補碼和直接二進制碼;(5)采用差分輸出方式,有效抑制各種共模成分,如噪聲、失真等,輸出滿量程電流在2mA到20mA可調(diào);(6)內(nèi)部集成了帶有溫度補償?shù)?.2V帶隙參考電壓;(7)低功耗:2.3V供電時消耗功率僅135mW,進入掉電模式后功耗進一步降低到15mW;(8)有多種封裝可供選擇。其內(nèi)部功能框圖如圖3.4所示:圖3.4AD9740內(nèi)部功能框圖AD9740內(nèi)部集成了輸入數(shù)據(jù)鎖存器,在時鐘的上升沿,數(shù)據(jù)會被打入鎖存器,相應的模擬信號就會更新。管腳FSADJ外接的電阻是差分輸出電流滿量程調(diào)節(jié)電阻,其跟輸出電流之間存在如下關系:式(3-1)式(3-2)其中是十進制表示的輸入數(shù)據(jù),為滿量程輸出電流,其值為。在兩個輸出端都接有負載電阻的情況下,有:式(3-3)式(3-4)那么兩個輸出端的差分電壓為:式(3-5)AD9740的電路圖如圖3.5所示:圖3.5AD9740電路連接圖AD9740采用了模擬、數(shù)字、時鐘部分單獨供電的方式,以減小各部分的干擾。DB0~DB9為數(shù)據(jù)輸入端,其中DB9為最高位,DB0為最低位,他們通過串聯(lián)一個22Ω電阻連接到FPGA;REFIO為參考電壓輸入端,由于設計使用內(nèi)部參考源,因此外接一個0.1uF的電容到地減少電源噪聲;FSADJ為滿刻度輸出電流調(diào)節(jié)引腳,R81取2KΩ,那么根據(jù),滿刻度輸出電流約19.2mA;CLOCK+和CLOCK-為時鐘輸入引腳,它們既可以作為差分時鐘輸入引腳,也可以作為單端時鐘輸入引腳,當作為單端時鐘輸入引腳時,CLOCK+接輸入時鐘,CLOCK-接地;CMODE為時鐘工作模式選擇引腳,當CMODE接高電平時為差分時鐘輸入,接地時為單端時鐘輸入,考慮到DAC時鐘的質(zhì)量與DDS輸出信號質(zhì)量密切相關,因此本設計采用差分輸入時鐘(差分時鐘可以由FPGA的差分管腳來提供),CMODE接高電平;MODE為輸入數(shù)據(jù)模式選擇,接高電平為二進制補碼輸入,接地為直接二進制輸入,在這里增加了一個跳線J4來選擇輸入數(shù)據(jù)模式;SLEEP為休眠選擇引腳,SLEEP為高則進入低功耗模式,AD9740停止輸出,為低則進入工作模式,這個引腳接到了FPGA,由FPGA來控制AD9740什么時候工作,這樣可以有效降低波形發(fā)生器的功耗;IOUTA為DAC同相電流輸出端,數(shù)據(jù)全“1”時輸出滿刻度電流,IOUTB為反相電流輸出端,數(shù)據(jù)全“0”時輸出滿刻度電流。AD9740既可以單端輸出,也可以設置成差分耦合方式輸出,但差分耦合方式輸出能夠抑制共模干擾,具有更好的動態(tài)特性。差分耦合方式可以采用射頻變壓器或者運算放大器。采用變壓器耦合不僅能夠在更寬的頻率范圍提供良好的共模抑制比,還能夠?qū)崿F(xiàn)阻抗變換。但從體積上考慮,采用運算放大器耦合更適合本設計。圖3.6是使用了運算放大器實現(xiàn)耦合的電路。圖3.6運算放大器實現(xiàn)差分耦合電路采用如圖3.6所示電路,根據(jù)式(3-5),a,b兩點間的最大輸出電壓約±460mV,經(jīng)過AD8055的放大(放大倍數(shù)約7.3dB),得到輸出端C點的電壓在±1.07V左右。這是我們后面設計放大電路放大倍數(shù)的依據(jù)。2.3.3濾波器的設計以離散數(shù)字序列經(jīng)數(shù)模轉(zhuǎn)換為模擬信號為基礎實現(xiàn)波形發(fā)生器有其固有的優(yōu)點,但同時也有頻譜分量復雜,雜波多的缺點。在波形發(fā)生器中,濾波器起著保持有效分量、抑制雜波的作用。濾波器的設計主要從兩個方面加以考慮,一是低通濾波器本身的傳輸特性,二是DDS系統(tǒng)輸出信號的頻譜結(jié)構(gòu)。低通濾波器是用它的傳遞函數(shù)來表征的,歸一化的理想低通濾波器應滿足:式(3-6)實際上,理想的濾波器特性是不可能獲得的,只能用某種方式按某種規(guī)律去逼近。采用不同的去曲線逼近理想濾波器,就獲得了不同類型的濾波器。常見的濾波器有以下幾種:巴特沃斯濾波器、契比雪夫濾波器、橢圓濾波器、貝塞爾濾波器和線性相位濾波器。圖3.7描繪了這五種低通濾波器(同階)的幅頻特性。圖3.7同階低通濾波器幅頻特性比較濾波器的傳輸特性可以用工作衰減、相移、群延遲及插入衰減等參數(shù)衡量,其中衰減特性和群延遲是設計濾波器時考慮的重點。圖3.7所示五種濾波器有著各自的特點:(1)巴特沃斯濾波器也稱為最大平滑濾波器,它的傳遞函數(shù)只有實數(shù)極點和無窮零點,因而其幅頻特性在通帶和阻帶內(nèi)都是單調(diào)的,但也造成了通帶到阻帶的過渡緩慢;(2)契比雪夫濾波器的傳遞函數(shù)有復數(shù)極點和無窮零點,因而其幅頻特性表現(xiàn)為有波動,其中契比雪夫I型為通帶波動、阻帶單調(diào),契比雪夫II型為通帶單調(diào)、阻帶波動。契比雪夫濾波器以引入波紋為代價,使其過渡特性比巴特沃斯濾波器陡峭;(3)橢圓濾波器也稱為聯(lián)立契比雪夫濾波器,其傳遞函數(shù)有復數(shù)極點和有限零點(在截止頻率附近),因而其幅頻特性在通帶和阻帶內(nèi)都是有波動的,但它的過渡特性最陡峭;(4)貝塞爾濾波器的傳遞函數(shù)也只有實數(shù)極點和無窮零點,其幅頻特性在通帶和阻帶內(nèi)都是單調(diào)的,且衰減特性非常緩慢,但它采用了貝塞爾逼近來實現(xiàn)濾波器設計,因此在通帶內(nèi)具有最平坦延遲;(5)線性相位濾波器與貝塞爾濾波器相似,在其通帶內(nèi)具有線性相位的響應,但在整個通帶內(nèi),濾波器的群延遲特性不是單調(diào)的,而是引入了波紋,從而在整個通帶內(nèi)達到了群延遲的均方誤差最小。濾波器的選型跟DDS輸出信號的頻譜結(jié)構(gòu)密切相關:對于正弦波,其頻披分量單一,選擇濾波器時主要考慮在通帶內(nèi)有一定的平坦度,在阻帶內(nèi)要保障足夠的衰減來抑制衰減,并且希望該濾波器具有快速衰減特性。考慮到這些需求,我們設計了9階橢圓濾波器。在第二章的時候我們曾研究過,DDS的輸出頻譜是被sinc函數(shù)加權(quán)過的,當DDS輸出頻率接近其最大輸出頻率時(即DDS參考頻率的40%),波形幅度會存在一定的衰減,因此,我們在濾波器的入口加了一個諧振回路,對因sinc函數(shù)加權(quán)造成的幅度衰減作一個補償。根據(jù)設計指標,正弦波信號最高輸出頻率是50MHz,因此所設計橢圓低通濾波器-3dB截止頻率設置為50MHz,濾波器的入口的諧振回路諧振點設置在了49.5MHz左右,其電路圖及幅頻特性曲線分別如圖3.8、圖3.9所示。圖3.89階橢圓低通濾波器圖3.99階橢圓低通濾波器幅頻特性曲線(仿真)從仿真結(jié)果可以看出來,所設計的9階橢圓低通濾波器具有較平坦的通帶和陡峭的過渡帶,通帶內(nèi)紋波小于1dB,在58MHz處衰減達到了81dB,在整個阻帶內(nèi),衰減大于60dB,可以很好的抑制諧波。對于任意波,由于其含有豐富的諧波分量,如果設計過渡帶過窄的濾波器就會將一些有用的諧波分量濾除掉,這樣會造成波形失真。當然過渡帶過寬必然會帶來鏡像干擾,影響輸出信號的頻譜純度。但是對與任意波形來說頻譜純度不是主要指標,加之輸出頻率較低,一般來說鏡像分量不會產(chǎn)生很大影響。出于這方面考慮,對于任意波,我們設計了7階貝塞爾低通濾波器,該濾波器的截止頻率設置在任意波最高輸出頻率的10次諧波處,即50MHz處。具體電路如圖2.10所示。它的幅頻特性如圖2.11所示。圖2.107階貝塞爾低通濾波器圖2.117階貝塞爾低通濾波器幅頻特性曲線(仿真)從仿真結(jié)果來看,這個濾波器的過渡特性非常緩慢,75MHz的時候衰減才18.5dB左右,100MHz才衰減了31dB。但是由于貝塞爾低通濾波器具有很好的群延遲特性,能夠無失真的傳輸諸如方波、三角波等頻譜很寬的信號。由于該波形發(fā)生器時只設計了單通道輸出,任意時刻只使用其中一個濾波器濾波,即兩個濾波器是共享后端模擬通路的。選用哪個濾波器濾波由軟件來控制,通過開關的選通來實現(xiàn)。我們選用的開關是固態(tài)繼電器S1A050000,這種固態(tài)繼電器控制端口兼容TTL電平。圖2.12給出了S1A050000的內(nèi)部結(jié)構(gòu)。圖2.12固態(tài)繼電器S1A050000內(nèi)部結(jié)構(gòu)可以看出S1A050000其實是一種小型直流電磁繼電器,1、7端為信號端,3、5端為控制端,只要在3、5端加上一定的驅(qū)動電流,開關閉合,1、7端導通,否則1、7端斷開。由于S1A050000控制端至少需要3.75V的驅(qū)動電壓,10mA的驅(qū)動電流,不能直接由FPGA來驅(qū)動,因此設計了一個繼電器控制電路,如圖2.13所示。(a)(b)圖2.13繼電器控制電路圖2.13(a)中,用來控制繼電器開斷是是TI公司的TPIC6B596。TPIC6B596是專門用于驅(qū)動需要中電流或者高電壓負載的單片8位移位寄存器。其中SRCK是串行移位寄存器時鐘,SERIN是串行數(shù)據(jù)輸入端,SEROUT是串行數(shù)據(jù)輸出端;RCK是輸出寄存器時鐘,在RCK的上升沿,串行移位寄存器的內(nèi)容被打入輸出寄存器;SRCLR是寄存器低電平異步清零端;G是輸出寄存器輸出使能端,在G為低電平時輸出寄存器的內(nèi)容才能在輸出端得到體現(xiàn);DRAIN0~DRAIN7是8個漏極開路DMOS晶體管輸出端,每個輸出端能提供150mA灌電流能力。由于DRAIN0~DRAIN7是漏極開路輸出,因此在使用時必須外接上拉電阻才能有高電平輸出能力。當G端接地,與輸出端對應的輸出寄存器內(nèi)容為1時,該輸出端輸出低電平,當輸出寄存器內(nèi)容為0時,該輸出端輸出高電平。通過改變TPIC6B596移位寄存器的內(nèi)容,進而改變其輸出寄存器的內(nèi)容就能控制繼電器的開斷。圖2.13(b)是繼電器的典型接法,其中電容CK3是為了防止噪聲引起開關的誤動,二極管DK3是為在繼電器關斷時因為線圈感應效應而產(chǎn)生的瞬間尖峰電流提供一個泄放通路,以提高系統(tǒng)的可靠性。2.3.4放大衰減及直流偏置電路由于所設計的波形發(fā)生器輸出信號的幅度范圍要求在30mV~3V,而DAC的輸出信號幅度約1V左右,另外,由于DAC后端的低通濾波器存在插入衰減,經(jīng)過低通濾波器濾波后的信號幅度只有0.9V左右,因此必須經(jīng)過經(jīng)過放大和衰減電路才能達到波形發(fā)生器輸出信號的幅度范圍。此外,波形發(fā)生器還應該具有直流偏置能力,因此還要設計一個直流偏置電路。(1)放大電路我們設計的放大電路是用集成運算放大器來實現(xiàn)的。集成運放是模擬集成電路中應用最廣泛的器件之一,其在信號的運算(如加、減、乘、除、微分、積分、指數(shù)、對數(shù)等)、信號的產(chǎn)生、有源濾波、波形變換、電源穩(wěn)壓、數(shù)模轉(zhuǎn)換、模數(shù)轉(zhuǎn)換等方面都有廣泛的應用。表征集成運放的參數(shù)很多,如輸入失調(diào)電壓、輸入失調(diào)電流、輸入電阻、開環(huán)增益、帶寬(有時用增益帶寬積表示)、輸出電阻、轉(zhuǎn)換速率SR(也稱壓擺率)等。在模擬通道設計時,選擇運算放大器主要考慮集成運放芯片的電源電壓范圍、帶寬、輸出電壓范圍、壓擺率SR、功耗和諧波失真。其中壓擺率SR是一個非常重要的參數(shù),它是指運放在額定負載及輸入大信號時,輸出電壓上升段或者下降段斜率所能達到的最大值。SR反映了運放的大信號瞬態(tài)特性。對于在運放帶寬內(nèi)的任意波形輸入信號,如果其最大變化率小于運放的壓擺率,那么運放就能無失真的輸出相應的波形。以正弦波信號為例,要得到無失真的最大輸出電壓,對于正弦波的限制是:式(3-7)在本設計中,由于正弦波的輸出頻率是:0.1mHz~50MHz,輸出信號最大幅度為3V。我們選用的運放是高速電流反饋運放AD8009。增益為10時小信號帶寬為350MHz,大信號帶寬為320MHz,另外具有5500V/us的壓擺率,增益為10時建立為25ns,能采用+5V到±5V電源,在這里我們選用的是±5V電源。其電路如圖2.14所示。圖2.14放大電路這是一個同相放大電路,放大倍數(shù)為,通過調(diào)整可調(diào)電阻的電阻值,就可以改變放大器的放大倍數(shù)。(2)衰減電路所設計的衰減電路是通過電阻分壓網(wǎng)絡來實現(xiàn)的,如圖2.15所示。圖2.14衰減電路本文采用的是二級分壓網(wǎng)絡,整個衰減電路的衰減倍數(shù)為:式(3-8)通過調(diào)節(jié)和的阻值,就能實現(xiàn)不同的衰減倍數(shù)。同時,為了減少電阻分壓網(wǎng)絡之間以及分壓網(wǎng)絡對前后級電路的影響,中間插入了兩個射極跟隨器作為隔離。為了實現(xiàn)數(shù)字化,圖2.13和圖2.14中的可調(diào)電阻并不是使用的機械式可調(diào)電阻器,而是使用的模擬多路選擇器來選擇不同的電阻值。因為模擬多路選擇器要作為信號的通路,所以選擇時要考慮其帶寬、傳輸時間和導通電阻。本設計選用的模擬多路選擇器是ADG658,它的-3dB帶寬為210MHz,傳輸時間為80ns,導通內(nèi)阻為45Ω。(3)直流偏置電路直流偏置電路的設計如圖2.15所示。圖2.15直流偏置電路直流電壓從U15的正向輸入端加入,信號從U15的反相端加入,U15相當構(gòu)成了一個減法器電路。直流電壓的調(diào)節(jié)是通過數(shù)字電位器X9C103來實現(xiàn)的。X9C103是總阻值為10KΩ的數(shù)字電位器,其內(nèi)部結(jié)構(gòu)圖如圖2.16所示。按照圖2.15的接法,VH端的電勢約+0.7V,VL端的電勢約-0.7V。通過改變滑動端VW的觸點位置,就能改變U15正向輸入端的直流電壓(-0.7V~+0.7V),這個直流電壓經(jīng)過U15后放大兩倍,在輸出端就能得到-1.4V~+1.4V的直流電平。圖2.16X9C103內(nèi)部結(jié)構(gòu)從圖2.16來看,X9C103內(nèi)部共有100個觸點,觸點位置的選擇是通過U/D、INC端來控制的。U/D為觸點滑動方向控制端,該端點的電平為高時,觸點朝上(VH端)滑動,該端點的電平為低時,觸點朝下(VL端)滑動;INC為觸點動作控制端,每來一個負脈沖,觸點位置朝滑動方向移動一次。觸點位置每改變一次,波形發(fā)生器輸出端直流電平改變約28mV。2.3.5外部接口電路(1)外調(diào)制接口電路外調(diào)制接口電路為波形發(fā)生器和外部信號提供一個接口,通過這個接口波形發(fā)生器可以實現(xiàn)外部信號調(diào)制功能。外調(diào)制接口電路的原理如圖2.17所示。圖2.17外調(diào)制接口電路原理圖2.18中,由于衰減和放大電路的存在,可以使輸入信號幅度在50mV~10V這個比較寬的動態(tài)范圍內(nèi)變化。考慮到調(diào)制信號的頻率一般都在KHz范圍,所以在設計時A/D采樣芯片選擇了相對低速的AD7470,其精度為10位,最高采樣率為1.75MSPS,參考電平為2.5V,能達到的幅度分辨率為2.4mV。(2)USB接口電路任意波形發(fā)生器要產(chǎn)生任意波形,需要實時更新其波形存儲器內(nèi)的數(shù)據(jù),為此,我們需要設計一個接口電路,通過此接口,可以實現(xiàn)波形發(fā)生器與計算機的通信,通過計算機下載波形數(shù)據(jù)和發(fā)送控制命令。USB總線具有熱插拔、即插即用、傳輸速度快、接口體積小等特點,而且目前絕大多數(shù)的計算機配有USB接口,因此我們選擇了USB接口方式。選用何種芯片來實現(xiàn)USB接口模塊,一般是基于任務的需要,編程的難易度,性能價格比,可重復編程及提供的范例代碼等幾方面的因素來考慮。在綜合權(quán)衡之后,選擇了Cypress公司的EZ-USBFX2系列芯片CY7C68013,它實際上是內(nèi)部集成了USB2.0協(xié)議的微處理器,它支持12Mbps的全速傳輸和480Mbps的高速傳輸。其內(nèi)部結(jié)構(gòu)如圖2.18所示。圖2.18EZ-USBFX2內(nèi)部結(jié)構(gòu)圖EZ-USBFX2主要由USB2.0收發(fā)器、串行接口引擎(SIE)、增強型8051、8.5KB的RAM、4KB的FIFO存儲器、I/O、數(shù)據(jù)總線、地址總線和通用可編程接口(GPIF)幾部分組成。USB收發(fā)器負責提供USB2.0/1.1的物理接口到USB總線并管理數(shù)據(jù)的收發(fā);串行接口引擎主要用于USB數(shù)據(jù)的串/并雙向轉(zhuǎn)換,并按照USB2.0協(xié)議來完成數(shù)據(jù)流的位填充/位反填充,以及循環(huán)冗余校驗碼的產(chǎn)生和檢驗,這個功能強大的USB內(nèi)核可以自動完成USB協(xié)議的轉(zhuǎn)換,大大簡化了其固件代碼的設計,使得開發(fā)者不需要深入了解USB的底層協(xié)議就可以順利開發(fā)出所需要的USB外設;內(nèi)部的增強型8051微處理器縮短了指令的執(zhí)行時間,將一個指令周期縮短到4個時鐘周期,并且它用內(nèi)部的RAM存儲數(shù)據(jù)和程序,使FX2具有了軟配置的特征(所謂軟配置,是指FX2未連接到PC機之前,其固件程序是存儲在PC機上的,在它連接到PC機后,PC機將它的固件下載到其RAM中并執(zhí)行)。這個特性給USB的外設開發(fā)者帶來了許多方便,比如在開發(fā)過程中,當固件需要修改時,可以在PC機上修改好以后,下載到FX2中,從而可以省去燒寫芯片的麻煩。FX2提供了三種接口方式:端口方式、從屬FIFO方式和可編程GPIF方式:在端口方式下,F(xiàn)X2的I/O引腳可以作為其內(nèi)部8051的通用I/O口;在從屬FIFO方式下,外部控制器可以像對普通FIFO存儲器一樣對FX2的多重緩沖FIFO進行讀寫;可編程GPIF方式則更為靈活,可以通過軟件編寫讀寫控制波形來實現(xiàn)與外部接口的通信控制。本設計的USB接口電路如圖2.19所示。圖2.19USB接口電路這部分電路主要由USB接口芯片、時鐘電路、復位電路和系統(tǒng)總線組成。設計中采用了軟配置方式,因此在設計中省去了E2PROM(電可擦除只讀存儲器)。系統(tǒng)總線主要由數(shù)據(jù)總線和控制總線組成,這些總線與FPGA相連。PC機就是通過這些總線給任意波形發(fā)生器發(fā)送數(shù)據(jù)和控制命令的。2.3.6電源電路由于所設計任意波形發(fā)生器所需要供電電壓種類比較多,有±5V,2.3V,2.5V,1.2V,因此需要專門的電源電路來提供電源的供給。在本系統(tǒng)中,±5V電源是由外部提供的,2.3V,2.5V,1.2V電源是由電源穩(wěn)壓芯片得到的。所使用的電源穩(wěn)壓芯片是LT1764A,這種電源穩(wěn)壓芯片具有寬輸入電壓范圍(2.7V~20V)、低噪聲(40),高輸出電流(最高可達3A)、低壓降(輸出3A電流時只下降340mV)等特性,并且有多種型號可供選擇,包括固定輸出1.5V、1.8V、2.5V、2.3V,以及1.21V~20V可調(diào)電壓輸出。本系統(tǒng)所用的2.3V和2.5V電壓是由LT1764A-2.3和LT1764A-2.5來提供的,其電路連接圖如圖2.20(a)所示。圖2.20電源模塊圖2.20(b)所示是LT1764A輸出電壓可調(diào)電源穩(wěn)壓芯片,其輸出電壓與電阻R1、R2存在如下關系:式(3-9)在常溫條件下,。取,,在輸出端就能得到約1.2V電壓。第三章FPGA邏輯設計3.1任意波形發(fā)生器的FPGA實現(xiàn)在第三章規(guī)劃任意波形發(fā)生器總體框圖時,曾經(jīng)指出任意波形發(fā)生器的DDS部分、外部電路控制都是在FPGA內(nèi)部實現(xiàn)的,下面對這些部分的邏輯設計給以敘述。3.1.1地址譯碼和控制數(shù)據(jù)寄存模塊任意波形發(fā)生器要正常工作,必須對PC機下發(fā)的各種控制命令進行寄存。而這些控制數(shù)據(jù)寄存器都是共享數(shù)據(jù)總線的,因此,為了對不同的寄存器進行操作,還需要有譯碼電路。在設計USB與FPGA的接口時,采用了如下的方案:在PC機向下發(fā)波形數(shù)據(jù)時,將CY7C68013的接口配置成從屬FIFO方式,在這種方式下,CY7C68013的PB口和PD口是組合成16位數(shù)據(jù)線使用的;而在PC機下發(fā)控制命令時,將CY7C68013的接口配置成端口方式,在這種方式下,CY7C68013的PA、PB、PD口都可作為獨立的IO口使用,這時,我們將PB口用作數(shù)據(jù)總線,PD口低四位作為地址總線,而將PA的低兩位作為控制總線(寫寄存器時鐘脈沖和寄存器復位脈沖)。在設計譯碼電路時,直接調(diào)用了QuartusII提供的LPM地址譯碼模塊,使用了PB0~PB3四位地址線作為譯碼器的輸入,共能得到即16位譯碼器輸出。如圖4.2所示。圖4.2四位地址譯碼器CY7C68013的PB口作為數(shù)據(jù)總線使用時位數(shù)為8位,PC機在下發(fā)少于8位的控制數(shù)據(jù)時可以一次寫入寄存器,而當控制數(shù)據(jù)大于8位時(例如頻率控制字),則要分多次寫入寄存器。下面以頻率控制字寄存器為例說明這些控制數(shù)據(jù)寄存的設計。在設計中,使用了32位的相位累加器,這樣對于一個頻率控制字,PC機要分4次分別寫入4個字節(jié)。基于這種要求,我們設計了頻率控制字寄存器模塊如圖4.3所示。圖4.3頻率控制字寄存器Din[7..0]是數(shù)據(jù)輸入端,與CY7C68013的PB端相連。clk是寫入時鐘端,rst為高電平異步復位端,en為使能端,Dout[31..0]是寄存器32位頻率輸出端,Ready為頻率字下載完成標志信號輸出端。該模塊的工作過程是這樣的,在en使能為高時,先由rst發(fā)一個高電平復位信號,然后在clk的上升沿逐次將數(shù)據(jù)線上的8bits數(shù)據(jù)移入寄存器,當4字節(jié)數(shù)據(jù)都寫入寄存之后,ready輸出一個高電平,標志頻率字下載完畢,可以輸出。圖4.4是該模塊的時序仿真。圖4.4頻率控制字寄存器模塊時序仿真從時序仿真來看,Dout輸出的數(shù)據(jù)中間存在一些不穩(wěn)定態(tài),但這并不影響頻率字寄存器的功能,因為頻率控制字是在其穩(wěn)定的時刻(ready為高電平)輸出的。3.1.2移位寄存器控制邏輯在第三章硬件電路設計中提到,DAC后端濾波器是通過繼電器來選通的,而繼電器的開斷是由串行移位寄存器TPIC6B596來控制的,在設計中,并不是直接由PC機給TPIC6B596發(fā)送串行數(shù)據(jù),而是先將控制繼電器開斷的并行數(shù)據(jù)下發(fā)給FPGA內(nèi)部的數(shù)據(jù)寄存器,然后由移位寄存器控制邏輯將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)輸出到TPIC6B596。所設計的移位寄存器控制邏輯及時序仿真分別如圖4.5和圖4.6所示。圖4.5移位寄存器控制邏輯圖4.6移位寄存器控制邏輯時序仿真從圖4.6可以看出,這部分的功能是產(chǎn)生8個移位時鐘srck,將Din[7..0]拆分成8個串行數(shù)據(jù)在移位時鐘的控制下從ser_in輸出,在8個串行數(shù)據(jù)輸出完畢后,在rck端輸出一個正脈沖將TPIC6B596移位寄存器的數(shù)據(jù)送到其輸出寄存器啟動開關。3.1.3數(shù)字電位器控制邏輯設計中,波形發(fā)生器的輸出信號的直流偏置電壓是通過數(shù)字電位器X9C103來調(diào)節(jié)的(關于X9C103內(nèi)部結(jié)構(gòu),請參考圖2.17)。X9C103的控制邏輯及時序仿真如圖4.7和圖4.8所示。圖4.7X9C103控制邏輯圖4.8X9C103控制邏輯時序仿真圖4.7中,dir是滑動端方向控制信號,inc是滑動端動作啟動信號,inc每輸出一個負脈沖,數(shù)字電位器的滑動端朝dir指定的方向滑動一次。該邏輯的工作方式是:每次rst高電平復位信號發(fā)出后,先由dir輸出高電平,同時inc輸出100個負脈沖,將X9C103的觸點位置(VW端)滑動到其最上端(VH端),然后將dir輸出改為低電平,同時根據(jù)輸入Din[7..0]決定inc輸出負脈沖的個數(shù)(輸出脈沖個數(shù)=Din/2,其中Din為十進制表示的輸入值),此時,可以將觸點位置從X9C103的最上端(VH端)朝其最下端(VL端)移動到指定位置。3.1.4相位累加器的設計在利用FPGA設計DDS電路時,相位累加器是決定DDS電路性能的一個關鍵部分之一,小的累加器可以利用CycloneII器件的進位鏈得到快速高效的電路結(jié)構(gòu),而過長的進位鏈會制約整個系統(tǒng)速度的提高。在時序電路設計中,一種提高速度的辦法是采用流水線技術,即把要在一個時鐘周期內(nèi)完成的邏輯操作拆分成幾步較小的操作,并插入幾個時鐘周期來提高系統(tǒng)的工作頻率。按設計要求,任意波形發(fā)生器采用的系統(tǒng)時鐘是200MHz,要達到0.05Hz的頻率分辨率,按照式,相位累加器的位數(shù)至少為32位。雖然QuartusII單元庫中提供了32位LPM累加器模塊,但是通過仿真,在EP2C5上實現(xiàn)該累加模,其最大工作頻率只能達到159.36MHz,不滿足200MHz系統(tǒng)時鐘要求,因此在設計中并沒有直接調(diào)用這個模塊,而是采用了如圖4.9的設計。圖4.9采用了一級流水線的32位累加器我們是這樣設計的:將32位的累加器拆成了2個16位的累加器,中間插入一級流水線,將高16位累加器相對于低16位累加器延遲一個時鐘周期做累加,這樣等高16位累積器進行累加的時候,低16位的累加器已經(jīng)算出了進位結(jié)果,這時再將該進位作為高16位累加器的進位輸入進行累加,同時為了保證輸出結(jié)果的正確性,低16位累加器的計算結(jié)果必須延遲一個時鐘周期才輸出,這樣就使得高16位累加器和低16位累加器的累加結(jié)果在同一時刻輸出。這樣的結(jié)果是,采用了一級流水線的32累加器要比沒有采用流水線的32位累加器延遲一個時鐘周期才輸出結(jié)果。但這并不影響DDS相位累加器的工作,DDS輸出的相位序列除了有一個時鐘周期的延遲之外結(jié)果并沒有發(fā)生任何變化,但累加器的速度確提高了。仿真證明,采用了一級流水線技術后,累加器的工作最高工作頻率能達到223.05MHz。我們做了一個對比,直接調(diào)用QuartusII單元庫中提供的32位LPM累加器模塊資源消耗是33個邏輯單元(LE),而所設計的采用一級流水線的累加器資源消耗是67個LE,可見工作速度的提高是以資源消耗換來的,這就是FPGA設計中“面積換速度”的原則。雖然使用更多級的流水線能進一步提高累加器的速度,但是為了節(jié)省資源,在一級流水線能滿足要求的前提下,沒有多級流水線的設計。圖4.10是一級流水線相位累加器時序仿真。從仿真圖來看,相位累加器的輸出端數(shù)據(jù)也會存在一些不穩(wěn)定狀態(tài),因此在設計中要注意調(diào)整累加器后級寄存器的采樣時鐘,使其對準數(shù)據(jù)穩(wěn)定的數(shù)據(jù)狀態(tài)。圖4.10一級流水線相位累加器時序仿真3.2.5波形存儲器的設計EP2C5總共內(nèi)嵌了26個M4KRAM塊,總比特數(shù)達119,808bits,這為我們設計波形存儲器提供了方便,因此并沒有使用片外存儲器。這些嵌入式RAM塊可以配置成只讀存儲器(ROM)或隨機存儲器(RAM),但是要實現(xiàn)任意波形發(fā)生功能,必須能實時更新波形存儲器內(nèi)的波形數(shù)據(jù),故設計中將這些嵌入式RAM塊配置成了RAM。由于硬件電路設計中選用的DAC芯片位數(shù)為10位,因此RAM的字長應該設置為10bits,根據(jù)第二章的分析,從噪聲功率的角度來看,波形RAM的地址線位數(shù)位要等于或者略大于DAC位數(shù)加2,即使用12位的地址線,那么RAM的存儲深度為,存儲容量為bits=40960bits。在設計中,我們總共使用2個這樣的RAM,一個用于存儲載波數(shù)據(jù),另外一個用于存儲調(diào)制波數(shù)據(jù)。那么消耗的總的M4KRAM資源為81920bits。RAM的設計我們直接調(diào)用了單元庫中提供的LPMRAM模塊,只要設置相應參數(shù)即可,其結(jié)構(gòu)如圖4.11。圖4.11所示是一個雙端口RAM,讀和寫的地址、時鐘和數(shù)據(jù)線都被分開來。讀時鐘由系統(tǒng)參考時鐘提供,讀地址由相位累加器輸出的的高12位數(shù)據(jù)提供,讀數(shù)據(jù)線與后級調(diào)幅模塊相連;寫時鐘由USB接口同步時鐘提供,寫地址由專門的寫地址發(fā)生模塊提供,寫數(shù)據(jù)線與USB接口的數(shù)據(jù)總線相連。在下載波形數(shù)據(jù)時,USB接口方式配置成了從屬FIFO方式,其數(shù)據(jù)總線為16位,因此只有其中的低10位與RAM的寫數(shù)據(jù)線相連。圖4.11波形RAM結(jié)構(gòu)RAM的寫地址發(fā)生器實際上是一個地址計數(shù)器,計數(shù)位與RAM的地址線位數(shù)相同,即12位。在設計RAM的寫數(shù)據(jù)控制模塊時需要用到USB接口芯片從屬FIFO傳輸模式下的幾個控制線,包括IFCLK(同步時鐘信號)、FIFOADR[1..0](FIFO端點選擇地址)、SLCS(輸入輸出門控信號)、SLOE(輸入/輸出使能信號)、SLRD(讀使能信號)、FLAGC(FIFO空信號),除了IFCLK和FLAGC是USB接口芯片的輸出信號,其他都是作為它的輸入信號,另外要注意的是,在本設計中SLCS、SLOE、SLRD和FLAGC都是低電平有效。下面來看一下FIFO同步讀(對于USB接口芯片來說是讀,對于波形RAM來說是寫)時序圖[21],如圖4.12。圖4.12FIFO同步讀時序通過分析圖4.12我們可以得出如下的結(jié)論:當FIDOADR[1..0]指向的FIFO端點非空(即FLAGC為高電平)時,可以進行讀FIFO操作,這時應該先將SLCS拉低,然后將SLOE也拉低,這時FIFO中FIFO指針所指向的數(shù)據(jù)就會出現(xiàn)在數(shù)據(jù)線上,但此時數(shù)據(jù)線上的數(shù)據(jù)一直維持不變,只有當SLRD也為低電平,在每個IFCLK的上升沿,F(xiàn)IFO指針才自動加1,指向下一個數(shù)據(jù),數(shù)據(jù)線上的數(shù)據(jù)發(fā)生改變。也就是說,SLRD維持多少個時鐘周期,數(shù)據(jù)線上就能讀出多少組數(shù)據(jù)。并且,在讀數(shù)據(jù)過程中,F(xiàn)IFOADR[1...0]必須維持不變。針對以上的分析,同時考慮到波形發(fā)生器的實際情況是只需要PC機往硬件板卡下發(fā)數(shù)據(jù)而不需要從板卡讀數(shù)據(jù),我們做了如下設計:將SLCS和SLOE始終接低電平,這樣一來讀控制信號就由三個減少為一個,使控制更為簡單;此外,將FIFOADR[1..0]也始終接低,即只使用USB接口芯片CY7C68013的4個FIFO端點(包括EP2、EP4、EP6和EP8)中的端點2(EP2)進行數(shù)據(jù)的傳輸。所以在設計RAM的寫地址發(fā)生器模塊時,真正用到的USB控制線只有IFCLK、SLRD和FLAGC,如圖4.13所示。圖4.13RAM寫地址發(fā)生器圖4.13中,當檢測到FIFO非空(即FLGAC為高電平),SLRD在延遲2個IFCLK時鐘周期(由my_delay模塊產(chǎn)生)之后輸出低電平,ram_addr地址計數(shù)模塊在延遲3個IFCLK時鐘周期后開始計數(shù)產(chǎn)生寫RAM的地址。ram_addr地址計數(shù)模塊之所以要比SLRD有效延遲一個時鐘才開始計數(shù)是因為SLRD需要一個至少18.7ns的建立時間,約一個IFCLK時鐘周期(IFCLK頻率為48MHz,周期約20.83ns)。ram_addr模塊計數(shù)滿后會由stop_wr產(chǎn)生一個停止寫RAM的信號,直到rst_ram_addr發(fā)出復位信號才開始重新計數(shù)。ram_wr_en控制著圖4.11中的RAM寫使能端wren。3.2任意波形調(diào)制器的研究因為DDS是數(shù)字信號控制的設備,因此把幅度調(diào)制、頻率調(diào)制加到DDS,并進行數(shù)字調(diào)制是完全可行的。頻率調(diào)制是通過控制加在相位累加器前的加法器來實現(xiàn)的;幅度調(diào)制是通過控制加在波形存儲器和DAC之間的乘法器完成的,即乘法器調(diào)整加到DAC上的數(shù)字幅度,也有一些DAC通過改變控制電壓可以提供精確的模擬幅度控制。3.2.1幅度調(diào)制幅度調(diào)制(amplitudemodulation,AM)是指載波的幅度按照調(diào)制波幅度線性變化的調(diào)制方式。為了不失一般性,我們下面用余旋信號來分析。普通模擬調(diào)幅波的振幅定義是:式(4-1)其中為比例常數(shù),為調(diào)制波角頻率。因此,已調(diào)波可以用下式表示:式(4-2)式中為調(diào)制指數(shù),該指數(shù)通常都小于1,最大等于1,為載波角頻率。圖4.14DDS調(diào)幅模塊那么DDS調(diào)幅信號序列可以表示為:式(4-3)由于存儲在調(diào)制波RAM和載波RAM中的都是相同的幅度相同的波形量化序列,因此有,因此有:式(4-4)圖4.14是根據(jù)式(4-4)實現(xiàn)的DDS調(diào)幅模塊。其中moduwave[9..0]和carrwave[9..0]分別是從調(diào)制波RAM和載波RAM的波形序列,m_index[9..0]為調(diào)幅指數(shù)控制字,en是調(diào)幅模塊使能端。由于在RAM中波形幅度數(shù)據(jù)是以二進制補碼的方式存儲的(設計選用的DAC支持二進制補碼格式輸入,在第五章介紹波形數(shù)據(jù)產(chǎn)生的時候?qū)⒂兴f明),10位二進制補碼能表示的的數(shù)范圍在-512~511之間。首先調(diào)制波序列moduwave[9..0]與調(diào)幅指數(shù)控制字m_index[9..0]相乘(有符號數(shù)相乘),將相乘結(jié)果的低9位舍棄(相當于moduwave乘了一個小數(shù)),然后與511相加(相當加上中的,加法器輸出的結(jié)果在0~1023之間),最后再將相加的結(jié)果與載波序列moduwave[9..0]相乘(有符號數(shù)相乘),相乘結(jié)果舍掉低10位轉(zhuǎn)換為適合DAC的數(shù)據(jù)格式輸出。圖4.14中的三個寄存器有兩個作用,一是實現(xiàn)數(shù)據(jù)位的轉(zhuǎn)換,二是將大的邏輯拆分成三個小的邏輯,優(yōu)化建立保持時間,以提高整個模塊的工作頻率。3.2.2頻率調(diào)制頻率調(diào)制(frequencymodulation,F(xiàn)M)是指載波的頻率按照調(diào)制波幅度線性變化的調(diào)制方式。模擬調(diào)頻信號的瞬時角頻率為:式(4-5)其中為調(diào)制信號,為調(diào)頻比例常數(shù)。那么調(diào)頻最大角頻偏為:式(4-6)圖4.15DDS頻率調(diào)制框圖我們知道,DDS輸出信號的頻率跟其頻率控制字息息相關,如果我們將調(diào)制波的幅度信號寄載在頻率字當中,那么就能實現(xiàn)DDS調(diào)頻信號。我們假設載波頻率控制字為,調(diào)制波序列為,調(diào)頻指數(shù)控制字為,如果按圖4.15來設計:那么DDS輸出端信號的瞬時頻率為:式(4-7)其中為DDS參考時鐘頻率,為DDS相位累加器位數(shù)。DDS調(diào)頻信號的最大頻偏為:式(4-8)因此,只要按照圖4.15的結(jié)構(gòu)來設計DDS調(diào)頻模塊邏輯電路,就能得到DDS調(diào)頻信號。3.2.3數(shù)字調(diào)制在數(shù)字調(diào)制度方式中,有三種數(shù)字調(diào)制分別

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論