基于SoC成像芯片MT9M111和CY7C68013的視頻采
CMOS圖像采集系統(tǒng)普遍存在圖像質(zhì)量問題,如果沒有對(duì)圖像進(jìn)行專門的處理,則圖像質(zhì)量難以保障。近些年來,隨著SoC技術(shù)的快速發(fā)展,在圖像采集和處理領(lǐng)域,出現(xiàn)了SoC影像傳感器,它集成CMOS傳感器和圖形處理器功能,可以得到令人非常滿意的圖像質(zhì)量。本文設(shè)計(jì)的視頻采集系統(tǒng)采用了SoC成像芯片MT9M111和USB2.0接口芯片CY7C68013。
系統(tǒng)結(jié)構(gòu)
本系統(tǒng)的原理框圖如圖1所示。當(dāng)圖像傳感器開始工作后,先將采集到的數(shù)據(jù)通過FPGA控制邏輯存儲(chǔ)到SRAM1中,一幀圖像的采集/存儲(chǔ)過程結(jié)束后,SRAM1進(jìn)入寫結(jié)束狀態(tài)。此時(shí)切換SRAM,SRAM2繼續(xù)存儲(chǔ)采集到的數(shù)據(jù),同時(shí),SRAM1處于可讀狀態(tài),由FPGA里的控制邏輯控制,將SRAM1中的數(shù)據(jù)傳輸?shù)経SB芯片,然后傳輸?shù)街鳈C(jī)。本系統(tǒng)采用雙SRAM結(jié)構(gòu)和乒乓機(jī)制,兩片存儲(chǔ)器交替工作,使圖像的采集和傳輸并行進(jìn)行。雙幀存結(jié)構(gòu)不僅提高了系統(tǒng)的速度,而且,由于在FPGA里實(shí)現(xiàn)各種圖像處理的算法大都需要比較大的存儲(chǔ)空間,所以兩個(gè)大容量SRAM在實(shí)現(xiàn)算法時(shí)可以充當(dāng)外部緩存。
MT9M111
本系統(tǒng)采用美光公司推出的集成CMOS傳感器和圖形處理器的SoC產(chǎn)品MT9M111。MT9M111是低功耗、低成本漸進(jìn)掃描CMOS圖像傳感器;130萬像素分辨率(1280H×1024V);1/3英寸光學(xué)格式;全分辨率15fps的功耗為170mW,VGA分辨率30fps的功耗為90mW。MT9M111采用低漏電DRAM工藝,配備了美光的DigitalClarity專利技術(shù),即使在最差的光照條件下也能提供清晰明亮的彩色圖像。MT9M111具有較低的暗電流,并降低了色度/亮度干擾和瞬間噪聲。MT9M111的嵌入可編程圖像流處理器提供的功能包括色彩恢復(fù)和修補(bǔ)、自動(dòng)曝光、白平衡、鏡頭陰影修正、增加清晰度、可編程灰度修正、黑暗電平失調(diào)修正、閃爍避免、連續(xù)調(diào)整濾光尺寸、平滑的數(shù)字變焦、快速自動(dòng)曝光模式和不工作時(shí)缺陷修正等。而且,還配備了兩線串行接口,USB芯片可以通過這兩線串口對(duì)其進(jìn)行配置。
IS61WV20488
與圖像處理有關(guān)的SRAM參數(shù)主要是SRAM 的讀寫速度和容量。在容量方面,本系統(tǒng)采集圖像的最大分辨率為1280×1024,數(shù)據(jù)寬度為8位,2M×8bit的SRAM可以滿足存放一幀圖像數(shù)據(jù)的要求。SRAM的讀寫速度一般為12ns、15ns、20ns或者更慢,由于SRAM的讀寫速度直接影響整個(gè)圖像處理系統(tǒng)的時(shí)鐘,所以,SRAM的讀寫速度越快越好。本系統(tǒng)選用了ISSI公司的IS61WV20488,芯片容量為2M×8bit。
CY7C68013
圖像數(shù)據(jù)傳輸部分采用Cypress公司推出的專門用于USB2.0的接口芯片CY7C68013。該芯片包括帶815kB 片上RAM 的增強(qiáng)型8051 處理器(與標(biāo)準(zhǔn)8051 系列兼容,速度提高3"5倍)、4kB FIFO 存儲(chǔ)器和通用可編程接口I2C 總線、串行接口引擎( S IE ) 以及USB2.0 收發(fā)器。
圖1 基于SoC影像傳感器的視頻采集系統(tǒng)
系統(tǒng)軟/硬件設(shè)計(jì)
系統(tǒng)軟/硬件設(shè)計(jì)由3部分構(gòu)成:圖像采集/存儲(chǔ)模塊、圖像傳輸模塊和USB驅(qū)動(dòng)/主機(jī)應(yīng)用程序模塊。
圖像采集/存儲(chǔ)模塊
該模塊主要由FPGA的控制邏輯將成像芯片MT9M111采集到的圖像數(shù)據(jù)實(shí)時(shí)地傳送到SRAM中。在系統(tǒng)中采用雙幀存結(jié)構(gòu),每個(gè)由一片IS61WV20488 SRAM構(gòu)成,能夠存放一幀1280×1024分辨率的圖像數(shù)據(jù)。由于采用了乒乓機(jī)制,兩片存儲(chǔ)器之間交替工作,從而使圖像的采集和傳輸并行進(jìn)行。為確保在任何時(shí)刻只有一片SRAM可以讀取采集到的圖像數(shù)據(jù),設(shè)置了一個(gè)讀互斥鎖,同樣,只有一個(gè)SRAM可接收采集到的圖像數(shù)據(jù),因此,又設(shè)置了一個(gè)寫互斥鎖。需要注意的是,由于圖像傳感器的圖像數(shù)據(jù)輸出速度要比USB2.0傳輸速度慢,所以,當(dāng)讀完SRAM2的數(shù)據(jù)以后,需要等待另一片SRAM1完成寫圖像數(shù)據(jù)后,才可以向SRAM2寫入下一幀圖像數(shù)據(jù),而SRAM1無需等待便可以直接進(jìn)行讀取圖像數(shù)據(jù)的工作,如此循環(huán)往復(fù),實(shí)現(xiàn)了并行工作,有效地提高了系統(tǒng)的工作效率。圖2為系統(tǒng)控制電路的原理框圖,F(xiàn)PGA內(nèi)部各個(gè)模塊均采用Verilog HDL編寫。
圖2 FPGA控制電路框圖
圖像傳輸模塊
采集完一幀圖像后,要經(jīng)過USB時(shí)鐘信號(hào)控制模塊將外部RAM中的圖像數(shù)據(jù)讀入到主機(jī)。在本圖像采集系統(tǒng)中,使用CY7C68013的Slave FIFO異步工作方式,把FIFO配置成和EP2端口相連、每個(gè)數(shù)據(jù)包1024字節(jié)、4緩沖的方式,塊傳輸模式。這樣的設(shè)置可以滿足系統(tǒng)要求,同時(shí)也有效地利用了內(nèi)部的4kB FIFO來傳輸采集到的圖像數(shù)據(jù),系統(tǒng)控制使用了FALGB信號(hào)引腳,用來報(bào)告“FIFO滿”的狀態(tài),默認(rèn)為低電平有效。本文采用的是自動(dòng)輸入方式,當(dāng)FIFO中的數(shù)據(jù)滿一定量時(shí),EZ-USB-FX2就直接通過FIFO把數(shù)據(jù)傳送到USB收發(fā)器,而不經(jīng)過CPU的干預(yù),這樣就提高了傳輸速度,本系統(tǒng)當(dāng)FIFO滿1kB時(shí)開始自動(dòng)發(fā)送。
USB驅(qū)動(dòng)和主機(jī)應(yīng)用程序模塊
USB設(shè)備驅(qū)動(dòng)程序的開發(fā)是USB系統(tǒng)開發(fā)的難點(diǎn),尤其是在本系統(tǒng)傳輸數(shù)據(jù)量大且速度要求高的情況下,就要編寫出高效的USB設(shè)備驅(qū)動(dòng)程序,才能保證高分辨率圖像的實(shí)時(shí)傳輸。本系統(tǒng)采用DDK來開發(fā)WDM驅(qū)動(dòng)程序。實(shí)際上,USB 客戶驅(qū)動(dòng)程序中包含大量的例程,對(duì)開發(fā)驅(qū)動(dòng)程序有很大的幫助。主機(jī)應(yīng)用程序的主要功能是通過USB接口讀取圖像數(shù)據(jù)并實(shí)時(shí)顯示動(dòng)態(tài)圖像.為提高主機(jī)應(yīng)用程序的效率,可以使用雙線程。
結(jié)語
本系統(tǒng)采用具有130萬像素的影像傳感器MT9M111,保證了圖像質(zhì)量,采用USB2.0接口芯片CY7C68013保證了圖像的實(shí)時(shí)傳輸,且設(shè)計(jì)靈活,為實(shí)現(xiàn)各種圖像處理算法提供了軟/硬件支持。