張 磊,陳亞寧,劉成玉,徐叔喜,汪 健
(北方通用電子集團(tuán)有限公司微電子部,江蘇 蘇州 215163)
數(shù)字下變頻器DDC(Digital Down Conversion)的主要作用是從輸入的寬帶高速數(shù)字信號(hào)中提取所需要的窄帶信號(hào),將其下變頻到數(shù)字零中頻,并降低數(shù)據(jù)的采樣速率[1]。目前,數(shù)字下變頻的實(shí)現(xiàn)方案主要有三種。第一種方案是使用通用的DSP處理器,用軟件實(shí)現(xiàn)數(shù)字下變頻。該方案靈活性強(qiáng),但處理速度受限,需改進(jìn)算法以提高速度。第二種方案是使用FPGA實(shí)現(xiàn)數(shù)字下變頻,該方案也有較強(qiáng)的靈活性,但消耗的硬件資源較多。第三種方案是利用ASIC實(shí)現(xiàn)數(shù)字下變頻的功能,該方案具有計(jì)算速度快和單片成本低等優(yōu)點(diǎn)[2-3]。
國外對數(shù)字下變頻的研究較早,市場上已經(jīng)有很多成熟的數(shù)字下變頻芯片。但是國內(nèi)研究數(shù)字下變頻技術(shù)起步較晚,技術(shù)較落后,沒有成熟的數(shù)字下變頻芯片[4]。在需要使用數(shù)字下變頻模塊的場合常采用FPGA廠商設(shè)計(jì)工具的IP核,使用十分不方便。因此,研究性能優(yōu)秀、功能強(qiáng)大的數(shù)字下變頻ASIC電路十分重要。
圖1 DDC數(shù)字下變頻內(nèi)部結(jié)構(gòu)
數(shù)字下變頻電路主要是經(jīng)過混頻、抽取和濾波后,從ADC輸出的數(shù)字信號(hào)中提取所需的窄帶信號(hào),降低采樣速率,最終輸出I、Q兩路正交信號(hào),以利于后續(xù)送入 DSP作進(jìn)一步解調(diào)、解碼等處理[5],其結(jié)構(gòu)如圖1所示。文中設(shè)計(jì)的DDC電路輸入時(shí)鐘為48 MHz,輸入信號(hào)位寬為12 bit,中心頻率為12 MHz,內(nèi)部設(shè)置一個(gè)PLL鎖相環(huán),輸出時(shí)鐘頻率為 96 MHz,輸出I、Q兩個(gè)支路位寬均為16 bit。電路內(nèi)部主要由NCO(數(shù)字控制振蕩器)、乘法器、FIR低通濾波器等模塊組成,輸入48 MHz信號(hào)分別與NCO產(chǎn)生的正、余弦信號(hào)相乘,混頻產(chǎn)生兩路48 MHz、12 bit的正交信號(hào),分別進(jìn)入各自的低通濾波器進(jìn)行抽取、濾波,降低數(shù)據(jù)采樣率,輸出所需要的 I、Q兩路正交信號(hào)。下面將分別介紹各個(gè)模塊。
NCO數(shù)控振蕩器主要用于產(chǎn)生正交的本地載波信號(hào)。NCO的主要優(yōu)點(diǎn)是頻率分辨率高,相位精度高,生成的正交信號(hào)正交特性好以及可編程等,NCO的頻率和相位控制是數(shù)字化的,因此可產(chǎn)生高精度的本地載波信號(hào)。NCO產(chǎn)生離散正弦信號(hào)最有效、最簡便的方法是查找表法,即事先根據(jù)各個(gè)NCO正弦波相位計(jì)算好相位的正弦值,并將相位角度作為地址存儲(chǔ)該相位的正弦值數(shù)據(jù)。
本文設(shè)計(jì)的NCO包括一個(gè)32位的相位累加器,根據(jù)輸入的頻率控制字產(chǎn)生相位累加值。取相位累加值的高12位為地址,將存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)輸出即可得到對應(yīng)頻率的正、余弦信號(hào)。DDS模塊的輸出頻率fout是系統(tǒng)工作時(shí)鐘fclk、相位累加器比特?cái)?shù)N(頻率寄存器位數(shù))及頻率控制字K(步長)三者的一個(gè)函數(shù),其數(shù)學(xué)關(guān)系為NCO內(nèi)部結(jié)構(gòu)框圖如圖2所示。
圖2 NCO結(jié)構(gòu)框圖
在電路設(shè)計(jì)中,本地振蕩時(shí)鐘為48 MHz,現(xiàn)需要產(chǎn)生12 MHz正交正、余弦信號(hào),設(shè)計(jì)中累加寄存器位寬N=32,可計(jì)算出頻率控制字 K=32′hC0000000。仿真波形圖如圖3所示。
圖3 輸出12 MHz中心頻率正、余弦仿真波形圖
在混頻時(shí)需要用到兩個(gè)乘法器,NCO產(chǎn)生的16 bit正、余弦信號(hào)分別與外部輸入的12 bit信號(hào)相乘,產(chǎn)生兩路正交信號(hào)。電路設(shè)計(jì)中采用Booth算法設(shè)計(jì)一個(gè)12×16的有符號(hào)乘法器。
常用的乘法運(yùn)算每次都只檢查乘數(shù)1 bit的二進(jìn)制數(shù)。為了加快運(yùn)算速度,可以同時(shí)檢查k bit二進(jìn)制數(shù),需要利用Booth算法,也稱高基算法。Booth算法的提出主要是為了解決有符號(hào)數(shù)乘法運(yùn)算中復(fù)雜的符號(hào)修正問題,所以本設(shè)計(jì)采用booth2編碼,對于補(bǔ)碼表示的兩數(shù)就不需要考慮符號(hào)的問題。
16位有符號(hào)乘法器可以分為三部分:根據(jù)輸入的被乘數(shù)和乘數(shù)產(chǎn)生部分積、部分積壓縮產(chǎn)生和與進(jìn)位、將產(chǎn)生的和與進(jìn)位相加。這三部分分別對應(yīng)著編碼方式、拓?fù)浣Y(jié)構(gòu)以及加法器。
乘法器采用全并行設(shè)計(jì),輸入和輸出都是并行的,電路較為復(fù)雜,但是速度極快。在電路設(shè)計(jì)初,首先將12 bit乘數(shù)a用符號(hào)位補(bǔ)齊成16 bit x,并將兩個(gè)16位數(shù)x、y同步一個(gè)時(shí)鐘周期,送入16×16乘法器設(shè)計(jì),在乘法器運(yùn)算結(jié)束后,同步其輸出out并取輸出結(jié)果的高12位作為混頻信號(hào)p送入FIR濾波器。乘法器結(jié)構(gòu)圖如圖4所示,仿真波形如圖5所示。
圖5 乘法器仿真波形圖
由于AD在中頻進(jìn)行采樣,采樣速率有可能很高,而混頻后得到的數(shù)據(jù)率與采樣速率是一致的,后級(jí)的FIR濾波器根本無法達(dá)到這個(gè)處理速率,因此先通過抽取器進(jìn)行抽取,使數(shù)據(jù)率快速降低,再由FIR進(jìn)行濾波[6]。在此設(shè)計(jì)的FIR濾波器具體為40階,采樣頻率為48 MHz,截止頻率為6 MHz,輸入信號(hào)位寬為12 bit,輸出時(shí)鐘頻率為 96 MHz,輸出位寬為 16 bit。
多抽取率低通濾波器內(nèi)部主要包括20級(jí)移位寄存器組、數(shù)據(jù)整理單元、乘法累加器及求和單元。其中移位寄存器主要進(jìn)行數(shù)據(jù)的延時(shí),其功能相當(dāng)于多個(gè)觸發(fā)器的串聯(lián)以實(shí)現(xiàn)多個(gè)周期的延時(shí)[7]。當(dāng)2抽取時(shí),延時(shí)2個(gè)時(shí)鐘周期;4抽取時(shí),延時(shí)4個(gè)時(shí)鐘周期。數(shù)據(jù)整理是將兩個(gè)48 MHz數(shù)據(jù)率的數(shù)據(jù)整合為一個(gè)96 MHz數(shù)據(jù)率的數(shù)據(jù),使用flag進(jìn)行區(qū)分。乘法累加器主要將數(shù)據(jù)整理后的對應(yīng)數(shù)據(jù)進(jìn)行預(yù)加后乘以系數(shù)。當(dāng)選擇信號(hào)sel為低電平時(shí)將對應(yīng)數(shù)據(jù)預(yù)加并乘以系數(shù);當(dāng)sel變?yōu)楦唠娖綍r(shí),將對應(yīng)數(shù)據(jù)預(yù)加并乘以系數(shù)后與上一周期的求和值累加。最后的求和單元主要將5個(gè)乘累加運(yùn)算結(jié)果進(jìn)行相加,并取最終結(jié)果的高16位輸出,作為I支路和Q支路輸出數(shù)據(jù)。FIR濾波器的結(jié)構(gòu)框圖如圖6所示。
圖6 多抽取率低通濾波器
圖7 濾波器Matlab設(shè)計(jì)濾波效果
為了驗(yàn)證所設(shè)計(jì)濾波器的有效性,將仿真所產(chǎn)生的時(shí)域數(shù)據(jù)送入Matlab,給出濾波前后信號(hào)的功率譜密度[8],所得結(jié)果如圖7、圖8所示。由圖7可以看出,在濾波器截止頻率(Fcut=6 MHz)頻帶范圍內(nèi),Matlab濾波器與信號(hào)功率譜相似;在截止頻率以外,對信號(hào)形成良好的抑制。由于存在取整、四舍五入等量化誤差,所以所設(shè)計(jì)的濾波器會(huì)引入一定的誤差,如圖8所示。
圖8 ASIC設(shè)計(jì)濾波功率譜(6 dB截止頻率Fpass=6 MHz,阻帶起始頻率 Fstop=8.3 MHz)
DDC數(shù)字下變頻電路采用硬件描述語言Verilog實(shí)現(xiàn)各個(gè)模塊的功能后,在testbench中輸入一個(gè)位寬為12 bit、中心頻率為12 MHz的信號(hào),并且將NCO的頻率控制字設(shè)置為11.9 MHz。在經(jīng)過混頻、抽取、濾波后,最后的I、Q支路應(yīng)該輸出0.1 MHz的正、余弦信號(hào)。從圖9的仿真結(jié)果可見,實(shí)部的兩個(gè)最高點(diǎn)間長度為10 000 ns,正好為0.1 MHz,符合設(shè)計(jì)要求。
在電路設(shè)計(jì)完成后,采用Synopsys的DC工具將硬件描述語言綜合成門級(jí)網(wǎng)表,并交由后端完成版圖設(shè)計(jì)。
圖9 整體仿真波形圖
在電路流片完成后,對電路進(jìn)行封裝測試,使DDC電路的I、Q支路輸出0.1 MHz的信號(hào),將電路的實(shí)部、虛部輸出信號(hào)輸入至FPGA,使用96 MHz時(shí)鐘進(jìn)行一個(gè)節(jié)拍延遲,并利用ChipScope軟件進(jìn)行觀測,電路測試波形圖如圖10所示。由圖中可知,電路能夠正常輸出正、余弦信號(hào)波形,曲線也比較光滑,DDC數(shù)字下變頻電路設(shè)計(jì)成功。
圖10 ASIC電路測試波形圖
本文主要設(shè)計(jì)了一個(gè)DDC數(shù)字下變頻ASIC電路,該電路完全采用正向設(shè)計(jì)流程,0.13 μm工藝設(shè)計(jì)。從流片結(jié)果的測試情況看,電路性能指標(biāo)滿足要求,完全實(shí)現(xiàn)了基于不同抽取率的數(shù)字下變頻功能。該電路能夠廣泛應(yīng)用于軍事雷達(dá)、無線通信等領(lǐng)域,以往只能通過國外電路或者高性能FPGA實(shí)現(xiàn)數(shù)字下變頻。有了該電路,不僅減小了系統(tǒng)體積、降低了成本,而且解決了軍用電路國產(chǎn)化的問題。
[1]張光義.相控陣?yán)走_(dá)原理[M].北京:國防工業(yè)出版社,2009.
[2]王宇峰.數(shù)字下變頻芯片的前端設(shè)計(jì)[D].長沙:湖南大學(xué),2010.
[3]劉欣.基于CORDIC的數(shù)字下變頻電路的ASIC設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2007.
[4]徐偉,王旭東.基于FPGA的高效靈活性數(shù)字正交下變頻器設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2012,38(9):13-15.
[5]叢玉良,王宏志.數(shù)字信號(hào)處理原理及其MATLAB實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2009.
[6]Xu Changqing,Hu Saigui,Li Zhiping.A digital intermediate frequency receiver for inter-vehicle communications[C].In:Pro of the 2007 IEEE Intelligent Vehicles Symposium,Istanbul,2007:840-845.
[7]MALMIRCHEGINI M,HAGHSHENAS H,MARVASTI F.A novel iterative digital down converter[C].Pro.of the 2007 IEEE International Conference on Telecommunications,Penang,2007:442-445.
[8]Luo Feiteng,Chen Weidong.An economical TDM design of multichannel digital down converter[C].Pro.of ICSP2008,Heifei,2008:498-499.