CF卡在DM642基便攜式數(shù)字視頻系統(tǒng)中的應(yīng)用
total section為存放的總視頻數(shù)據(jù)的個(gè)數(shù),初始為0;current section則為當(dāng)前要進(jìn)行操作的視頻的編號(hào),初始為1;addressl為第一段視頻的起始地址,初始值為0x00000002,而address2為第二段視頻數(shù)據(jù)的起始地址,初始值為0,其后的數(shù)據(jù)在初始化時(shí)均設(shè)為O。
在每次系統(tǒng)啟動(dòng)時(shí)都需要首先讀取第一個(gè)扇區(qū)的信息,讀取的信息放在一個(gè)寬度為4字節(jié)的數(shù)組infolba里,則每段要讀寫(xiě)的視頻地址計(jì)算方式如下:currentaddress=infolba[current section],相應(yīng)地在完成讀寫(xiě)操作后要重寫(xiě)第一扇區(qū),對(duì)索引信息進(jìn)行更新,具體為total section、current section和下一段視頻數(shù)據(jù)存放的地址。
從實(shí)用角度講第一扇區(qū)可以存放約125段視頻的首地址,可基本滿(mǎn)足使用的要求。根據(jù)設(shè)計(jì)addressl的值恒為Ox00000002,而total section和Icurrent section又有特定的大小關(guān)系,那么Infolba的前三個(gè)數(shù)據(jù)可作為校驗(yàn)標(biāo)志用于檢測(cè)當(dāng)前的CF卡空間分配是否符合要求,若不符合要求就按照初始值進(jìn)行初始化。一般情況下current section=totalsection+1, 當(dāng)current section小于或等于total sectiOn的時(shí)候,若進(jìn)行寫(xiě)扇區(qū)的操作,則infolba[current section]以后的數(shù)據(jù)信息都會(huì)被覆蓋或丟失索引信息,這樣可以確保CF卡內(nèi)存空間的重復(fù)使用。在本系統(tǒng)中通過(guò)外部硬件控制電路輸入控制信號(hào),可以方便地實(shí)現(xiàn)錄像、播放、快進(jìn)、快退、暫停等功能,很明顯可以通過(guò)快進(jìn)、快退改變current section的值來(lái)對(duì)CF卡上的視頻數(shù)據(jù)進(jìn)行播放或者是覆蓋操作。
3 結(jié)束語(yǔ)
本文給出了CF卡和DM642的軟、硬件接口,通過(guò)CCS2.2平臺(tái)和RF5框架整合了軟件工程,成功地將CF卡應(yīng)用到基于DM642的便攜式數(shù)字視頻系統(tǒng)中。將程序燒寫(xiě)到板載flash后,可以實(shí)現(xiàn)上電自啟動(dòng)。通過(guò)多次試驗(yàn)和對(duì)程序的優(yōu)化,系統(tǒng)運(yùn)行良好,這說(shuō)明本方案成功地解決了便攜式設(shè)備要求的實(shí)時(shí)性、大容量和穩(wěn)定性,具有廣闊的應(yīng)用前景。
評(píng)論