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