《電子技術(shù)應用》
您所在的位置:首頁 > 其他 > 設(shè)計應用 > CF卡在DM642基便攜式數(shù)字視頻系統(tǒng)中的應用
CF卡在DM642基便攜式數(shù)字視頻系統(tǒng)中的應用
摘要: 目前,數(shù)字視頻系統(tǒng)在日常工作和生活中己得到廣泛應用,如監(jiān)控系統(tǒng)、視頻電話、數(shù)字電視等,而隨著技術(shù)的進步和工作生活對視頻圖像質(zhì)量的要求越來越高,處理的數(shù)據(jù)量也越來越大,這就提出了兩個新的問題:一方面要求硬件的處理能力要更快,如監(jiān)控系統(tǒng)和視頻電話系統(tǒng)都要求具備實時性;另一方面要求數(shù)據(jù)的存儲介質(zhì)容量更大而且方便攜帶。為了實現(xiàn)DSP(DigitalSignal Processing)系統(tǒng)的獨立運行,需要有大容量的存儲介質(zhì)用于保存視頻數(shù)據(jù)。
關(guān)鍵詞: CF卡 DM642 CCS2.2平臺
Abstract:
Key words :

0 引言

目前,數(shù)字視頻系統(tǒng)在日常工作和生活中己得到廣泛應用,如監(jiān)控系統(tǒng)、視頻電話、數(shù)字電視等,而隨著技術(shù)的進步和工作生活對視頻圖像質(zhì)量的要求越來越高,處理的數(shù)據(jù)量也越來越大,這就提出了兩個新的問題:一方面要求硬件的處理能力要更快,如監(jiān)控系統(tǒng)和視頻電話系統(tǒng)都要求具備實時性;另一方面要求數(shù)據(jù)的存儲介質(zhì)容量更大而且方便攜帶。為了實現(xiàn)DSP(DigitalSignal Processing)系統(tǒng)的獨立運行,需要有大容量的存儲介質(zhì)用于保存視頻數(shù)據(jù)。本文中使用TI公司的高端多媒體處理芯片DM642作為圖像處理芯片,其強大的計算能力、豐富的外圍接口和完全可編程性,可以方便地用來開發(fā)各種圖像系統(tǒng)。而CF卡的使用則可以彌補板載的Flash容量通常太小,SDRAM掉電后數(shù)據(jù)會丟失的缺陷。同時CF卡采用的插針式連接方式,具有相對較高的抗震性和穩(wěn)定性,能夠較好地滿足便攜式設(shè)備的要求。在視頻編解碼方面采用TI公司提供的MPEG一2算法,可以基本滿足壓縮效率和質(zhì)量的要求。

1 CF卡的簡介

CF卡的全稱為Compact F1ash。它最先是由Sandisk公司在1994年推出的,現(xiàn)在已經(jīng)成為一種行業(yè)標準,其內(nèi)部示意圖如圖1所示。CF卡由兩個基本部分組成:控制芯片和閃存模塊??刂菩酒脕韺崿F(xiàn)與主機的連接及控制數(shù)據(jù)在閃存模塊中的傳輸,而閃存模塊用于存儲信息。CF卡兼容3.3V和5V的工作電壓,并支持多種接口訪問模式。目前CF的容量可高達100GB,主流容量已達到4GB,價格也已經(jīng)降到幾十元左右,性價比很高。
 


2 DM642與CF卡的接口設(shè)計

2.1 硬件接口設(shè)計

CF卡支持三種基本的工作模式:PC Card Memory模式、PC Card I/0模式以及True IDE模式,不同的模式對應的管腳功能略有不同。在本文的設(shè)計中使用的是PCCard Memory模式,在插入CF卡之前,保證CF卡的插槽/REG管腳為高電平,即可讓CF卡自動進入PC Card Memory模式。DSPs是通過外部存儲器接口EMIF(External MemoryInterface)來訪問片外存儲器的。DM642的EMIF有CEO、CEl、CE2、CE3四個空間,各具有256MB的尋址空間。本文所述的系統(tǒng)設(shè)計中將CE2空間配置為CF卡的地址空間供CF卡使用,根據(jù)Memory模式的要求,CE2空間被配置為8位異步接口,此外還專門配備了一片CPLD來對CF卡進行讀寫控制,硬件連接如圖2所示。
 


