学校地址:湖南省 长沙市 雨花区 树木岭路330号 |
黑白CMOS图像传感器OV9120的原理及应用
学校地址:湖南省 长沙市 雨花区 树木岭路330号 |
随着CMOS技术的发展及市场需求的增加www.8 t tt8. com,CMOS图像传感器得以迅速发展。CMOS图像传感器具有高度集成化、成本低、功耗低、单一工作电压、局部像素可编程、随机读取等优点,适用于超****数码相机、便携式可视电话、PC机电脑眼、可视门铃、扫描仪、****机、安防监控、汽车防盗、机器视觉、车载电话、指纹识别、手机等图像领域。本文介绍的是由美国OmniVision技术公司生产的OV9120黑白CMOS图像传感器,它采用独特的传感器专利工艺技术和先进的算法(algorithms)解决8t t t 8. c o m了先前CMOS感光器件固定图像噪声(FPN)的限制。因而可
应用于数字静止****、视频会议、视频电话、计算机视觉、生物测量等领域。OV9120采用48脚LCC封装,其引脚排列如图1所示ssBbww。
3 结构性能及工作原理
3.1 内部结构
OV9120内置1312×1036分辨率的镜像阵列、10位A/D转换器、可调视频窗、SCCE接口、可编程帧速率控制、可编程/自动曝光增益控制、内外帧同步、亮度均衡计数器、数字视频端口、定时产生器、黑电平校准及白平衡控制等电路。其内部结构如图2所示ssBbww。
3.2 性能特点
OV9120是135万像素(1312×1036)、1/2英寸的CMOS图像传感芯片,它采用SXGA/VGA格式,最大帧速率可达到30帧/s(VGA),该芯片将CMOS光感应核与外围辅助电路集成在一起,ssbbww. com具有可编程控制功能。OV9120芯片的基本参数如下
●图像尺寸:6.66mm×5.32mm,像素尺寸,5.2mm×5.2mm;
●信噪比>54dB;
●增益ssbbwW.com范围:0~24dB;
●SXGA输出时,阵列大小为1280×1024,VGA输出时,阵列大小为640×480;
●供电电源电压为直流3.3V和2.5V;
●暗电流: 28mV/s;
●动态范围:60dB。
3.3 工作原理
CMOS镜像阵列的设计主要建立在逐行传送的扫描场读出系统和带同步像素读出电路的电子快门之上。而电子曝光控制算法(或系统规则)则建立在整个图(物)像亮度基础之上。在景像(或布景)正常时,SsbbwW.com曝光都比较理想。但在景像光线不
时,则应通过自动曝光控制(AEC)白/黑比调节来使其满足应用 。对于OV9120内部嵌入了一个10位A/D转换器,因而www.ssbbww.com同步输出10位的数字视频流D[9..0]。在输出数字视频流的ssbbww. com,还可提供像素同步时钟PCLK、水平参考信号HREF以及垂直同步信号VSYNC,以方便外部电路读取图像。
ZV端口www.hnygpx.com相机(镜头)的焦距调节视频端口。OV9120的ZV功能能使相机透镜变焦而急速移向(或移离)目标。OV9120可利用
当OV9120的RESET脚拉高至VCC时,全部8ttT8硬件将复位。ssbbww. comOV9120将清除全部8ttT8寄存器,并复位到www.Dddtt.com的默认值。实际8ttt8上,也www.ssbbww.com通过SCCB接口触发来实现复位。
www.ddd tt. comSCCE端口SSBBww访问内部8 tt t8.com寄存器,8ttt8,OV9120的内部配置www.ssbbww.com通过SCCE串行控制端口来进行。SCCB的接口有SCCE 、SIO_C 、SIO_D三条引线,其中SCCE是串行总线使能信号,SIO_C是串行总线时钟信号,SIO_D是串行总线数据信号。SCCB对总线功能的控制8 t tt8. com是依靠SCCE、SIO_C、SIO_D三条总线上电平的www .ddd Tt. com以及三者之间
OV9120有两种工作方式:主模式和从模式。主模式下,OV9120dddtt主导设备,www.XCLK上的外部晶振输入经过ssbbww内部分频后可得到PCLK信号。当OV9120采集到图像后,在PCLK的下降沿到来时,系统便可依次将像素值输出,www.外部只是被动的接收信号。而在从模式下,OV9120则可dddtt从属设备,www.XCLK不能与外部晶振相接,但www.ssbbww.com受外部器件,也www.hnygpx.com主设备信号的控制。即由主导设备发送一个MCLK时钟信号,并在此信号的同步下依次发送像素值。
4 OV9120在图像采集系统中的应用
整个图像采集系统主要由OV9120图像传感芯片、CPLD控制模块、RAM存储器、DSP信号8tTt8器、晶振电路等几部分组成。
在本系统中,OV9120dddtt系统的图像传感器,首先在其内部将获取的图像采样量化,在外部逻辑的控制下输出数字图像,并存入图像存储器。CPLDdddtt采集系统核心控制逻辑的主控模块,可用8ttt8来协调8ttt8各模块的工作。OV9120的SCCB总线参数配置是整个控制逻辑模块执行的起点,只有利用
SCCB总线将OV9120配置完毕后,才能进行图像采集工作。OV9120采集得到的图像数据可存储到SRAM中以供DSP使用,从而完成图像采集系统与DSP识别系统之间系统上电后,应首先对CMOS图像采集芯片进行初始化,以确定采集图像的开窗www.d dd tT. com、窗口大小和黑白工作模式等。这些参数均受OV9120内部相应寄存器值的控制。www.ddd tt. com内部寄存器的值www.ssbbww.com通过OV9120芯片上提供的SCCB串行控制总线接口来存取,8ttt8,CPLD就www.ssbbww.com通过控制SCCB总线来完成参数的配置。
配置的具体方法可采用三相写数据的方式,即在写寄存器过程中先发送OV9120的ID地址,发送写数据的目地寄存器地址,接着是要写的数据。8 tt t8.com连续给寄存器写数据,8ttt8,写完一个寄存器后,OV9120会自动把寄存器地址加1,在程序控制下继续向下写,而不需要sSbBwW.cOm再次输入地址,这样,三相写数据就变成了两相写数据。www.ddd tt. com本系统只需对有限个不连续寄存器的数据进行更改,而对全部8ttT8寄存器都加以配置会浪费8ttt8时间和资源,8ttt8,www.ssbbww.com只对需要sSbBwW.cOm更改数据的寄存器进行写数据。而对于
系统配置完毕后,将进行图像数据的采集。在采集图像的过程中,最主要的是判别一帧图像数据的开始和结束时刻。在仔细研究了OV9120输出同步信号(VSYNC是垂直同步信号、HREF是水平同步信号、PCLK是输出数据同步信号)的基础上,用VHDL语言便可实现采集过程起始点的精确控制。
VSYNC的上升沿表示一帧新的图像的到来,下降沿则表示一帧图像数据采集的开始(CMOS图像传感器是按列采集图像的)。HREF是水平同步信号,其上升沿表示一列图像数据的开始。PCLK是输出数据同步信号。HREF为高电平即可开始有效地数据采集,而PCLK下降沿的到来则表明数据的产生,PCLK每出现wWw.一个下降沿,系统便传输一位数据。HREF为高电平期间,系统共传输1280位数据。也www.hnygpx.com说:在一帧图像中,即VSYNC为低电平期间,HREF会出现wWw.1024次高电平。而下一个VSYNC信号上升沿的到来则表明分辨率1280×1024的图像采集过程的结束。
实现采集的软件设计可在MAX+plusII环境中实现。软件设计的主要工作是CPLD对OV9120的配置。在开始充电时,首先对系统进行初始化。CPLD的全局时钟可用8ttt824MHz的晶振电路产生。配置时首先配置SCCB,配置完毕后将SCCE置1。当接收到DSP的开始采集信号后,根据同步信号的www .ddd Tt. com来判定是否开始采集数据,采集数据的ssbbww. com可将数据送往SRAM。当DSP接收到CPLD的读取信号后,即可开始读取数据,并在DSP中完成图像的8tTt8。采集8tTt8的部分主程序如下:
reset2:process(reset_i,n1,clk)
begin
if reset_i=‘0’then scce_p<=‘1’;
else
if(n1=‘1’ or m1=‘1’)then
scce_p<=‘1’;
else scce p<=‘0’;
end if;
end if;
end process reset2;
clk1: process(n1,clk)
variable a: integer range 254 to 0;
begin
if(sio_c_start=‘0’ OR n1=‘1’) then
q<=‘1’;a:=0;
else
if(clk'event and clk=‘1’) then
if(sio_c start=‘1’ and n1=‘0’) then
if a<254 then; a:=a+1;
else a:=1;
end if;
if a<127 then q<=‘0’;
else q<=‘1’; end if;
end if;
end if;
end if;
end process clk1;
lock:process(sio_c_start,q)
variable n: integer range 8 to 0;
begin
if( sio_c_start=‘0’ then load<=‘1’;n:=0;
else
if (q 'event and q=‘0’) then
if n<8 then n=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;
begin
if(n1=‘1’or reset_i=‘0’) then p<=‘1’;c:=0; b:=0;QB<=‘0’;
else
if(q'event and q=‘0’)then
if load=‘1’ then;
c:=c+1
if c<13 then
if c=1 then
pp:=″11000010″;
elsif c=2 then
pp:=″00001100″;
elsif c=3 then
pp:=″00101001″;
elsif c=4 then
pp=″11000010″;
elsif c=5 then
pp:=″00001101″;
elsif c=6 then
pp:=″10000000″;
elsif c=7 then
pp:=″11000010″;
elsif c=8 then
pp:=″00010001″;
elsif c=9 then
pp:=″10000000″;
elsif c=10 then
pp:=″11000010″;
elsif c=11 then
pp:=″00010011″;
elsif c=12 then
pp:=″00010111″
end if;
b:=0;p<=pp(7);
elsif c=13 then
p<=‘0’; QB<=‘1’;
end if;
else
if 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;
★★★★★ 湖南省阳光电子技术学校常年开设:手机维修培训、家电维修培训、电工培训、电脑维修培训、焊工培训--面向全国火爆招生!网址:http://www.hnygpx.com 报名电话:0731-85579057)。百分百安置就业。颁发全国通用权威证书。采用我校多年来独创的“模块教学法”,理论与实践相结合、原理+图纸+机器三位一体的教学模式,半天理论,半天实践,通俗易懂,确保无任何基础者也能全面掌握维修技能、成为同行业中的佼佼者。包教包会包工作(一期不会,免费学会为止)。