基于NCOIPcore的Chirp函數(shù)實現(xiàn)設計
引 言
IP就是知識產(chǎn)權(quán)核或者知識產(chǎn)權(quán)模塊的意思。在EDA技術(shù)和開發(fā)領域具有十分重要的作用,在半導體產(chǎn)業(yè)中IP定義為用于ASIC或FPGA/CPLD中預先設計好的電路功能模塊。IP可以分為軟IP,固IP和硬IP三種。
隨著電子系統(tǒng)的越來越復雜,PLD設計的越來越龐大,這就增加了市場對IP核的需求,各大FPGA/CPLD廠商陸續(xù)推出了許多IP核。例如:FIR(有限沖擊響應)數(shù)字濾波器core;FFT(快速傅里葉變換)core,NCO(數(shù)控振蕩器)core等,在設計中如果使用了這些知識產(chǎn)權(quán)核可以大大簡化 FPGA/CPLD的設計,加速設計速度,縮短研發(fā)周期,并且較之于開發(fā)者自己的設計程序,這些IP有更好的運算精度、速度、SFDR參數(shù)、SNR參數(shù)等,達到良好的效果!
由于電磁波在傳輸過程中,經(jīng)過色散介質(zhì),如不均勻的波導經(jīng)過高空電離層時會發(fā)生色散現(xiàn)象。Chirp函數(shù)在射電天文信號的消色散處理中發(fā)揮著重要的作用,研究在FPGA中實現(xiàn)Chirp函數(shù)是基于FPGA的射電宇宙信號處理的重要組成部分。如圖1所示。
該設計就是通過實時的改變NCO IP core的輸入頻率控制字的辦法,數(shù)控頻率輸出的辦法實現(xiàn)Chirp函數(shù)。
1 系統(tǒng)總體設計
Chirp函數(shù)根據(jù)輸出頻率的遞變規(guī)律一般分為兩種:線性Chirp函數(shù)和非線性Chirp函數(shù),以下是兩種Chirp函數(shù)在頻域上的表現(xiàn)如圖2,圖3所示。
從圖2,圖3可以看出Chirp函數(shù)的頻率輸出與時間的f-t關系可以總結(jié)為:
對于線性Chirp函數(shù):
在連續(xù)域時間域內(nèi)有關系式:
式中:k為常數(shù);f0為初始輸出頻率;t為連續(xù)時間。
在離散時間域有關系式:
式中:k為常數(shù);f0為初始輸出頻率;n為采樣點。
對于非線性Chirp函數(shù):在連續(xù)域時間域內(nèi)有關系式:
式中:f(t)為非線性函數(shù);f0為初始輸出頻率;t為連續(xù)時間。
在離散時間域有關系式:
式中:f(n)為非線性函數(shù)f0為初始輸出頻率;n為采樣點。由上式可以看出Chirp函數(shù)在每一個時刻點具有不同的頻率輸出,而根據(jù)具體的頻率變化的需要在每一個時刻點實時的改變其頻率控制字是實現(xiàn)Chirp函數(shù)的關鍵。其算法框圖如圖4所示。
2 NCO IP Core
數(shù)字壓控振蕩器知識產(chǎn)權(quán)核(Numerically Con-trolled Oscillators Intellectual Property Core,NCO IPCore),通過多種算法(相位累加或者CORDIC算法,在此不一一贅述),實現(xiàn)了一個離散幅度和時間的正弦波信號輸出。輸入控制字和輸出頻率之間滿足以下方程:
s(nT)=Asin[2π(f0+fFM)nT+ψPM+ψDITH)] (5)
式中:T為該模塊的工作時鐘;f0是由輸入頻率控制字ψINC決定的初始頻率;fFM是由調(diào)制頻率控制字ψFM決定的調(diào)制頻率;ψPM為該輸出正弦波的調(diào)制相位,ψPM=P/2Pwidth,由輸入控制字P的比特位數(shù)(Pwidth)決定了它的精度;ψDITH為模塊內(nèi)部自身的不穩(wěn)定而引起的相位雜散(噪聲);幅值量A=2N-1,其中N為幅值精度取值在4~32之間。
該設計中僅采用通過改變頻率控制字ψINC,以實現(xiàn)改變頻率輸出的目的,為此式(5)可以簡化為:
式中,f0由給定的頻率控制字ψINC決定,滿足如下方程:
式中:M為累加器精度;fclk為該模塊的輸入時鐘頻率,單位為Hz。例如:在fclk=100 MHz的情況下,如果需要f0=10 MHz的輸出,ψINC的計算如下:
通過Altera公司的FPGA編程軟件QuartusⅡ提供的MegaWizard Plug-In Manager功能,在NCO IPCore參數(shù)配置中自動對ψINC的計算,很容易得出在輸入頻率的條件下所需輸出頻率的ψINC(累加器精度為32 b的情況下)如圖6所示。
值得注意的是:在MegaWizard Plug-In Manage中,ψINC的精度只保留到了百位。 function ImgZoom(Id)//重新設置圖片大小 防止撐破表格 { var w = $(Id).width; var m = 650; if(w
3 頻率控制字寄存器及驅(qū)動單元的設計
頻率控制字寄存器為一個保存有N個輸出頻率所需的相位累加控制字的片上ROM單元,其作用在驅(qū)動單元輸入地址控制字的作用下實時向NCOIP Core調(diào)入所需要的ψINC,在該設計中Chirp函數(shù)的頻率變化規(guī)律是從1 MHz步進1 MHz輸出到16 MHz。在該設計中選擇的累加器精度為32 b,為此選擇的邏輯單元的規(guī)律為如表1所示。
為此,建立一個深度為1 6,每個存儲單元字長32 b位的ROM,將表1內(nèi)所有ψINC數(shù)據(jù)保存至NCO_1_16.mif文件中,在ROM建立時調(diào)用該mif文件。如圖7所示。[!--empirenews.page--]
在設計中,通過不同時間點向頻率控制字寄存器寫入不同的地址信號驅(qū)動,使存儲器輸出不同的頻率控制字驅(qū)動NCO IP Core,產(chǎn)生不同的頻率信號輸出。該設計中采用兩個計數(shù)器級聯(lián)作為驅(qū)動單元,首先第一級計數(shù)器將鐘頻率降至需要的Chirp函數(shù)輸出某頻點的穩(wěn)定時間范圍,將第一級計數(shù)器的進位端作為第二級計數(shù)器的時鐘輸入端;第二級計數(shù)器的作用是,產(chǎn)生地址信號以驅(qū)動頻率控制字存儲器輸出相應的控制字,當前級進位信號有效時該計數(shù)器輸出加“1”。以達到改變頻率輸出的目的,其連接電路圖如圖9所示。
4 仿真與驗證
將該設計通過將程序下載到Altera公司生產(chǎn)的DSP開發(fā)板(型號DK-DSP-2C70N)中進行仿真,其核心FPGA(型號為EP2C70F672C6)的資源使用情況如圖10所示。
并通過該開發(fā)板上D/A轉(zhuǎn)換器輸出模擬波形(只截取了4個時刻的圖樣)如圖11所示。
通過圖11可以看出該設計能很好地完成掃頻輸出的功能,并且雜波分量很小,干擾很小。
5 結(jié) 語
該設計通過采用技術(shù)成熟的NCO IP Core完成,其優(yōu)勢在于:
(1)利用了成熟的FPGA知識產(chǎn)權(quán)技術(shù),使得設計更加簡便并易于移植;
(2)利用NCO IP core的高穩(wěn)定性,使得Chirp函數(shù)的各項噪聲較之于其他設計更小,有利于對射電天文這樣微弱信號的處理,減少了處理帶來的各種噪聲。