劉 翔 袁子喬 張遠安
(西安電子工程研究所西安710100)
信號數據處理
一種基于光纖數據傳輸的多板卡軟件程序燒寫技術
劉 翔 袁子喬 張遠安
(西安電子工程研究所西安710100)
大型相控陣雷達信號處理中,雷達前端AD采樣板數量較多,AD采樣板內FPGA和DSP軟件程序需要修改和更新時,需要對每塊AD采樣板進行程序燒寫,增加了系統調試時間和調試復雜度。本文介紹了利用多根光纖將需要更新的FPGA和DSP程序上傳至前端AD采樣板,在板卡內完成程序燒寫,較大程度節省了調試時間和簡化了調試復雜度。
光纖數據傳輸;多板卡;軟件程序燒寫
隨著大型相控陣雷達的發展和上千陣元雷達的出現[1],在雷達信號處理中的數字接收單元的板卡數量不斷增加,板卡結構相同并使用相同的FPGA和DSP軟件程序,在傳統的雷達調試中,AD采樣板的軟件程序經常需要修改和更新,當軟件程序修改和更新時,需要對多塊板卡逐塊進行程序燒寫,通常燒寫一塊板卡的FPGA程序需要十幾到二十分鐘,燒寫DSP程序需要5分鐘左右,因此對多板卡進行軟件程序更新時,需要更長的程序燒寫時間,增加了調試難度和復雜度。
本文介紹了一種基于光纖數據傳輸實現的多板卡軟件程序燒寫技術,多塊AD采樣板通過光纖對接光纖處理板,光纖處理板通過光纖將需要更新的FPGA和DSP程序同時傳遞給多塊AD采樣板,AD采樣板將上傳的程序燒寫至FPGA或DSP外掛的FLASH中[2-3],實現同時對多塊板卡FPGA和DSP軟件程序的燒寫,較大程度減少了調試時間和簡化了調試復雜度。
圖1為多板卡軟件程序燒寫的系統框圖。在雷達信號處理前端設計中,由多塊AD采樣板和光纖處理板組成,AD采樣板對接收的中頻回波信號進行AD采樣、數字下變頻、通道校正處理,將處理后的數據通過光纖下傳至光纖處理板,在光纖處理板中完成數字波束形成、脈沖壓縮、目標檢測等功能。
多板卡軟件程序燒寫系統的設計基于原有工程架構,在實現雷達功能的前提下,增加此程序燒寫功能。當AD采樣板需要進行程序更新時,光纖處理板將新的程序通過多根光纖同時發送至多塊AD采樣板,每塊AD采樣板利用板上自有程序,將FPGA或DSP程序寫入對應的FLASH中,完成程序更新。

圖1 多板卡FPGA程序遠程燒寫的系統框圖
圖2為AD采樣板程序更新的數據流。在光纖處理板內,利用DSP將需要更新的程序讀至SDRAM中,DSP利用EMIF接口將數據傳給光纖處理板的FPGA中,FPGA利用光纖發送至AD采樣板FPGA緩存中,AD采樣板DSP將更新的數據讀至外掛的SDRAM中,當需要更新的數據全部緩存至SDRAM中時,DSP開始將數據分塊寫入DSP外掛的39VF040存儲器中或通過FPGA將FPGA更新程序寫入XCF128X存儲器中,完成寫操作后進行校驗,正確無誤后,系統重新上電,新的程序即可工作。
2.1 RocketIO簡介

圖2 AD采樣板在線程序更新數據流
RocketIO是Xilinx在Virtex2 pro以上系列中集成的專有高速串行收發器。典型的RocketIO收發器結構[4]如下圖所示,由物理編碼層(PCS)和物理媒介層(PMA)構成。PCS主要由周期冗余檢測CRC(CRC-Cycle Redundancy Check)、8B/10B編碼器、發送FIFO、8B/10B解碼器、用于實現通道綁定和時鐘修正的彈性緩沖器等核心部分構成。PMA主要包括串并轉換器、差分接收器、發送時鐘生成電路、接收時鐘恢復電路等。發送端按照一定的計算規則產生的CRC校驗碼插入到預發送的并行數據中,經過8B/10B編碼(8B/10B編碼模塊可根據需要選擇),寫入發送FIFO,然后將其轉換成差分數據發送出去。
接收端通過接收器接收串行差分數據,在時鐘數據恢復(CDR)電路的作用下,從串行數據流中恢復出時鐘信號,該時鐘信號用于串并轉換,在comma檢測和對齊模塊的作用下,將數據對齊并進行串并轉換,輸出的并行數據經過8B/10B解碼(可根據需要選擇,與發送端選擇一致),依據需要用彈性緩沖器實現通道綁定和時鐘修正,經過CRC模塊校驗后并行輸出。

