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