《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于SoC的新型通用彈載計(jì)算機(jī)系統(tǒng)設(shè)計(jì)
基于SoC的新型通用彈載計(jì)算機(jī)系統(tǒng)設(shè)計(jì)
2018年電子技術(shù)應(yīng)用第11期
蔣曉東,于紀(jì)言
南京理工大學(xué) 智能彈藥國(guó)防重點(diǎn)學(xué)科實(shí)驗(yàn)室,江蘇 南京210094
摘要: 為了解決現(xiàn)有制導(dǎo)武器中彈載計(jì)算機(jī)計(jì)算性能較弱和傳感器底層數(shù)據(jù)交互復(fù)雜等問題,提高彈載計(jì)算機(jī)計(jì)算性能與硬件集成度,提出一種基于SoC FPGA的新型通用彈載計(jì)算機(jī)設(shè)計(jì)方案。提出的SoC FPGA通用彈載計(jì)算機(jī)硬件設(shè)計(jì)集成度顯著提高,通過三種平臺(tái)(ARM、DSP和SoC FPGA)的運(yùn)算耗時(shí)實(shí)驗(yàn)對(duì)比,在相同計(jì)算要求下,該彈載計(jì)算機(jī)并行運(yùn)算加速方法運(yùn)算耗時(shí)相較串行運(yùn)算下降了一個(gè)數(shù)量級(jí),為4 ms,得到較好的運(yùn)算加速效果。結(jié)果表明,基于SoC FPGA的新型通用彈載計(jì)算機(jī)硬件集成度高、通用接口豐富,而且彈載程序運(yùn)算滿足現(xiàn)代武器制導(dǎo)的實(shí)時(shí)性與精確性要求。
中圖分類號(hào): TP36
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.181187
中文引用格式: 蔣曉東,于紀(jì)言. 基于SoC的新型通用彈載計(jì)算機(jī)系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2018,44(11):33-36.
英文引用格式: Jiang Xiaodong,Yu Jiyan. Design of a new type of general missile-borne computer based on SoC[J]. Application of Electronic Technique,2018,44(11):33-36.
Design of a new type of general missile-borne computer based on SoC
Jiang Xiaodong,Yu Jiyan
Minsterial Key Laboratory of ZNDY,Nanjing University of Science and Technology,Nanjing 210094,China
Abstract: In order to solve the problem such as weak calculation performance and complex sensor data interaction of the missile-borne computer in the existing guided weapons, and to improve its computing power and hardware integration, a new design of the general missile-borne computer based on the SoC FPGA is proposed. The experiment results show that the new missile-borne computer has a significant improvement of hardware integration, meanwhile, the time-consuming experiments on three platforms(ARM,DSP and SoC FPGA) have also been done. The experiment results show that compared to the traditional serial calculation method, the operation time of the new type parallel acceleration program is 4 ms, which decreases by an order of magnitude and obtains better acceleration effect. The proposed new type of general missile-borne computer has a high integration and rich interface, and the program calculation can meet the real-time and precision requirements of modern weapon guidance.
Key words : missile-borne computer;common interface;parallel speedup;SoC FPGA;HLS