引腳連接說明如下:/REG信號用于選擇訪問普通寄存器還是屬性寄存器,他和地址線A[3:0]一起完成對讀寫寄存器的選取。/CDl和/CD2用于檢測插槽上是否有CF卡,當CF卡插入插槽后,這些管腳會被拉低。/CEl和/CE2則用來選擇CF卡的數(shù)據(jù)傳輸寬度,本文中設(shè)計為8位寬度。為了節(jié)約IO口的資源,/CDl、/CD2、/CEl、/CE2和I/REG均連接到配置的通用IO(GPIO)口上。

TEAl3控制REG,TEAl2控制CF卡的CEl,TEAl 1控制CF卡的CE2,DSP_CE2是CE2空間的使能信號,ARE和IAWE是異步接口的讀寫信號,均為低電平有效,他們通過與DSP_CE2邏輯取“或”后連接到CF卡的/0E和/WE,這樣在/CE2使能后就可以相應地控制CF卡的讀寫操作。

CF卡具有16位的數(shù)據(jù)總線,但是可以根據(jù)主控制器的數(shù)據(jù)寬度靈活配置成8位或16位,本系統(tǒng)中將DM642的低16位數(shù)據(jù)總線D[15:0]與CF卡的數(shù)據(jù)總線D[15:0]相連。CF卡的11位地址總線取低四位A[3:0]連接到DM642的TEA[6:3],CF卡的TEA[9:4]接地,TEAl0連接到DM642的TEA7,CSEL接地,IOWR、IORD上拉至VCC,其他未說明使用的引腳均為接地操作。

2.2 CF卡的軟件接口
    CF卡的讀寫是以扇區(qū)(sector)為基本單位的,每扇區(qū)為512字節(jié),每次讀寫一個或多個連續(xù)扇區(qū)。本文中CF卡被配置為PC Card Memory模式,該模式下的寄存器地址映射如表1所示。

  寄存器0用于讀寫數(shù)據(jù),寄存器1在讀操作時是錯誤寄存器,存放錯誤信息,寫的時候是特征寄存器。寄存器2用于存放讀寫扇區(qū)的數(shù)目。寄存器3~6用于存放讀寫扇區(qū)的地址。CF卡的扇區(qū)尋址有兩種方式:物理尋址方式(Cylinder/Head/Sector,CHS)和邏輯尋址方式(Logical Block Addressing,LBA)。CHS是扇區(qū)對應的具體的柱面、磁頭和扇區(qū)的地址,LBA的地址則在邏輯上是連續(xù)的,兩種尋址方式的轉(zhuǎn)換關(guān)系為:LBA地址=(柱面號×磁頭數(shù)+磁頭號)×扇區(qū)數(shù)+扇區(qū)號一1。本文選擇LBA的線性尋址方式。
    寄存器7在讀和寫時具有不同的意義。讀操作時是狀態(tài)寄存器,存放CF卡的狀態(tài)信息,寫的時候是命令寄存器,用于設(shè)置命令,完成相應的操作。
    CF卡讀寫程序之前要初始化DSP和CF卡,初始化GPIO,將DM642的CE2空間設(shè)置為8位異步接口,將/REG配置為高電平,同時設(shè)置CF卡為8位數(shù)據(jù)接口。
    在讀寫扇區(qū)時,首先要設(shè)置好起始扇區(qū)的LBA地址和要讀寫的扇區(qū)數(shù)目,然后再設(shè)置命令寄存器,讀取數(shù)據(jù)設(shè)置為20H,寫入數(shù)據(jù)設(shè)置為30H,寫完后讀取狀態(tài)寄存器,只有當狀態(tài)寄存器為“58H”時才能開始讀寫操作,否則繼續(xù)查詢狀態(tài)。由于數(shù)據(jù)接口為8位,這樣對一個扇區(qū)就需要讀或?qū)?12次數(shù)據(jù)寄存器即可。之后還要讀取狀態(tài)寄存器看是否為“50H”,判斷CF卡的操作是否完成,若完成,則退出本次操作,否則繼續(xù)查詢直至完成。
    CF卡寫一個扇區(qū)函數(shù)部分源碼如下:


    讀寫多個扇區(qū)的方法與此類似,設(shè)置好扇區(qū)的數(shù)目和相應的讀寫命令即可,一般說來直接設(shè)置循環(huán)讀寫比調(diào)用子程序的運行效率要高,因為它只需要讀寫一次扇區(qū)的起始地址即可。
