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