0 引言

    彈載計(jì)算機(jī)是導(dǎo)彈、制導(dǎo)武器等飛行控制系統(tǒng)的核心部件[1],其工作時(shí)不僅實(shí)時(shí)測(cè)量彈體定位和姿態(tài)信息,而且同時(shí)進(jìn)行控制指令的輸出,此外彈載計(jì)算機(jī)還負(fù)責(zé)彈上各部件的協(xié)調(diào)與配合[2]。隨著現(xiàn)代制導(dǎo)武器的不斷發(fā)展,對(duì)于彈載計(jì)算機(jī)的性能要求也不斷提升,因此彈載計(jì)算機(jī)需要擁有較強(qiáng)的數(shù)據(jù)處理能力、邏輯運(yùn)算能力,同時(shí)其應(yīng)用環(huán)境的特殊性也導(dǎo)致彈載計(jì)算機(jī)必須滿足小型化和低功耗要求[3]

    鄭帥等[4]研究了基于DSP+FPGA的導(dǎo)航制導(dǎo)一體化計(jì)算機(jī),設(shè)計(jì)了一種以DSP為核心算法處理芯片,F(xiàn)PGA為外圍輸入輸出接口的一體化計(jì)算機(jī),充分利用FPGA并行加速底層數(shù)據(jù)處理和DSP核心算法浮點(diǎn)運(yùn)算能力較強(qiáng)等優(yōu)勢(shì),但其沒有從根本上對(duì)核心制導(dǎo)算法進(jìn)行加速,同時(shí)多芯片組合的彈載計(jì)算機(jī)設(shè)計(jì)不利于小型化與低功耗設(shè)計(jì)。陳航[5]研究了基于系統(tǒng)級(jí)封裝(System in a Package,SiP)技術(shù)的彈載計(jì)算機(jī),提出了采用SiP技術(shù)將DSP、FPGA和外圍電路封裝成為一塊系統(tǒng)級(jí)芯片以實(shí)現(xiàn)彈載計(jì)算機(jī)小型化的具體方法與思路,但是該方案無法滿足通用型彈載計(jì)算機(jī)設(shè)計(jì)要求,只適用于某些擁有特定需求的場(chǎng)合,且SiP技術(shù)實(shí)現(xiàn)成本較高。潘艇[6]研究了彈道微分方程組解算的FPGA實(shí)現(xiàn),提出了以多通道二級(jí)并行的方式實(shí)現(xiàn)算法硬件加速,但是進(jìn)行硬件描述語言開發(fā)時(shí),其開發(fā)復(fù)雜度較大,不適合對(duì)硬件知識(shí)僅稍具了解的軟件開發(fā)人員。同時(shí)VHDL或者Verilog HDL可移植性較低,同時(shí)移植時(shí)受到FPGA邏輯單元陣列數(shù)量的限制。

    本文提出一種基于SoC FPGA的新型通用彈載計(jì)算機(jī)設(shè)計(jì)方案,利用FPGA部分進(jìn)行通用接口設(shè)計(jì)與底層數(shù)據(jù)并行處理。同時(shí)針對(duì)串行彈道微分方程求解的速度、精度等問題,提出了一種基于Vivado HLS加速的彈道微分方程計(jì)算方法,通過利用Xilinx高層次綜合工具Vivado HLS,將C語言編寫的彈道微分方程按照HLS處理規(guī)范進(jìn)行修改,進(jìn)而將代碼轉(zhuǎn)換為硬件描述語言,快速生成IP核,從而完成對(duì)于串行彈道微分方程的硬件加速。其與片上硬件處理器系統(tǒng)(Hard Processor System,HPS)部分彈道解算程序邏輯相結(jié)合,配合彈載計(jì)算機(jī)外圍電路,完成對(duì)彈道方程求解的硬件加速。通過實(shí)驗(yàn)對(duì)比驗(yàn)證,結(jié)果表明,該方案提出的基于SoC FPGA通用彈載計(jì)算機(jī)硬件設(shè)計(jì)集成度顯著提高,彈載程序串行運(yùn)算結(jié)合方法使得程序運(yùn)算下降一個(gè)數(shù)量級(jí),得到了較好的彈載程序加速效果,滿足制導(dǎo)武器的工作需求,具有一定應(yīng)用前景。

1 基于SoC FPGA的新型彈載計(jì)算機(jī)硬件設(shè)計(jì)

    彈載計(jì)算機(jī)主要功能分為導(dǎo)航與飛控兩部分,其中導(dǎo)航部分功能為接收來自慣性測(cè)量單元(Inertial Measurement Unit,IMU)、衛(wèi)星定位、磁強(qiáng)計(jì)等導(dǎo)航設(shè)備的信息,并進(jìn)行彈道解算與預(yù)測(cè);飛控部分則主要根據(jù)導(dǎo)航處理所得結(jié)果進(jìn)行飛行控制工作,以完成最終的制導(dǎo)目的[7]。以某型簡(jiǎn)易制導(dǎo)彈丸為例,本文提出的基于SoC FPGA的新型通用彈載計(jì)算機(jī)總體功能結(jié)構(gòu)示意圖如圖1所示,包含IMU、衛(wèi)星定位模塊、地磁測(cè)量模塊等。其中SoC的FPGA部分完成通用接口與彈道微分方程求解器設(shè)計(jì),HPS部分完成對(duì)衛(wèi)星定位信號(hào)、IMU信號(hào)、磁強(qiáng)信號(hào)等組合解算程序設(shè)計(jì),同時(shí)將工作數(shù)據(jù)進(jìn)行實(shí)時(shí)存儲(chǔ),并提供測(cè)試接口。

