陳昌明,邵高平,劉小蒙,黨力明,高 飛
(信息工程大學(xué) 信息系統(tǒng)工程學(xué)院,河南 鄭州 450001)
?
VPX平臺(tái)的多板卡FPGA動(dòng)態(tài)配置方法
陳昌明,邵高平,劉小蒙,黨力明,高飛
(信息工程大學(xué) 信息系統(tǒng)工程學(xué)院,河南 鄭州450001)
摘要針對(duì)VPX平臺(tái)板卡的FPGA通常采用上電時(shí)從非易失性存儲(chǔ)器主動(dòng)加載配置數(shù)據(jù)的方式,存在靈活性較差的缺點(diǎn)。文中提出了一種基于CPU+SPI總線(xiàn)+CPLD的多板卡FPGA動(dòng)態(tài)配置方法,可在不開(kāi)箱的情況下對(duì)平臺(tái)內(nèi)各板卡FPGA進(jìn)行動(dòng)態(tài)配置。經(jīng)測(cè)試,該方法配置10.9 MB大小的數(shù)據(jù)用時(shí)約為7 s,具有較好的靈活性和可靠性。
關(guān)鍵詞VPX;FPGA;動(dòng)態(tài)配置
近年來(lái),VPX平臺(tái)[1]以其良好的機(jī)械結(jié)構(gòu)和導(dǎo)冷抗震能力在航天、軍用等可靠性要求較高的應(yīng)用場(chǎng)合得到了廣泛地應(yīng)用[2]。FPGA作為當(dāng)前主流的高速數(shù)字信號(hào)處理器,具有并行處理能力強(qiáng)、可重配置性等特點(diǎn)[3],在VPX平臺(tái)板卡上得到大量采用。
目前,VPX板卡FPGA的配置數(shù)據(jù)通常固化于板上的PROM、Flash等非易失性存儲(chǔ)器,每次上電時(shí)由FPGA主動(dòng)從存儲(chǔ)器加載配置數(shù)據(jù)。這種配置方式雖然具有穩(wěn)定、快速等優(yōu)點(diǎn),但缺乏操作靈活性,如升級(jí)配置數(shù)據(jù)時(shí)需進(jìn)行現(xiàn)場(chǎng)開(kāi)箱調(diào)試,無(wú)法根據(jù)應(yīng)用需求動(dòng)態(tài)改變FPGA配置邏輯[4]。本文提出一種VPX平臺(tái)多板卡FPGA的動(dòng)態(tài)配置方法,可在不開(kāi)機(jī)箱的情況下對(duì)平臺(tái)各板卡FPGA進(jìn)行動(dòng)態(tài)配置,具有較好的靈活性和可靠性。
1總體設(shè)計(jì)方案
FPGA的配置模式主要有主串行模式、主SPI模式、主BPI模式、主SelectMAP模式、從串行模式、從SelectMAP模式和JTAG模式。主模式由FPGA控制配置過(guò)程,主動(dòng)從片外非易失存儲(chǔ)器加載配置數(shù)據(jù);從模式需要外部的處理器或微控制器控制將數(shù)據(jù)加載到FPGA;JTAG模式為調(diào)試模式,斷電即丟失數(shù)據(jù)[5]??紤]到從模式較主模式具有更好的靈活性,且從串行模式相較于從SelectMAP模式具有電路結(jié)構(gòu)簡(jiǎn)單、節(jié)省PCB面積等優(yōu)點(diǎn),本方案采用從串行配置模式。
圖1所示為VPX平臺(tái)動(dòng)態(tài)配置原理框圖。VPX主控板作為平臺(tái)的管理控制中心,采用CPU作為核心處理器,負(fù)責(zé)對(duì)各功能板的FPGA進(jìn)行動(dòng)態(tài)配置。主控板采用Flash存儲(chǔ)各板卡臨時(shí)的配置數(shù)據(jù),并可通過(guò)串口和以太網(wǎng)口與平臺(tái)外部的PC機(jī)相連。如需升級(jí)配置數(shù)據(jù),可從外部PC機(jī)通過(guò)以太網(wǎng)進(jìn)行下載。主控板與各功能板通過(guò)VPX總線(xiàn)形成星型互連,數(shù)據(jù)傳輸協(xié)議采用較易實(shí)現(xiàn)的SPI總線(xiàn)協(xié)議。由于CPLD具有接口實(shí)現(xiàn)容易、斷電不丟失配置數(shù)據(jù)等特點(diǎn),因此各功能板采用CPLD實(shí)現(xiàn)SPI接口電路以及對(duì)FPGA進(jìn)行動(dòng)態(tài)配置的控制邏輯。
圖1 平臺(tái)配置原理框圖
2軟件設(shè)計(jì)
2.1FPGA配置原理
FPGA從串行配置模式的時(shí)序如圖2所示。通電后,將PROGRAM_B引腳置為低電平,便可以對(duì)FPGA進(jìn)行配置。PROGRAM_B引腳置低后,FPGA會(huì)將INIT_B引腳置低,并開(kāi)始清空配置寄存器。在清空完配置寄存器后,INIT_B信號(hào)將重新被置為高電平。同時(shí),FPGA將對(duì)配置模式引腳進(jìn)行采樣,并啟動(dòng)配置過(guò)程。配置過(guò)程開(kāi)始后,處理器或微控制器在CCLK引腳產(chǎn)生配置時(shí)鐘,在DIN引腳逐位產(chǎn)生配置數(shù)據(jù),配置數(shù)據(jù)在CCLK上升沿有效。配置過(guò)程中如果發(fā)生錯(cuò)誤,INIT_B引腳將被置為低電平,配置過(guò)程中斷。此時(shí),若要重新配置,只需將PROGRAM_B引腳置低即可。配置數(shù)據(jù)下載完成后,DONE引腳將被置為高電平,此時(shí)FPGA成功完成配置過(guò)程[6]。
圖2 從串行配置模式時(shí)序圖
2.2FPGA動(dòng)態(tài)配置流程
VPX平臺(tái)的多板卡FPGA動(dòng)態(tài)配置流程如圖3所示。上電后,VPX平臺(tái)將對(duì)各板卡進(jìn)行硬件初始化。CPU上電后執(zhí)行引導(dǎo)加載程序,并對(duì)串口、以太網(wǎng)口進(jìn)行初始化。初始化完成后,CPU將加載操作系統(tǒng)映像并啟動(dòng)嵌入式操作系統(tǒng)。操作系統(tǒng)啟動(dòng)后,可以從外部PC機(jī)通過(guò)串口發(fā)起動(dòng)態(tài)配置任務(wù)。發(fā)起動(dòng)態(tài)配置任務(wù)后,程序?qū)⒊跏蓟疌PU的SPI模式控制寄存器,并通過(guò)SPI協(xié)議發(fā)送待配置功能板的地址。待配置功能板的CPLD收到地址命令后將與本板地址進(jìn)行匹配,如匹配成功則準(zhǔn)備開(kāi)始接收數(shù)據(jù)并啟動(dòng)配置時(shí)序,其他功能板由于地址未匹配將不啟動(dòng)配置時(shí)序。同時(shí),CPU從PC機(jī)或Flash讀取配置數(shù)據(jù)并通過(guò)SPI總線(xiàn)傳送給CPLD,CPLD接收數(shù)據(jù)并對(duì)FPGA進(jìn)行配置。配置數(shù)據(jù)傳送完成后,CPLD將對(duì)DONE信號(hào)進(jìn)行檢測(cè)并將配置結(jié)果通知CPU。
圖3 FPGA動(dòng)態(tài)配置流程
2.3CPLD配置邏輯設(shè)計(jì)
本方案中,CPLD的配置邏輯主要分為SPI配置數(shù)據(jù)接收模塊和FPGA配置模塊,其邏輯框圖如圖4所示。SPI配置數(shù)據(jù)接收模塊主要負(fù)責(zé)接收VPX主控板通過(guò)SPI協(xié)議發(fā)送的數(shù)據(jù),并將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)發(fā)送給FPGA配置模塊。FPGA配置模塊主要實(shí)現(xiàn)對(duì)FPGA進(jìn)行從串行配置的時(shí)序,其主要功能的狀態(tài)轉(zhuǎn)移圖如圖5所示。SPI配置數(shù)據(jù)接收模塊檢測(cè)到地址匹配后隨即將CFG_EN拉高,FPGA配置模塊檢測(cè)到CFG_EN拉高后即將Program_B拉低,在保持400 ns后將Program_B拉高并檢測(cè)Init_B。當(dāng)檢測(cè)到Init_B由低變高后,進(jìn)入等待配置數(shù)據(jù)狀態(tài),并拉低Init_B延遲配置啟動(dòng)以等待配置數(shù)據(jù)。當(dāng)檢測(cè)到數(shù)據(jù)有效信號(hào)Dout_valid變高后,FPGA配置模塊開(kāi)始接收配置數(shù)據(jù),一幀配置數(shù)據(jù)為32位。接收到一幀配置數(shù)據(jù)后,FPGA配置模塊將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),并通過(guò)配置時(shí)序發(fā)送給FPGA。發(fā)送完畢后,FPGA配置模塊開(kāi)始接收下一幀數(shù)據(jù),直至配置數(shù)據(jù)全部接收完成。配置數(shù)據(jù)接收完后,FPGA配置模塊將檢測(cè)DONE和INIT_B。若檢測(cè)到DONE為高,在CCLK保持8個(gè)周期后配置過(guò)程結(jié)束。同時(shí),CFG_FINISH將被拉高,通知CPU配置成功。若檢測(cè)到INIT_B為低,則ERROR將被拉高,通知CPU配置失敗。如圖6所示為配置邏輯的功能仿真波形圖。
圖4 CPLD邏輯框圖
圖5 FPGA配置模塊狀態(tài)轉(zhuǎn)移圖
圖6 功能仿真波形圖
3實(shí)驗(yàn)仿真驗(yàn)證
為驗(yàn)證本方案的性能,在3U的VPX平臺(tái)上進(jìn)行測(cè)試。VPX主控板CPU型號(hào)為Freescale公司的MPC8536E,VPX功能板CPLD型號(hào)為Xilinx公司的XC2C256,FPGA型號(hào)為Xilinx公司Kintex7系列的XC7K325T,配置文件格式為.bin,大小為10.9 MB。經(jīng)測(cè)試,FPGA配置一次的時(shí)間約為7 s,且該方法穩(wěn)定性較好。由于FPGA從PROM存儲(chǔ)器主動(dòng)讀取配置數(shù)據(jù)的方式配置時(shí)間一般為ms級(jí)[7],可以看出,本方案雖然配置時(shí)間較慢,但具有較好的靈活性。
4結(jié)束語(yǔ)
本方案實(shí)現(xiàn)了在不開(kāi)箱的情況下對(duì)VPX平臺(tái)多板卡FPGA進(jìn)行動(dòng)態(tài)在線(xiàn)配置,具有較好的靈活性,在需要?jiǎng)討B(tài)改變FPGA配置的軟件無(wú)線(xiàn)電平臺(tái)等應(yīng)用場(chǎng)合具有較好的應(yīng)用前景,同時(shí)為其他類(lèi)型的嵌入式信息處理平臺(tái)也提供了借鑒。
參考文獻(xiàn)
[1]洪艷,沈利華.基于VPX高速綜合信息處理平臺(tái)設(shè)計(jì)[J].導(dǎo)彈與航天運(yùn)載技術(shù),2011(3):58-61.
[2]吉玉潔,張小林.VPX 總線(xiàn)標(biāo)準(zhǔn)研究及其在無(wú)人機(jī)中的應(yīng)用展望[J].計(jì)算機(jī)測(cè)量與控制,2012,20(4):1112-1115.
[3]楊海鋼,孫嘉斌,王慰.FPGA器件設(shè)計(jì)技術(shù)發(fā)展綜述[J].電子與信息學(xué)報(bào),2010,32(3):714-727.
[4]陳曦,沈佐峰.一種可靠的FPGA動(dòng)態(tài)配置方法及實(shí)現(xiàn)[J].通信技術(shù),2012,3(45):105-107,110.
[5]Xilinx Company.UG470[M].San Jose:Xilinx Company,2013.
[6]田耘,徐文波.Xilinx FPGA開(kāi)發(fā)實(shí)用教程[M].北京:清華大學(xué)出版社,2008.
[7]黃勇.一種新型的FPGA快速動(dòng)態(tài)配置和遠(yuǎn)程加載技術(shù)[J].通信技術(shù),2013,46(12):93-96.
Multiple Boards FPGA Dynamic Configuration on VPX Platform
CHEN Changming,SHAO Gaoping,LIU Xiaomeng,DANG Liming,GAO Fei
(College of Information System Engineering,Information Engineering University,Zhengzhou 450001,China)
AbstractCurrently,FPGA on VPX platform board usually loads configuration data from nonvolatile memory initiatively when power-on occurs,which has the disadvantage of inflexibility.This paper presents a multiple boards FPGA dynamic configuration method based on CPU+SPI bus+CPLD which offers FPGA configuration on boards without opening the box on VPX platform.It takes about 7 seconds to configuring data of 10.9 MB by this method with good flexibility and reliability.
KeywordsVPX;FPGA;dynamic configuration
doi:10.16180/j.cnki.issn1007-7820.2016.05.007
收稿日期:2015-09-29
作者簡(jiǎn)介:陳昌明(1988—),男,碩士研究生。研究方向:電子系統(tǒng)設(shè)計(jì)。邵高平(1964—),男,教授,碩士生導(dǎo)師。研究方向:電子系統(tǒng)設(shè)計(jì)。
中圖分類(lèi)號(hào)TN709
文獻(xiàn)標(biāo)識(shí)碼A
文章編號(hào)1007-7820(2016)05-023-03