一種圖像采集處理系統(tǒng)的實現(xiàn)和設(shè)計
出處:www.chinaecd.net 發(fā)布于:2011-09-04 21:58:55
隨著信息化技術(shù)的不斷發(fā)展,圖像采集處理技術(shù)越來越廣泛的應(yīng)用在國民經(jīng)濟生活的各個領(lǐng)域。傳統(tǒng)的圖像采集處理大多基于計算機,受計算機體積與功耗的限制,圖像采集處理技術(shù)的應(yīng)用不能進一步得到普及和推廣 基于DSP的圖像采集處理系統(tǒng)具有體積小,功耗低,可擴展,利于實現(xiàn)便攜式設(shè)計等特點,因此采用DSP進行圖像采集處理逐漸成為一種趨勢。DSP(DIGITAL signal processor)是一種獨特的微處理器,是以數(shù)字信號來處理大量信息的器件。其工作原理是接收模擬信號,轉(zhuǎn)換為0或1的數(shù)字信號,再對數(shù)字信號進行修改、刪除、強化,并在其他系統(tǒng)芯片中把數(shù)字?jǐn)?shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實時運行速度可達(dá)每秒數(shù)以千萬條復(fù)雜指令程序,遠(yuǎn)遠(yuǎn)超過通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。
在以DSP為的視頻處理系統(tǒng)中,視頻采集的方法通常可以分為兩大類:自動的視頻采集和基于DSP的視頻采集。前者通常采用CPLD/FPGA控制視頻解碼芯片,通過FIFO或者雙口RAM向DSP傳送數(shù)據(jù),特點是數(shù)據(jù)采集模塊獨立運行,占用DSP資源少,但實現(xiàn)相對復(fù)雜,成本偏高;后者通常由DSP控制視頻解碼芯片并同步各種時序,將視頻數(shù)據(jù)讀入。其特點是實現(xiàn)相對簡單,成本有所降低,但對視頻解碼芯片的控制較為復(fù)雜,占用DSP處理時間。
硬件系統(tǒng)設(shè)計
本節(jié)是主要介紹圖像采集處理系統(tǒng)的硬件設(shè)計。在圖像采集處理系統(tǒng)中,如何完整、真實地采集到現(xiàn)實對象的圖像數(shù)據(jù)是非常重要的。圖像采集的性能好壞直接影響到后續(xù)的圖像處理和圖像識別等功能模塊。因此,設(shè)計一個快速、實時的圖像采集硬件系統(tǒng)是非常重要的。
系統(tǒng)總體結(jié)構(gòu)
系統(tǒng)結(jié)構(gòu)框圖如圖1所示。DSP采用TI公司發(fā)布的C6000系列高速浮點型信號處理器TMS320C6713,其峰值處理速度達(dá)1350MFLOPS(百萬次浮點每秒)。其外部存儲器接口EMIF(External Memory Interface)包括4個CE空間,其中CE0被配置為16位同步空間,接SDRAM;CE1為16位異步空間,接Flash;CE2為16位異步空間,經(jīng)過地址譯碼和總線緩沖將數(shù)字圖像傳感器OV7620接入;CE3為8位異步空間,經(jīng)過數(shù)據(jù)鎖存和總線隔離將LCD顯示模塊接入。
OV7620的配置和硬件連接
OV7620是OmniVision公司生產(chǎn)的CMOS彩色/黑白圖像傳感器,在本系統(tǒng)中被配置為16位逐行掃描QVGA方式,RGB原始數(shù)據(jù)輸出,分辨率為320×240,SCCB總線,內(nèi)部默認(rèn)的行曝光方式;同時使能HREF信號對PCLK進行門控,即只有當(dāng)HREF有效時像素時鐘信號才被輸出到PCLK引腳上,否則該引腳保持無效。這樣EDMA可以始終處在使能狀態(tài),從而簡化采集過程。

