高群福,孫維新
(1.中國(guó)電子科技集團(tuán)公司第五十四研究所,河北 石家莊050081; 2.中國(guó)人民解放軍63790部隊(duì),四川 西昌 615000)
一種相控陣系統(tǒng)遠(yuǎn)程升級(jí)方法
高群福1,孫維新2
(1.中國(guó)電子科技集團(tuán)公司第五十四研究所,河北 石家莊050081; 2.中國(guó)人民解放軍63790部隊(duì),四川 西昌 615000)
為解決超大規(guī)模相控陣收發(fā)組件程序升級(jí)困難和維護(hù)升級(jí)繁瑣的問(wèn)題,提出了一種自主遠(yuǎn)程升級(jí)方法。對(duì)于已經(jīng)部署的相控陣系統(tǒng),利用現(xiàn)有硬件設(shè)備、網(wǎng)絡(luò)架構(gòu),設(shè)計(jì)了一套程序遠(yuǎn)程自主燒錄、自主切換機(jī)制,通過(guò)遠(yuǎn)程計(jì)算機(jī)利用網(wǎng)絡(luò)接口,可以在幾分鐘內(nèi)完成對(duì)數(shù)千個(gè)收發(fā)組件的程序升級(jí)。應(yīng)用測(cè)試結(jié)果表明,與人工升級(jí)方法相比,遠(yuǎn)程升級(jí)方法效率高,成本低,安全可靠。
遠(yuǎn)程更新;CRC校驗(yàn);軟核;相控陣
目前超大規(guī)模相控陣系統(tǒng)天線數(shù)量以數(shù)萬(wàn)計(jì),數(shù)字波束形成體制被廣泛使用,現(xiàn)場(chǎng)可編程門(mén)陣列(Field Programmable Gate Array,FPGA)作為數(shù)據(jù)處理核心部件,廣泛應(yīng)用到收發(fā)組件中,數(shù)量以千計(jì),數(shù)量龐大[1-2]。系統(tǒng)部署后,在初期調(diào)試階段,不可避免地需要升級(jí)收發(fā)組件的程序,采用人工升級(jí)的方式,升級(jí)分布在空間廣大且數(shù)量眾多的收發(fā)組件,需要幾周甚至更長(zhǎng)時(shí)間,耗費(fèi)了大量人力,增加了系統(tǒng)調(diào)試時(shí)間。對(duì)于共形相控陣[3-4],組件的安裝高度、位置是人工升級(jí)時(shí)必須考慮的安全因素。
遠(yuǎn)程升級(jí)技術(shù)通過(guò)在FPGA內(nèi)部構(gòu)建程序文件接收、程序主動(dòng)引導(dǎo)機(jī)制,在不增加新設(shè)備、不改動(dòng)現(xiàn)有硬件的基礎(chǔ)上,實(shí)現(xiàn)自主升級(jí)。通過(guò)創(chuàng)新的程序引導(dǎo)機(jī)制、容錯(cuò)機(jī)制,保證遠(yuǎn)程升級(jí)的快速、可靠。
設(shè)備組成如圖1所示。將需要升級(jí)的組件程序存放在控制中心的計(jì)算機(jī)上,計(jì)算機(jī)通過(guò)以太網(wǎng)至485網(wǎng)絡(luò)將程序遠(yuǎn)程發(fā)送到組件[5-6],組件接收升級(jí)文件,存儲(chǔ)到本地指定空間。
組件復(fù)位后,掃描最新的升級(jí)程序并開(kāi)始運(yùn)行,也可以接收控制中心指令,從指定程序空間啟動(dòng)。
圖1 設(shè)備組成
2.1 遠(yuǎn)程更新原理
計(jì)算機(jī)將程序文件通過(guò)網(wǎng)絡(luò)發(fā)送到組件,組件完成數(shù)據(jù)校驗(yàn)后寫(xiě)入到本地存儲(chǔ)器中,程序文件傳送完成后進(jìn)入程序切換過(guò)程,程序切換過(guò)程的狀態(tài)轉(zhuǎn)換入如圖2所示。
圖2 遠(yuǎn)程更新?tīng)顟B(tài)轉(zhuǎn)換
FPGA上電復(fù)位后,總是從地址0的位置開(kāi)始啟動(dòng)[7],該位置存放了組件的主引導(dǎo)程序啟動(dòng),主引導(dǎo)程序啟動(dòng)后,開(kāi)始在指定位置掃描是否由最新的應(yīng)用程序配置,如果發(fā)現(xiàn)有新應(yīng)用程序,則啟動(dòng)應(yīng)用程序,如果沒(méi)有新應(yīng)用程序則一直在主引導(dǎo)程序下運(yùn)行。
主引導(dǎo)程序啟動(dòng)應(yīng)用程序時(shí),如果發(fā)生錯(cuò)誤則返回主引導(dǎo)程序,主引導(dǎo)程序、應(yīng)用程序之間可以任意切換。主引導(dǎo)程序不會(huì)被更新,應(yīng)用程序可以被更新,應(yīng)用程序啟動(dòng)或運(yùn)行時(shí)發(fā)生任何錯(cuò)誤都會(huì)退回到主引導(dǎo)程序[8-9]。
2.2 程序文件存儲(chǔ)
組件程序文件存儲(chǔ)在串行FLASH芯片中,主引導(dǎo)程序存放在起始地址為0的空間內(nèi),應(yīng)用程序存儲(chǔ)在后續(xù)的空間中。如圖3所示。
圖3 程序文件存儲(chǔ)
主引導(dǎo)程序?yàn)榻M件首次燒錄的程序,該程序不會(huì)被遠(yuǎn)程更新重寫(xiě),應(yīng)用程序1和應(yīng)用程序2可以被遠(yuǎn)程更新。
為了保證遠(yuǎn)程更新程序的正確與可靠,在數(shù)據(jù)傳輸過(guò)程中加入CRC校驗(yàn)[10],并將校驗(yàn)結(jié)果寫(xiě)入到應(yīng)用程序的開(kāi)頭部分,在程序跳轉(zhuǎn)之前,首先檢查程序文件的校驗(yàn)結(jié)果是否正確。
2.3 程序文件組幀與校驗(yàn)
FPGA程序包含F(xiàn)PGA硬件部分和NiosII CPU軟件兩個(gè)部分[11-12],分別對(duì)應(yīng)硬件配置(SOF文件)和軟件配置(ELF文件),為了便于計(jì)算機(jī)遠(yuǎn)程更新,將這兩個(gè)文件整合為一個(gè)文件。
FPGA加載程序時(shí),默認(rèn)的加載順序總是先從硬件配置(SOF)開(kāi)始加載[13],然后在緊挨著硬件配置的后面開(kāi)始加載軟件配置(ELF),因此一個(gè)完整應(yīng)用程序排列格式如表1所示。
表1 編程幀結(jié)構(gòu)
名稱長(zhǎng)度/Byte說(shuō)明幀頭2幀頭標(biāo)識(shí)1幀類(lèi)型標(biāo)識(shí)長(zhǎng)度2幀長(zhǎng)度起始地址4編程文件起始地址數(shù)據(jù)256編程文件CRC校驗(yàn)2CRC校驗(yàn)
QuartusII軟件生成的硬件SOF文件,NiosII IDE生成NiosII CPU運(yùn)行的軟件文件ELF,首先將這兩個(gè)文件轉(zhuǎn)換為十六進(jìn)制數(shù)據(jù)文件,并最終生成一個(gè)數(shù)據(jù)文件。為了保證數(shù)據(jù)可靠傳輸,在數(shù)據(jù)文件中加入了CRC校驗(yàn)信息。
2.4 接收緩沖邏輯
遠(yuǎn)程升級(jí)文件傳輸時(shí),總線上的數(shù)據(jù)量比較大,本地需要進(jìn)行CRC校驗(yàn),比較耗時(shí)。為了實(shí)現(xiàn)最大的數(shù)據(jù)傳輸速率,本地使用FPGA邏輯實(shí)現(xiàn)具有512字節(jié)的接收緩沖FIFO的UART接收邏輯[14],接收到一個(gè)完整數(shù)據(jù)幀后,NiosII CPU從接收緩沖中讀取數(shù)據(jù),進(jìn)行CRC校驗(yàn),并將校驗(yàn)成功的數(shù)據(jù)寫(xiě)入到指定存儲(chǔ)地址的存儲(chǔ)空間中,同時(shí)標(biāo)記該數(shù)據(jù)幀已經(jīng)被正確接收。
3.1 硬件平臺(tái)
在基于Altera公司FPGA-EP4CGX22的硬件平臺(tái)上,進(jìn)行遠(yuǎn)程更新系統(tǒng)驗(yàn)證。在FPGA內(nèi)部構(gòu)建了基于NiosII CPU軟核控制架構(gòu),通過(guò)高性能總線互聯(lián)各個(gè)模塊[15-16],如圖4所示。
圖4 硬件架構(gòu)
在QuartusII軟件中使用Qsys設(shè)計(jì)工具定制CPU和外設(shè),所需的外設(shè)包括片上RAM、EPCS FLASH控制器、UART控制器、遠(yuǎn)程升級(jí)(RSU)控制器、SPI控制器等,同時(shí)還有自定義的外部設(shè)備,用于系統(tǒng)控制。
實(shí)例化CPU和所有外設(shè)后,為外設(shè)分配地址、設(shè)置參數(shù),之后編譯生成整個(gè)系統(tǒng)。
3.2 軟件流程
系統(tǒng)啟動(dòng)后,NiosII CPU軟件在主循環(huán)中一直等待接收從串口發(fā)來(lái)的數(shù)據(jù),接收到數(shù)據(jù)幀后,首先進(jìn)行解析、校驗(yàn),根據(jù)命令的類(lèi)型采取不同的操作:遠(yuǎn)程更新程序數(shù)據(jù)文件按照指定地址直接寫(xiě)入到存儲(chǔ)器中,遠(yuǎn)程更新啟動(dòng)命令則按指定的起始地址啟動(dòng)程序,一般的控制指令則直接執(zhí)行。軟件工作流程如圖5所示。
圖5 軟件流程
3.3 測(cè)試結(jié)果
目前遠(yuǎn)程更新方法已經(jīng)在一個(gè)超大規(guī)模相控陣系統(tǒng)中得到應(yīng)用。實(shí)際測(cè)試表明,485網(wǎng)絡(luò)波特率38 400 bps,F(xiàn)PGA升級(jí)文件大小為1 MB,采用廣播方式,更新3 000個(gè)FPGA程序只需5 mins;而采用人工更新的方式,2個(gè)人配合工作,需要半個(gè)月的時(shí)間才能更新完成,大部分時(shí)間都浪費(fèi)在挪動(dòng)設(shè)備、線纜上了。測(cè)試結(jié)果如表2所示。
表2 測(cè)試結(jié)果對(duì)比
升級(jí)方式耗時(shí)成功率遠(yuǎn)程升級(jí)5min100%人工升級(jí)15天/2人100%
遠(yuǎn)程升級(jí)技術(shù)可以在幾分鐘內(nèi)快速部署、升級(jí)應(yīng)用程序,極大地方便了系統(tǒng)調(diào)試、維護(hù)。遠(yuǎn)程更新技術(shù)也可以在后續(xù)升級(jí)為從控制中心向測(cè)控站直接更新程序,而不必人工參與。
在安全性方面,有些大規(guī)模共形相控陣結(jié)構(gòu)奇特,安裝高度大、部署空間廣泛,系統(tǒng)升級(jí)、維護(hù)時(shí)的安全性也必須予以關(guān)注,采用遠(yuǎn)程更新技術(shù)無(wú)人參與,安全可靠。
[1] 馮莉.相控陣?yán)走_(dá)的數(shù)字收發(fā)單元設(shè)計(jì)[D].南京:南京理工大學(xué),2013.
[2] 彭為,陶軍,尤正建.基于FPGA的相控陣?yán)走_(dá)波控系統(tǒng)設(shè)計(jì)[J].現(xiàn)代雷達(dá),2007,29(9):45-47.
[3] 陳曠達(dá),孫竹,張繼浩.箭載寬角掃描圓極化共形相控陣天線[J].無(wú)線電工程,2015,45(7):71-73.
[4] 楊號(hào),朱紹強(qiáng).機(jī)載預(yù)警雷達(dá)技術(shù)法杖探析[J].海軍航空工程學(xué)院學(xué)報(bào),2015,30(5):462-465.
[5] 王利軍,張超.基于CPU實(shí)現(xiàn)FPGA遠(yuǎn)程更新[J].信息通信,2013(6):44-45.
[6] 屈杰,朱光喜,譚力,等.基于網(wǎng)絡(luò)和PowerPC的FPGA遠(yuǎn)程配置[J].無(wú)線電通信技術(shù),2008,34(1):45-47.
[7] 楊釗,顏浩洋.基于EPCS FLASH配置的Altera SOPC啟動(dòng)及更新研究[J].中國(guó)西部科技,2013,8(1):1-3.
[8] 張玄,李開(kāi)航.利用CPLD實(shí)現(xiàn)FPGA的快速加載[J].現(xiàn)代電子技術(shù),2012,35(22):163-165.
[9] 李強(qiáng),羅超,夏威,等.FPGA遠(yuǎn)程更新系統(tǒng)[J].儀表技術(shù)與傳感器,2014(7):72-74.
[10] 田佳,王一平.基于FPGA的帶CRC校驗(yàn)的異步串口通信[J].現(xiàn)代電子技術(shù),2010(20):5-7.
[11] 邢兆棟,趙維剛.基于NIOSII的多模導(dǎo)航接收機(jī)跟蹤環(huán)路[J].無(wú)線電工程,2009,39(8):32-33.
[12] 崔雪然,胡寶霞.基于NiosII軟核的高速數(shù)據(jù)采集系統(tǒng)[J].信息技術(shù),2008(1):133-135.
[13] 余金磊,孫明杰.基于NiosII的FPGA配置技術(shù)[J].無(wú)線電通信技術(shù),2013,39(3):73-75.
[14] 段素蓉,莊圣賢.一種內(nèi)置FIFO全雙工UART的設(shè)計(jì)與實(shí)現(xiàn)[J].通信技術(shù),2010,43(2):46-48.
[15] 李曉晗,張航,倪光華.基于Avalon-MM突發(fā)傳輸?shù)腜CI從接口設(shè)計(jì)[J].無(wú)線電工程,2015,45(6):38-40.
[16] 高楓,王玉松.基于NiosII自定制Avalon設(shè)備的設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)測(cè)試技術(shù),2007,33(4):105-107.
MethodofRemoteUpgradeonPhasedArraySystem
GAO Qun-fu,SUN Wei-xin
(1.The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China; 2.Unit 63790,PLA,Xichang Sichuan 615000,China)
In the very large-scale phased array system,the T/R program upgrade and the maintenance upgrade are very difficult.In order to solve these problems,this paper puts forward an independent remote upgrade method.For the existing phased array system,a program remote automatic burning and switching system is designed by utilizing existing hardware and network framework.Using remote computer and network interface,the program upgrade of thousands of T/R modules can be completed in several minutes.The test results show that the remote upgrade method has such characteristics as high efficiency,low cost,high reliability and high security compared with man-made upgrade method.
remote update;CRC;soft CPU;phased array
TTN911
A
1003-3114(2017)06-77-4
10.3969/j.issn.1003-3114.2017.06.19
高群福,孫維新.一種相控陣系統(tǒng)遠(yuǎn)程升級(jí)方法[J].無(wú)線電通信技術(shù),2017,43(6):77-80.
[GAO Qunfu,SUN Weixin.Method of Remote Upgrade on Phased Array System[J].Radio Communications Technology,2017,43(6):77-80.]
2017-06-20
高群福(1986—),男,碩士,工程師,主要研究方向:航天測(cè)控、陣列信號(hào)處理。孫維新(1982—),男,工程師,主要研究方向:航天測(cè)控、系統(tǒng)運(yùn)行管理。