基于DSP視頻系統(tǒng)的CF卡FAT文件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
摘要:設(shè)計(jì)并實(shí)現(xiàn)了基于DSP視頻處理系統(tǒng)的CF卡FAT文件系統(tǒng)。該系統(tǒng)能在DM642平臺上,以CF卡為存儲介質(zhì)對視頻數(shù)據(jù)進(jìn)行實(shí)時存儲,存儲格式為FAT16文件系統(tǒng);并與PC機(jī)兼容通過PC機(jī)對寫入CF卡的視頻文件進(jìn)行各種基本操作。
關(guān)鍵詞:DSP視頻系統(tǒng);CF卡;FAT16文件系統(tǒng);實(shí)時存儲
0 引言
隨著DSP系統(tǒng)在視頻處理領(lǐng)域中越來越廣泛的應(yīng)用,其應(yīng)用功能也在拓展。視頻存儲是DSP系統(tǒng)中不可或缺的功能,如何對經(jīng)過處理后的視頻數(shù)據(jù)進(jìn)行靈活的存儲是目前DSP系統(tǒng)應(yīng)用開發(fā)領(lǐng)域面臨的問題之一。
在存儲介質(zhì)的選擇中,CF卡以其容量大、功耗低、體積小等優(yōu)點(diǎn)成為目前主流的存儲介質(zhì)之一,被廣泛應(yīng)用于數(shù)據(jù)采集等領(lǐng)域。為了能方便地在CF卡上進(jìn)行數(shù)據(jù)存儲,需要在DSP系統(tǒng)中設(shè)計(jì)CF卡上的FAT文件系統(tǒng)。當(dāng)DSP系統(tǒng)應(yīng)用于視頻處理時,視頻處理是以幀為單位的,需要對每幀數(shù)據(jù)進(jìn)行實(shí)時存儲。這就要求更復(fù)雜的FAT文件系統(tǒng)設(shè)計(jì)。
本文在DM642視頻處理系統(tǒng)上,以CCS為開發(fā)平臺,對經(jīng)過壓縮后的視頻數(shù)據(jù)利用線程間SCOM通信,實(shí)時地存儲到CF卡中,存儲格式采用FAT16文件系統(tǒng),并實(shí)現(xiàn)與PC機(jī)操作的兼容。
1 DSP視頻系統(tǒng)CF卡FAT文件系統(tǒng)設(shè)計(jì)
1.1 DSP系統(tǒng)模塊框架
本文所涉及到的DSP視頻處理系統(tǒng)的框架示意圖如圖1所示。
攝像頭采集視頻,通過DS進(jìn)行各種處理,壓縮編碼后,存儲到CF卡中。系統(tǒng)軟件構(gòu)架包括視頻采集線程、視頻處理線程、視頻壓縮編碼線程、CF卡讀/寫線程、視頻壓縮解碼線程、視頻顯示線程。
1.2 FAT文件系統(tǒng)
FAT16文件系統(tǒng)包括DBR(DOS BOOT RECORD)扇區(qū)、FAT表和FAT表備份、根目錄和數(shù)據(jù)區(qū)。DBK扇區(qū)是引導(dǎo)記錄區(qū),占用分區(qū)的第0個扇區(qū),512個字節(jié)。根目錄用于存儲文件的目錄項(xiàng)。FAT文件系統(tǒng)在存儲文件時將數(shù)據(jù)區(qū)以簇為單位劃分,簇大小由數(shù)據(jù)區(qū)大小決定。文件在數(shù)據(jù)區(qū)的存儲情況都會在FAT表中體現(xiàn)出來。FAT表偏移位置對應(yīng)了數(shù)據(jù)區(qū)中的所有簇的序號,起始簇號是2。若一個文件占用了若干個簇,被占用的簇的序號對應(yīng)的FAT表的位置會做出相應(yīng)的標(biāo)識。
1.3 SCOM通信
SCOM通信是RF5結(jié)構(gòu)中線程之間數(shù)據(jù)通信的方式。RF5結(jié)構(gòu)包含了四個處理部件:標(biāo)準(zhǔn)算法、單元、通道、和線程。這四個部件位于不同的層次,處理部件之間可以進(jìn)行數(shù)據(jù)的通信。RF5中的數(shù)據(jù)通信包括線程級通信和單元級通信。其通信機(jī)理為使用結(jié)構(gòu)體進(jìn)行信息傳遞。
線程級通信中就利用SCOM通信來實(shí)現(xiàn),即發(fā)送SCOM消息。SCOM消息是用戶定義的一個數(shù)據(jù)結(jié)構(gòu),用于任務(wù)之間交換信息。為實(shí)現(xiàn)信息傳遞,某個任務(wù)申請一定大小的數(shù)據(jù)緩沖區(qū),以供其他任務(wù)讀/寫數(shù)據(jù)。
1.4 FAT16文件系統(tǒng)設(shè)計(jì)
針對圖1中DSP視頻處理系統(tǒng)系統(tǒng),本文設(shè)計(jì)了基本的文件操作:
評論