FPGA在TD-SCDMA通用開(kāi)發(fā)平臺中的應用
摘要:隨著(zhù)FPGA容量、功能以及可靠性的不斷提高,采用FPGA設計數字電路已經(jīng)成為數字電路系統領(lǐng)域的主要設計方式。在以DSP為主處理器,FPGA為協(xié)處理器,基于“軟件無(wú)線(xiàn)電”技術(shù)的TD-SCDMA通用開(kāi)發(fā)平臺中,成功地采用FPGA完成一系列數據量大、重復性強、速度要求高的數字信號處理運算和相關(guān)數據接口。在這種平臺中采用不同的軟件,便可以對TD-SCDMA協(xié)議棧軟件、物理層軟件、手機芯片和移動(dòng)終端等相關(guān)產(chǎn)品進(jìn)行測試驗證,具有很好的市場(chǎng)前景。
本文引用地址:http://dyxdggzs.com/article/138515.htm隨著(zhù)微電子技術(shù)的飛速發(fā)展,現場(chǎng)可編程器件正以空前規模和速度滲透到各行各業(yè),為各行業(yè)的電子系統設計工程師自行開(kāi)發(fā)本行業(yè)專(zhuān)用的ASIC提供了技術(shù)和物質(zhì)條件。FPGA器件作為當今電子設計領(lǐng)域應用最廣泛的可編程器件之一,它的高集成度、可現場(chǎng)修改、開(kāi)發(fā)周期短等優(yōu)點(diǎn)滿(mǎn)足了從軍用到民用、從高端到低端的大多數電子設計領(lǐng)域的需求。而TD-SCDMA作為我國提出的具有自主知識產(chǎn)權的3G標準,已經(jīng)走過(guò)了十幾個(gè)春秋,協(xié)議棧軟件、物理層軟件、手機芯片和移動(dòng)終端等相關(guān)產(chǎn)品都日益成熟;隨著(zhù)3G牌照發(fā)放日期的臨近,TD-SCDMA產(chǎn)業(yè)鏈上的各種產(chǎn)品的研發(fā)都進(jìn)入了最后的沖刺階段。由于TD-SCDMA標準中對各種產(chǎn)品的性能都有著(zhù)嚴格的規定,因而產(chǎn)品的測試和驗證就顯得尤為重要。本文介紹一種TD-SCDMA通用開(kāi)發(fā)平臺,能夠對開(kāi)發(fā)中的產(chǎn)品進(jìn)行測試驗證;FPGA由于其各方面優(yōu)異的性能成為平臺的重要組成部分。
1 FPGA簡(jiǎn)介
FPGA(Field Programmable Gate Array,現場(chǎng)可編程門(mén)陣列)是在PAL,GAL,sEPLD等可編程器件的基礎上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專(zhuān)用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數有限的缺點(diǎn)。
目前FPGA的品種很多,有Xilinx公司的Spantan,Vertex系列;A1tera公司的FIEX系列;Actel公司的ProASIC系列以及TI公司的TPC系列等。本文以Xilinx公司的Virtex-Ⅱ系列器件為例介紹FPGA的內部結構,由圖1中可以看出,此系列的FPGA總體上由5大模塊組成。

