摘要: 數(shù)字下變頻是無線通信鏈路層的重要組成部分,寬帶信號和窄帶信號的下變頻由于信號帶寬不同而抽取因子不同,使得同時具有寬帶和窄帶信號的系統(tǒng)采用基于FPGA的系統(tǒng)很難實現(xiàn)。本文提出采用專用數(shù)字下變頻率芯片GC5016同時實現(xiàn)寬帶和窄帶信號的變頻;采用FPGA實現(xiàn)對寬/窄帶數(shù)據(jù)的接收和存儲,存儲后數(shù)據(jù)使用高性能DSP芯片C6455實現(xiàn)對這些數(shù)據(jù)的處理。文中詳細介紹了該系統(tǒng)的軟硬件設(shè)計方法。
引言
隨著電子技術(shù)和信號處理技術(shù)的發(fā)展,寬帶數(shù)據(jù)的應(yīng)用越來越多,同時窄帶數(shù)據(jù)通信也仍然廣泛存在。同時對寬帶和窄帶數(shù)據(jù)進行處理是目前無線通信遇到的問題。由于數(shù)字接收機系統(tǒng)中,寬帶和窄帶數(shù)據(jù)的需求不是事先固定的,而是在信號分析和識別后,自適應(yīng)地或者由用戶現(xiàn)場下發(fā)命令,實現(xiàn)寬帶或者窄帶信號的監(jiān)測。在這種應(yīng)用背景下,基于FPGA的數(shù)字下變頻就面臨現(xiàn)場編程問題,一般FPGA解決方法是將各種帶寬的參數(shù)存儲在其FLASH芯片中,隨時根據(jù)命令來調(diào)用不同帶寬下的工作參數(shù),但需要的存儲空間較大,占用FPGA的資源也較多,基于此方法設(shè)計的系統(tǒng)需要大容量的FPGA芯片,系統(tǒng)的功耗較大,價格較高。
為此,本文提出一種基于專用數(shù)字下變頻芯片GC5016的寬/窄帶數(shù)據(jù)下變頻解決方案,使用小規(guī)模FPGA實現(xiàn)對GC5016輸出數(shù)據(jù)的讀取和存儲,應(yīng)用高性能DSP芯片C6455實現(xiàn)對下變頻后數(shù)據(jù)的分析和解調(diào)。
1 GC5016及其結(jié)構(gòu)
GC5016是TI公司推出的寬帶4通道的可編程數(shù)字上下變頻器,提供160 Msps輸入速率,可以采用雙通道聯(lián)合處理最高320 Msps的輸入速率,滿足目前絕大部分A/D器件的速率要求。4個完全相同的通道可以獨立配置成上變頻、下變頻或兩個上變頻、兩個下變頻的組合通道。本文主要介紹其下變頻功能。GC5016的內(nèi)部結(jié)構(gòu)如圖1所示。圖中給出了GC5016在接收工作模式下的結(jié)構(gòu)圖,其內(nèi)部有4個通道,圖中給出了A和B兩個通道的結(jié)構(gòu)圖,通道C和D具有和這兩個通道完全一致的結(jié)構(gòu)。
圖1 GC5016內(nèi)部結(jié)構(gòu)圖
輸入數(shù)據(jù)經(jīng)過數(shù)據(jù)選擇單元進入混頻器,數(shù)據(jù)選擇格式有定點16位、浮點16位以及AB雙路合成數(shù)據(jù)3種格式。數(shù)字混頻器將按照軟件配置對信號進行混頻,為了便于后面的濾波,一般轉(zhuǎn)換到零頻為中心的基帶數(shù)據(jù)。基帶數(shù)據(jù)可以兩路合成分別經(jīng)過濾波器,也可以每路單獨進行濾波。濾波器組包括CIC濾波器和可編程濾波器:CIC濾波器可以實現(xiàn)1~256的整數(shù)抽取,降低了數(shù)據(jù)速率;可編程濾波器一般使用FIR濾波器,對信號進一步抽取和整形,這里抽取可以為1~16,可見GC5016可以實現(xiàn)最大的抽取為4 096(16 256)。FIR濾波后的數(shù)據(jù)經(jīng)過AGC功率檢測和控制模塊,數(shù)據(jù)最后經(jīng)過輸出格式化后輸出。
圖中配置口是一個并行數(shù)據(jù)接口,必須經(jīng)過這個接口配置GC5016的寄存器,也可以通過配置口來讀取芯片的寄存器,查看芯片工作是否正常、初始化是否正確等;GC5016具有一個同步輸入和同步輸出口,可以用于多個GC5016的同步,也可以用于單個芯片內(nèi)幾個通道的同步;JTAG口用于芯片的測試,用戶一般不需要連接;電源和時鐘復(fù)位接口是芯片正常工作的基本配置。
2 硬件系統(tǒng)設(shè)計
硬件系統(tǒng)主要由ADC、GC5016、FPGA和DSP組成,如圖2所示。
圖2 硬件系統(tǒng)
模/數(shù)轉(zhuǎn)換芯片ADC采用ADI公司的16位芯片AD9467,其采樣頻率高達200 MHz,具有75 dB的SNR和90 dB的SFDR,是一款性能較高的高速ADC。其對外接口是差分LVDS數(shù)據(jù)和時鐘總線,差分輸出不能直接連接到GC5016,需要采用FPGA將差分信號轉(zhuǎn)換成單端信號。FPGA以ADC輸出的差分時鐘為基準時鐘對差分數(shù)據(jù)進行讀取和轉(zhuǎn)換,將處理好的單端信號數(shù)據(jù)仍然在該時鐘基準下輸出給GC5016。由于FPGA的差分端口是相對應(yīng)的,因此連接ADC的差分數(shù)據(jù)線和差分時鐘線要注意不能隨便連接,盡量安排在FPGA的同一Bank中,否則可能導(dǎo)致傳輸路徑不一致,在高速數(shù)據(jù)讀寫下容易產(chǎn)生相位畸變,使得輸入和傳輸數(shù)據(jù)錯誤。
DSP和FPGA之間的數(shù)據(jù)通過HPI接口,由FPGA寫入DSP,節(jié)省DSP的數(shù)據(jù)讀寫時間。DSP和FPGA之間還有EMIF接口,用于DSP對FPGA的控制,DSP和FPGA之間的控制狀態(tài)由GPIO總線傳輸。同時,DSP還連接一個EMIF接口到GC5016,用于DSP對GC5016的控制和狀態(tài)讀取。
3 軟件設(shè)計
3.1 GC5016的控制寄存器設(shè)置
GC5016的控制寄存器被劃分為兩部分:8個全局寄存器和總共88頁的寄存器,每個頁包含了16個寄存器。全局寄存器的訪問地址是0x00~0x0F。頁寄存器的訪問地址需先在全局寄存器的地址2寫入頁地址,然后再訪問0x10~0x1F,就可以訪問該頁下的寄存器。每一個控制寄存器在芯片內(nèi)被分配唯一的地址。這樣接口的設(shè)計就可以將GC5016作為處理器的一個外部存儲器來訪問。
3.2 GC5016的初始化
GC5016的初始化根據(jù)電路的不同可以分為三種情況:第一種是單個GC5016芯片,第二種是多個GC5016芯片配置由主GC5016芯片同步,第三種是多個GC5016芯片配置由外部源同步。而此次設(shè)計中只用一塊GC5016進行寬帶下變頻的驗證,所以屬于獨立GC5016芯片的配置。其配置步驟如下:
① 寫0xFF00到地址0,復(fù)位芯片。
② 寫0x0000到地址3,禁止所有輸出。
③ 寫0x0004到地址1,產(chǎn)生單觸發(fā)脈沖。
④ 裝載所有的配置寄存器。
⑤ 如果幾個通道需要同步控制,需要選擇一個同步源,可以通過在輸入文件中加入如下程序來實現(xiàn)同步控制:
soB_sync 4; fir_sync 4; sck_sync 4; nco_sync4; cic_sync 4;
⑥ 寫0x0100到地址0,清除復(fù)位。
⑦ 寫0x0004到地址1,產(chǎn)生同步脈沖,完成GC5016的設(shè)置。
3.3 GC5016的cmd5016軟件應(yīng)用
可以使用專門提供的GC5016的配置軟件實現(xiàn)對其寄存器的設(shè)置。這些配置包括以下內(nèi)容。
(1) 關(guān)鍵字的類型
關(guān)鍵字的類型,共5種,分別是mandatory(M)、defaulted(D)、computed(C)、unused(X)、expert(E)。其中M是需要用戶進行選擇的變量,D是初始化默認值,C是軟件控制的變量,X是不用的變量,E一般是一個計算變量,不需要人為設(shè)置。
(2) 偽指令
在配置文件中,偽指令mode AB receive 和mode CD receive 可以使GC5016工作在4通道DDC模式。在此模式下需要設(shè)置的偽指令有:
◆ mode AB(CD) receive(定義DDC收發(fā)模式);
◆ rin_rate(全局變量,接收輸入數(shù)據(jù)速率,0代表半速率,1代表全速率,2代表雙速率);
◆ rin_cmplx(全局變量,接收輸入數(shù)據(jù),0為接收的為實數(shù)數(shù)據(jù),1為接收的為復(fù)數(shù)數(shù)據(jù));
◆ splitiq,splitiqAB,splitipCD(兩通道或者4通道模式變量);
◆ freq,fck,bypass_mix(復(fù)數(shù)混頻器freq_msb,freq_mid,freq_lsb的設(shè)置);
◆ bypass_cic,cic_dec(雙CIC濾波器的抽取因子);
◆ bypass_fir,fir_dec,fir_diff,fir_nchan,fir_coef(PFIR模式和濾波器抽頭);
◆ gain,overall_gain(手動增益設(shè)置);
◆ agc_cf,agc_mode,agc_tc(AGC增益設(shè)置);
◆ pwr_mtr_on(接收功率計設(shè)置);
◆ routf_tdm(接收輸出格式控制通道D的TDM模式)。
3.4 DSP軟件流程
系統(tǒng)的DSP軟件流程如圖3所示。
DSP上電復(fù)位后,初始化相關(guān)接口,這些接口包括EMIF接口、HPI接口以及網(wǎng)絡(luò)和GPIO接口。初始化接口后,DSP等待從網(wǎng)口下發(fā)的控制命令,控制命令一般包括解調(diào)頻率、解調(diào)帶寬和解調(diào)方式等各種信息。DSP根據(jù)這些信息設(shè)置GC5016的寄存器,并將這些寄存器值寫入GC5016,使得GC5016可以正常工作,然后啟動FPGA采集GC5016輸出的數(shù)據(jù),F(xiàn)PGA按照1024個數(shù)據(jù)一幀進行存儲,滿一幀后通知DSP讀取這些數(shù)據(jù),DSP對這些數(shù)據(jù)解調(diào)后輸出到上位機顯示或者存儲。
圖3 DSP軟件流程
結(jié)語
GC5016是一種理想的可編程4通道數(shù)字上下變頻器,根據(jù)需要可配置為兩路作為上變頻、兩路作為下變頻。當(dāng)接收或發(fā)射的數(shù)據(jù)量龐大時,還可以使用多塊GC5016并行處理。再加上它的高速率、寬帶寬、高無雜散動態(tài)范圍、低功耗和靈活配置等各種優(yōu)點,使得GC5016的應(yīng)用非常廣泛,在CDMA/WCDMA、雷達及軟件無線電中都有強大的生命力和很好的發(fā)展前景。
參考文獻
[1] Texas Instruments Incorporated.GC5016 Datasheet[EB/OL].[201301].http://www.ti.com.cn/cn/lit/ds/slws142j/slws142j.pdf.
[2] 邵震洪,李玉生,沈連豐,等.基于GC5016的數(shù)字上變頻電路設(shè)計[J].信息化研究,2010(11).
[3] 徐志鵬,張興敢,唐嵐,等.基于GC5016的并行多通道接收機研究[J].現(xiàn)代電子技術(shù),2012(1).
曾娟英(碩士研究生),主要研究方向為FPGA。
作者:曾娟英 詹華群 來源:單片機與嵌入式系統(tǒng)應(yīng)用