2.3 CF卡的內(nèi)存空間管理
   本系統(tǒng)中CF卡上存儲的是mpeg2格式的視頻數(shù)據(jù),雖然視頻的長度不確定,但是扇區(qū)地址用LBA尋址的話都是4字節(jié)。在本設(shè)計中CF卡的存儲空間可如下進行分配:第一個扇區(qū)存放視頻的索引信息;從第二個扇區(qū)開始存放圖像數(shù)據(jù)。
    其中第一個扇區(qū)512個字節(jié)存放的數(shù)據(jù)格式如下:

   total section為存放的總視頻數(shù)據(jù)的個數(shù),初始為0;current section則為當前要進行操作的視頻的編號,初始為1;addressl為第一段視頻的起始地址,初始值為0x00000002,而address2為第二段視頻數(shù)據(jù)的起始地址,初始值為0,其后的數(shù)據(jù)在初始化時均設(shè)為O。
    在每次系統(tǒng)啟動時都需要首先讀取第一個扇區(qū)的信息,讀取的信息放在一個寬度為4字節(jié)的數(shù)組infolba里,則每段要讀寫的視頻地址計算方式如下:currentaddress=infolba[current section],相應地在完成讀寫操作后要重寫第一扇區(qū),對索引信息進行更新,具體為total section、current section和下一段視頻數(shù)據(jù)存放的地址。
    從實用角度講第一扇區(qū)可以存放約125段視頻的首地址,可基本滿足使用的要求。根據(jù)設(shè)計addressl的值恒為Ox00000002,而total section和Icurrent section又有特定的大小關(guān)系,那么Infolba的前三個數(shù)據(jù)可作為校驗標志用于檢測當前的CF卡空間分配是否符合要求,若不符合要求就按照初始值進行初始化。一般情況下current section=totalsection+1, 當current section小于或等于total sectiOn的時候,若進行寫扇區(qū)的操作,則infolba[current section]以后的數(shù)據(jù)信息都會被覆蓋或丟失索引信息,這樣可以確保CF卡內(nèi)存空間的重復使用。在本系統(tǒng)中通過外部硬件控制電路輸入控制信號,可以方便地實現(xiàn)錄像、播放、快進、快退、暫停等功能,很明顯可以通過快進、快退改變current section的值來對CF卡上的視頻數(shù)據(jù)進行播放或者是覆蓋操作。

3 結(jié)束語
    本文給出了CF卡和DM642的軟、硬件接口,通過CCS2.2平臺和RF5框架整合了軟件工程,成功地將CF卡應用到基于DM642的便攜式數(shù)字視頻系統(tǒng)中。將程序燒寫到板載flash后,可以實現(xiàn)上電自啟動。通過多次試驗和對程序的優(yōu)化,系統(tǒng)運行良好,這說明本方案成功地解決了便攜式設(shè)備要求的實時性、大容量和穩(wěn)定性,具有廣闊的應用前景。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。