0 引言
傳統(tǒng)的靶場破片測速系統(tǒng)多使用多路數(shù)據(jù)采集卡設(shè)置好的參數(shù)現(xiàn)場采集標(biāo)靶的試驗(yàn)波形,試驗(yàn)完成后再交由計(jì)算機(jī)進(jìn)行后期處理和解讀以獲取破片速度等參數(shù)。但隨著軍事科技的日新月異,靶場破片測速系統(tǒng)需要根據(jù)實(shí)際情況現(xiàn)場設(shè)置的參數(shù)越來越多,參數(shù)設(shè)置的靈活性越來越強(qiáng),對系統(tǒng)工作的實(shí)時性要求越來越高;另一方面,戰(zhàn)斗部爆炸試驗(yàn)在野外進(jìn)行,條件惡劣,大型設(shè)備攜帶不便,以往的PC機(jī)+數(shù)據(jù)采集卡設(shè)計(jì)已經(jīng)越來越不能滿足靶場試驗(yàn)的要求。嵌入式系統(tǒng)具有功耗小、便攜性好、穩(wěn)定性高、實(shí)時性強(qiáng)的特點(diǎn),近年來隨著嵌入式技術(shù)的不斷發(fā)展,把嵌入式技術(shù)引入靶場破片測速系統(tǒng)設(shè)計(jì)中,為靶場破片測速系統(tǒng)設(shè)計(jì)提供了一個新的思路。
本文設(shè)計(jì)的靶場破片測速系統(tǒng)以ARM處理器為控制核心,利用了FPGA強(qiáng)大的多路并行處理能力進(jìn)行數(shù)據(jù)處理,在基于嵌入式Linux的平臺上采用Qt/Embedded設(shè)計(jì)了友好的人機(jī)交互界面。系統(tǒng)功能完善,操作直觀簡單,攜行方便,能夠滿足在野外進(jìn)行破片測速的大多數(shù)需要。
1 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)使用ARM+FPGA的設(shè)計(jì)方式。
ARM處理器選用Samsung公司推出的基于ARM920T內(nèi)核的S3C2440。S3C2440主頻高達(dá)400 MHz,完全能夠勝任系統(tǒng)工作要求。S3C2440集成了SDRAM和FLASH控制器,提供了串口,觸摸屏接口,USB接口等多種接口,接口豐富、功能強(qiáng)大,是一款高性能,低價(jià)格的處理器,在嵌入式設(shè)備中獲得了廣泛的應(yīng)用。
FPGA(現(xiàn)場可編程門陣列)選用了Altera公司StratixⅡ系列的EP2S15芯片,該芯片器件密度可達(dá)到15600等效邏輯元(LE),能提供419Kb片內(nèi)TriMatrix存儲器,多達(dá)12個DSP區(qū)塊共有48個(18×18 b)乘法器,用來實(shí)現(xiàn)高性能濾波器和其他DSP功能。支持多種高速外接存儲器接口,支持各種標(biāo)準(zhǔn)的I/O,高速差分I/O,具有強(qiáng)大的高速多通道并行處理能力。
系統(tǒng)使用該芯片64 MB SDRAM作為系統(tǒng)內(nèi)存,64 MB FLASH用于Linux內(nèi)核、文件系統(tǒng)、應(yīng)用程序和試驗(yàn)數(shù)據(jù)的存儲,為系統(tǒng)運(yùn)行提供了充足的存儲空間。
系統(tǒng)硬件結(jié)構(gòu)圖如圖1所示。

