O 引言
隨著航空航天航海等技術的發(fā)展,無論是星載還是艦載方面的技術要求,都迫切希望有一種能夠在惡劣環(huán)境(高溫、低溫、振動)下正常工作,并且易于保存的大容量視頻記錄設備,以滿足數據管理系統方面的要求。
早期的海量數據記錄主要是使用磁帶機,但存放在磁帶機中的數據保存條件較高,它容易受到天氣和濕度等環(huán)境的影響。而使用半導體存儲芯片作為存儲介質則具有存儲密度高、無轉動部件、可靠性高、體積小、重量輕等特點,因此,半導體存儲芯片逐漸成為高可靠性數據記錄器的主流方案。
基于半導體存儲芯片K9WBG08UlM的大容量存儲器,可以很好的滿足工業(yè)控制或軍事領域等惡劣環(huán)境下的使用要求。
1 大容量存儲器的應用設計
1.1 系統組成
整個視頻壓縮與大容量數據存儲系統一般由多路視頻服務終端、中心控制分系統、大容量電子存儲陣列等組成。其中,多路視頻服務終端用于視頻信號的采集和壓縮,壓縮后的視頻數據通過網絡送入存儲陣列保存,也可以通過以太網送到指定的用戶進行瀏覽;中心控制分系統以高性能嵌入式處理器BF537為核心,可完成視頻服務終端的控制,存儲陣列數據的讀出。它通過百兆以太網與上位機進行高速數據交換;存儲陣列可提供高達4T的存儲深度,它由10塊400MByte容量的獨立存儲板組成,可為多路視頻服務終端提供同時存儲服務,存儲介質采用大容量非易失NAND-Flash芯片K9WBG08U1M,單片存儲容量為32Gbit,每塊存儲板都可由視頻服務終端寫入,并由中心控制分系統讀出。其系統組成框圖如圖1所示。
1.2 系統工作原理
攝像機輸出的視頻信號進入視頻采集壓縮卡后,首先通過A/D變換器進行視頻信號采集,采樣后輸出的數字視頻信號經FPGA整理后進入數字信號處理器DSP,然后對視頻數據在DSP中按照MPEG4協議進行視頻壓縮,形成MPEG4格式的視頻數據流;每塊采集壓縮板的視頻數據流可實時保存到存儲陣列中。如果有用戶需要訪問,則將該數據流打包后發(fā)送給指定的用戶。
壓縮和存儲過程受主控計算機的控制。如果有用戶需要瀏覽保存的視頻數據,則需要向主控計算機發(fā)出瀏覽請求,主控計算機接受后,即可通過讀數據邏輯選擇存儲陣列中的數據塊,然后讀出后打包并發(fā)送給指定的用戶。主控計算機可以同時響應多個用戶的請求。
2 大容量電子存儲陣列設計
2.1 數據收發(fā)接口
存儲板的數據收發(fā)可通過DSP實現??紤]到與前端芯片選擇的一致性,本方案選擇ADI公司的ADSP-BF533為數據收發(fā)處理器。執(zhí)行存儲操作時,BF533將從輸入/輸出總線并行外設接口(PPI)接收中心控制板發(fā)送的存儲數據,并將其緩存到SDRAM,同時按照K9WBG08U1M的編程時序要求形成存儲器的編程指令,再通過FPGA發(fā)送到K9WBG08U1M存儲芯片;而在執(zhí)行讀操作時,BF533則通過FPGA向K9WBG08U1M發(fā)送讀操作指令,以讀取指定區(qū)域的數據并緩存到SDRAM存儲器中,然后通過輸入/輸出總線(PPI)發(fā)送到中心控制分系統并將其回送給上位機進行瀏覽。
2.2 存儲器訪問控制接口
每塊存儲板的訪問控制接口均可由兩片FPGA實現。 由于板上有100片存儲芯片K9WBG08U1M,而輸入/輸出總線只有一套,所以,對芯片的訪問需要通過總線驅動和譯碼邏輯來實現。該邏輯可由ALTERA公司的Cyclong系列FPGA實現,具體型號為EP2C35F67218,它同時可通過EBIU總線與DSP進行數據交換。存儲芯片寫入或讀出的數據需通過EP2C35。由于板上有100片存儲芯片都連接到EP2C35的一套I/O引腳上,故會導致負載過大而無法工作,所以,可將存儲芯片4個一組,共用一套EP2C35的I/O引腳驅動,以保證足夠的驅動能力。來自總線的地址信號輸入到地址譯碼器,用于選擇存儲芯片。輸入為7位地址線,輸出存儲芯片選擇信號csl~csl00其具體接口連接如圖2所示。[!--empirenews.page--]
3 文件管理
由于存儲陣列的存儲深度達4TB,而拍攝的文件時長和壓縮后的文件大小是不固定的,因此,根據Flash器件的固有特性,可構建一個適合管理NAND Flash存儲器的FAT文件系統,并通過改進FAT表的存儲方式來延長存儲器的使用壽命,提高系統存儲的穩(wěn)定性。但這因此需要對每次任務拍攝的視頻文件進行管理,為此,可在本系統中設計一個簡單的文件記錄系統,包括文件名、存儲地址、文件大小、對應攝像機號、拍攝時間和時長,記錄下來的信息可保存在FLASH中的FAT表項區(qū)域中,用于滿足基本的文件管理操作,如刪除、拷貝、剪切、下載、陣列格式化等。
3.1 文件寫入
當中心控制分系統接收到開始拍攝命令后,可通過網絡發(fā)送開始命令給前端視頻采集系統,同時依照攝像機號和存儲陣列的對應關系發(fā)送開始命令給存儲陣列,存儲陣列創(chuàng)建文件索引表項后,即開始等待接收視頻數據,直到中心控制分系統接收到上位機發(fā)送的結束命令,再寫入文件名、文件長度等有關信息,從而完成一次文件寫入過程。
3.2 文件下載
當有用戶需要瀏覽存儲在存儲陣列當中的文件信息時,上位機可發(fā)送瀏覽命令給中心控制分系統。由中心控制分系統按照與存儲陣列之間的協議發(fā)送瀏覽命令,存儲陣列從存儲器當中取得保存的視頻文件記錄信息并生成文件列表,然后打包回送給中心控制分系統后,按照FIP下載格式回送給上位機顯示,用戶可以依據回送的信息列表選擇文件進行下載操作。為了使下載速度和網絡傳輸速度匹配,本文設計了帶流量控制的下載模式,以使下載速度可以完全由中心控制分系統控制。
3. 3 文件管理
事實上,NAND Flash存儲器有時也會出現位反轉現象,同時在使用中也可能會有壞損單元。因此,數據寫入必須在空白的區(qū)塊或者擦除后的區(qū)塊中進行,其底層技術要求以塊為單位進行擦除,再按頁寫入。如果在存儲陣列當中有無用的視頻數據,用戶可以按照需要選中相應的文件,提取出文件存放的地址參數后再進行文件刪除操作??紤]到存儲陣列的壽命問題,要使每個芯片的使用概率大概相等,本設計采用順序存儲的格式來存放文件。但是,當刪除文件之后,就會在存儲陣列中留下大量的未用空白區(qū)域,使得存儲陣列的使用率大為降低,為此可在存儲陣列當中設計存儲陣列文件整理功能和格式化功能,當空白區(qū)域所占用的比例較高時,由上位機發(fā)送文件整理命令給中心控制分系統,以便中心控制分系統控制存儲陣列進行文件整理操作,整理完成后回送狀態(tài)給上位機。對于存放的比較重要的文件??捎梦募截惷钤趲讉€存儲陣列之間進行文件備份,以提高系統的可靠性。而在存儲陣列當中,當有用文件占有率很少但是文件又很多的情況下,可以拷貝出有效文件,然后對存儲陣列進行格式化。
4 結束語
這種設計方便靈活,可以借鑒,以用來設計高速、大容量、高可靠性的電子存儲設備。事實上,針對本系統中要求容量大、可靠性高、使用環(huán)境惡劣等特點,本文所設計的系統能夠很好地滿足初始的預期效果,現在已經在某型系統上得到了應用。