FPGA在TD-SCDMA通用開發(fā)平臺中的應(yīng)用
摘要:隨著FPGA容量、功能以及可靠性的不斷提高,采用FPGA設(shè)計數(shù)字電路已經(jīng)成為數(shù)字電路系統(tǒng)領(lǐng)域的主要設(shè)計方式。在以DSP為主處理器,F(xiàn)PGA為協(xié)處理器,基于“軟件無線電”技術(shù)的TD-SCDMA通用開發(fā)平臺中,成功地采用FPGA完成一系列數(shù)據(jù)量大、重復(fù)性強、速度要求高的數(shù)字信號處理運算和相關(guān)數(shù)據(jù)接口。在這種平臺中采用不同的軟件,便可以對TD-SCDMA協(xié)議棧軟件、物理層軟件、手機芯片和移動終端等相關(guān)產(chǎn)品進行測試驗證,具有很好的市場前景。
關(guān)鍵詞:FPGA;TD-SCDMA;軟件無線電;開發(fā)平臺
0 引言
隨著微電子技術(shù)的飛速發(fā)展,現(xiàn)場可編程器件正以空前規(guī)模和速度滲透到各行各業(yè),為各行業(yè)的電子系統(tǒng)設(shè)計工程師自行開發(fā)本行業(yè)專用的ASIC提供了技術(shù)和物質(zhì)條件。FPGA器件作為當(dāng)今電子設(shè)計領(lǐng)域應(yīng)用最廣泛的可編程器件之一,它的高集成度、可現(xiàn)場修改、開發(fā)周期短等優(yōu)點滿足了從軍用到民用、從高端到低端的大多數(shù)電子設(shè)計領(lǐng)域的需求。而TD-SCDMA作為我國提出的具有自主知識產(chǎn)權(quán)的3G標準,已經(jīng)走過了十幾個春秋,協(xié)議棧軟件、物理層軟件、手機芯片和移動終端等相關(guān)產(chǎn)品都日益成熟;隨著3G牌照發(fā)放日期的臨近,TD-SCDMA產(chǎn)業(yè)鏈上的各種產(chǎn)品的研發(fā)都進入了最后的沖刺階段。由于TD-SCDMA標準中對各種產(chǎn)品的性能都有著嚴格的規(guī)定,因而產(chǎn)品的測試和驗證就顯得尤為重要。本文介紹一種TD-SCDMA通用開發(fā)平臺,能夠?qū)﹂_發(fā)中的產(chǎn)品進行測試驗證;FPGA由于其各方面優(yōu)異的性能成為平臺的重要組成部分。
1 FPGA簡介
FPGA(Field Programmable Gate Array,現(xiàn)場可編程門陣列)是在PAL,GAL,sEPLD等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。
目前FPGA的品種很多,有Xilinx公司的Spantan,Vertex系列;A1tera公司的FIEX系列;Actel公司的ProASIC系列以及TI公司的TPC系列等。本文以Xilinx公司的Virtex-Ⅱ系列器件為例介紹FPGA的內(nèi)部結(jié)構(gòu),由圖1中可以看出,此系列的FPGA總體上由5大模塊組成。
可編程邏輯模塊(CLB):由4個相同的Slice和附加邏輯電路構(gòu)成,用于實現(xiàn)組合邏輯和復(fù)雜時序邏輯。
塊存儲器(BlockRAM):單位容量是18 Kb;每一個BlockRAM均可配置為單端口或雙端口RAM;利用Core Generator,還可將BlockRAM資源配置為雙端口FIFO。
可編程輸入/輸出模塊(IOB):提供FPGA內(nèi)部邏輯與器件封裝管腳之間的接口,輸入/輸出速率可達840 MHz。
數(shù)字時鐘管理器(DCM):可以消除時鐘的延遲、頻率的合成、時鐘相位的調(diào)整,輸入頻率范圍為24~420 MHz。
乘法器:有符號乘法運算速率可達到140 MHz的18位×18位的二進制乘法器,利用這些乘法器進行讀取/相乘/累加的多次迭代操作,可實現(xiàn)高速和高效的DSP濾波器結(jié)構(gòu)。
由于FPGA性能的不斷提高,它在數(shù)字信號處理領(lǐng)域的應(yīng)用越來越廣泛,尤其在移動通信領(lǐng)域積累了很多的成功經(jīng)驗,因而,在一種基于“軟件無線電”技術(shù)TD-SCDMA通用開發(fā)平臺中,選擇使用FPGA來拓展平臺的使用范圍,并為平臺以后的性能提升留下空間。
[!--empirenews.page--]
2 基于“軟件無線電”技術(shù)的TD-SCDMA通用開發(fā)平臺
軟件無線電技術(shù)的基本原理就是將寬帶A/D和D/A轉(zhuǎn)換器盡可能地靠近天線,從而以軟件方式來代替硬件實施信號處理。采用軟件無線電的優(yōu)越性在于基于同樣的硬件環(huán)境,采用不同的軟件就可以實現(xiàn)不同的功能。這一點和可編程邏輯器件有著異曲同工之處,因此,可編程邏輯器件在軟件無線電中得到了越來越廣泛的應(yīng)用。
TD-SCDMA標準要求軟件無線電完成接收信號經(jīng)A/D轉(zhuǎn)換后的數(shù)據(jù)解調(diào)、濾波、基帶信號處理等任務(wù),其中包括了聯(lián)合檢測、Viterbi譯碼、Turbo譯碼等復(fù)雜的算法,這些任務(wù)無一不涉及到巨大的運算量。以目前的硬件處理速度來看,僅靠DSP來完成上述功能是不可能的。因而在應(yīng)用中,一般由FPGA來完成需要快速和較為固定的運算,由DSP來完成靈活多變和運算量較大的任務(wù)?;谝陨戏治?,設(shè)計了以DSP+FPGA為信號處理核心的基于“軟件無線電”技術(shù)的TD-SCD-MA通用開發(fā)平臺。該平臺以RF器件、A/D器件、大容量FPGA、高速DSP、高性能ARM為基礎(chǔ),以軟件為核心,既兼顧速度和靈活性,又具有較強的通用性,支持在同一種標準增強版本之間的移植,并能夠支持完全不同的標準,有助于系統(tǒng)的升級和多模運行。
開發(fā)平臺中的OMAP1612(ARM926EJS+DSP5510)芯片是TI推出的適合第三代移動通信的雙核多媒體應(yīng)用平臺,其DSP的CPU主時鐘工作在160 MHz或200 MHz,具有高達400 MIPS的處理能力。FPGA芯片采用Xilinx公司的200萬門Virtex-Ⅱ系列器件XC2V2000,它采用0.15 μm工藝設(shè)計,具有8層金屬工藝;其內(nèi)部時鐘頻率可達到420 MHz,輸入/輸出速率可達840 MHz。負責(zé)A/D,D/A處理的芯片采用Maxim公司的MAX197 00,該芯片工作時鐘為5.12 MHz,提供了雙10 b,7.5 MSPS的Rx(ADC),Tx(DAC)通路。
在該平臺中,F(xiàn)PGA與DSP之間的數(shù)據(jù)傳輸效率是它們實現(xiàn)各自功能的基礎(chǔ)。根據(jù)OMAP1612的數(shù)據(jù)手冊,平臺采用MeBSP2接口來完成它們之間的數(shù)據(jù)傳輸;對控制信息的傳輸、RF模塊和A/D模塊的配置都由SPI接口來完成;A/D模塊到FPGA的數(shù)據(jù)接口根據(jù)MAX19700芯片的數(shù)據(jù)手冊來編寫。以上三個接口必須在FPGA端模擬出來,才能完成FPGA與其他器件之間的數(shù)據(jù)控制和傳輸。
3 程序設(shè)計
3.1 McBSP接口
McBSP(Multiehannel Buffered Serial Port),即多通道緩沖串口。TMS320VC5510芯片有3個高速、全雙工MeBSP串口,McBSP串口是在標準同步串口的基礎(chǔ)上擴展而來,它能提供強大的同步串口通信機制,速度可達100 Mb/s?;贛eBSP的優(yōu)異性能,McBSP被用來在FPGA和DSP之間傳輸有效數(shù)據(jù)信息。
McBSP包括一個數(shù)據(jù)流路徑和一個通過6個引腳連接到外部器件的控制路徑,這6個引腳分別是DX(數(shù)據(jù)發(fā)送)、DR(數(shù)據(jù)接收)、CLKX(發(fā)送時鐘)、CLKR(接收時鐘)、FSX(發(fā)送幀同步)、FSR(接受幀同步)。有效的數(shù)據(jù)經(jīng)McBSP串口通過DR和DX引腳和外部設(shè)備通信,同步控制信號則由CLKX,CLKR,F(xiàn)SX,F(xiàn)SR等4只引腳來實現(xiàn)。圖2中簡要畫出了McBSP發(fā)送/接收的基本時序圖。
McBSP的具體實現(xiàn)在參考文獻中有極為詳細的介紹,這里不再贅述。
3.2 SPI接口
SPI接口是由Motorola公司推出的一種雙向、四線串行外圍設(shè)備接口,專門用來和可以提供四線串口的外部設(shè)備傳輸數(shù)據(jù)。四線串口信號包括時鐘信號、設(shè)備使能信號、數(shù)據(jù)輸入、數(shù)據(jù)輸出,傳輸串行數(shù)據(jù)時高位優(yōu)先。[!--empirenews.page--]
SPI可以使用MCU_DSP協(xié)議或者DMA協(xié)議在主/從模式下運行。在主模式下,它提供5個片選,支持多達5個串行設(shè)備,其中4個片選對外部設(shè)備,此模式下的最大數(shù)據(jù)傳輸速率是19.2 Mb/s或12 Mb/s;在從模式下,SPI有它自己的片選,數(shù)據(jù)輸出的時鐘由擁有較低速率的外部設(shè)備提供。SPI發(fā)送/接收基本時序圖如圖3所示。
由于內(nèi)部移位寄存器是基于一個環(huán)形(FIFO規(guī)則),故讀、寫過程必須時刻同步;只要任一發(fā)送時鐘產(chǎn)生,數(shù)據(jù)發(fā)送就會啟動;在移位寄存器時鐘SRCLK的上升或下降沿,發(fā)送或接收的數(shù)據(jù)被移入或移出。
3.3 與MAX19700的接口
根據(jù)Maxim公司的MAX19700芯片的數(shù)據(jù)手冊,該芯片的工作時鐘為5.12 MHz,它提供了雙10 b,7.5 MSPS的Rx(ADC),Tx(DAC)通路。圖4描述了A/D轉(zhuǎn)換時的時序圖。
MAX19700芯片的接收或發(fā)送開關(guān)是由專用引腳T/R來控制的;芯片的SPI接口用來接收配置數(shù)據(jù),不受專用引腳T/R的控制。
3.4 功能模塊設(shè)計
Turbo編碼/譯碼、Viterbi譯碼、FIR濾波器以及快速傅里葉變換和反變換(FFT/IFFT)都可以利用Xilinx公司提供的ipcore來實現(xiàn)。因為這些模塊都非常成熟,其可編程性能好、算法先進、延遲小、占用資源少,直接使用要節(jié)省很多時間,可以縮短產(chǎn)品的開發(fā)周期。當(dāng)然,Turbo編碼/譯碼器和Viterbi譯碼器要購買才能商用,但在前期測試時可以申請評估版本使用。
3.5 資源利用率
以上接口程序和功能模塊是在Xilinx的集成開發(fā)環(huán)境ISE 9.1中,使用Verilog HDL硬件描述語言完成代碼編寫的zxz b,綜合結(jié)果如下:
一般而言,Xilinx芯片的資源利用率看Slice和Slice Flip Flops兩項數(shù)據(jù)就可以,這兩項數(shù)據(jù)最好保持在50%~70%之間。這樣,既可以最大限度地發(fā)揮芯片的性能,也為以后的平臺拓展留下足夠的空間。從上面的數(shù)據(jù)可以看出,Xilinx芯片的資源利用率是非常理想的。
4 結(jié)語
隨著FPGA各項性能的不斷提高,已經(jīng)越來越顯示出它在數(shù)字信號處理中的優(yōu)越性;本文在一種基于“軟件無線電”技術(shù)的TD-SCDMA通用開發(fā)平臺中,以FPGA作為DSP的協(xié)處理器,用來完成Turbo編碼/譯碼,Viterbi譯碼以及快速傅里葉變換和反變換(FFT/IFFT)等數(shù)據(jù)量大、重復(fù)性強、速度要求高的數(shù)字信號處理運算,使平臺具有很好的硬件靈活性、軟件可編程能力和較低的系統(tǒng)成本。測試表明,平臺的各項性能均能夠達到3GPP的標準,具有很好的市場前景。