采用TI公司的TMS320C6713,通過地址譯碼和總線隔離,直接將數(shù)字圖像傳感器芯片OV7620接入;利用EDMA獨(dú)立傳送的特點(diǎn),在不增加DSP軟件開銷和對總線占用的情況下,實(shí)現(xiàn)視頻圖像的實(shí)時(shí)采集和處理。
經(jīng)過驗(yàn)證,系統(tǒng)具有實(shí)時(shí)性好、成本低、開發(fā)周期短的特點(diǎn)。通過總線隔離和數(shù)據(jù)鎖存實(shí)現(xiàn)了DSP與低速LCD顯示模塊的接口。針對具體的硬件電路給出了驅(qū)動例程。
引 言
在以DSP為核心的視頻處理系統(tǒng)中,視頻采集的方法通??梢苑譃閮纱箢悾鹤詣拥囊曨l采集和基于DSP的視頻采集。前者通常采用CPLD/FPGA控制視頻解碼芯片,通過FIFO或者雙口RAM向DSP傳送數(shù)據(jù),特點(diǎn)是數(shù)據(jù)采集模塊獨(dú)立運(yùn)行,占用DSP資源少,但實(shí)現(xiàn)相對復(fù)雜,成本偏高;后者通常由DSP控制視頻解碼芯片并同步各種時(shí)序,將視頻數(shù)據(jù)讀入。其特點(diǎn)是實(shí)現(xiàn)相對簡單,成本有所降低,但對視頻解碼芯片的控制較為復(fù)雜,占用DSP處理時(shí)間。
如果通過適當(dāng)?shù)倪壿嬰娐纷寯?shù)字圖像傳感器芯片直接接入DSP,則可省去視頻控制解碼芯片、CPLD/FPGA、FIFO或雙口RAM,在不增加DSP軟件開銷的情況下,大大降低系統(tǒng)的復(fù)雜程度和成本,縮短開發(fā)周期。
1 硬件系統(tǒng)設(shè)計(jì)
1.1 系統(tǒng)總體結(jié)構(gòu)
系統(tǒng)結(jié)構(gòu)框圖如圖1所示。DSP采用TI公司發(fā)布的C6000系列高速浮點(diǎn)型信號處理器TMS320C6713,其峰值處理速度達(dá)l350 MFLOPS(百萬次浮點(diǎn)每秒)。其外部存儲器接口EMIF(External Memory Interface)包括4個(gè)CE空間,其中CE0被配置為16位同步空間,接SDRAM;CEl為16位異步空間,接Flash;CE2為16位異步空間,經(jīng)過地址譯碼和總線緩沖將數(shù)字圖像傳感器OV7620接入;CE3為8位異步空間,經(jīng)過數(shù)據(jù)鎖存和總線隔離將LCD顯示模塊接入。
2 OV7620的配置和硬件連接
OV7620是OmniVision公司生產(chǎn)的CMOS彩色/黑白圖像傳感器,在本系統(tǒng)中被配置為16位逐行掃描QVGA方式,RGB原始數(shù)據(jù)輸出,分辨率為320×240,SCCB總線,內(nèi)部默認(rèn)的行曝光方式;同時(shí)使能HREF信號對PCLK進(jìn)行門控,即只有當(dāng)HREF有效時(shí)像素時(shí)鐘信號才被輸出到PCLK引腳上,否則該引腳保持無效。這樣EDMA可以始終處在使能狀態(tài),從而簡化采集過程。
OV7620與DSP的硬件連接框圖如圖2所示。在對OV7620復(fù)位結(jié)束后,DSP通過GPIO模擬SCCB總線完成對OV7620內(nèi)部功能寄存器的配置,之后數(shù)幀內(nèi)圖像數(shù)據(jù)和同步信號將逐漸穩(wěn)定。Y通道和U/V通道在分別經(jīng)過74HC244總線緩沖器之后接入EMIF低16位數(shù)據(jù)總線。CE2與地址線EA20、EA21經(jīng)過譯碼產(chǎn)生2片74HC244的選通信號,此時(shí)OV7620的讀地址為0xA0000000。
3 EDMA數(shù)據(jù)采集
在16位逐行掃描方式中,圖像的每行RGB原始數(shù)據(jù)均被OV7620先后輸出兩次,因此,只須讀取其偶數(shù)次HREF信號對應(yīng)的數(shù)據(jù)即可獲得整個(gè)圖像信息。這樣可以減少圖像采集所占用的存儲空間和總線資源。OV7620同步和控制信號與GPIO的對應(yīng)關(guān)系如表1所列。
本系統(tǒng)采用EDMA的第12個(gè)通道(EDMAl2)進(jìn)行圖像數(shù)據(jù)采集。該通道被配置為16位一維傳輸方式,中斷禁止,PCLK的上升沿觸發(fā)EDMAl2搬移一個(gè)16位數(shù)據(jù)存入到SDRAM中,每次EDMA任務(wù)搬移一個(gè)HREF(320個(gè)16位)的圖像數(shù)據(jù)。幀同步信號VSYNC上升沿觸發(fā)DSP中斷,對EDMA通道進(jìn)行初始化,使能水平參考信號HREF中斷并關(guān)閉EDMA通道(放棄第1個(gè)HREF、的數(shù)據(jù)),開始一幀的數(shù)據(jù)傳輸。HREF下降沿觸發(fā)DSP產(chǎn)生中斷,標(biāo)志OV7620一次HREF數(shù)據(jù)輸出的結(jié)束。如果接下來一次HREF數(shù)據(jù)需要被讀入,則中斷服務(wù)程序會對EDMAl2參數(shù)進(jìn)行修正,使能EDMA12通道,開始下一行數(shù)據(jù)的傳輸;否則,就禁止EDMAl2,放棄下一次HREF數(shù)據(jù)。每接收1幀圖像數(shù)據(jù)共產(chǎn)生240次HREF中斷和120次EDMA數(shù)據(jù)傳輸。以下是OV7620數(shù)據(jù)采集的部分源代碼:
[align=center]
[/align]
4 LCD模塊的驅(qū)動
采用液晶顯示模塊可以使圖像處理結(jié)果實(shí)時(shí)顯示出來,方便調(diào)試和演示,成本也較低。本系統(tǒng)選用北京寧和電子科技發(fā)展有限公司開發(fā)的NHC_34彩色液晶顯示控制模塊。該模塊支持256色彩色顯示,每個(gè)像素點(diǎn)用1個(gè)字節(jié)表示,分辨率為320×234;支持標(biāo)準(zhǔn)Intel 8位異步總線時(shí)序,有2頁顯示緩存,可任意設(shè)定顯示頁和操作頁。
LCD模塊讀寫周期最短為350ns,而DSP外部總線接口時(shí)鐘頻率一般在100 MHz以上,即小于10ns。通過配置EMIF CE3空間控制寄存器CECTL3(地址為Ox01800014),可以將CE3空間的讀寫周期延長,與LCD模塊無縫連接。但這樣液晶模塊的讀寫操作會過長地占用系統(tǒng)總線,降低對其他存儲空間(尤其是對SDRAM)的訪問效率,進(jìn)而影響系統(tǒng)的整體速度。
本系統(tǒng)采用了數(shù)據(jù)鎖存和總線緩沖的方法,通過377鎖存器模擬低速總線控制信號時(shí)序,利用244數(shù)據(jù)緩沖器對低速總線數(shù)據(jù)進(jìn)行隔離。圖3給出了DSP與LCD模塊硬件連接圖。系統(tǒng)有2片74HC377(簡稱為“377”),一片用來鎖存模擬LCD模塊的讀寫控制信號(控制377),另一片用來鎖存寫入數(shù)據(jù)(數(shù)據(jù)377),由異步寫使能控制線AWE作為377的觸發(fā)沿輸入;CE3和EA20、EA21經(jīng)過譯碼產(chǎn)生2個(gè)377的使能信號,DSP寫數(shù)據(jù)377的地址為0xB0000000,寫控制377的地址為0xB0040000。數(shù)據(jù)377的輸出經(jīng)一片總線緩沖器HC244(寫出244,HC244簡稱為“244”)連接到LCD模塊總線上,該244輸出使能信號來自控制377。另有一片HC244(讀入244)用來將LCD模塊總線接到DSP低8位總線上,其輸出使能信號同樣由CE3和EA20、EA21經(jīng)過譯碼產(chǎn)生,地址為0xB0080000,是DSP對LCD模塊的讀地址。
DSP根據(jù)LCD模塊總線時(shí)序,通過定時(shí)器延時(shí)中斷來間隔地寫入數(shù)據(jù)到控制377,以模擬相應(yīng)低速總線的控制信號,并適時(shí)從讀入244讀取數(shù)據(jù)(讀周期),或者寫入數(shù)據(jù)到數(shù)據(jù)377(寫周期),就可以完成對LCD模塊的讀/寫操作。LCD寫周期驅(qū)動例程如下(該程序通過延時(shí)來控制時(shí)間間隔):
5軟件系統(tǒng)設(shè)計(jì)
軟件系統(tǒng)流程如圖4所示。DSP在復(fù)位完成之后首先進(jìn)行系統(tǒng)的初始化,配置鎖相環(huán)、EMIF和GPIO,并硬件復(fù)位OV7620,通過GPIO模擬SCCB總線配置其內(nèi)部功能寄存器,之后對LCD模塊清屏。當(dāng)EDMA沒有被使能時(shí),OV7620的同步信號仍能被EDMA事件寄存器捕獲并保持,所以把EDMA的初始化放在OV7620和LCD模塊的初始化之后,并在使能之前清事件標(biāo)志。在中斷被使能之后,OV7620的幀同步信號會觸發(fā)系統(tǒng)中斷,開始進(jìn)行數(shù)據(jù)的循環(huán)采集,并在每幀數(shù)據(jù)采集完成之后置位相應(yīng)標(biāo)志,通知主程序進(jìn)行處理。主程序在接到通知后對OV7620的原始數(shù)據(jù)進(jìn)行插值和平滑,生成待處理的RGB24位色圖像數(shù)據(jù)。圖像處理和運(yùn)算的結(jié)果被送到LCD模塊進(jìn)行動態(tài)顯示,LCD的顯示任務(wù)主要由中斷服務(wù)程序完成,而此時(shí)主程序已開始等待和處理下一幀圖像。
6 結(jié)論
本系統(tǒng)通過總線隔離和地址譯碼,只使用簡單的邏輯芯片將OV7620接入DSP,并充分發(fā)揮EDMA獨(dú)立傳送的特點(diǎn),僅占用DSP少量的軟件開銷和總線資源。就完成圖像數(shù)據(jù)的采集。與采用視頻接口芯片、外圍FIFO和CPLD/FPGA等方案相比,很大程度上降低了系統(tǒng)成本,縮短了開發(fā)周期,而對系統(tǒng)總線的占用卻并沒有增加。利用數(shù)據(jù)鎖存和總線緩沖實(shí)現(xiàn)了對LCD模塊異步低速總線的接人;利用EDMA進(jìn)行總線模擬,進(jìn)一步降低DSP對LCD模塊讀/寫的參與,減少系統(tǒng)中斷次數(shù),優(yōu)化系統(tǒng)性能,能夠?qū)D像處理的結(jié)果實(shí)時(shí)和直觀地顯示出來。
與其他DSP嵌入式系統(tǒng)相比,本系統(tǒng)具有處理速度快、接口簡單、成本低、能實(shí)時(shí)顯示的特點(diǎn),適用于視覺導(dǎo)航、視頻實(shí)時(shí)處理等要求高速處理圖像的場合,以及有實(shí)時(shí)演示要求的場合。
編輯:何世平