圖3 V6 FPGA GTX收發器原理框圖
2.2 FPGA程序燒寫實現
下面詳細介紹FPGA程序的燒寫實現過程。
步驟一:
當AD采樣板FPGA程序需要更新時,使用Xilinx自帶工具IMPACT[5]將新生成的.bit文件轉化為能夠燒入 Flash的.bin文件,此文件大小為0x53638C*8bit(根據選取FPGA型號的不同,此文件大小會有不同)。
步驟二:
在光纖處理板中,首先利用DSP將此bin文件數據從電腦上打開并以二進制形式存入外掛SDRAM中。然后DSP需要將此bin文件數據通過EMIF接口寫入FPGA。由于bin文件較大,FPGA內部FIFO容量有限,需要將bin文件分成多塊,每塊大小為0x200*32bit,分多次寫入FPGA的FIFO中。在單次傳數中,FPGA收到上傳的bin文件數據將其緩存在FIFO中。上述操作過程均在光纖處理板中完成。
步驟三:
1塊光纖處理板上FPGA通過多路Rocket IO與多塊AD采樣板上FPGA相連,此時光纖處理板將FPGA收到的bin文件通過多路Rocket IO傳至多塊AD采樣板FPGA內。AD采樣板FPGA收到數據后緩存至其FIFO中,板上DSP通過EDMA接口將FPGA FIFO中的數據讀出,并存入其SDRAM的相應地址上。經過分塊多次上傳bin文件,可以將整個bin文件從光纖處理板中DSP的SDRAM中傳遞到多塊AD采樣板DSP的SDRAM中,此時AD采樣板會通過bin文件的起始和結束標志判斷收到的數據是否正確,正確則執行步驟四,不正確則告知光纖處理板重新傳數,重復步驟二、三。
步驟四:
AD采樣板FPGA專用FLASH芯片Xcf128x,容量為128Mbit,共有128個Block存儲塊(每塊大小為1Mbit),對FLASH進行讀寫操作時均以Block為單位進行操作。存入此 bin文件,需要42個Block。DSP將SDRAM中的bin文件分成42塊,通過EMIF接口寫入FPGA中的相應地址。FPGA與FLASH通過異步接口相連,我們將DSP和FPGA接口的讀寫使能、數據和地址,與 FPGA和FLASH接口的相應信號對接起來,相當于DSP直接讀寫FPGA外掛的FLASH。對FLASH的每個Block進行解鎖,擦除,將相應的bin文件寫到對應地址的Block上,講寫入的數據讀出進行校驗,當操作完42個Block,且讀出數據與寫入數據一致時,即完成了對AD采樣板FPGA外掛FLASH中bin文件的更新。由于此過程是在多塊AD采樣板上同時進行的,因此1塊光纖處理板通過多路Rocket IO完成多塊AD采樣板FPGA程序的更新,整個更新過程大約需要10分鐘。
步驟五:
將整個系統關電,重新加電后,多塊AD采樣板即會將更新后的FPGA程序從FLASH中加載到FPGA。
2.3 DSP程序燒寫實現
當AD采樣板DSP程序需要更新時,DSP程序編譯完成,根據程序占用的大小,利用rom.bat執行程序生成需要燒寫的.bix文件,以此項目為例,生成boot1.bix和boot2.bix[6]文件,文件大小為都為64K*8bit。與燒寫FPGA程序類似,將其步驟介紹如下。
步驟一:
在光纖處理板中將boot1.bix、boot2.bix文件讀入DSP中,數據全部緩存至DSP外掛的SDRAM中。然后將文件分塊,每塊大小為0x200*32bit,通過FPGA的光纖上傳至AD采樣板上的FPGA FIFO的緩存中。
步驟二:
AD采樣板上的DSP通過EMIF接口將緩存至FPGA FIFO中的數據讀入DSP中,并存入AD采樣板DSP外掛的SDRAM中,經過多次傳數后,數據全部緩存至SDRAM。此時AD采樣板會通過bix文件的起始和結束標志判斷收到的數據是否正確,正確則執行步驟三,不正確則告知光纖處理板重新傳數,重復步驟二。
步驟三:
利用DSP直接操作外掛的FLASH 39VF040,對扇區進行擦除,再將程序寫入相應位置,可以較快速的完成程序燒寫。此燒寫過程耗時約5分鐘。
步驟四:系統重新上電,新的程序即可正常工作。
本文介紹了一種基于光纖數據傳輸實現的多板卡軟件程序燒寫技術,多塊AD采樣板通過光纖對接光纖處理板,光纖處理板通過光纖將需要更新的FPGA或DSP軟件程序同時傳遞給多塊AD采樣板,AD采樣板將上傳的程序燒寫至FPGA外掛的FLASH中或DSP外掛的FLASH中,實現同時對多塊板卡軟件程序的燒寫。
社,2009.
[2]Xilinx Inc.Platform Flash XL High-Density Configuration and Storage Device[M]. USA: Xilinx Inc,2010.
[3]Texas Instruments Inc.TMS320C6000 DSP Peripherals Overview[M].USA:Texas Instruments Inc,2009.
[4]Xilinx Inc.Virtex-6 FPGA GTX Transceivers[M].USA:Xilinx Inc,2010.
[5]Xilinx Inc.Platform Flash XL Configuration and Storage Device[M].USA:Xilinx Inc,2009.
[6]Texas Instruments Inc.TMS320C6414,TMS320C6415,TMS320C6416 FIXED-POINT DIGITAL SIGNAL PROCESSORS [M]. USA: Texas Instruments Inc,2005.
[1]張廣義.相控陣雷達原理[M].北京:國防工業出版
A Multi-board Software Program Writing Technique Based on Optical-fiber Data Transfer
Liu Xiang,Yuan Ziqiao,Zhang Yuanan
(Xi’an Electronic Engineering Research Institute,Xi’an 710100)
In large phased array radar signal processing,there is large number of radar front-end AD sampling board.When FPGA and DSP software programs need to be modified and updated,program on each AD sample board needs to be written,this will increase debugging time and complexity of system debugging.A technique of using multiple pieces of optical fiber to upload the FPGA and DSP program needed to be upgraded to front-end AD sampling board,on which the program writing is accomplished.Using this technique can save debugging time and simplify the debugging complexity greatly.
optical-fiber data transfer;multi-board;software program writing
TN952
A
1008-8652(2016)04-047-04
2016-03-08
劉 翔(1987-),男,碩士研究生。主要研究方向為陣列信號處理。