《黑白cmos圖像傳感器ov9120的原理及應用》由會員分享,可在線閱讀,更多相關《黑白cmos圖像傳感器ov9120的原理及應用(4頁珍藏版)》請在裝配圖網上搜索。
1、黑白cmos圖像傳感器ov9120的原理及應用
摘要:本文闡述了CMOS圖像傳感器的一般特征,詳細介紹了黑白CMOS圖像傳感器芯片OV9120的性能、特點及工作原理
2、,給出了OV9120在圖像采集處理中的具體應用實例。 關鍵詞:CMOS圖像傳感器;OV9120;圖像采集1 概述隨著CMOS技術的發(fā)展及市場需求的增加,CMOS圖像傳感器得以迅速發(fā)展。CMOS圖像傳感器具有高度集成化、成本低、功耗低、單一工作電壓、局部像素可編程、隨機讀取等優(yōu)點,適用于超微型數碼相機、便攜式可視電話、PC機電腦眼、可視門鈴、掃描儀、攝像機、安防監(jiān)控、汽車防盜、機器視覺、車載電話、指紋識別、手機等圖像領域。本文介紹的是由美國OmniVision技術公司生產的OV9120黑白CMOS圖像傳感器,它采用獨特的傳感器專利工藝技術和先進的算法(algorithms)解決了先前CMOS感光
3、器件固定圖像噪聲(FPN)的限制。因而可廣泛應用于數字靜止攝像、視頻會議、視頻電話、計算機視覺、生物測量等領域。
2 引腳功能OV9120采用48腳LCC封裝,其引腳排列如圖1所示。
3 結構性能及工作原理3.1 內部結構OV9120內置13121036分辨率的鏡像陣列、10位A/D轉換器、可調視頻窗、SCCE接口、可編程幀速率控制、可編程/自動曝光增益控制、內外幀同步、亮度均衡計數器、數字視頻端口、定時產生器、黑電平校準及白平衡控制等電路。其內部結構如圖2所示。3.2 性能特點OV9120是135萬像素(13121036)、1/2英寸的CMOS圖像傳感芯片,它采用SXGA/VG
4、A格式,最大幀速率可達到30幀/s(VGA),該芯片將CMOS光感應核與外圍輔助電路集成在一起,同時具有可編程控制功能。OV9120芯片的基本參數如下●圖像尺寸:6.66mm5.32mm,像素尺寸,5.2μm5.2μm;●信噪比>54dB;●增益調整范圍:0~24dB;●SXGA輸出時,陣列大小為12801024,VGA輸出時,陣列大小為640480;●供電電源電壓為直流3.3V和2.5V;●暗電流: 28mV/s;●動態(tài)范圍:60dB。3.3 工作原理CMOS鏡像陣列的設計主要建立在逐行傳送的掃描場讀出系統(tǒng)和帶同步像素讀出電路的電子快門之上。而電子曝光控制算法(或系統(tǒng)規(guī)則)則建立在整個圖(
5、物)像亮度基礎之上。在景像(或布景)正常時,一般曝光都比較理想。但在景像光線不適當時,則應通過自動曝光控制(AEC)白/黑比調節(jié)來使其滿足應用要求。對于VGA格式的輸出,OV9120圖像傳感器的視窗尺寸范圍從22到640480,而對于SXGA格式的輸出,視窗范圍則從24到12801024,同時可以在內部13121036邊界內的任何地方定位。變動窗口尺寸或位置不會使幀速(或數據速率)發(fā)生變化。幀速可通過主時鐘下行(down)、插入垂直同步定時、或采用跳讀技術的QVGA格式使其發(fā)生變動。OV9120內部嵌入了一個10位A/D轉換器,因而可以同步輸出10位的數字視頻流D[9..0]。在輸出數字視頻流
6、的同時,還可提供像素同步時鐘PCLK、水平參考信號HREF以及垂直同步信號VSYNC,以方便外部電路讀取圖像。
ZV端口就是相機(鏡頭)的焦距調節(jié)視頻端口。OV9120的ZV功能能使相機透鏡變焦而急速移向(或移離)目標。OV9120可利用外部主導機構(master device)設定曝光時間。當FREX被置位于1時,像素陣列被迅速充電,傳感器保持為高以拍攝圖像(或物像)。在FREX轉換到0時,視頻數據流(data stream)用逐行讀出方式交付到輸出端口。當數據從OV9120視頻輸出端輸出時,應特別注意防止圖像陣列曝光影響拍攝圖像數據的完整性。與畫面曝光速率同步化的自動快門能夠將這種
7、影響降到最小程度。當OV9120的RESET腳拉高至VCC時,全部硬件將復位。同時OV9120將清除全部寄存器,并復位到它們的默認值。實際上,也可以通過SCCB接口觸發(fā)來實現復位。由于SCCE端口能夠訪問內部所有寄存器,所以,OV9120的內部配置可以通過SCCE串行控制端口來進行。SCCB的接口有SCCE 、SIO_C 、SIO_D三條引線,其中SCCE是串行總線使能信號,SIO_C是串行總線時鐘信號,SIO_D是串行總線數據信號。SCCB對總線功能的控制完全是依靠SCCE、SIO_C、SIO_D三條總線上電平的狀態(tài)以及三者之間的相互配合來實現的。控制總線規(guī)定的條件如下:當SCCE由高電平變
8、為低電平時,數據傳輸開始。當SCCE由低電平轉化為高電平時,數據傳輸結束。為了避免傳送無用的信息位,可分別在傳輸開始之前和傳輸結束之后將SIO_D設置為高電平。在數據傳輸期間,SCCE始終保持低電平,此時,SIO_D上的數據傳輸由SIO_C來控制。當SIO_C為低電平時,SIO_D上的數據有效,SIO_D為穩(wěn)定數據狀態(tài)。而當SIO_C上每出現一正脈沖時,系統(tǒng)都將傳送一位數據。OV9120有兩種工作方式:主模式和從模式。主模式下,OV9120作為主導設備,此時XCLK上的外部晶振輸入經過內部分頻后可得到PCLK信號。當OV9120采集到圖像后,在PCLK的下降沿到來時,系統(tǒng)便可依次將像素值輸出,
9、此時外部只是被動的接收信號。而在從模式下,OV9120則可作為從屬設備,此時XCLK不能與外部晶振相接,但可以受外部器件,也就是主設備信號的控制。即由主導設備發(fā)送一個MCLK時鐘信號,并在此信號的同步下依次發(fā)送像素值。
黑白cmos圖像傳感器ov9120的原理及應用 :
4 OV9120在圖像采集系統(tǒng)中的應用整個圖像采集系統(tǒng)主要由OV9120圖像傳感芯片、CPLD控制模塊、RAM存儲器、DSP信號處理器、晶振電路等幾部分組成。在本系統(tǒng)中,OV9120作為系統(tǒng)的圖像傳感器,首先在其內部將獲取的圖像采樣量化,然后在外部邏輯的控
10、制下輸出數字圖像,并存入圖像存儲器。CPLD作為采集系統(tǒng)核心控制邏輯的主控模塊,可用來協調其它各模塊的工作。OV9120的SCCB總線參數配置是整個控制邏輯模塊執(zhí)行的起點,只有利用SCCB總線將OV9120配置完畢后,才能進行圖像采集工作。OV9120采集得到的圖像數據可存儲到SRAM中以供DSP使用,從而完成圖像采集系統(tǒng)與DSP識別系統(tǒng)之間的交互操作。其系統(tǒng)原理圖如圖3所示。系統(tǒng)上電后,應首先對CMOS圖像采集芯片進行初始化,以確定采集圖像的開窗位置、窗口大小和黑白工作模式等。這些參數均受OV9120內部相應寄存器值的控制。由于內部寄存器的值可以通過OV9120芯片上提供的SCCB串行控制總
11、線接口來存取,所以,CPLD就可以通過控制SCCB總線來完成參數的配置。配置的具體方法可采用三相寫數據的方式,即在寫寄存器過程中先發(fā)送OV9120的ID地址,然后發(fā)送寫數據的目地寄存器地址,接著是要寫的數據。如果連續(xù)給寄存器寫數據,那么,寫完一個寄存器后,OV9120會自動把寄存器地址加1,然后在程序控制下繼續(xù)向下寫,而不需要再次輸入地址,這樣,三相寫數據就變成了兩相寫數據。由于本系統(tǒng)只需對有限個不連續(xù)寄存器的數據進行更改,而對全部寄存器都加以配置會浪費很多時間和資源,所以,可以只對需要更改數據的寄存器進行寫數據。而對于每一個變化的寄存器,則都采用三相寫數據的方法。系統(tǒng)配置完畢后,將進行圖像數
12、據的采集。在采集圖像的過程中,最主要的是判別一幀圖像數據的開始和結束時刻。在仔細研究了OV9120輸出同步信號(VSYNC是垂直同步信號、HREF是水平同步信號、PCLK是輸出數據同步信號)的基礎上,用VHDL語言便可實現采集過程起始點的精確控制。VSYNC的上升沿表示一幀新的圖像的到來,下降沿則表示一幀圖像數據采集的開始(CMOS圖像傳感器是按列采集圖像的)。HREF是水平同步信號,其上升沿表示一列圖像數據的開始。PCLK是輸出數據同步信號。HREF為高電平即可開始有效地數據采集,而PCLK下降沿的到來則表明數據的產生,PCLK每出現一個下降沿,系統(tǒng)便傳輸一位數據。HREF為高電平期間,系統(tǒng)
13、共傳輸1280位數據。也就是說:在一幀圖像中,即VSYNC為低電平期間,HREF會出現1024次高電平。而下一個VSYNC信號上升沿的到來則表明分辨率12801024的圖像采集過程的結束。實現采集的軟件設計可在MAX+plusII環(huán)境中實現。軟件設計的主要工作是CPLD對OV9120的配置。在開始充電時,首先對系統(tǒng)進行初始化。CPLD的全局時鐘可用24MHz的晶振電路產生。配置時首先配置SCCB,配置完畢后將SCCE置1。當接收到DSP的開始采集信號后,根據同步信號的狀態(tài)來判定是否開始采集數據,采集數據的同時可將數據送往SRAM。當DSP接收到CPLD的讀取信號后,即可開始讀取數據,并在DSP
14、中完成圖像的處理。采集處理的部分主程序如下:reset2:process(reset_i,n1,clk)beginif reset_i=‘0’then scce_p<=‘1’;elseif(n1=‘1’ or m1=‘1’)thenscce_p<=‘1’else scce p<=‘0’end ifend ifend process reset2clk1: process(n1,clk)variable a: integer range 254 to 0beginif(sio_c_start=‘0’ OR n1=‘1’) thenq<=‘1’a:=0elseif(clk’event and cl
15、k=‘1’) thenif(sio_c start=‘1’ and n1=‘0’) thenif a<254 thena:=a+1else a:=1end ifif a<127 then q<=‘0’else q<=‘1’end ifend ifend ifend ifend process clk1lock:process(sio_c_start,q)variable n: integer range 8 to 0beginif( sio_c_start=‘0’ then load<=‘1’n:=0elseif (q ’event and q=‘0’) thenif n<8 then n=
16、n+1;load<=‘0’;else n:=0;load<=‘1’;end if;end if;end if;end process lock;reg1: process(n1,q,load)variable pp:std_logic_vector(7 downto 0)variable b:integer range 7 to 0;variable c:integer range 13 to 0;beginif(n1=‘1’or reset_i=‘0’) then p<=‘1’;c:=0; b:=0;QB<=‘0’;elseif(q’event and q=‘0’)thenif load=
17、‘1’ then;c:=c+1if c<13 thenif c=1 thenpp:=〃11000010〃;elsif c=2 thenpp:=〃00001100〃;elsif c=3 thenpp:=〃00101001〃;elsif c=4 thenpp=〃11000010〃;elsif c=5 thenpp:=〃00001101〃;elsif c=6 thenpp:=〃10000000〃;elsif c=7 thenpp:=〃11000010〃;elsif c=8 thenpp:=〃00010001〃;elsif c=9 thenpp:=〃10000000〃;elsif c=10 the
18、npp:=〃11000010〃;elsif c=11 thenpp:=〃00010011〃;elsif c=12 thenpp:=〃00010111〃end if;b:=0;p<=pp(7);elsif c=13 thenp<=‘0’; QB<=‘1’;end if;elseif b<7 then b:=b+1;pp(7 downto 1):=pp(6 ownto 0);p<=pp(7);else p<=‘1’;end if;end if;end if;end if;end process reg1;
黑白cmos圖像傳感器ov9120的原理及應用 :