?
?
在圖1中,系統(tǒng)采用了32個標(biāo)靶用于破片測速,一個標(biāo)靶對應(yīng)FPGA的一個通道,每個通道對應(yīng)一個32 b計(jì)數(shù)器。戰(zhàn)斗部爆炸后,破片擊穿標(biāo)靶時產(chǎn)生的脈沖將作為起停信號,控制FPGA中相應(yīng)通道的計(jì)數(shù)。所有通道中最早觸發(fā)的通道為基準(zhǔn)通道,相應(yīng)通道計(jì)數(shù)器值為0。從基準(zhǔn)通道被觸發(fā)時刻起,除基準(zhǔn)通道外所有通道計(jì)數(shù)器開始計(jì)數(shù),直到本通道收到觸發(fā)信號或者最長計(jì)數(shù)時間時停止計(jì)數(shù)。停止計(jì)數(shù)時的通道計(jì)數(shù)值即為本通道的觸發(fā)計(jì)數(shù)值。
FPGA設(shè)置了32通道通斷寄存器、32通道輸入觸發(fā)器、通道觸發(fā)計(jì)數(shù)器等多個數(shù)據(jù)寄存器,用于保存標(biāo)靶的通斷、觸發(fā)狀態(tài)及各個通道的觸發(fā)計(jì)數(shù)值;設(shè)置了最長記錄時間寄存器等多個控制寄存器用于控制FPGA的動作。經(jīng)過處理,F(xiàn)PGA將標(biāo)靶的通斷、觸發(fā)狀態(tài)及最終觸發(fā)計(jì)數(shù)值寫入相應(yīng)數(shù)據(jù)寄存器中。
ARM處理器與FPGA通過總線方式實(shí)現(xiàn)通信。FPGA作為一個外部存儲器掛載在ARM的存儲器總線上,這樣ARM處理器通過存儲器指令可直接訪問FPGA,從而通過讀寫FPGA的數(shù)據(jù)和控制寄存器實(shí)現(xiàn)對FPGA的控制和對數(shù)據(jù)的讀取。
ARM與FPGA接口如圖2所示。

?
?
為了便于交互,系統(tǒng)配置了一塊5.7英寸帶觸摸屏的LCD顯示屏作為顯示控制設(shè)備,并且提供了USB口實(shí)現(xiàn)與主機(jī)通信。
通過試驗(yàn)測試,本系統(tǒng)能夠充分發(fā)揮ARM的強(qiáng)大處理能力和FPGA的并行處理能力,成功達(dá)到試驗(yàn)?zāi)康摹?/p>
2 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件結(jié)構(gòu)圖如圖3所示。

?
?
在設(shè)計(jì)具體應(yīng)用程序前首先要對操作系統(tǒng)進(jìn)行裁減。嵌入式Linux內(nèi)核,是一種完全開源、功能強(qiáng)大的操作系統(tǒng)內(nèi)核,與時下流行的Wi-nce等嵌入式操作系統(tǒng)相比,其優(yōu)點(diǎn)之一就在于內(nèi)核的可裁減性,使用者完全能夠根據(jù)自己的需要對內(nèi)核進(jìn)行裁減,刪減去不必要的功能,完成自定義設(shè)計(jì)。本文經(jīng)過裁減后的內(nèi)核大小僅有1.2 MB,大大減少了對系統(tǒng)存儲空間的占用。
GUI為用戶提供了與應(yīng)用系統(tǒng)交互的可視化通道,在嵌入式軟件系統(tǒng)中占據(jù)重要地位。針對嵌入式設(shè)備資源有限的特點(diǎn),嵌入式GUI要求提供這樣一種交互接口,即它占用資源少且反應(yīng)迅速,具備高度的可移植性和可裁減性。目前國內(nèi)主流的嵌入式GUI系統(tǒng)有MINIGUI,MICRO WINDOW,Qt/Embedded等幾種,各有優(yōu)缺點(diǎn)。綜合比較各種GUI系統(tǒng)的優(yōu)劣,從GUI系統(tǒng)的封裝性、可移植性和系統(tǒng)設(shè)計(jì)的便捷性考慮,最終選取Qt/Embedded進(jìn)行GUI的設(shè)計(jì)。
Qt/Embedded(以下簡稱Qt/E)是由著名的Trolltech公司專門針對pda等嵌入式移動手持設(shè)備開發(fā)的開放源碼的一套應(yīng)用程序包和開發(fā)庫,具有可視化強(qiáng),界面美觀,類庫完善豐富,封裝性好的優(yōu)點(diǎn)。與其他嵌入式GUI系統(tǒng)相比,Qt/E開發(fā)方便,尤其是Qt/E提供了一種類型安全的基于signal和slot的真正組件化編程機(jī)制,簡化了編寫過程,有助于開發(fā)人員把握核心功能,使程序編寫更加靈活;Qt/E程序可移植性強(qiáng),具有極好的跨平臺特性,完全可以“一處編寫,處處編譯”。許多基于計(jì)算機(jī)Qt的X Window程序在交叉編譯后都可以非常方便地移植為Qt/E版本,這樣完全可以在主機(jī)上完成程序開發(fā),查看效果后經(jīng)交叉編譯直接在嵌入式設(shè)備上運(yùn)行,大大簡化了開發(fā)流程,節(jié)約了開發(fā)時間。
電子發(fā)燒友App



































評論