可編程邏輯模塊(CLB):由4個(gè)相同的Slice和附加邏輯電路構成,用于實(shí)現組合邏輯和復雜時(shí)序邏輯。
塊存儲器(BlockRAM):?jiǎn)挝蝗萘渴?8 Kb;每一個(gè)BlockRAM均可配置為單端口或雙端口RAM;利用Core Generator,還可將BlockRAM資源配置為雙端口FIFO。
可編程輸入/輸出模塊(IOB):提供FPGA內部邏輯與器件封裝管腳之間的接口,輸入/輸出速率可達840 MHz。
數字時(shí)鐘管理器(DCM):可以消除時(shí)鐘的延遲、頻率的合成、時(shí)鐘相位的調整,輸入頻率范圍為24~420 MHz。
乘法器:有符號乘法運算速率可達到140 MHz的18位×18位的二進(jìn)制乘法器,利用這些乘法器進(jìn)行讀取/相乘/累加的多次迭代操作,可實(shí)現高速和高效的DSP濾波器結構。
由于FPGA性能的不斷提高,它在數字信號處理領(lǐng)域的應用越來(lái)越廣泛,尤其在移動(dòng)通信領(lǐng)域積累了很多的成功經(jīng)驗,因而,在一種基于“軟件無(wú)線(xiàn)電”技術(shù)TD-SCDMA通用開(kāi)發(fā)平臺中,選擇使用FPGA來(lái)拓展平臺的使用范圍,并為平臺以后的性能提升留下空間。
2 基于“軟件無(wú)線(xiàn)電”技術(shù)的TD-SCDMA通用開(kāi)發(fā)平臺
軟件無(wú)線(xiàn)電技術(shù)的基本原理就是將寬帶A/D和D/A轉換器盡可能地靠近天線(xiàn),從而以軟件方式來(lái)代替硬件實(shí)施信號處理。采用軟件無(wú)線(xiàn)電的優(yōu)越性在于基于同樣的硬件環(huán)境,采用不同的軟件就可以實(shí)現不同的功能。這一點(diǎn)和可編程邏輯器件有著(zhù)異曲同工之處,因此,可編程邏輯器件在軟件無(wú)線(xiàn)電中得到了越來(lái)越廣泛的應用。
TD-SCDMA標準要求軟件無(wú)線(xiàn)電完成接收信號經(jīng)A/D轉換后的數據解調、濾波、基帶信號處理等任務(wù),其中包括了聯(lián)合檢測、Viterbi譯碼、Turbo譯碼等復雜的算法,這些任務(wù)無(wú)一不涉及到巨大的運算量。以目前的硬件處理速度來(lái)看,僅靠DSP來(lái)完成上述功能是不可能的。因而在應用中,一般由FPGA來(lái)完成需要快速和較為固定的運算,由DSP來(lái)完成靈活多變和運算量較大的任務(wù)?;谝陨戏治?,設計了以DSP+FPGA為信號處理核心的基于“軟件無(wú)線(xiàn)電”技術(shù)的TD-SCD-MA通用開(kāi)發(fā)平臺。該平臺以RF器件、A/D器件、大容量FPGA、高速DSP、高性能ARM為基礎,以軟件為核心,既兼顧速度和靈活性,又具有較強的通用性,支持在同一種標準增強版本之間的移植,并能夠支持完全不同的標準,有助于系統的升級和多模運行。
開(kāi)發(fā)平臺中的OMAP1612(ARM926EJS+DSP5510)芯片是TI推出的適合第三代移動(dòng)通信的雙核多媒體應用平臺,其DSP的CPU主時(shí)鐘工作在160 MHz或200 MHz,具有高達400 MIPS的處理能力。FPGA芯片采用Xilinx公司的200萬(wàn)門(mén)Virtex-Ⅱ系列器件XC2V2000,它采用0.15 μm工藝設計,具有8層金屬工藝;其內部時(shí)鐘頻率可達到420 MHz,輸入/輸出速率可達840 MHz。負責A/D,D/A處理的芯片采用Maxim公司的MAX197 00,該芯片工作時(shí)鐘為5.12 MHz,提供了雙10 b,7.5 MSPS的Rx(ADC),Tx(DAC)通路。
在該平臺中,FPGA與DSP之間的數據傳輸效率是它們實(shí)現各自功能的基礎。根據OMAP1612的數據手冊,平臺采用MeBSP2接口來(lái)完成它們之間的數據傳輸;對控制信息的傳輸、RF模塊和A/D模塊的配置都由SPI接口來(lái)完成;A/D模塊到FPGA的數據接口根據MAX19700芯片的數據手冊來(lái)編寫(xiě)。以上三個(gè)接口必須在FPGA端模擬出來(lái),才能完成FPGA與其他器件之間的數據控制和傳輸。
3 程序設計
3.1 McBSP接口
McBSP(Multiehannel Buffered Serial Port),即多通道緩沖串口。TMS320VC5510芯片有3個(gè)高速、全雙工MeBSP串口,McBSP串口是在標準同步串口的基礎上擴展而來(lái),它能提供強大的同步串口通信機制,速度可達100 Mb/s?;贛eBSP的優(yōu)異性能,McBSP被用來(lái)在FPGA和DSP之間傳輸有效數據信息。
McBSP包括一個(gè)數據流路徑和一個(gè)通過(guò)6個(gè)引腳連接到外部器件的控制路徑,這6個(gè)引腳分別是DX(數據發(fā)送)、DR(數據接收)、CLKX(發(fā)送時(shí)鐘)、CLKR(接收時(shí)鐘)、FSX(發(fā)送幀同步)、FSR(接受幀同步)。有效的數據經(jīng)McBSP串口通過(guò)DR和DX引腳和外部設備通信,同步控制信號則由CLKX,CLKR,FSX,FSR等4只引腳來(lái)實(shí)現。圖2中簡(jiǎn)要畫(huà)出了McBSP發(fā)送/接收的基本時(shí)序圖。

