王杰
【摘 要】隨著軍用電子裝備的性能提升和功能擴(kuò)展,數(shù)據(jù)記錄儀開始向大容量、高速度、高可靠性的方向發(fā)展。本文提出了一種基于嵌入式軟核的記錄儀設(shè)計(jì)方法,通過FPGA芯片中的NIOS II軟核實(shí)現(xiàn)對存儲(chǔ)系統(tǒng)的控制,結(jié)果表明,本方法可以有效提高記錄儀的存儲(chǔ)密度、讀寫速度以及可靠性。
【關(guān)鍵詞】數(shù)據(jù)記錄儀;嵌入式軟核;NIOS II.
【Abstract】With the improvement of performance and function for military electronic equipment, large capacity, high speed and high reliability have become a trend for data recorder. A design of data recorder based on embedded processor has been proposed in this paper, storage system could be controlled with NIOS II CPU Core of FPGA. Results have proved that the storage density, write speed and reliability can be greatly improved.
【Key words】Data Recorder;Embedded Processor;NIOS II.
0 引言
隨著軍用電子技術(shù)的快速發(fā)展和新體制電子裝備不斷出現(xiàn),信息的高速記錄作為一項(xiàng)重要的功能被廣泛應(yīng)用于重大空情記錄回放、雷達(dá)回波數(shù)據(jù)記錄、圖形圖像實(shí)時(shí)捕獲等,大容量記錄儀的應(yīng)用需求日趨迫切[1-2]。
目前常用的設(shè)計(jì)方法是采用SATA接口的硬盤作為存儲(chǔ)介質(zhì)[3-4],通過多個(gè)硬盤并行讀寫以提高讀寫速度。但是由于硬盤體積大,讀寫速度有限,這種方法存在存儲(chǔ)密度低、讀寫速度不高的缺點(diǎn),并且多個(gè)硬盤的數(shù)據(jù)同步控制和數(shù)據(jù)管理必須要增加額外的計(jì)算機(jī)來進(jìn)行控制,增加了硬件成本和系統(tǒng)重量。本文提出了一種嵌入式軟核的數(shù)據(jù)記錄儀設(shè)計(jì)方法,通過復(fù)用Altera公司FPGA芯片中的NIOS II CPU軟核[5]來進(jìn)行控制FLASH芯片的讀寫,同時(shí)完成數(shù)據(jù)管理和記錄流程控制。具有存儲(chǔ)密度高、讀寫速度快、數(shù)據(jù)壓縮率高、可靠性好等特點(diǎn),具有廣泛的應(yīng)用前景。
1 基于NIOS II的軟硬結(jié)合FLASH控制器設(shè)計(jì)
FLASH控制器的設(shè)計(jì)是高速數(shù)據(jù)存儲(chǔ)的關(guān)鍵和難點(diǎn)。傳統(tǒng)基于純硬件的FLASH讀寫控制方式存在靈活性差、設(shè)計(jì)復(fù)雜的問題。根據(jù)所選用FLASH芯片的特點(diǎn),采用軟件+硬件的讀寫控制方式;其中硬件部分對數(shù)據(jù)進(jìn)行自動(dòng)接收、緩存,運(yùn)行在NIOS II CPU上的控制軟件通過對FLASH發(fā)送讀寫控制命令來控制數(shù)據(jù)存儲(chǔ)和讀取。硬件部分保證了足夠快的讀寫速度,軟件部分可以根據(jù)系統(tǒng)需要進(jìn)行FLASH讀寫模式轉(zhuǎn)換,更加靈活。同時(shí),這種設(shè)計(jì)方式,大大簡化了硬件控制邏輯設(shè)計(jì)的復(fù)雜性,加快了技術(shù)研發(fā)進(jìn)度。
為了加速單片F(xiàn)LASH讀寫速度,控制器采用FLASH雙面讀寫和交叉讀寫模式,最高能夠達(dá)到傳統(tǒng)讀寫速度的4倍速度。在記錄儀的存儲(chǔ)插件中控制多片F(xiàn)LASH芯片的并行讀寫,在擴(kuò)展存儲(chǔ)容量的同時(shí)成倍提高設(shè)備的讀寫速度。
2 基于NIOS II的嵌入式數(shù)據(jù)管理
系統(tǒng)各種資源(如:CPU內(nèi)存、緩沖區(qū))在面對海量數(shù)據(jù)的管理問題時(shí),傳統(tǒng)的文件管理方式難以實(shí)現(xiàn)。對于嵌入式系統(tǒng)幾MB或十幾MB的內(nèi)存來說,即使通過分段調(diào)入內(nèi)存的方式傳統(tǒng)文件分區(qū)表(FAT表)的查詢也難以實(shí)現(xiàn)。另外,傳統(tǒng)文件管理方式中另外一個(gè)難題就是磁盤碎片問題,反復(fù)的文件建立和刪除會(huì)導(dǎo)致磁盤區(qū)域分配不連續(xù),產(chǎn)生碎片。
為了解決以上問題,NIOS II 配合外圍接口搭建嵌入式控制計(jì)算機(jī),通過運(yùn)行控制軟件建立2級文件索引表(FIL1、FIL2)來對存儲(chǔ)空間和數(shù)據(jù)文件進(jìn)行統(tǒng)一管理。采用基于Block的最小空間管理,每次分配和回收以Block為單位,記錄不滿一個(gè)Block的時(shí)候使用后續(xù)記錄數(shù)據(jù)補(bǔ)足;從而杜絕了磁盤碎片的出現(xiàn)。使用一級文件索引(FIL1)表來存儲(chǔ)文件及存儲(chǔ)區(qū)域信息,索引表沒有大小限制,采取分段調(diào)入內(nèi)存的方式。記錄重演系統(tǒng)的實(shí)時(shí)性體現(xiàn)在用戶命令的響應(yīng)時(shí)間上,我們使用極簡的二級文件索引表(FIL2)來進(jìn)行快速磁盤分配和檢索,為了滿足相應(yīng)時(shí)間的要求常駐內(nèi)存。每個(gè)Block只使用1 bit來標(biāo)識,最大程度的節(jié)省了內(nèi)存空間。這種文件管理方式在有限的資源下,即保證了文件系統(tǒng)的數(shù)據(jù)完整性,又保證了文件創(chuàng)建、刪除、復(fù)制的響應(yīng)時(shí)間。
3 數(shù)據(jù)壓縮
記錄數(shù)據(jù)可能包含雷達(dá)回波、點(diǎn)航跡數(shù)據(jù)、圖像、音視頻等多種數(shù)據(jù)格式。要把記錄數(shù)據(jù)構(gòu)成文件,需要經(jīng)過數(shù)據(jù)復(fù)合的辦法對原始數(shù)據(jù)進(jìn)行處理,這一步通過編碼實(shí)現(xiàn)。在編碼過程中就存在數(shù)據(jù)壓縮的可能,進(jìn)一步減小存儲(chǔ)數(shù)據(jù)量,從而在不增加存儲(chǔ)空間的前提下增加記錄時(shí)間,相當(dāng)于是對系統(tǒng)容量的軟擴(kuò)容[6]。工程實(shí)踐中對已有雷達(dá)回波數(shù)據(jù)使用商業(yè)壓縮工具Winrar直接進(jìn)行壓縮,壓縮率可以達(dá)到70%左右。本文針對雷達(dá)數(shù)據(jù)特征設(shè)計(jì)具有針對性的壓縮算法,平均壓縮比可以達(dá)到53%以上。同時(shí),為了減小數(shù)據(jù)壓縮和解壓對系統(tǒng)性能的影響,采取高效的硬件壓縮、解壓方式,使用較小的硬件開銷首先高速處理。
4 容錯(cuò)處理
系統(tǒng)經(jīng)過長期使用難免會(huì)出現(xiàn)各種各樣的故障,主要來源有兩個(gè):一是,各種控制器件的老化造成系統(tǒng)失效,二是,由于工藝的限制,F(xiàn)LASH的擦寫次數(shù)有限,使用中會(huì)出現(xiàn)壞塊甚至整個(gè)芯片失效,造成記錄失敗。為了提高系統(tǒng)可靠性便于維護(hù),在NIOS II 嵌入式系統(tǒng)中開發(fā)了系統(tǒng)自動(dòng)診斷軟件。通過建立故障模型,進(jìn)行故障模擬和測試生成,從而建立各控制組件以及存儲(chǔ)區(qū)域的診斷列表。通過發(fā)送各種控制指令,捕獲反饋信號來定位故障位置,進(jìn)行修復(fù)或者器件更換。FLASH芯片內(nèi)出現(xiàn)壞塊時(shí),可自動(dòng)屏蔽壞塊,不會(huì)影響記錄速度;當(dāng)某個(gè)FLASH芯片出現(xiàn)故障時(shí),系統(tǒng)會(huì)隔離壞片降速記錄,保證正常工作。
5 結(jié)論
隨著軍用電子裝備的性能提升和功能擴(kuò)展,數(shù)據(jù)記錄儀開始向大容量、高速度、高可靠性方向發(fā)展。本文提出了一種基于嵌入式軟核的記錄儀設(shè)計(jì)方法,通過復(fù)用NIOS II 軟核來實(shí)現(xiàn)對FLASH芯片控制、數(shù)據(jù)管理、記錄流程控制,工程實(shí)踐表明,本方法可以有效提高記錄儀的存儲(chǔ)密度和讀寫速度,且具有數(shù)據(jù)壓縮率高、可靠性好、結(jié)構(gòu)緊湊等特點(diǎn)。
【參考文獻(xiàn)】
[1]胡建萍,王大全,呂幼華.一種雷達(dá)記錄儀的數(shù)據(jù)采集軟件系統(tǒng)[J].杭州電子工業(yè)學(xué)院學(xué)報(bào),2002(01):6-10.
[2]許正榮,昂志敏.PCI 總線主控接口在雷達(dá)回波記錄與重演設(shè)備中的應(yīng)用[J].現(xiàn)代電子技術(shù),2004,27(05):21-23.
[3]汪濤.基于SATA總線技術(shù)的雷達(dá)I/Q數(shù)據(jù)記錄重演系統(tǒng)設(shè)計(jì)[D].南京:南京理工大學(xué),2014.
[4]侯冰劍.固態(tài)硬盤的多通道存儲(chǔ)系統(tǒng)設(shè)計(jì)[D].武漢:華中科技大學(xué),2009.
[5]羅杰俊.基于Nios II的SOPC應(yīng)用技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué), 2009.
[6]蔡玥,陳鵬.基于小波分解的雷達(dá)記錄儀數(shù)據(jù)壓縮算法[J].空軍雷達(dá)學(xué)院學(xué)報(bào),2006,20(02):114-117.
[責(zé)任編輯:朱麗娜]