qrs2-t1.gif

    在接口資源設(shè)計(jì)過程中,充分利用FPGA硬件并行的特點(diǎn),進(jìn)行通用接口設(shè)計(jì),以避免串行處理器與外部設(shè)備交互數(shù)據(jù)時(shí)因中斷、采集與通信所導(dǎo)致的速度較慢、資源調(diào)用紊亂等問題。因此在彈載計(jì)算機(jī)工作過程中,設(shè)計(jì)FPGA通過SPI接口或者IIC接口實(shí)時(shí)接收來自于IMU的信號(hào),通過RS232串行通信接口以一定頻率實(shí)時(shí)采樣衛(wèi)星定位信息,同時(shí)還通過AD采樣等方式采集來自地磁傳感器的數(shù)據(jù)等。FPGA部分還通過對(duì)霍爾傳感器AD采樣,實(shí)時(shí)監(jiān)控執(zhí)行機(jī)構(gòu)運(yùn)行狀態(tài),并通過PWM輸出接口將控制指令傳輸給執(zhí)行機(jī)構(gòu)。

2 基于SoC FPGA串并行彈載程序設(shè)計(jì)

2.1 彈載程序整體設(shè)計(jì)

    彈載程序計(jì)算的核心是實(shí)時(shí)測(cè)量導(dǎo)航數(shù)據(jù),利用外部導(dǎo)航信息,快速地進(jìn)行彈道諸元的求解,并得到修正指令,輸出至舵機(jī)進(jìn)行控制導(dǎo)航。如前文所述,本文新型彈載計(jì)算機(jī)方案采用FPGA部分進(jìn)行外部數(shù)據(jù)接口通用設(shè)計(jì),進(jìn)行底層的采集與處理。待底層數(shù)據(jù)處理完畢后,HPS部分運(yùn)行彈載程序邏輯,進(jìn)行預(yù)定策略的執(zhí)行與運(yùn)算。當(dāng)系統(tǒng)進(jìn)行彈道微分方程求解彈道諸元時(shí),HPS將數(shù)據(jù)通過AXI總線傳輸至FPGA部分,利用其中的彈道微分方程硬件求解器進(jìn)行求解計(jì)算。當(dāng)計(jì)算完畢后,一方面FPGA部分將結(jié)果返回至HPS,HPS進(jìn)行進(jìn)一步處理與存儲(chǔ)記錄;另一方面,F(xiàn)PGA部分綜合計(jì)算計(jì)算結(jié)果與當(dāng)前舵機(jī)狀態(tài),通過預(yù)定策略求得修正指令,實(shí)時(shí)發(fā)送至外部舵機(jī)執(zhí)行機(jī)構(gòu)進(jìn)行控制。SoC FPGA內(nèi)部彈載程序整體流程如圖2所示。

qrs2-t2.gif

2.2 彈載程序的SoC硬件加速設(shè)計(jì)

    本文設(shè)計(jì)中,底層數(shù)據(jù)采集與處理全部由FPGA完成,因此大大簡(jiǎn)化了HPS部分的軟件執(zhí)行流程。利用FPGA硬件并行的特點(diǎn),把大量的底層數(shù)據(jù)交互與處理工作交于其執(zhí)行,極大地提高了彈載計(jì)算機(jī)的數(shù)據(jù)采集通信效率,降低了HPS軟件部分軟件執(zhí)行負(fù)擔(dān),可以有效提高數(shù)據(jù)處理的魯棒性,具有一定的軟件程序運(yùn)算加速效果。但是彈載程序在執(zhí)行過程中主要耗時(shí)部分為求解彈道微分方程部分,因此僅僅利用FPGA設(shè)計(jì)通用接口,而降低HPS部分的底層數(shù)據(jù)處理量并不能有效降低彈道求解時(shí)間。同樣,針對(duì)串行彈道解算過程,降低迭代次數(shù)與步長(zhǎng)、提高軟件代碼的優(yōu)化程度[8]均只能在一定程度上改善計(jì)算耗時(shí)過大的問題。

    因此本文提出對(duì)于彈道微分方程求解利用Vivado HLS軟件進(jìn)行硬件加速,實(shí)現(xiàn)彈道方程硬件求解器,同時(shí)配合HPS軟件部分實(shí)現(xiàn)彈載程序串并行處理結(jié)合的執(zhí)行方式,以完成對(duì)彈載計(jì)算機(jī)軟件整體的加速。

2.2.1 Zynq SoC FPGA與Vivado HLS[9-10]

    Vivado HLS是Xilinx推出的一款高層次綜合工具,其使用C、C++或SystemC語言進(jìn)行數(shù)字系統(tǒng)的描述,并將該系統(tǒng)自動(dòng)轉(zhuǎn)換成寄存器轉(zhuǎn)換級(jí)(Regisiter Transfer Level,RTL)代碼,即生成硬件IP核,以完成對(duì)串行程序的并行加速。其設(shè)計(jì)模式如圖3所示。

