專利名稱:一種基于以太網(wǎng)加載fpga和dsp的平臺(tái)及其實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字通信領(lǐng)域,尤其是涉及一種基于以太網(wǎng)加載FPGA和DSP的平臺(tái)及其實(shí)現(xiàn)方法。
背景技術(shù):
數(shù)字通信是一種用數(shù)字信號(hào)作為載體來傳輸信息的通信方式,可傳輸電報(bào)、數(shù)字?jǐn)?shù)據(jù)等數(shù)字信號(hào),也可傳輸經(jīng)過數(shù)字化處理的語聲和圖像等模擬信號(hào)。數(shù)字通信系統(tǒng)通常由用戶設(shè)備、編碼和解碼、調(diào)制和解調(diào)、加密和解密、傳輸和交換設(shè)備等組成。數(shù)字通信可以傳輸電報(bào)、數(shù)據(jù)等數(shù)字信號(hào),也可傳輸經(jīng)過數(shù)字化處理的語音和圖像等模擬信號(hào)。與模擬通信相比,數(shù)字通信具有許多突出優(yōu)點(diǎn)(1)抗干擾能力強(qiáng),通信距離遠(yuǎn)且不存在噪聲積累;(2)適應(yīng)各種通信業(yè)務(wù)要求,便于加密,保密性好;(3)通信設(shè)備的制造和維護(hù)簡(jiǎn)便,便于實(shí)現(xiàn)通信網(wǎng)的計(jì)算機(jī)管理;(4)易于集成和微型化,使通信設(shè)備微型化,功耗低、重量輕。嵌入式技術(shù)是當(dāng)今發(fā)展最快、應(yīng)用最廣、最有發(fā)展前景的主要技術(shù)之一,已被廣泛應(yīng)用于工業(yè)控制、通信、信息家電、航空航天等各個(gè)領(lǐng)域??v觀嵌入式技術(shù)的發(fā)展過程,大致經(jīng)歷四個(gè)階段(1)以單芯片為核心的可編程控制器形式的系統(tǒng);(2)以嵌入式CPU為基礎(chǔ)、以簡(jiǎn)單操作系統(tǒng)為核心的嵌入式系統(tǒng);(3)以嵌入式操作系統(tǒng)為標(biāo)志的嵌入式系統(tǒng);(4)以hternet為標(biāo)志的嵌入式系統(tǒng)。隨著嵌入式系統(tǒng)技術(shù)日益完善,32位微處理器在該系統(tǒng)中占主導(dǎo)地位,嵌入式操作系統(tǒng)已經(jīng)從簡(jiǎn)單走向成熟,它與網(wǎng)絡(luò)的結(jié)合日益密切,因而,嵌入式系統(tǒng)應(yīng)用將日益廣泛。FPGA(現(xiàn)場(chǎng)可編程邏輯器)可以用VHDL或VerilogHDL來編程,靈活性強(qiáng),由于能夠進(jìn)行編程、除錯(cuò)、再編程和重復(fù)操作,因此可以充分地進(jìn)行設(shè)計(jì)開發(fā)和驗(yàn)證,當(dāng)電路有少量改動(dòng)時(shí),更能顯示出FPGA的優(yōu)勢(shì),其現(xiàn)場(chǎng)編程能力可以用來進(jìn)行系統(tǒng)升級(jí)或除錯(cuò);而 DSP(數(shù)字信號(hào)處理)主要是用來計(jì)算的,如進(jìn)行加密解密、調(diào)制解調(diào)等,優(yōu)勢(shì)是強(qiáng)大的數(shù)據(jù)處理能力和較高的運(yùn)行速度,微處理器PowerPC具有比較強(qiáng)的事務(wù)管理功能,可以用來運(yùn)行界面以及應(yīng)用程序等,其優(yōu)勢(shì)主要體現(xiàn)在控制方面。綜上所述,隨著數(shù)字通信技術(shù)和嵌入式系統(tǒng)技術(shù)的發(fā)展,包含微處理器、FPGA和 DSP的復(fù)雜系統(tǒng)設(shè)計(jì)將會(huì)越來越多,而傳統(tǒng)的仿真器加載方式就顯得極其不方便,程序代碼的引導(dǎo)加載缺乏靈活性和高效性,現(xiàn)有技術(shù)中數(shù)字處理系統(tǒng)在應(yīng)用過程中一般是采用仿真器進(jìn)行程序加載,無法實(shí)現(xiàn)遠(yuǎn)程的加載。在產(chǎn)品組裝成品進(jìn)行系統(tǒng)聯(lián)調(diào)時(shí)需要多次對(duì)FPGA、 DSP程序進(jìn)行優(yōu)化和完善,在對(duì)程序進(jìn)行更新時(shí)就顯得很不方便,每次更新程序都需要先解除系統(tǒng)連接,然后拆卸產(chǎn)品再用仿真器對(duì)該主控單元進(jìn)行FPGA、DSP程序進(jìn)行升級(jí)更新,整個(gè)過程繁瑣并極其費(fèi)時(shí)費(fèi)力,嚴(yán)重制約研制進(jìn)程,而且后續(xù)工程應(yīng)用的維護(hù)工作難度也較大。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點(diǎn),提供一種基于以太網(wǎng)加載FPGA和DSP的平臺(tái),使現(xiàn)有復(fù)雜系統(tǒng)設(shè)計(jì)的程序加載更加便利、高效和可靠。本發(fā)明的另一目的在于,提供一種基于以太網(wǎng)加載FPGA和DSP平臺(tái)的實(shí)現(xiàn)方法。為了達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案一種基于以太網(wǎng)加載FPGA和DSP的平臺(tái),包括微處理器、至少一個(gè)FPGA、至少一個(gè)DSP、FLASH存儲(chǔ)模塊及以太網(wǎng)物理層PHY,所述微處理器的網(wǎng)絡(luò)接口引腳和所述以太網(wǎng)物理層PHY的網(wǎng)絡(luò)接口相連接,所述微處理器的數(shù)據(jù)總線、地址總線及控制I/O連接到 FPGA上,所述FLASH存儲(chǔ)模塊和微處理器相連,本平臺(tái)還包括外部以太網(wǎng)接口,所述外部以太網(wǎng)接口通過網(wǎng)絡(luò)隔離濾波器與以太網(wǎng)物理層PHY相連,脫離仿真器而通過外部以太網(wǎng)接口直接與外部計(jì)算機(jī)相連,使用外部計(jì)算機(jī)進(jìn)行遠(yuǎn)程程序代碼加載,通過系統(tǒng)外部網(wǎng)口完成FPGA和DSP的軟件更新。優(yōu)選的,所述以太網(wǎng)物理層PHY選用千兆網(wǎng)以太網(wǎng)收發(fā)芯片88E1111。優(yōu)選的,所述微處理器的數(shù)據(jù)總線、地址總線及控制I/O連接到FPGA上。優(yōu)選的,所述DSP的HPI接口數(shù)據(jù)總線和控制線連接到FPGA上,通過FPGA的接口邏輯設(shè)計(jì)將微處理器和DSP連接起來。優(yōu)選的,采用HPI16模式,16根數(shù)據(jù)線通過FPGA邏輯與微處理器數(shù)據(jù)總線的低16 位相連,將HPI的控制信號(hào)也通過FPGA連接到微處理器上。一種權(quán)利要求1-6中任一項(xiàng)基于以太網(wǎng)加載FPGA和DSP平臺(tái)的實(shí)現(xiàn)方法,包括以下步驟(1)、通過以太網(wǎng)接口將FPGA和DSP的程序代碼傳輸?shù)角度胧较到y(tǒng)的FLASH存儲(chǔ)器中,存儲(chǔ)為二進(jìn)制形式文件;(2)、微處理器從FLASH中讀取即將加載至FPGA的程序代碼;(3)、微處理器通過控制FPGA的從串配置方式,將從FLASH存儲(chǔ)器中讀取的代碼加載至FPGA當(dāng)中;(4)、微處理器從FLASH存儲(chǔ)器中讀取即將加載至DSP的代碼;(5)、微處理器通過主機(jī)引導(dǎo)方式,將讀取的代碼從DSP的HPI接口中加載至DSP 的處理器中。所述步驟(1)包括以下步驟(71)、選定網(wǎng)絡(luò)通信協(xié)議為TCP/IP協(xié)議;(72)、采用Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序的體系來完成網(wǎng)絡(luò)接口的訪問控制,驅(qū)動(dòng)程序的設(shè)計(jì)包括以太網(wǎng)物理層PHY的初始化、數(shù)據(jù)包的發(fā)送和數(shù)據(jù)包的接收,所述物理層PHY選取為88E1111芯片,通過HWCFG MODE [3 0]確定其操作模式,設(shè)定DIS_FC為0可以自適應(yīng)選擇FIBER、COPPER接口,對(duì)其進(jìn)行物理層PHY初始化;所述的數(shù)據(jù)包的發(fā)送是先啟動(dòng)網(wǎng)口,發(fā)送函數(shù)首先找到一個(gè)可用的數(shù)據(jù)緩沖區(qū)描述符Buffer Descriptor,將上層軟件組好的包的地址賦給該BD的指針,置相應(yīng)的標(biāo)志位和長(zhǎng)度,然后通知DMA來搬運(yùn),搬運(yùn)結(jié)束后,發(fā)送函數(shù)會(huì)清除相應(yīng)的BD標(biāo)識(shí)位,DMA將數(shù)據(jù)從內(nèi)存搬運(yùn)到iTx FIFO后,通過GMII 口發(fā)送到以太網(wǎng)物理層PHY ;所述的數(shù)據(jù)包接收是檢測(cè)TSECn_RX_DV和TSECn_C0L信號(hào),并檢查有效的前置同步信號(hào)preamble ο步驟(3)中,所述從串配置模式是將配置比特流載入到FPGA,包括四個(gè)階段(81)、清除配置內(nèi)存;(82)、初始化;(83)、載入配置數(shù)據(jù);(別)、設(shè)備驅(qū)動(dòng)。 步驟(5)中,所述微處理器通過FPGA進(jìn)行訪問HPI接口的HPIC、HPIA、HPIDA和 HPIDF這4個(gè)寄存器,實(shí)現(xiàn)和TMS320C6416的通信,從而完成引導(dǎo)加載DSP程序代碼。步驟(5)中,所述讀取的代碼,還需要用Hex工具進(jìn)行轉(zhuǎn)換,然后使用自編程序?qū)⒖蓤?zhí)行的程序代碼提取出來,封裝成幀。相對(duì)于現(xiàn)有技術(shù),本發(fā)明具有以下優(yōu)點(diǎn)及有益效果1、本發(fā)明實(shí)現(xiàn)了基于以太網(wǎng)進(jìn)行的遠(yuǎn)程加載FPGA和DSP的方法,脫離了仿真器直接使用外部計(jì)算機(jī)進(jìn)行遠(yuǎn)程、大容量的程序代碼加載方法,可通過系統(tǒng)外部網(wǎng)口快速完成對(duì)系統(tǒng)的FPGA和DSP的軟件更新。2、本發(fā)明集成了多項(xiàng)關(guān)鍵技術(shù)網(wǎng)絡(luò)接口控制技術(shù)、FPGA從串控制技術(shù)、DSP的 HPI接口控制技術(shù),在加載的方法上更加靈活、高效和可靠。3、本發(fā)明系統(tǒng)設(shè)計(jì)中該方法實(shí)現(xiàn)容易,且具有很強(qiáng)的可操作性、靈活性,由于能夠進(jìn)行編程、除錯(cuò)、再編程和重復(fù)操作,因此可以充分地進(jìn)行設(shè)計(jì)開發(fā)和驗(yàn)證。4、本發(fā)明在基于FPGA和DSP的基礎(chǔ)上,外部計(jì)算機(jī)通過網(wǎng)絡(luò)接口將代碼送給微處理器,并存儲(chǔ)到微處理的FLASH存儲(chǔ)器;然后,由微處理器分別通過FPGA的從串加載模式和 DSP的主機(jī)引導(dǎo)加載(HPI接口)實(shí)現(xiàn)對(duì)FPGA和DSP程序代碼的引導(dǎo)加載,整個(gè)過程快捷、 便利。
圖1是本發(fā)明加載方法流程示意圖;圖2是本發(fā)明的主要接口電路示意圖;圖3是本發(fā)明嵌入式數(shù)字處理系統(tǒng)框圖;圖4是本發(fā)明Iinux網(wǎng)絡(luò)驅(qū)動(dòng)設(shè)備模型圖;圖5是本發(fā)明FPGA的從串配置時(shí)序流程圖;圖6是本發(fā)明所述的DSP的HPI加載流程圖;圖7是本發(fā)明數(shù)據(jù)總線和地址總線定義圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式
作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實(shí)施方式不限于此。實(shí)施例
如圖2所示,本發(fā)明基于以太網(wǎng)加載FPGA和DSP的平臺(tái),包括微處理器、FPGA、 DSP、以太網(wǎng)物理層PHY及外部以太網(wǎng)接口,所述微處理器的網(wǎng)絡(luò)接口引腳和以太網(wǎng)PHY的網(wǎng)絡(luò)接口相連接,以太網(wǎng)物理層PHY通過網(wǎng)絡(luò)隔離濾波器(HX5008)與外部以太網(wǎng)接口相連,微處理器的數(shù)據(jù)總線、地址總線及控制I/O連接到FPGA上,DSP的HPI接口數(shù)據(jù)總線和控制總線也連接到FPGA上,通過FPGA的接口邏輯設(shè)計(jì)將微處理器和DSP連接起來,它是脫離仿真器直接使用的外部計(jì)算機(jī)進(jìn)行的遠(yuǎn)程、大容量的程序代碼加載方法,通過系統(tǒng)外部網(wǎng)口快速完成FPGA和DSP的軟件更新。所述以太網(wǎng)物理層PHY采用MARVELL公司PHY協(xié)議層千兆網(wǎng)卡88E1111,88E1111 是高性能千兆以太網(wǎng)收發(fā)芯片,可以完成所有以太網(wǎng)物理層PHY,支持全雙工或半雙工的 10M、100M、1000M三速以太網(wǎng),支持8位數(shù)據(jù)總線;微處理器、以太網(wǎng)物理層PHY、FPGA及DSP 的接口基本電路如圖3所示;微處理器的網(wǎng)絡(luò)接口引腳和以太網(wǎng)物理層PHY的網(wǎng)絡(luò)接口相連接,通過硬件配置模式HWCFG MODE [3:0]來確定88E1111的操作模式,從而確定需要連接的引腳,如圖3所示該設(shè)計(jì)選擇了 RGMII模式,以太網(wǎng)PHY通過網(wǎng)絡(luò)隔離濾波器HX5008與外部以太網(wǎng)接口相連。所述FPGA采用從串模式進(jìn)行加載程序代碼,微處理器使用通用I/O管腳來配置 FPGA,此外還需要設(shè)置M[2:0]信號(hào)以選擇配置模式,根據(jù)芯片)(C3S1000和)(C4VSX35的模式設(shè)置其從串模式的配置均設(shè)置為M[2:0] = 111。所述微處理器的數(shù)據(jù)總線、地址總線及控制I/O連接到FPGA上,DSP的HPI接口數(shù)據(jù)總線和控制線也連接到FPGA上,通過FPGA的接口邏輯設(shè)計(jì)將微處理器和DSP連接起來;引導(dǎo)配置引腳BEA[19:18]決定了 TMS320C6416的引導(dǎo)加載模式,將DSP的EMIFB接口引腳BEA[19:18]通過上下拉電阻配置成BEA[19:18] = 01,即選擇DSP為HPI加載方式。FPGA接口所使用引腳的詳細(xì)描述見表1 :
權(quán)利要求
1.一種基于以太網(wǎng)加載FPGA和DSP的平臺(tái),包括微處理器、至少一個(gè)FPGA、至少一個(gè)DSP、FLASH存儲(chǔ)模塊及以太網(wǎng)物理層PHY,所述微處理器的網(wǎng)絡(luò)接口引腳和所述以太網(wǎng)物理層PHY的網(wǎng)絡(luò)接口相連接,所述微處理器的數(shù)據(jù)總線、地址總線及控制I/O連接到FPGA 上,所述FLASH存儲(chǔ)模塊和微處理器相連,其特征在于,還包括外部以太網(wǎng)接口,所述外部以太網(wǎng)接口通過網(wǎng)絡(luò)隔離濾波器與以太網(wǎng)物理層PHY相連,脫離仿真器而通過外部以太網(wǎng)接口直接與外部計(jì)算機(jī)相連,使用外部計(jì)算機(jī)進(jìn)行遠(yuǎn)程程序代碼加載,通過系統(tǒng)外部網(wǎng)口完成FPGA和DSP的軟件更新。
2.根據(jù)權(quán)利要求1所述的一種基于以太網(wǎng)加載FPGA和DSP的平臺(tái),其特征在于,所述以太網(wǎng)物理層PHY采用千兆網(wǎng)以太網(wǎng)收發(fā)芯片88E1111。
3.根據(jù)權(quán)利要求1所述的一種基于以太網(wǎng)加載FPGA和DSP的平臺(tái),其特征在于,所述微處理器的數(shù)據(jù)總線、地址總線及控制I/O連接到FPGA上。
4.根據(jù)權(quán)利要求1所述的一種基于以太網(wǎng)加載FPGA和DSP的平臺(tái),其特征在于,所述 DSP的HPI接口數(shù)據(jù)總線和控制線也連接到FPGA上,通過FPGA的接口邏輯設(shè)計(jì)將微處理器和DSP連接起來。
5.根據(jù)權(quán)利要求1所述的一種基于以太網(wǎng)加載FPGA和DSP的平臺(tái),其特征在于,采用 HPI16模式,16根數(shù)據(jù)線通過FPGA邏輯與微處理器數(shù)據(jù)總線的低16位相連,將HPI的控制信號(hào)也通過FPGA連接到微處理器上。
6.一種權(quán)利要求1-6中任一項(xiàng)所述基于以太網(wǎng)加載FPGA和DSP平臺(tái)的實(shí)現(xiàn)方法,其特征在于,包括以下步驟(1)、通過以太網(wǎng)接口將FPGA和DSP的程序代碼傳輸?shù)那度胧较到y(tǒng)的FLASH存儲(chǔ)器中, 存儲(chǔ)為二進(jìn)制形式文件;(2)、所述的微處理器從FLASH存儲(chǔ)器中讀取即將加載至FPGA的代碼;(3)、微處理器通過控制FPGA的從串配置方式,將從FLASH存儲(chǔ)器中讀取的代碼加載至 FPGA當(dāng)中;(4)、微處理器從FLASH存儲(chǔ)器中讀取即將加載至DSP的代碼;(5)、微處理器通過主機(jī)引導(dǎo)方式,將讀取的代碼從DSP的HPI接口中加載至DSP的處理器中。
7.根據(jù)權(quán)利要求6所述的一種加載FPGA和DSP平臺(tái)的實(shí)現(xiàn)方法,其特征在于,所述步驟⑴包括以下步驟(71)、選定網(wǎng)絡(luò)通信協(xié)議為TCP/IP協(xié)議;(72)、采用Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序的體系來完成網(wǎng)絡(luò)接口的訪問控制,驅(qū)動(dòng)程序的設(shè)計(jì)包括以太網(wǎng)物理層PHY的初始化、數(shù)據(jù)包的發(fā)送和數(shù)據(jù)包的接收;所述物理層PHY選取為88E1111芯片,通過HWCFG MODE [3:0]確定其操作模式,設(shè)定 DIS_FC為0可以自適應(yīng)選擇FIBER、COPPER接口,對(duì)其進(jìn)行物理層PHY初始化;所述的數(shù)據(jù)包的發(fā)送是先啟動(dòng)網(wǎng)口,發(fā)送函數(shù)首先找到一個(gè)可用的數(shù)據(jù)緩沖區(qū)描述符 Buffer Descriptor,將上層軟件組好的包的地址賦給該BD的指針,置相應(yīng)的標(biāo)志位和長(zhǎng)度,然后通知DMA來搬運(yùn),搬運(yùn)結(jié)束后,發(fā)送函數(shù)會(huì)清除相應(yīng)的BD標(biāo)識(shí)位,DMA將數(shù)據(jù)從內(nèi)存搬運(yùn)到Tx FIFO后,通過GMII 口發(fā)送到物理層PHY ;所述的數(shù)據(jù)包接收是檢測(cè)TSECn_RX_DV和TSECn_C0L信號(hào),并檢查有效的前置同步信號(hào) preamble。
8.根據(jù)權(quán)利要求6所述的一種加載FPGA和DSP平臺(tái)的實(shí)現(xiàn)方法,其特征在于,所述從串配置模式是將配置比特流載入到FPGA,包括以下四個(gè)階段(81)、清除配置內(nèi)存;(82)、初始化;(83)、載入配置數(shù)據(jù);(84)、設(shè)備驅(qū)動(dòng)。
9.根據(jù)權(quán)利要求6所述的一種加載FPGA和DSP平臺(tái)的實(shí)現(xiàn)方法,其特征在于,步驟(5) 中,所述微處理器通過FPGA進(jìn)行訪問HPI接口的HPIC、HPIA、HPIDA和HPIDF這4個(gè)寄存器,實(shí)現(xiàn)和TMS320C6416的通信,從而完成引導(dǎo)加載DSP程序代碼。
10.根據(jù)權(quán)利要求6所述的一種加載FPGA和DSP平臺(tái)的實(shí)現(xiàn)方法,步驟(5)中,所述讀取的代碼,還需要用Hex工具進(jìn)行轉(zhuǎn)換,然后使用自編程序?qū)⒖蓤?zhí)行的程序代碼提取出來, 封裝成幀。
全文摘要
本發(fā)明涉及基于以太網(wǎng)加載FPGA和DSP的平臺(tái)及其實(shí)現(xiàn)方法,該平臺(tái)包括微處理器、至少一個(gè)FPGA、至少一個(gè)DSP、FLASH存儲(chǔ)器、以太網(wǎng)物理層PHY及外部以太網(wǎng)接口,微處理器的網(wǎng)絡(luò)接口引腳和以太網(wǎng)物理層PHY的網(wǎng)絡(luò)接口相連接,微處理器的數(shù)據(jù)總線、地址總線及控制I/O連接到FPGA上,F(xiàn)LASH存儲(chǔ)器和微處理器相連,外部以太網(wǎng)接口通過網(wǎng)絡(luò)隔離濾波器與以太網(wǎng)物理層PHY相連。本發(fā)明實(shí)現(xiàn)容易,有很強(qiáng)的可操作性,脫離仿真器而通過外部以太網(wǎng)接口直接與外部計(jì)算機(jī)相連,使用外部計(jì)算機(jī)進(jìn)行遠(yuǎn)程、大容量的程序代碼加載,通過系統(tǒng)外部網(wǎng)口快速完成FPGA和DSP的軟件更新。
文檔編號(hào)H04L12/56GK102347896SQ20111019701
公開日2012年2月8日 申請(qǐng)日期2011年7月14日 優(yōu)先權(quán)日2011年7月14日
發(fā)明者馮俊濤, 吳湘寧, 周樹槐, 朱偉, 江瑾, 王宗謙, 譚宗安 申請(qǐng)人:廣州海格通信集團(tuán)股份有限公司