McBSP的具體實(shí)現在參考文獻中有極為詳細的介紹,這里不再贅述。
3.2 SPI接口
SPI接口是由Motorola公司推出的一種雙向、四線(xiàn)串行外圍設備接口,專(zhuān)門(mén)用來(lái)和可以提供四線(xiàn)串口的外部設備傳輸數據。四線(xiàn)串口信號包括時(shí)鐘信號、設備使能信號、數據輸入、數據輸出,傳輸串行數據時(shí)高位優(yōu)先。
SPI可以使用MCU_DSP協(xié)議或者DMA協(xié)議在主/從模式下運行。在主模式下,它提供5個(gè)片選,支持多達5個(gè)串行設備,其中4個(gè)片選對外部設備,此模式下的最大數據傳輸速率是19.2 Mb/s或12 Mb/s;在從模式下,SPI有它自己的片選,數據輸出的時(shí)鐘由擁有較低速率的外部設備提供。SPI發(fā)送/接收基本時(shí)序圖如圖3所示。

由于內部移位寄存器是基于一個(gè)環(huán)形(FIFO規則),故讀、寫(xiě)過(guò)程必須時(shí)刻同步;只要任一發(fā)送時(shí)鐘產(chǎn)生,數據發(fā)送就會(huì )啟動(dòng);在移位寄存器時(shí)鐘SRCLK的上升或下降沿,發(fā)送或接收的數據被移入或移出。
3.3 與MAX19700的接口
根據Maxim公司的MAX19700芯片的數據手冊,該芯片的工作時(shí)鐘為5.12 MHz,它提供了雙10 b,7.5 MSPS的Rx(ADC),Tx(DAC)通路。圖4描述了A/D轉換時(shí)的時(shí)序圖。

MAX19700芯片的接收或發(fā)送開(kāi)關(guān)是由專(zhuān)用引腳T/R來(lái)控制的;芯片的SPI接口用來(lái)接收配置數據,不受專(zhuān)用引腳T/R的控制。
3.4 功能模塊設計
Turbo編碼/譯碼、Viterbi譯碼、FIR濾波器以及快速傅里葉變換和反變換(FFT/IFFT)都可以利用Xilinx公司提供的ipcore來(lái)實(shí)現。因為這些模塊都非常成熟,其可編程性能好、算法先進(jìn)、延遲小、占用資源少,直接使用要節省很多時(shí)間,可以縮短產(chǎn)品的開(kāi)發(fā)周期。當然,Turbo編碼/譯碼器和Viterbi譯碼器要購買(mǎi)才能商用,但在前期測試時(shí)可以申請評估版本使用。
3.5 資源利用率
以上接口程序和功能模塊是在Xilinx的集成開(kāi)發(fā)環(huán)境ISE 9.1中,使用Verilog HDL硬件描述語(yǔ)言完成代碼編寫(xiě)的zxz b,綜合結果如下:

一般而言,Xilinx芯片的資源利用率看Slice和Slice Flip Flops兩項數據就可以,這兩項數據最好保持在50%~70%之間。這樣,既可以最大限度地發(fā)揮芯片的性能,也為以后的平臺拓展留下足夠的空間。從上面的數據可以看出,Xilinx芯片的資源利用率是非常理想的。
4 結語(yǔ)
隨著(zhù)FPGA各項性能的不斷提高,已經(jīng)越來(lái)越顯示出它在數字信號處理中的優(yōu)越性;本文在一種基于“軟件無(wú)線(xiàn)電”技術(shù)的TD-SCDMA通用開(kāi)發(fā)平臺中,以FPGA作為DSP的協(xié)處理器,用來(lái)完成Turbo編碼/譯碼,Viterbi譯碼以及快速傅里葉變換和反變換(FFT/IFFT)等數據量大、重復性強、速度要求高的數字信號處理運算,使平臺具有很好的硬件靈活性、軟件可編程能力和較低的系統成本。測試表明,平臺的各項性能均能夠達到3GPP的標準,具有很好的市場(chǎng)前景。
fpga相關(guān)文章:fpga是什么
評論