基于ARM和FPGA的靶場破片測速系統(tǒng)的設(shè)計(jì)
為了便于交互,系統(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所示。
圖3 系統(tǒng)軟件結(jié)構(gòu)圖
在設(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ā)時間。
3 嵌入式GUI程序?qū)崿F(xiàn)
3.1 Qt/E具體程序設(shè)計(jì)
系統(tǒng)在試驗(yàn)前需要根據(jù)現(xiàn)場情況進(jìn)行參數(shù)設(shè)置,尤為重要的是完成標(biāo)靶的分組設(shè)置:在同一方向上的兩個或多個標(biāo)靶分為一組,靶間距事先確定,同一破片將先后通過同組標(biāo)靶,產(chǎn)生觸發(fā)信號,控制對應(yīng)通道計(jì)數(shù)器的計(jì)數(shù)起停。破片測速完成后,FPGA獲得的通道觸發(fā)計(jì)數(shù)值除以FPGA計(jì)數(shù)頻率即為通道的觸發(fā)時刻值。用同一標(biāo)靶組內(nèi)兩個相鄰標(biāo)靶之間的間距除以相鄰標(biāo)靶之間觸發(fā)時刻值的差值,即可得到破片在兩個標(biāo)靶之間的平均飛行速度。每個標(biāo)靶組可測得一組破片穿過本標(biāo)靶組時的速度值,通過進(jìn)一步的計(jì)算,可獲得破片的速度分布、速度降等參數(shù)。
根據(jù)系統(tǒng)測速過程,系統(tǒng)軟件的工作流程如圖4所示。
圖4 系統(tǒng)軟件流程圖
按照系統(tǒng)應(yīng)用要求,將GUI設(shè)計(jì)分為:參數(shù)設(shè)置模塊、系統(tǒng)測試模塊、結(jié)果查看模塊和存儲管理模塊四個模塊。參數(shù)設(shè)置模塊負(fù)責(zé)對破片測速系統(tǒng)所需要的各種參數(shù)進(jìn)行設(shè)置,主要包括標(biāo)靶分組、標(biāo)靶間距、標(biāo)靶類型、最長計(jì)數(shù)時間。在設(shè)置過程中,GUI自動對所設(shè)置的參數(shù)進(jìn)行檢測,如果參數(shù)設(shè)置不正確,將產(chǎn)生錯誤提示。系統(tǒng)測試模塊負(fù)責(zé)在試驗(yàn)前對整個系統(tǒng)進(jìn)行測試。通過人為給出觸發(fā)信號可在LCD上可視化的查看系統(tǒng)是否正常工作,通道可否正常觸發(fā),F(xiàn)PGA可否正常計(jì)數(shù)等。結(jié)果查看模塊負(fù)責(zé)對測試結(jié)果進(jìn)行顯示。在試驗(yàn)完成,獲得測試數(shù)據(jù)后,經(jīng)過運(yùn)算,就可以表格和分布圖兩種方式給出破片的觸發(fā)時刻值和速度值,快速直觀。存儲管理模塊負(fù)責(zé)系統(tǒng)參數(shù)及測試數(shù)據(jù)的保存和
讀取,以進(jìn)行試驗(yàn)數(shù)據(jù)的進(jìn)一步分析。系統(tǒng)擁有脫機(jī)設(shè)置功能,即可在試驗(yàn)前未連接標(biāo)靶的情況下,脫機(jī)進(jìn)行參數(shù)設(shè)置,設(shè)置完畢后可保存所有設(shè)置參數(shù)。試驗(yàn)時,只要選擇保存的參數(shù)就可直接載入脫機(jī)設(shè)置的參數(shù),極大增強(qiáng)了系統(tǒng)工作的靈活性。
評論