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