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