基于光纖數(shù)據(jù)傳輸實(shí)現(xiàn)的多板卡fpga程序燒寫方法
【專利摘要】本發(fā)明涉及一種基于光纖數(shù)據(jù)傳輸實(shí)現(xiàn)的多板卡FPGA程序燒寫方法,多塊數(shù)字接收板通過(guò)光纖對(duì)接光纖處理板,光纖處理板通過(guò)光纖將需要更新的FPGA程序同時(shí)傳遞給多塊數(shù)字接收板,數(shù)字接收板將上傳的程序燒寫至FPGA外掛的FLASH中,實(shí)現(xiàn)同時(shí)對(duì)多塊板卡FPGA程序的燒寫。與傳統(tǒng)燒寫程序方法相比,本發(fā)明優(yōu)越性在于:通過(guò)光纖上傳FPGA程序,對(duì)多塊數(shù)字接收板卡同時(shí)進(jìn)行FPGA程序更新;可以較大程度縮短調(diào)試時(shí)間和降低調(diào)試難度。
【專利說(shuō)明】基于光纖數(shù)據(jù)傳輸實(shí)現(xiàn)的多板卡FPGA程序燒寫方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于陣列雷達(dá)信號(hào)處理中的數(shù)字中頻接收領(lǐng)域,涉及一種基于光纖數(shù)據(jù)傳輸實(shí)現(xiàn)的多板卡FPGA程序燒寫方法,針對(duì)多板卡FPGA程序需要修改時(shí),利用光纖上傳更新程序?qū)崿F(xiàn)對(duì)多板卡FPGA程序的同時(shí)燒寫。
【背景技術(shù)】
[0002]隨著大型相控陣?yán)走_(dá)的發(fā)展和上千陣元雷達(dá)的出現(xiàn),在雷達(dá)信號(hào)處理中的數(shù)字接收單元的板卡數(shù)量不斷增加,板卡結(jié)構(gòu)相同并使用相同的FPGA程序,在傳統(tǒng)的雷達(dá)調(diào)試中,數(shù)字接收板的FPGA程序經(jīng)常需要修改和更新,當(dāng)FPGA程序修改和更新時(shí),需要對(duì)多塊板卡逐塊進(jìn)行程序燒寫,通常燒寫一塊板卡的FPGA程序需要十幾到二十分鐘,因此對(duì)多板卡進(jìn)行FPGA程序更新時(shí),需要較長(zhǎng)的程序燒寫時(shí)間,增加了調(diào)試難度和復(fù)雜度。
【發(fā)明內(nèi)容】
[0003]要解決的技術(shù)問(wèn)題
[0004]為了避免現(xiàn)有技術(shù)的不足之處,本發(fā)明提出一種基于光纖數(shù)據(jù)傳輸實(shí)現(xiàn)的多板卡FPGA程序燒寫方法。
[0005]技術(shù)方案
[0006]一種基于光纖數(shù)據(jù)傳輸實(shí)現(xiàn)的多板卡FPGA程序燒寫方法,其特征在于:將多塊數(shù)字接收板通過(guò)光纖對(duì)接光纖處理板,光纖處理板通過(guò)光纖將需要更新的FPGA程序同時(shí)傳遞給多塊數(shù)字接收板,數(shù)字接收板將上傳的程序燒寫至FPGA外掛的FLASH中,具體步驟如下:
[0007]步驟1:當(dāng)數(shù)字接收板FPGA程序需要更新時(shí),使用Xilinx自帶工具M(jìn)PACT將新生成的.bit文件轉(zhuǎn)化為能夠燒入Flash的.bin文件;
[0008]步驟2:在光纖處理板中,利用DSP將bin文件數(shù)據(jù)以二進(jìn)制形式存入外掛SDRAM中,然后將bin文件分成多塊文件,分多次通過(guò)EMIF接口寫入FPGA ;在單次傳數(shù)中,F(xiàn)PGA收到上傳的bin文件數(shù)據(jù)將其緩存在FIFO中;所述每塊文件大小為0x200*32bit ;
[0009]步驟3:光纖處理板上FPGA通過(guò)多路光纖將bin文件傳至多塊數(shù)字接收板FPGA內(nèi);每塊數(shù)字接收板FPGA收到數(shù)據(jù)后緩存至其FIFO中,數(shù)字接收板上DSP通過(guò)EDMA接口將FPGA FIFO中的數(shù)據(jù)讀出,并存入其外掛SDRAM的相應(yīng)地址上;
[0010]步驟4:當(dāng)經(jīng)過(guò)分塊多次上傳的整個(gè)bin文件從光纖處理板中DSP的SDRAM中傳遞到多塊數(shù)字接收板DSP的SDRAM中,數(shù)字接收板上DSP將收到的bin文件從SDRAM中讀出,與步驟I中生成的bin文件進(jìn)行對(duì)比;
[0011]當(dāng)收到的數(shù)據(jù)正確,執(zhí)行下一步驟;
[0012]當(dāng)收到的數(shù)據(jù)不正確,重新執(zhí)行步驟3 ;
[0013]步驟5:每個(gè)數(shù)字接收板FPGA的DSP將SDRAM中的bin文件分成多個(gè)Block文件,通過(guò)EMIF接口以Block為單位,將bin文件寫入FPGA中的相應(yīng)地址;所述FPGA與FLASH通過(guò)異步接口相連,將DSP和FPGA接口的讀寫使能、數(shù)據(jù)和地址,與FPGA和FLASH接口的相應(yīng)信號(hào)對(duì)接起來(lái);
[0014]步驟6:對(duì)FLASH的每個(gè)Block進(jìn)行解鎖,擦除,將相應(yīng)的bin文件寫到對(duì)應(yīng)地址的Block上,講寫入的數(shù)據(jù)讀出進(jìn)行校驗(yàn),當(dāng)操作完多個(gè)Block,且讀出數(shù)據(jù)與寫入數(shù)據(jù)一致時(shí),即完成了對(duì)數(shù)字接收板FPGA外掛FLASH中bin文件的更新。
[0015]有益效果
[0016]本發(fā)明提出的一種基于光纖數(shù)據(jù)傳輸實(shí)現(xiàn)的多板卡FPGA程序燒寫方法,多塊數(shù)字接收板通過(guò)光纖對(duì)接光纖處理板,光纖處理板通過(guò)光纖將需要更新的FPGA程序同時(shí)傳遞給多塊數(shù)字接收板,數(shù)字接收板將上傳的程序燒寫至FPGA外掛的FLASH中,實(shí)現(xiàn)同時(shí)對(duì)多塊板卡FPGA程序的燒寫。
[0017]與傳統(tǒng)燒寫程序方法相比,本發(fā)明優(yōu)越性在于:
[0018]1、通過(guò)光纖上傳FPGA程序,對(duì)多塊數(shù)字接收板卡同時(shí)進(jìn)行FPGA程序更新;
[0019]2、可以較大程度縮短調(diào)試時(shí)間和降低調(diào)試難度。
【專利附圖】
【附圖說(shuō)明】
[0020]圖1:多板卡FPGA程序燒寫系統(tǒng)框圖
[0021]圖2:數(shù)字接收板FPGA程序燒寫實(shí)現(xiàn)框圖
【具體實(shí)施方式】
[0022]現(xiàn)結(jié)合實(shí)施例、附圖對(duì)本發(fā)明作進(jìn)一步描述:
[0023]本發(fā)明實(shí)施例以多塊數(shù)字接收板和I塊光纖處理板為例。數(shù)字接收板上包含一塊Xilinx FPGA-V61xl30t 及其外掛一片專用 FLASH Xcf 128x,并有一片 TIDSP_Tms320c6416及其外掛的一片容量為128Mbit的SDRAM。數(shù)字接收板內(nèi)部,F(xiàn)PGA與DSP通過(guò)EMIF和EDMA接口互連,DSP與其外掛的SDRAM通過(guò)EMIF接口互連,F(xiàn)PGA與其外掛FLASH通過(guò)異步讀寫接口互連。光纖處理板中的主要器件為一片Xilinx FPGA-V61x365t和一片TIDSP-Tms320c6416及其SDRAM,其接口和數(shù)字接收板類似。多塊數(shù)字接收板與光纖處理板之間通過(guò)FPGA自帶的Rocket IO互連。
[0024]步驟1:當(dāng)數(shù)字接收板FPGA程序需要更新時(shí),使用Xilinx自帶工具M(jìn)PACT將新生成的.bit文件轉(zhuǎn)化為能夠燒入Flash的.bin文件,此文件大小為0x53638C*8bit (根據(jù)選取FPGA型號(hào)的不同,此文件大小會(huì)有不同)。
[0025]步驟2:在光纖處理板中,首先利用DSP將此bin文件數(shù)據(jù)從電腦上打開(kāi)并以二進(jìn)制形式存入外掛SDRAM中。然后DSP需要將此bin文件數(shù)據(jù)通過(guò)EMIF接口寫入FPGA。由于bin文件較大,F(xiàn)PGA內(nèi)部FIFO容量有限,需要將bin文件分成多塊,每塊大小為0x200*32bit,分多次寫入FPGA的FIFO中。在單次傳數(shù)中,F(xiàn)PGA收到上傳的bin文件數(shù)據(jù)將其緩存在FIFO中。上述操作過(guò)程均在光纖處理板中完成。
[0026]步驟3: I塊光纖處理板上FPGA通過(guò)多路Rocket 10與多塊數(shù)字接收板上FPGA相連,此時(shí)光纖處理板將FPGA收到的bin文件通過(guò)多路Rocket 10傳至多塊數(shù)字接收板FPGA內(nèi)。數(shù)字接收板FPGA收到數(shù)據(jù)后緩存至其FIFO中,板上DSP通過(guò)EDMA接口將FPGA FIFO中的數(shù)據(jù)讀出,并存入其SDRAM的相應(yīng)地址上。[0027]步驟4:經(jīng)過(guò)分塊多次上傳bin文件,可以將整個(gè)bin文件從光纖處理板中DSP的SDRAM中傳遞到多塊數(shù)字接收板DSP的SDRAM中,此時(shí)數(shù)字接收板會(huì)通過(guò)bin文件的起始和結(jié)束標(biāo)志判斷收到的數(shù)據(jù)是否正確,正確則執(zhí)行下一步驟,不正確則告知光纖處理板重新傳數(shù),重復(fù)步驟3。
[0028]步驟5:數(shù)字接收板FPGA專用FLASH芯片Xcf 128x,容量為128Mbit,共有128個(gè)Block存儲(chǔ)塊(每塊大小為1Mbit),對(duì)FLASH進(jìn)行讀寫操作時(shí)均以Block為單位進(jìn)行操作。存入此bin文件,需要42個(gè)Block。DSP將SDRAM中的bin文件分成42塊,通過(guò)EMIF接口寫入FPGA中的相應(yīng)地址。FPGA與FLASH通過(guò)異步接口相連,我們將DSP和FPGA接口的讀寫使能、數(shù)據(jù)和地址,與FPGA和FLASH接口的相應(yīng)信號(hào)對(duì)接起來(lái),相當(dāng)于DSP直接讀寫FPGA外掛的FLASH。
[0029]步驟6:對(duì)FLASH的每個(gè)Block進(jìn)行解鎖,擦除,將相應(yīng)的bin文件寫到對(duì)應(yīng)地址的Block上,講寫入的數(shù)據(jù)讀出進(jìn)行校驗(yàn),當(dāng)操作完42個(gè)Block,且讀出數(shù)據(jù)與寫入數(shù)據(jù)一致時(shí),即完成了對(duì)數(shù)字接收板FPGA外掛FLASH中bin文件的更新。由于此過(guò)程是在多塊數(shù)字接收板上同時(shí)進(jìn)行的,因此I塊光纖處理板通過(guò)多路Rocket 10完成多塊數(shù)據(jù)接收板FPGA程序的更新,整個(gè)更新過(guò)程大約需要10分鐘。
[0030]將整個(gè)系統(tǒng)關(guān)電,重新加電后,多塊數(shù)字接收板即會(huì)將更新后的FPGA程序從FLASH中加載到FPGA。
【權(quán)利要求】
1.一種基于光纖數(shù)據(jù)傳輸實(shí)現(xiàn)的多板卡FPGA程序燒寫方法,其特征在于:將多塊數(shù)字接收板通過(guò)光纖對(duì)接光纖處理板,光纖處理板通過(guò)光纖將需要更新的FPGA程序同時(shí)傳遞給多塊數(shù)字接收板,數(shù)字接收板將上傳的程序燒寫至FPGA外掛的FLASH中,具體步驟如下: 步驟1:當(dāng)數(shù)字接收板FPGA程序需要更新時(shí),使用Xilinx自帶工具M(jìn)PACT將新生成的.bit文件轉(zhuǎn)化為能夠燒入Flash的.bin文件; 步驟2:在光纖處理板中,利用DSP將bin文件數(shù)據(jù)以二進(jìn)制形式存入外掛SDRAM中,然后將bin文件分成多塊文件,分多次通過(guò)EMIF接口寫入FPGA ;在單次傳數(shù)中,F(xiàn)PGA收到上傳的bin文件數(shù)據(jù)將其緩存在FIFO中;所述每塊文件大小為0x200*32bit ; 步驟3:光纖處理板上FPGA通過(guò)多路光纖將bin文件傳至多塊數(shù)字接收板FPGA內(nèi);每塊數(shù)字接收板FPGA收到數(shù)據(jù)后緩存至其FIFO中,數(shù)字接收板上DSP通過(guò)EDMA接口將FPGAFIFO中的數(shù)據(jù)讀出,并存入其外掛SDRAM的相應(yīng)地址上; 步驟4:當(dāng)經(jīng)過(guò)分塊多次上傳的整個(gè)bin文件從光纖處理板中DSP的SDRAM中傳遞到多塊數(shù)字接收板DSP的SDRAM中,數(shù)字接收板上DSP將收到的bin文件從SDRAM中讀出,與步驟I中生成的bin文件進(jìn)行對(duì)比; 當(dāng)收到的數(shù)據(jù)正確,執(zhí)行下一步驟; 當(dāng)收到的數(shù)據(jù)不正確,重新執(zhí)行步驟3 ; 步驟5:每個(gè)數(shù)字接收板FPGA的DSP將SDRAM中的bin文件分成多個(gè)Block文件,通過(guò)EMIF接口以Block為單位,將bin文件寫入FPGA中的相應(yīng)地址;所述FPGA與FLASH通過(guò)異步接口相連,將DSP和FPGA接口的讀寫使能、數(shù)據(jù)和地址,與FPGA和FLASH接口的相應(yīng)信號(hào)對(duì)接起來(lái); 步驟6:對(duì)FLASH的每個(gè)Block進(jìn)行解鎖,擦除,將相應(yīng)的bin文件寫到對(duì)應(yīng)地址的Block上,講寫入的數(shù)據(jù)讀出進(jìn)行校驗(yàn),當(dāng)操作完多個(gè)Block,且讀出數(shù)據(jù)與寫入數(shù)據(jù)一致時(shí),即完成了對(duì)數(shù)字接收板FPGA外掛FLASH中bin文件的更新。
【文檔編號(hào)】G06F9/445GK103631618SQ201310539220
【公開(kāi)日】2014年3月12日 申請(qǐng)日期:2013年11月4日 優(yōu)先權(quán)日:2013年11月4日
【發(fā)明者】劉翔, 羅丁利, 袁子喬, 岳三創(chuàng), 王輝輝 申請(qǐng)人:西安電子工程研究所