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