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