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