《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于SoC的新型通用彈載計算機系統(tǒng)設(shè)計
基于SoC的新型通用彈載計算機系統(tǒng)設(shè)計
2018年電子技術(shù)應(yīng)用第11期
蔣曉東,于紀言
南京理工大學(xué) 智能彈藥國防重點學(xué)科實驗室,,江蘇 南京210094
摘要: 為了解決現(xiàn)有制導(dǎo)武器中彈載計算機計算性能較弱和傳感器底層數(shù)據(jù)交互復(fù)雜等問題,,提高彈載計算機計算性能與硬件集成度,,提出一種基于SoC FPGA的新型通用彈載計算機設(shè)計方案。提出的SoC FPGA通用彈載計算機硬件設(shè)計集成度顯著提高,,通過三種平臺(ARM,、DSP和SoC FPGA)的運算耗時實驗對比,在相同計算要求下,,該彈載計算機并行運算加速方法運算耗時相較串行運算下降了一個數(shù)量級,,為4 ms,得到較好的運算加速效果,。結(jié)果表明,,基于SoC FPGA的新型通用彈載計算機硬件集成度高、通用接口豐富,,而且彈載程序運算滿足現(xiàn)代武器制導(dǎo)的實時性與精確性要求,。
中圖分類號: TP36
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.181187
中文引用格式: 蔣曉東,于紀言. 基于SoC的新型通用彈載計算機系統(tǒng)設(shè)計[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 引言

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

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

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

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

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

qrs2-t1.gif

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

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

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

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

qrs2-t2.gif

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

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

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

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

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

qrs2-t3.gif

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

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

    (2)移植性較高,。因為HLS使用的是高級語言編程輸入,不涉及硬件描述,,而且軟件提供了標準的總線接口,,因此源碼的移植性較高。

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

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

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

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

qrs2-t4.gif

qrs2-t5.gif

3 實驗結(jié)果與分析

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

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

qrs2-b1.gif

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

qrs2-t6.gif

qrs2-t7.gif

qrs2-t8.gif

4 結(jié)論

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

參考文獻

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

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

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

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

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

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

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

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

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

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



作者信息:

蔣曉東,,于紀言

(南京理工大學(xué) 智能彈藥國防重點學(xué)科實驗室,,江蘇 南京210094)

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