qrs2-t3.gif

    利用Vivado HLS進(jìn)行算法硬件并行加速的優(yōu)點(diǎn)有:

    (1)使用高級(jí)代碼編程,有利于降低開發(fā)難度,提高開發(fā)效率。HLS進(jìn)行代碼硬件轉(zhuǎn)換時(shí),用戶只需要將C語言程序安裝規(guī)范進(jìn)行修改便可生成硬件描述語言,有利于邏輯與處理過程復(fù)雜的彈道解算程序開發(fā)與修改維護(hù)效率的提高。

    (2)移植性較高。因?yàn)镠LS使用的是高級(jí)語言編程輸入,不涉及硬件描述,而且軟件提供了標(biāo)準(zhǔn)的總線接口,因此源碼的移植性較高。

    (3)易于仿真。HLS可以對(duì)C語言直接進(jìn)行仿真,并且直接進(jìn)行仿真結(jié)果與CPU執(zhí)行比較,可以有效提升仿真效率。

2.2.2 彈道微分求解加速與SoC系統(tǒng)設(shè)計(jì)

    針對(duì)彈道微分方程,其軟件串行執(zhí)行時(shí)的主要耗時(shí)在迭代計(jì)算過程當(dāng)中,其中每一步迭代均包含多次乘除法、三角函數(shù)和開平方運(yùn)算。同時(shí)在運(yùn)算過程中,前后兩次的數(shù)據(jù)是相互關(guān)聯(lián)的,該種結(jié)構(gòu)無法完全進(jìn)行并行硬件算法的改寫。因此運(yùn)用硬件描述語言執(zhí)行這一過程時(shí),主要加速思想體現(xiàn)在各同優(yōu)先級(jí)運(yùn)算之間。將每一次迭代運(yùn)算過程中的同級(jí)運(yùn)算構(gòu)建同步流水線,進(jìn)行同步運(yùn)行,因此將串行運(yùn)行的耗時(shí)大大降低。當(dāng)系統(tǒng)彈道微分方程的同級(jí)運(yùn)算越多、每一級(jí)內(nèi)部運(yùn)算越多時(shí),硬件同步加速效果越明顯。

    彈道微分方程求解軟件設(shè)計(jì)即是將計(jì)算方法利用C語言編寫函數(shù);而對(duì)其進(jìn)行硬件并行加速設(shè)計(jì)則是利用HLS將軟件代碼轉(zhuǎn)換為RTL電路。最終HLS將串行軟件生成IP核,應(yīng)用到實(shí)際的工程綜合當(dāng)中,完成SoC系統(tǒng)設(shè)計(jì)。由此利用HLS進(jìn)行對(duì)彈道方程求解進(jìn)行硬件加速的流程如圖4所示。本文設(shè)計(jì)的彈載計(jì)算機(jī)SoC系統(tǒng)如圖5所示。

qrs2-t4.gif

qrs2-t5.gif

3 實(shí)驗(yàn)結(jié)果與分析

    為了與運(yùn)行串行彈道解算程序的常規(guī)彈載計(jì)算機(jī)進(jìn)行計(jì)算能力對(duì)比,本文以某型制導(dǎo)彈藥為研究對(duì)象,設(shè)計(jì)了三組參數(shù)相同的彈道飛行仿真實(shí)驗(yàn),實(shí)驗(yàn)中彈道方程求解迭代步長(zhǎng)均設(shè)為0.5,同時(shí)在ARM+FPGA、DSP+FPGA與SoC FPGA三個(gè)平臺(tái)上分別進(jìn)行彈載程序的編寫與實(shí)現(xiàn),以對(duì)比三者在彈道解算上單次計(jì)算的耗時(shí)情況。其中ARM+FPGA、DSP+FPGA對(duì)比實(shí)驗(yàn)中,彈道解算程序均完全由ARM或DSP串行執(zhí)行,F(xiàn)PGA均只負(fù)責(zé)外圍數(shù)據(jù)的采集過程。

    實(shí)驗(yàn)結(jié)果如表1所示。由表分析可知,ARM+FPGA平臺(tái)在該次仿真實(shí)驗(yàn)中耗時(shí)最長(zhǎng),其計(jì)算能力最弱,DSP+FPGA平臺(tái)的計(jì)算能力次之。而對(duì)于本文提出的基于SoC FPGA的新型彈載計(jì)算機(jī)平臺(tái),其對(duì)于步長(zhǎng)為0.5的彈道飛行仿真實(shí)驗(yàn)的單次最長(zhǎng)計(jì)算時(shí)間僅為3.9 ms,這主要是因?yàn)樵谧顬楹臅r(shí)的彈道方程求解過程中利用FPGA的并行處理特點(diǎn)將串行計(jì)算轉(zhuǎn)換為硬件并行加速。同時(shí)雖然FPGA的主頻僅有100 MHz,但其運(yùn)行是基于時(shí)鐘節(jié)拍的,而非哈佛結(jié)構(gòu)的指令集,同時(shí)流水線處理的加入也在一定程度上對(duì)彈道解算起到了加速作用。

