數(shù)字頻率合成器的FPGA實現(xiàn)
摘要:介紹了DDFS的原理和Altera公司的FPGA器件ACEX 1K的主要特點,給出了用ACEX 1K系列器件EP1K10TC144-1實現(xiàn)數(shù)字頻率合成器的工作原理、設計思路、電路結構和仿真結果。 關鍵詞:DDFS;FPGA;快速通道互連;仿真 1 概述 1971年,美國學者J.Tierncy,C.M.Rader和B.Gold提出了以全數(shù)字技術,從相位概念出發(fā)直接合成所需波形的一種新的頻率合成方法。限于當時的技術和器件水平,它的性能指標尚不能與已有技術相比,故未受到重視。近30年間,隨著集成電路技術和器件水平的提高,一種新的頻率合成技術——直接數(shù)字頻率合成(DDFS)得到了飛速的發(fā)展,它以有別于其它頻率合成方法的優(yōu)越性能和特點成為現(xiàn)代頻率合成技術中的佼佼者。 隨著微電子技術的發(fā)展?現(xiàn)場可編程門陣列?FPGA?器件得到了飛速發(fā)展。由于該器件具有工作速度快,集成度高和現(xiàn)場可編程等優(yōu)點,因而在數(shù)字信號處理中得到了廣泛應用,越來越受到硬件電路設計工程師們的青睞。直接數(shù)字頻率合成(DDFS)技術以其具有頻率分辨率高,頻率變換速度快,相位可連續(xù)線性變化等特點,而在數(shù)字通信系統(tǒng)中被廣泛采用。本文基于DDFS的基本原理,給出了利用AL-TERA公司的FPGA芯片(ACEX 1K系列EP1K10TC144-1器件)完成DDFS系統(tǒng)設計的具體方法。 (1)采用查找表(LUT)和EAB相結合的結構模式,可提供高效低功耗的優(yōu)良性能。因為LUT結構適用于實現(xiàn)高效的數(shù)據(jù)通道、增強型寄存器、數(shù)學運算及數(shù)字信號處理設計,而EAB結構可實現(xiàn)復雜的邏輯功能和存儲器功能。 (2) 密度高,典型門數(shù)為1萬到10萬門,有多達49152位的RAM(每個EAB有4096個RAM)。 (3)系統(tǒng)內核采用2.5V電壓,I/O腳可支持2.5V/3.5V/5.0V多電壓標準;器件功耗低;具有高達250MHz的雙向I/O功能;完全支持33MHz的PCI總線標準;內置JTAG邊界掃描電路;不需測試矢量和掃描鏈即可對所有器件進行100%的功能測試。 ?4?具有快速連續(xù)式延時可預測的快速通道互連(FAST TRACK);能實現(xiàn)快速加法器、計數(shù)器和比較器等算術運算功能;具有專用鏈和實現(xiàn)高速多扇入邏輯功能的專用級鏈;具有能實現(xiàn)內部三態(tài)總線的三態(tài)仿真;具有多達6個全局時鐘信號和4個全局清除信號。 (5)每個引腳都有獨特的三態(tài)輸出使能控制;可編程輸出的壓擺率控制可以減少電平轉換產生的噪聲;引腳與引腳間具有用戶可選的鉗位電路;支持熱插拔操作。 2?。模模疲踊驹?/B> DDFS技術是一種可把一系列數(shù)字量形式信號通過DAC轉換成模擬量形式信號的合成技術。目前使用最廣泛的一種DDFS方式是利用高速存儲器作查尋表,然后通過高速DAC產生已用數(shù)字形式存入的正弦波。圖1是DDFS的基本原理圖。 2.1 相位累加器 相位累加器由N位加法器與N位累加寄存器級聯(lián)構成。時鐘脈沖每觸發(fā)一次,加法器便將頻率控制數(shù)據(jù)與累加寄存器輸出的累加相位數(shù)據(jù)相加,然后把相加后的結果送至累加寄存器的數(shù)據(jù)輸入端。累加寄存器將加法器在上一個時鐘作用后所產生的新相位數(shù)據(jù)反饋到加法器的輸入端,以使加法器在下一個時鐘的作用下繼續(xù)與頻率控制數(shù)據(jù)相加。這樣,相位累加器在參考時鐘的作用下將進行線性相位累加,相位累加器累加滿量時,就會產生一次溢出,以完成一個周期性的動作,這個周期就是DDFS合成信號的一個頻率周期,累加器的溢出頻率就是DDFS輸出的信號頻率。 2.2 相位-幅值轉換 用相位累加器輸出的數(shù)據(jù)作為取樣地址來對正弦波波形存儲器進行相位-幅值轉換,即可在給定的時間上確定輸出的波形幅值。 2.3 數(shù)模轉換 通過DAC可將數(shù)字量形式的波形幅值轉換成所要求的合成頻率模擬量形式信號,低通濾波器用于衰減和濾除不需要的取樣分量,以便輸出頻譜純凈的正弦波信號。 對于計數(shù)容量為2N的相位累加器和具有M個相位取樣的正弦波波形存儲器,若頻率控制字為K,則DDS系統(tǒng)輸出信號的頻率為:fo=fc×K/2N,而頻率分辨率則為:Δf=fomin=fc/2N。3 基于FPGA的DDFS結構設計 圖2是利用DDFS原理設計的一個信號源發(fā)生器的結構框圖。圖中,FPGA用來控制輸出波形的頻率、相位和波形的選擇。波形數(shù)據(jù)的存放有兩種形式,一種是將固定波形數(shù)據(jù)存放在EEPROM里,主要有正弦波,三角波,鋸齒波?包括半正弦波,半三角波,半鋸齒波?數(shù)據(jù)。而對于特殊的波形,則通過上位機下載到RAM里,然后從RAM里讀取數(shù)據(jù)。 該系統(tǒng)在工作時,首先由上位機把控制命令和數(shù)據(jù)參數(shù)通過USB接口用AT96總線傳給FPGA。如果是固定波形,就從EEPROM中讀取數(shù)據(jù),否則就從RAM中讀取數(shù)據(jù)。數(shù)據(jù)傳送給FPGA后即可等待觸發(fā)信號,觸發(fā)信號由時基卡或軟件給出。觸發(fā)信號到來之后,就開始讀取數(shù)據(jù)并輸出波形。同時由FPGA給上位機一個狀態(tài)位,該狀態(tài)位可用于表示發(fā)送波形是正在發(fā)送,還是已經(jīng)發(fā)送結束了。 信號源的輸出頻率范圍分為如下幾檔:0.001Hz~1Hz? 1Hz~10Hz? 10Hz~100Hz;100Hz~200Hz,步進為1/1000。之所以分檔控制,是為了保證輸出波形頻率具有更高的精度,在輸出波形頻率較低時可對數(shù)據(jù)不抽點,頻率較高時應進行抽點。要達到較高的頻率精度,必須利用數(shù)字頻率合成器(DDFS)來實現(xiàn)對輸出波形頻率的控制?并按頻率要求對相位增量進行累加,然后以累加相位值作為地址碼來讀取存放在存儲器中的波形數(shù)據(jù)。通過改變相位增量寄存器的增量值(即步長),使相位累加器能夠輸出依據(jù)相位增量寄存器所給出的步長來改變波形存儲器的地址,從而改變波形每周期的點數(shù),從而達到改變輸出波形頻率的目的。該電路的設計關鍵在于用硬件構造一個多位累加器來實現(xiàn)相位的累加。 根據(jù)DDFS的原理,輸出信號頻率fo與累加器時鐘fclk、累加器位數(shù)M、相位增量N的關系如下: fo=(fclk×N)/2M 根據(jù)以上原理,結合實際情況可得到的各項參數(shù)(這里采用32.768MHz=1000×215的晶振頻率)。為了保證所需的精度以及輸出波形頻率的步進。這里選M=27。由于D/A的最大轉換速度為1MHz,波形每個周期的樣點數(shù)是128k,因此當輸出波形的頻率大于8Hz時,一般就需要進行抽樣。 (1)基于EEPROM的尋址方式 這種方式首先用累加器實現(xiàn)地址的尋址,然后通過改變累加器的第24位和第25位(A15和A16)的所賦初值來改變發(fā)送波形的初始相位。 由于發(fā)送波形的結束時刻可通過一個減法計數(shù)器來實現(xiàn),而且波形周期寄存器里寄存的是T/4的個數(shù)。因此,可根據(jù)所需發(fā)送的波形周期的個數(shù)來給計數(shù)器賦初值,并在減到0時使累加器復位,從而停止尋址。此時時鐘應接A14。 EEPROM里面可以存放4種波形,每一種波形的數(shù)據(jù)是64kB。波形的選擇可通過給A17和A18賦初值來實現(xiàn)。 (2)對RAM的尋址方式 RAM共有1MB的容量,因此,可尋址20位的地址。對于RAM里面的波形,只需要控制樣點頻率和發(fā)送波形的結束時刻即可。 結束時刻的實現(xiàn)主要是將結束時刻值存放到寄存器中,然后把計數(shù)器的輸出和寄存器的值進行比較,若兩者相等就給計數(shù)器發(fā)送復位信號以停止計數(shù),以結束發(fā)送波形。 這里的計數(shù)器是加1計數(shù),因而可通過改變分頻器的值來改變計數(shù)器的時鐘,從而引起讀取樣點頻率的改變。 通過上述結構設計可得到頂層電路結構。整個電路設計可采用Verilog語言和原理圖輸入相結合的方法來設計。圖3和圖4分別給出了對RAM和EEPROM進行尋址的仿真結果。5 結論 DDFS是現(xiàn)今一種重要的頻率合成手段,高速集成電路的發(fā)展進一步改善了DDFS的性能,它與傳統(tǒng)技術相結合組成的各種混合設計方案將頻率源的性能提高到了一個新的水平,因此,未來的DDFS不僅可應用于需要使用信號源的傳統(tǒng)領域,而且也必將開拓出許多新的應用領域。 |