鐘升紅,康文雄,梁永峰
(華南理工大學(xué) 自動(dòng)化科學(xué)與工程學(xué)院,廣東 廣州 510000)
CMOS圖像傳感器利用感光二極管(Photodiode)進(jìn)行光電轉(zhuǎn)換,將圖像轉(zhuǎn)換為數(shù)字?jǐn)?shù)據(jù),每個(gè)像素都會(huì)連接一個(gè)放大器及A/D轉(zhuǎn)換電路,用類似內(nèi)存電路的方式將數(shù)據(jù)輸出。由于其靈敏度較高、曝光時(shí)間較短、像素尺寸小以及成本低、功耗低、整合度高的特點(diǎn)[1],已經(jīng)廣泛應(yīng)用于工業(yè)圖像處理系統(tǒng)和面向消費(fèi)的圖像捕獲系統(tǒng)中。但通常這些系統(tǒng)獲取的圖像數(shù)據(jù)量很大,導(dǎo)致系統(tǒng)效率變低。
復(fù)雜可編程邏輯器件CPLD(Complex Programmable Logic Device)[2]是一種用戶根據(jù)自己需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。CPLD基于Quartus II平臺(tái)并采用Verilog HDL語言進(jìn)行編程,因而設(shè)計(jì)過程簡(jiǎn)單、靈活和高效,而且可直接通過檢測(cè)CMOS傳感器的幀、行、點(diǎn)這些有效信號(hào)來獲取圖像數(shù)據(jù)。
數(shù)字信號(hào)處理器 DSP(Digital Signal Processing)具有強(qiáng)大的數(shù)據(jù)處理能力和較高的運(yùn)行速度,已廣泛應(yīng)用于圖像處理領(lǐng)域。TMS320C64x系列芯片的EDMA支持外圍設(shè)備傳輸模式(PDT)[3],從而提供了一種在外圍設(shè)備和外部存儲(chǔ)器設(shè)備之間進(jìn)行大量數(shù)據(jù)傳輸?shù)挠行Х绞?。?dāng)PDT被激活時(shí),數(shù)據(jù)直接被外部源驅(qū)動(dòng),并通過統(tǒng)一數(shù)據(jù)線寫入,在沒有CPU參與下完成大量數(shù)據(jù)轉(zhuǎn)移,減少了總線周期數(shù),大大提高了傳輸效率。
圖像采集系統(tǒng)的速度是決定其廣泛應(yīng)用的因素之一,比如在生物特征識(shí)別系統(tǒng)中,采集速度是其評(píng)價(jià)標(biāo)準(zhǔn)之一。C64x系列芯片的運(yùn)算速度比C5000系列有了大幅度提高,而其新增的PDT傳輸功能也恰好解決了大量數(shù)據(jù)傳輸?shù)乃俣葐栴},使其數(shù)據(jù)處理能力得到了進(jìn)一步提升。
CMOS是圖像采集系統(tǒng)中的核心器件,本系統(tǒng)采用Aptina公司的MT9V032C12STM (1/3英寸的Wide-VGA黑白CMOS傳感器)。CMOS主體電路設(shè)計(jì)如圖1所示,SYSCLK腳接外部晶振使CMOS傳感器工作模式為主模式,在主模式中,CMOS傳感器不斷采集圖像。DOUT_0~DOUT_9為圖像數(shù)字信號(hào)輸出引腳,實(shí)際只用到了DOUT_0~DOUT_9,F(xiàn)RAME_VALID 為 幀 信 號(hào) 管 腳 ,LINE_VALID為行信號(hào)管腳,PIXCLK點(diǎn)信號(hào)管腳,SCLK、SDATA為設(shè)置CMOS的控制管腳。為了得到高質(zhì)量的圖像,系統(tǒng)對(duì)數(shù)字和模擬兩部分電路分別獨(dú)立供電。數(shù)字部分供電芯片采用的是MICREL公司生產(chǎn)的MIC5209-3.3BM,它是可以提供500 mA電流的低噪聲低壓差線性穩(wěn)壓器;模擬部分供電芯片采用的是TI公司生產(chǎn)的TPS79133-EP,它是可以提供100 mA電流的超低噪聲、高電源抑制比低壓差線性穩(wěn)壓器。
為減少CPU負(fù)荷,系統(tǒng)采用了CPLD來實(shí)現(xiàn)輔助邏輯 控 制 ,CMOS 的 DOUT_0~DOUT_9、FRAME_VALID、LINE_VALID、PIXCLK、SCLK和 SDATA全 部 連 到 CPLD實(shí)現(xiàn)圖像采集控制。CMOS傳感器輸出的圖像數(shù)據(jù)首先要暫存于FIFO中,本系統(tǒng)應(yīng)用的FIFO是IDT72V36110,并設(shè)置為 8 bit輸入和 32 bit輸出 (D0~D7為 8 bit數(shù)據(jù)輸入端口,Q0~Q7、Q9~Q16、Q18~Q25、Q27~Q34 組成 32 bit數(shù)據(jù)輸出端口,輸入端D8~D35接地,輸出端 Q8、Q17、Q26、Q35懸空)。由于CMOS傳感器不斷采集圖像使得輸出端不斷有數(shù)據(jù)輸出,而此時(shí)系統(tǒng)要求只有在需要數(shù)據(jù)時(shí)才去獲取傳感器輸出的數(shù)據(jù),因此,本系統(tǒng)中傳感器的輸出端和FIFO的輸入端都連到了CPLD,通過CPLD實(shí)現(xiàn)CMOS和FIFO數(shù)據(jù)總線的連通。圖像數(shù)據(jù)從CMOS到FIFO為寫FIFO操作,全部通過CPLD實(shí)現(xiàn),因此,F(xiàn)IFO的控制引腳除和外都連到CPLD以方便控制圖像數(shù)據(jù)輸入到FIFO中。圖像采集結(jié)束后需要把FIFO中的數(shù)據(jù)轉(zhuǎn)移到外部SDRAM中,即FIFO的讀操作和 SDRAM的寫操作(PDT寫操作),由于傳輸?shù)臄?shù)據(jù)量大,為了減少CPU的開銷并提高傳輸速度,本系統(tǒng)利用了TMS320C6414的PDT傳輸功能。因此,F(xiàn)IFO的讀使能和輸出使能連到DSP的讀時(shí)鐘RCLK連到 DSP的 AECLKOUT1,F(xiàn)IFO的數(shù)據(jù)輸出引腳(Q0~Q7、Q9~Q16、Q18~Q25、Q27~Q34)則 與DSP的EMIFA的低32 bit相連。CMOS傳感器采用默認(rèn)的設(shè)置即 480 V×752 H (36 096萬像素),為達(dá)到圖像處理的容量需求,系統(tǒng)利用兩片外部同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(SDRAM)MT48LC2M32B2-5并聯(lián)構(gòu)成64 bit接在DSP的EMIFA上,并通過映射到CE0空間,其所有的輸入與輸出均由輸入時(shí)鐘CLK(接到DSP的 AECLKOUT1腳)來同步[4-5],從而簡(jiǎn)化了系統(tǒng)的設(shè)計(jì),增強(qiáng)了高速處理器接口的能力。本系統(tǒng)電路接口如圖2所示。
當(dāng)系統(tǒng)需要采集一幅圖像數(shù)據(jù)時(shí),DSP發(fā)出獲取圖像命令,CPLD對(duì)該命令進(jìn)行譯碼,然后檢測(cè)CMOS的幀信號(hào)管腳FRAME_VALID,當(dāng)有一個(gè)上升沿到來時(shí),表明一幅新圖像數(shù)據(jù)傳輸開始;當(dāng)CMOS的行信號(hào)管腳LINE_VALID有一個(gè)上升沿到來時(shí),表明一幅圖像中的新的一行數(shù)據(jù)傳輸?shù)拈_始;當(dāng)CMOS的點(diǎn)信號(hào)管腳PIXCLK有一個(gè)上升沿到來時(shí),表明有一個(gè)點(diǎn)的數(shù)據(jù)可以采集,其波形圖如圖3所示。CPLD根據(jù)這3個(gè)信號(hào)把數(shù)據(jù)寫入到FIFO中。
圖3 CMOS傳感器數(shù)據(jù)傳輸波形圖
圖像采集的DSP部分程序?yàn)椋?/p>
圖像采集的CPLD部分程序?yàn)椋?/p>
系統(tǒng)中的圖像數(shù)據(jù)處理都在外擴(kuò)SDRAM中進(jìn)行,因此,F(xiàn)IFO中的數(shù)據(jù)需要先轉(zhuǎn)移到SDRAM中。通常這種數(shù)據(jù)轉(zhuǎn)移需要EMIF讀取外設(shè)(FIFO),然后向目標(biāo)存儲(chǔ)器(SDRAM)寫,整個(gè)過程需要兩次EMIF操作。由于讀取的數(shù)據(jù)量大,采用常規(guī)方法將導(dǎo)致讀取和傳輸效率低下。對(duì)此,本系統(tǒng)將FIFO和SDRAM都掛在了DSP的外部總線上,并采用了PDT傳輸進(jìn)行優(yōu)化,整個(gè)過程只需占用一個(gè)EMIF總線周期,從而大大提高了數(shù)據(jù)的傳輸速度。系統(tǒng)中SDRAM是以64 bit方式連接在EMIFA的CE0空間,而FIFO與EMIFA是低32 bit相連,當(dāng)用PDT模式從FIFO將數(shù)據(jù)讀到SDRAM中必然會(huì)造成數(shù)據(jù)間隔32 bit存放的現(xiàn)象,因此本系統(tǒng)采用EDMA控制使數(shù)據(jù)成緊密排列方式。相關(guān)寄存器配置[6-7]如下:
圖像采集系統(tǒng)的設(shè)計(jì)分為圖像獲取和圖像傳輸兩部分,為提高圖像采集系統(tǒng)的工作效率,本文設(shè)計(jì)了一種以DSP和CPLD為基礎(chǔ)的圖像采集系統(tǒng),其中,CPLD的靈活性使圖像的獲取變得簡(jiǎn)單,DSP的PDT傳輸功能使數(shù)據(jù)傳輸變得高效。此外,本文也對(duì)接口進(jìn)行了設(shè)計(jì)。調(diào)試和實(shí)驗(yàn)表明本系統(tǒng)的采集和傳輸速度得到了較大的提高。
[1]劉春保,洪鎮(zhèn)南,張小偉,等.基于 CMOS圖像傳感器OV7720的網(wǎng)絡(luò)攝像機(jī)設(shè)計(jì) [J].現(xiàn)代電子技術(shù),2011(4):11-16.
[2]GORDON H.用CPLD進(jìn)行設(shè)計(jì) [J].電子設(shè)計(jì)應(yīng)用,2009,35(3):52-54.
[3]卞紅雨,紀(jì)祥春.TMS320C6000系列DSP的CPU與外設(shè)[M].北京:清華大學(xué)出版社,2007.
[4]李林,謝紹斌,高增來,等.基于 PDT與 EDMA的高速數(shù)據(jù)傳輸設(shè)計(jì)[J].微計(jì)算機(jī)信息,2008,(18):117-118.
[5]王艷梅,鄭成文.TMS320C6701與SDRAM的接口設(shè)計(jì)[J].沈陽航空工業(yè)學(xué)院學(xué)報(bào),2007(2):51-52
[6]Texas Instruments Incorporated.TMS320C6000 DSP enhanced direct memory access (EDMA)controller reference guide[Z].2004.
[7]Texas Instruments Incorporated.TMS320C6000 DSP External Memory Interface(EMIF)Reference Guide[Z].2004.