qrs2-b1.gif

    本次對(duì)比實(shí)驗(yàn)中,彈道仿真計(jì)算的預(yù)置參數(shù)為:射點(diǎn)與目標(biāo)相距約9 200 m,橫偏約600 m,彈藥總計(jì)飛行約51 s。根據(jù)基于SoC FPGA的新型通用彈載計(jì)算機(jī)得到的結(jié)果繪制彈道仿真曲線如圖6~圖8所示。對(duì)于實(shí)時(shí)性要求較高的武器制導(dǎo)領(lǐng)域,本文提出的基于SoC FPGA新型通用彈載計(jì)算機(jī)完全滿足計(jì)算性能要求。

qrs2-t6.gif

qrs2-t7.gif

qrs2-t8.gif

4 結(jié)論

    通過分析現(xiàn)有常規(guī)彈載計(jì)算機(jī)與串行彈道程序的特征,利用具有并行和多核處理架構(gòu)的SoC FPGA和Vicado HLS高層次綜合工具,提出了新型通用彈載計(jì)算機(jī)硬件設(shè)計(jì)與串并行彈載程序設(shè)計(jì),并且利用HLS的軟件開發(fā)特性大大縮短了彈載計(jì)算機(jī)系統(tǒng)的開發(fā)周期。通過實(shí)驗(yàn)驗(yàn)證,在保證可以有效完成功能指標(biāo)與精確解算彈道諸元的前提下,該新型彈載計(jì)算機(jī)實(shí)現(xiàn)了對(duì)硬件結(jié)構(gòu)的小型化與彈道解算方程的硬件并行加速,取得了較好的實(shí)驗(yàn)效果,具有較高的工程實(shí)踐價(jià)值。

參考文獻(xiàn)

[1] 孫玉環(huán),李永紅,岳鳳英,等.基于LabVIEW的彈載計(jì)算機(jī)測(cè)試系統(tǒng)[J].電子技術(shù)應(yīng)用,2015,41(6):55-58.

[2] 孔得鵬.基于多核DSP的導(dǎo)控一體化彈載計(jì)算機(jī)設(shè)計(jì)[D].北京:北京理工大學(xué),2016.

[3] 高敏,任海龍,楊芳,等.基于DSP+FPGA的彈載計(jì)算機(jī)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2014,22(12):3995-3997.

[4] 鄭帥,張唏,孫昌軍.基于DSP+FPGA的導(dǎo)航制導(dǎo)一體化計(jì)算機(jī)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2016,24(12):100-102,121.

[5] 陳航.基于SiP技術(shù)彈載計(jì)算機(jī)的研究[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2016,29(4):14-16.

[6] 潘艇,楊福彪,朱勇,等.基于龍格-庫塔的彈道微分方程解算的FPGA實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2015,23(12):4217-4220.

[7] 李翠娟,緱麗敏,賀瑩,等.基于雙DSP的某彈載計(jì)算機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù),2016(6):46-47,45.

[8] 李洋.彈載計(jì)算機(jī)程序優(yōu)化研究[J].航空兵器,2014(5):37-40.

[9] 張俊濤,王園偉,龐多.一種硬件加速OpenCV的圖像處理方法研究[J].電子技術(shù)應(yīng)用,2015,34(22):41-43.

[10] 彭習(xí)武,張濤.基于Vivado HLS的邊緣檢測(cè)硬件加速應(yīng)用[J].電子技術(shù)應(yīng)用,2017,43(5):70-73.



作者信息:

蔣曉東,于紀(jì)言

(南京理工大學(xué) 智能彈藥國(guó)防重點(diǎn)學(xué)科實(shí)驗(yàn)室,江蘇 南京210094)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。