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