基于FPGA的可配置通信平臺(tái)設(shè)計(jì)
【關(guān)鍵詞】:FPGA,配置,重構(gòu),DSP,SOPC
1 引言
為了適應(yīng)通信應(yīng)用要求的多樣性, 需要一種可以實(shí)現(xiàn)快速設(shè)計(jì)、快速驗(yàn)證、快速移植的軟硬件驗(yàn)證與測(cè)試平臺(tái)。該平臺(tái)可以提供通信系統(tǒng)最基本的硬件架構(gòu)、軟件環(huán)境、靈活的接口以及系統(tǒng)可配置的設(shè)計(jì)功能,方便用戶根據(jù)應(yīng)用要求在該平臺(tái)上設(shè)計(jì)和配置所需的通信系統(tǒng),并測(cè)試該系統(tǒng)的功能和性能,進(jìn)而直接在該平臺(tái)上實(shí)現(xiàn)設(shè)計(jì)到設(shè)備的轉(zhuǎn)化。
該平臺(tái)的實(shí)現(xiàn)有基于DSP和基于FPGA兩種解決方案 [1]?;贒SP的實(shí)現(xiàn)方式中,固定的數(shù)據(jù)總線寬度是當(dāng)前主流DSP處理器的一個(gè)瓶頸,且只適合于軟件可重構(gòu)設(shè)計(jì),此外還面臨并行性等問(wèn)題。相反,基于FPGA的實(shí)現(xiàn)方式既可以解決并行性和順序性的矛盾,又具有大容量、高速度、高靈活性和軟硬件重構(gòu)的優(yōu)勢(shì),故基于FPGA的解決方案更具實(shí)用性。
2 平臺(tái)設(shè)計(jì)
本開(kāi)發(fā)平臺(tái)采用基于FPGA的解決方案,利用Matlab、Modlesim以及Altera公司的綜合/配置/下載專用軟件等相關(guān)工具,在PC環(huán)境下構(gòu)建出一個(gè)軟件開(kāi)發(fā)平臺(tái),用于算法驗(yàn)證和性能仿真;利用基于FPGA的硬件平臺(tái)――如Altera的DSP 開(kāi)發(fā)板――來(lái)完成設(shè)計(jì)的下載、驗(yàn)證與測(cè)試;并通過(guò)定制的內(nèi)嵌軟核CPU實(shí)現(xiàn)對(duì)系統(tǒng)內(nèi)部各功能模塊和存儲(chǔ)器、I/O接口等資源模塊的配置和管理,從而達(dá)到按不同通信系統(tǒng)的要求和特點(diǎn)迅速完成設(shè)計(jì)、驗(yàn)證和移植的目的,此外,還能靈活的修改、升級(jí)甚至重新配置。
2.1平臺(tái)的構(gòu)建
設(shè)計(jì)涉及到具體的芯片信息,使得目前不同的FPGA芯片的設(shè)計(jì)流程有所不同,無(wú)法完全實(shí)現(xiàn)采用較為通用的軟件進(jìn)行前端設(shè)計(jì)(包括系統(tǒng)設(shè)計(jì)、算法開(kāi)發(fā)、功能仿真和綜合實(shí)現(xiàn)),采用芯片支持的專用軟件進(jìn)行后端設(shè)計(jì)(包括時(shí)序仿真、布局布線和下載)。因此,采用Altera的FPGA后,平臺(tái)組成分為三部分:基于PC的設(shè)計(jì)和測(cè)試軟件部分,設(shè)計(jì)和測(cè)試的硬件開(kāi)發(fā)板部分,觀測(cè)和其他輔助部分。
其中,基于PC的設(shè)計(jì)和測(cè)試軟件部分包括設(shè)計(jì)和測(cè)試的各種軟件,即:Matlab/Simulink、Modlesim、DspBuilder、SOPCBuilder、Quartus等;硬件開(kāi)發(fā)板則可用Altera公司的NIOS、ARM、DSP各種開(kāi)發(fā)系統(tǒng),也可以根據(jù)需要自主開(kāi)發(fā)添加各種軟硬件應(yīng)用接口并對(duì)外圍器件進(jìn)行調(diào)配后的FPGA開(kāi)發(fā)板;觀測(cè)和其他輔助部分包括平臺(tái)內(nèi)觀測(cè)的人機(jī)界面等軟硬件、平臺(tái)外觀測(cè)的示波器或邏輯分析儀以及噪聲發(fā)生器、信號(hào)發(fā)生器、接收機(jī)等。
2.2平臺(tái)的設(shè)計(jì)測(cè)試流程
平臺(tái)的設(shè)計(jì)測(cè)試流程實(shí)現(xiàn)框圖如下圖1所示:
圖1
平臺(tái)的設(shè)計(jì)流程側(cè)重于系統(tǒng)的算法驗(yàn)證和控制實(shí)現(xiàn),其中算法部分主要通過(guò)DSP Builder實(shí)現(xiàn),為圖中用實(shí)線連接部分;控制部分由Nios II IDE和SOPC Builder完成,為圖中短線連接部分。
平臺(tái)的測(cè)試流程主要結(jié)合開(kāi)發(fā)板實(shí)現(xiàn)設(shè)計(jì)指標(biāo)的驗(yàn)證,為圖中點(diǎn)線連接部分,有外部觀測(cè)和內(nèi)部觀測(cè)兩種方法。其中,外部觀測(cè)通過(guò)外加示波器或邏輯分析儀完成;內(nèi)部觀測(cè)可以通過(guò)平臺(tái)的人機(jī)操作界面完成,也可以通過(guò)配套軟件來(lái)實(shí)現(xiàn),根據(jù)復(fù)雜度和測(cè)試內(nèi)容的不同分為自動(dòng)流程和手動(dòng)流程。
自動(dòng)流程包括如下四個(gè)步驟[1]:(1)Matlab/Simulink/DspBuilder建模。(2)平臺(tái)仿真。(3)DspBuilder完成VHDL轉(zhuǎn)換、綜合、適配、下載。(4)嵌入式邏輯分析儀――SignalTap完成實(shí)時(shí)測(cè)試。手動(dòng)流程包括如下七個(gè)步驟:(1)Matlab/Simulink/DspBuilder建模。(2)平臺(tái)仿真。(3)DspBuilder完成VHDL轉(zhuǎn)換、綜合、適配。(4)Modlesim對(duì)TestBench功能仿真。(5)Quartus II完成適配、時(shí)序仿真。(6)芯片引腳鎖定、配置下載、編程。(7)嵌入式邏輯分析儀――SignalTap完成實(shí)時(shí)測(cè)試。
3可配置設(shè)計(jì)
在可重構(gòu)系統(tǒng)中,硬件的配置信息可以類似軟件程序一樣被動(dòng)態(tài)調(diào)用或修改,進(jìn)而達(dá)到電路的實(shí)時(shí)重構(gòu),這樣既保留了硬件的快速性,又兼具軟件的靈活性。因此,實(shí)時(shí)電路重構(gòu)的實(shí)質(zhì)就是利用可編程器件能多次重復(fù)配置資源和功能的特性,既可以在運(yùn)行時(shí)根據(jù)需要?jiǎng)討B(tài)改變系統(tǒng)的部分參數(shù)或部分電路結(jié)構(gòu),也可以通過(guò)重加載完成整個(gè)系統(tǒng)的軟硬件升級(jí)[2]。
整個(gè)系統(tǒng)的可配置內(nèi)容和實(shí)現(xiàn)流程[3]如圖2所示:
圖2
如上圖所示,平臺(tái)的可配置設(shè)計(jì)主要體現(xiàn)在四個(gè)方面:參數(shù)的可重加載;模塊的可重選擇;系統(tǒng)的可重下載;硬件的可重定制。
參數(shù)的可重加載是針對(duì)類型相同,參數(shù)不同的信號(hào)與系統(tǒng),其系統(tǒng)結(jié)構(gòu)基本不變,只是系統(tǒng)中模塊的參數(shù)可以重新進(jìn)行設(shè)置和調(diào)整。
模塊的可重選擇是對(duì)結(jié)構(gòu)相似,類型不同的信號(hào),只對(duì)系統(tǒng)中相應(yīng)的部分進(jìn)行重新加載或重新組合。
系統(tǒng)的可重下載是指:如果目前加載的系統(tǒng)用前面兩種調(diào)整方式依然不能滿足要求時(shí),則可以根據(jù)需要重新設(shè)計(jì)下載,或者在需要進(jìn)行系統(tǒng)升級(jí)時(shí)通過(guò)重新下載完成。
硬件的可重定制主要針對(duì)基于本平臺(tái)進(jìn)行嵌入式系統(tǒng)的開(kāi)發(fā),這也是本方案與傳統(tǒng)方案的最大區(qū)別之處。它通過(guò)采用Altera公司的SOPC Builder解決方案來(lái)實(shí)現(xiàn)。即將處理器、存儲(chǔ)器、I/O口、總線等系統(tǒng)設(shè)計(jì)需要的功能模塊集成在一個(gè)FPGA芯片上,從而構(gòu)建出一個(gè)硬件可定制的片上系統(tǒng)。
4基于平臺(tái)的設(shè)計(jì)實(shí)例
下面我們結(jié)合簡(jiǎn)單全數(shù)字通用接收機(jī)設(shè)計(jì)實(shí)例來(lái)說(shuō)明該平臺(tái)可配置的特點(diǎn)和設(shè)計(jì)測(cè)試流程。
全數(shù)字通用接收機(jī)[4]的基本結(jié)構(gòu)為:解調(diào)+解碼+數(shù)據(jù)恢復(fù)+配置控制。其中輸入信號(hào)的格式可以是連續(xù)或離散方式、可以是固定或可變速率;解碼方式為RS或Turbo或Viterbi;解調(diào)方式是M-PSK系列或M-QAM系列。如下圖3所示:
圖3
系統(tǒng)配置舉例:實(shí)現(xiàn)連續(xù)模式下,數(shù)據(jù)速率1Mbit/s,DQPSK調(diào)制,RS編碼,2Mhz載波,8dB信噪比,1%頻偏,1%相偏,16倍采樣輸出信號(hào)的同步、解調(diào)和解碼。模塊的選擇和參數(shù)的配置方法流程如前,配置后的系統(tǒng)[5][6]如下圖4所示:
圖4
具體算法實(shí)現(xiàn):數(shù)據(jù)源采用連續(xù)或間斷的M序列模擬連續(xù)和突發(fā)信號(hào),速率通過(guò)平臺(tái)時(shí)鐘控制;調(diào)制解調(diào)部分的數(shù)控振蕩器NCO、Fir濾波器和RS編解碼由IP core實(shí)現(xiàn);軟件仿真階段,頻偏相偏通過(guò)調(diào)制端NCO的頻率和相位控制字實(shí)現(xiàn),噪聲通過(guò)程序內(nèi)加實(shí)現(xiàn);硬件測(cè)試階段,頻差、相差、時(shí)鐘誤差、噪聲則在直接通過(guò)外接實(shí)際信號(hào)發(fā)生設(shè)備或噪聲源實(shí)現(xiàn)。
測(cè)試流程:仿真階段采用程序內(nèi)加噪聲模擬并通過(guò)程序自行實(shí)時(shí)比較的方法,下載后測(cè)試則采用外加噪聲源后通過(guò)實(shí)時(shí)回讀數(shù)據(jù)并自動(dòng)比較的方法。其中回讀數(shù)據(jù)采用自動(dòng)流程,其原理是通過(guò)將設(shè)置為測(cè)試點(diǎn)的數(shù)據(jù)實(shí)時(shí)存儲(chǔ)到一定容量的片內(nèi)RAM中,并利用下載線再讀回到軟件環(huán)境中進(jìn)行顯示、比較或存儲(chǔ)。
測(cè)試結(jié)果:圖5是在輸入信號(hào)的X、Y分路信號(hào)和合路后加噪前后的信號(hào),圖6是收端恢復(fù)出X、Y路濾波前后的信號(hào),圖7是收發(fā)兩端X、Y分路和合路后在硬件平臺(tái)上的回讀信號(hào),其中第1、3、5行是輸入的X、Y和分路前的數(shù)據(jù),第2、4、6行是恢復(fù)后的X、Y和合路后的數(shù)據(jù),包含了硬件實(shí)際的延時(shí)。系統(tǒng)采用16倍采樣,圖5圖6觀測(cè)1024個(gè)采樣點(diǎn),圖7觀測(cè)1024個(gè)回讀采樣點(diǎn)。
圖5 圖6 圖7
5總結(jié)
本文采用實(shí)時(shí)軟硬件重構(gòu)技術(shù)設(shè)計(jì)了一種基于FPGA的、通用可配置的通信開(kāi)發(fā)與測(cè)試平臺(tái),其中,內(nèi)嵌軟核CPU協(xié)調(diào)各模塊的工作和提供用戶接口,F(xiàn)PGA完成DSP運(yùn)算等主要工作。并通過(guò)軟硬件的可配置能實(shí)現(xiàn)該平臺(tái)多用途和可升級(jí)的設(shè)計(jì)。
作為一種SOPC的解決方案,該平臺(tái)已經(jīng)完成了實(shí)際應(yīng)用開(kāi)發(fā),并為各種通信系統(tǒng)從軟件仿真到硬件實(shí)現(xiàn)、從設(shè)計(jì)驗(yàn)證到設(shè)備測(cè)試提供了一種實(shí)用、快速而又具高性價(jià)比的實(shí)現(xiàn)方法。
參考文獻(xiàn)
[1] SOPC技術(shù)實(shí)用教程,潘松 黃繼業(yè) 曾毓,清華大學(xué)出版社,2005。
[2] 一種可重構(gòu)處理器的設(shè)計(jì),董培良 俞承芳,復(fù)旦學(xué)報(bào)(自然科學(xué)版),2004年2月第43 卷 第1期。
[3] 挑戰(zhàn)SOC―基于NIOS的SOPC設(shè)計(jì)與實(shí)踐,周博 邱衛(wèi)東 陳燕 周學(xué)功 方茁等,清華大學(xué)出版社,2004。
[4] Carrier frequency recovery in all-digital modems for burst-mode transmissions, Marco Luke, Ruggero Reggiannini, IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 43, NO. 2/3/4, 1995。
[5] 基于FPGA的QPSK解調(diào)器的設(shè)計(jì)與實(shí)現(xiàn),趙海潮 周榮花 沈業(yè)兵,微計(jì)算機(jī)信息,2004年第20卷第7期。
[6] Advanced Electronic Communications Systems Sixth Edition(Sixth Edition),Wayne Tomasi,Publishing House of Electronics Industry,2004。
評(píng)論