在對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的選通信號,此時OV7620的讀地址為0xA0000000。
EDMA數(shù)據(jù)采集
增強型直接內(nèi)存存?。‥DMA),是數(shù)字信號處理器(DSP)中用于快速數(shù)據(jù)交換的重要技術(shù),具有獨立于CPU的后臺批量數(shù)據(jù)傳輸?shù)哪芰?,能夠滿足實時圖像處理中高速數(shù)據(jù)傳輸?shù)囊?。以TI公司的TMS320DM642型DSP為例,介紹EDMA控制器的特點。結(jié)合實例給出EDMA在圖像數(shù)據(jù)實時傳輸中的具體控制和實現(xiàn)方法。實驗結(jié)果表明,通過靈活控制EDMA不僅能夠提高圖像數(shù)據(jù)的傳輸效率,而且能夠充分發(fā)揮:DSP的高速性能。
在16位逐行掃描方式中,圖像的每行RGB原始數(shù)據(jù)均被OV7620先后輸出兩次,因此,只須讀取其偶數(shù)次HREF信號對應(yīng)的數(shù)據(jù)即可獲得整個圖像信息。這樣可以減少圖像采集所占用的存儲空間和總線資源。

本系統(tǒng)采用EDMA的第12個通道(EDMA12)進行圖像數(shù)據(jù)采集。該通道被配置為16位一維傳輸方式,中斷禁止,PCLK的上升沿觸發(fā)EDMA12搬移一個16位數(shù)據(jù)存入到SDRAM中,每次EDMA任務(wù)搬移一個HREF(320個16位)的圖像數(shù)據(jù)。幀同步信號VSYNC上升沿觸發(fā)DSP中斷,對EDMA通道進行初始化,使能水平參考信號HREF中斷并關(guān)閉EDMA通道(放棄第1個HREF的數(shù)據(jù)),開始一幀的數(shù)據(jù)傳輸。HREF下降沿觸發(fā)DSP產(chǎn)生中斷,標(biāo)志OV7620HREF數(shù)據(jù)輸出的結(jié)束。如果接下來HREF數(shù)據(jù)需要被讀入,則中斷服務(wù)程序會對EDMA12參數(shù)進行修正,使能EDMA12通道,開始下一行數(shù)據(jù)的傳輸;否則,就禁止EDMA12,放棄下HREF數(shù)據(jù)。每接收1幀圖像數(shù)據(jù)共產(chǎn)生240次HREF中斷和120次EDMA數(shù)據(jù)傳輸。以下是OV7620數(shù)據(jù)采集的部分源代碼: interruptvoidINT6_EXT6(void){
/*VSYNCGPIO6幀同步中斷*/
EDMA_OpenCha(PCLK_EDMA_CHANL);
/*打開EDMA通道,準(zhǔn)備OV7620數(shù)據(jù)搬移*/
EER=~(1< /*關(guān)EDMA使能,放棄第1個HREF的數(shù)據(jù)*/
ICR="HREF"_INT_CHANL;
/*清HREF(GPIO7)INT7中斷標(biāo)志*/
IER|=HREF_INT_CHANL;
/*使能HREF(GPIO7)INT7中斷*/
}
interruptvoidINT7_EXT7(void){
/*HREFGPIO7水平參考中斷*/
if(!HREF_Data_Switch){
HREF_Data_Switch=TRUE;
/*接下來的HREF數(shù)據(jù)有效*/
(*(EDMA_PARAM_POINTER+PCLK_EDMA_
CHANL)).CNT=IMAGESIZE_WIDTH;
/*修正EDMA傳輸參數(shù)計數(shù)值*/
ECR|=1< /*清上周期遺留的PCLK觸發(fā)事件*/
EER|=1< /*使能EDMA,開始讀下一行數(shù)據(jù)*/
}
else{
HREF_Data_Switch=FALSE;
/*接下來的HREF數(shù)據(jù)無效*/
EER&=~(1< /*禁止EDMA,接下來HREF數(shù)據(jù)不讀*/
}
}
EDMA數(shù)據(jù)傳輸有兩種發(fā)起方式:(1) CPU發(fā)起的EMDA數(shù)據(jù)傳輸(非同步方式):需要傳輸時,CPU設(shè)置ESR寄存器的相應(yīng)位為1,從而觸發(fā)一個EDMA事件的產(chǎn)生,事件對應(yīng)的通道參數(shù)被送往地址硬件并且完成相應(yīng)的處理,這種非同步方式的實時數(shù)據(jù)傳輸無需設(shè)定EER寄存器;(2)事件觸發(fā)方式EDMA數(shù)據(jù)傳輸(同步方式):ER寄存器保存外設(shè)發(fā)送過來的事件,一旦CPU設(shè)置EER寄存器的相應(yīng)位為1后,ER中的事件才會提交給事件編碼器(Event Encoder),并且進一步引起相關(guān)的傳輸參數(shù)的發(fā)送給地址產(chǎn)生硬件;如果EER中對應(yīng)于某事件的位沒有置1,則ER寄存器中的事件將保留,一旦置1則觸發(fā)EDMA的傳輸,這種特性可以應(yīng)用到EDMA Chain傳輸,需要EER和CCER結(jié)合使用。
LCD模塊的驅(qū)動
采用液晶顯示模塊可以使圖像處理結(jié)果實時顯示出來,方便調(diào)試和演示,成本也較低。本系統(tǒng)選用北京寧和電子科技發(fā)展有限公司開發(fā)的NHC_34彩色液晶顯示控制模塊。該模塊支持256色彩色顯示,每個像素點用1個字節(jié)表示,分辨率為320×234;支持標(biāo)準(zhǔn)Intel8位異步總線時序,有2頁顯示緩存,可任意設(shè)定顯示頁和操作頁。
LCD模塊讀寫周期短為350ns,而DSP外部總線接口時鐘頻率一般在100MHz以上,即小于10ns。通過配置EMIFCE3空間控制寄存器CECTL3(地址為0x01800014),可以將CE3空間的讀寫周期延長,與LCD模塊無縫連接。但這樣液晶模塊的讀寫操作會過長地占用系統(tǒng)總線,降低對其他存儲空間(尤其是對SDRAM)的訪問效率,進而影響系統(tǒng)的整體速度。
本系統(tǒng)采用了數(shù)據(jù)鎖存和總線緩沖的方法,通過377鎖存器模擬低速總線控制信號時序,利用244數(shù)據(jù)緩沖器對低速總線數(shù)據(jù)進行隔離。圖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個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ù)據(jù)到控制377,以模擬相應(yīng)低速總線的控制信號,并適時從讀入244讀取數(shù)據(jù)(讀周期),或者寫入數(shù)據(jù)到數(shù)據(jù)377(寫周期),就可以完成對LCD模塊的讀/寫操作。LCD寫周期驅(qū)動例程如下(該程序通過延時來控制時間間隔):
#defineSET_CS_LCD() ctrl377valu|=0X01;ctrl377reg=ctrl377valu
/*向液晶模塊寫入數(shù)據(jù)子程序。subaddress:0~3為A1、A0的值;writevalu:待寫入LCD的數(shù)據(jù)*/
voidWrite2LCD(unsignedcharsubaddress,unsignedchar
writevalu){
ctrl377valu|=subaddress《3;
ctrl377valu&=(subaddress《3)|0XE7;
/*根據(jù)A0、A1的值更新ctrl377valu的對應(yīng)位*/
ctrl377valu&=~0x23;/*使能CS、WR和LCD_wren*/
ctrl377reg=ctrl377valu;
/*輸出控制數(shù)據(jù)到377控制鎖存器*/
LCD_wr_ reg="writevalu";
/*輸出待寫數(shù)據(jù)到377數(shù)據(jù)鎖存器*/
DELAY(WR_LCD_DELAYTIME310);
/*延時T420ns×6=120ns*/
SET_WR_LCD();
/*置位WR信號,上升沿將數(shù)據(jù)寫入LCD*/
& DELAY(WR_LCD_DELAYTIME); /*延時20ns*/
SET_CS_LCD();
/*置位CS,使地址信號無效*/
DELAY(WR_LCD_DELAYTIME35);/*延時100ns*/
SET_WREN_LCD();
/*寫出244輸出禁止,數(shù)據(jù)無效*/
DELAY(WR_LCD_DELAYTIME32);
/*延時40ns,周期結(jié)束*/
}
主 程序描述了完成系統(tǒng)功能的變量、常量、main函數(shù)、EDMA中斷服務(wù)程序和系統(tǒng)初始化程序的定義。系統(tǒng)初始化函數(shù)完成芯片支持庫、中斷服務(wù)表、中斷模塊、GPl0模塊、EDMA模塊、MCBSP模塊、EMIFA模塊、定時器模塊和傳感器處理器XRD98L23ACD的初始化。E3MA中斷服務(wù)程序完成EDMA目標(biāo)地址參數(shù)的修改和相關(guān)變量計算。Main函數(shù)調(diào)用系統(tǒng)初始化函數(shù),然后啟動定時器,響應(yīng)EDMA中斷。
軟件系統(tǒng)設(shè)計
軟件采用TI公司提供的Code Composer Studio開發(fā)環(huán)境,用TMS320C6416芯片支持庫API開發(fā)方式,C語言編程開發(fā)。軟件設(shè)計包括CMD連接命令設(shè)計、中斷服務(wù)表設(shè)計、主程序設(shè)計。
軟件系統(tǒng)流程如圖4所示。DSP在復(fù)位完成之后首先進行系統(tǒng)的初始化,配置鎖相環(huán)、EMIF和GPIO,并硬件復(fù)位OV7620,通過GPIO模擬SCCB總線配置其內(nèi)部功能寄存器,之后對LCD模塊清屏。當(dāng)EDMA沒有被使能時,OV7620的同步信號仍能被EDMA事件寄存器捕獲并保持,所以把EDMA的初始化放在OV7620和LCD模塊的初始化之后,并在使能之前清事件標(biāo)志。在中斷被使能之后,OV7620的幀同步信號會觸發(fā)系統(tǒng)中斷,開始進行數(shù)據(jù)的循環(huán)采集,并在每幀數(shù)據(jù)采集完成之后置位相應(yīng)標(biāo)志,通知主程序進行處理。主程序在接到通知后對OV7620的原始數(shù)據(jù)進行插值和平滑,生成待處理的RGB24位色圖像數(shù)據(jù)。圖像處理和運算的結(jié)果被送到LCD模塊進行動態(tài)顯示,LCD的顯示任務(wù)主要由中斷服務(wù)程序完成,而此時主程序已開始等待和處理下一幀圖像。

結(jié)論
本文設(shè)計了一種基于基于DSP的圖像采集處理系統(tǒng),本文作者創(chuàng)新點:提出一種通過總線隔離和地址譯碼,只使用簡單的邏輯芯片將OV7620接入DSP,并充分發(fā)揮EDMA獨立傳送的特點的方法,實現(xiàn)了僅占用少量DSP資源的多圖像采集處理系統(tǒng)。經(jīng)過大量仿真和電路板調(diào)試,證明該方案靈活有效,能夠在工業(yè)監(jiān)測、醫(yī)療診斷等圖像實時采集領(lǐng)域得到廣泛應(yīng)用。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 掌握 DSP:原理剖析與應(yīng)用實踐2025/5/8 14:03:24
- 模糊邏輯在 DSP 上實時執(zhí)行2023/7/25 17:13:30
- 多速率DSP及其在數(shù)模轉(zhuǎn)換中的應(yīng)用2023/6/12 15:28:52
- 使用 DSP 加速 CORDIC 算法2023/3/29 15:46:30
- 高速DSP系統(tǒng)的信號完整性2022/9/26 16:45:38









