|
上一篇博客主要介绍了OV7725的电气特性以及SCCB接口的时序和输出一帧图像的时序图以及数据的拼接。输出一帧图像与输出时钟PCLK有关。
Z0 h; a8 D0 K" Z& J$ d
. n) Q9 t( u3 h- l! c3 ~0 o) N: { 上图是OV7725实现的整体框架,有点丑。FPGA描述SCCB时序,完成OV7725的配置,配置完成之后,OV7725 sensor输出PCLK和href,vsync以及cmos_data信号。经过格式的转换单元,将格式转换后的数据送给SDRAM单元,最终实现VGA/LCD/上位机显示。 ; r" Z6 }; Z4 J n N; K; V8 b' |
: L# n4 o* s" o; b0 c) C* e 之前已经提及过,SCCB接口主要实现sensor内部各种寄存器的配置,如AGC,AWB,gama,color saturation等等,下面就讲解寄存器的配置。参考手册如下图所示,寄存器的配置还需要OV7725的手册中关于寄存器设定章节一起配合使用。
5 Q: D$ h% \5 d
( a9 v4 S7 B& f, w$ Z$ x. B$ ~ 在手册的最后一个章节,给出了参考设置,不过输出的格式是YCbCr格式,其他设置需要联系FAE。
" F0 O/ }3 E; ~5 ~7 J9 {. y1 K3 N2 Y1 Z9 r1 u, D
如下图所示,写入的寄存器前8位数据,如0x3d代表了寄存器的地址,后8位0x03代表了该寄存器设定的值。根据手册最后内容可以在0V7725数据手册(OV7725 datasheet)中找到相关寄存器的说明。 ( j& S( J3 r' H- q% x+ a2 v' m% n$ w; b
! ~5 h( H( `6 b; { 比如0x3d,在数据手册(OV7725 datasheet)中代表的功能是DC偏置量的控制。如下图所示,其他寄存器以此类推,可以一一找到。注意在设置时设置寄存器地址或者寄存器的名称均可以,比如0x3d,0x03,也可以设置com12,0x03. , L. g, p7 q: e- Z! B% I: N5 y/ C+ H
0 c4 `3 C" @7 u1 J" {
& p( r" f9 T' ]
4 C3 | o1 Z( p. t/ O/ l5 H
在OV7725配置手册中,讲述了关于YCbCr和RGB24格式之间的转换方法,如下图所示,由于FPGA不擅长处理浮点数,所以需转换成定点数处理。
" { ?7 i0 i( a$ e& B3 @& X& ?
( Q( T8 X5 `5 }; ~8 `% A- o$ D% C" N' s" {: _
9 N5 O8 S( I& y( J- h0 \ 在OV7725配置手册中,详细说明了对于OV7725格式输出的说明,分为有ISP和无ISP情况,这个模块可以在FPGA内部去建立格式输出单元,此方面内容会在之后讲解。 0 |+ r5 ^0 _# h. D& D7 }
+ k8 Y1 L8 a; s' i
8 W' W A8 c& L1 x/ A. `
, ]" J4 S, x" y' \$ L' m# D6 o; A# a% @5 g* |- W
; ?6 Z7 _ w9 W! L6 {3 o 对于寄存器的设置,根据OV7725应用手册中的参考设置,有几个重要部分必须要进行设置,如下所示:
# v4 X4 ^: ~ f0 s 1. ID的设置 对于厂商来讲,每一款传感器有唯一的ID地址。 制造商唯一的ID地址。 6 U) }# v [1 h/ U: p
2.复位所有的寄存器 上电之后,对OV内部所有的寄存器先复位。寄存器12不单有复位功能,还有控制OV视频输出格式,下面会提及到,参见第10项。 3.模拟处理中的DC偏置
& Z( H0 h# y" ^, W9 g2 a4. 对行和场的设置 寄存器17位行起始控制,18为VGA模式下行像素大小。19为场起始控制,1A为VGA模式下场像素大小。 " y( v$ ]2 B/ Y, q1 y; l) c
# Q( u, p* d' L5 s0 j
5.对场同步信号进行取反操作 为了和VGA时序保持一致,将VSYNC的时序进行取反,关于一帧的时序图参考上一篇博客。 write_SCCB(Ox15,Ox02);此项设置,将pclk定义为上升沿有效,href定位为高电平有效,vsync进行取反向。
' j: i4 h% C* ^" ?+ ]2 x! `$ E6.图像的起始位置和大小控制
7 K y5 e" F% f9 Z 7.行和场输出数据的大小控制
2 X9 T3 @0 U5 p. I 8.内部时钟控制 寄存器0d是设置内部PLL的倍频,选择4倍频,AEC自动曝光控制选择二分之一窗。寄存器11是内部时钟的设置,通过PLL4倍频之后,计算得到的结果和XCLK的时钟应该是相等的。 - n7 ], ?# G9 O9 G0 m& W1 A
# _3 l/ X# G' w$ l" g, p8 |. w7 ^ 9.虚拟像素高位插入 配置手册上面给出的是默认值,此功能实际上没用到。 3 r0 \5 ^1 M- u4 i6 h# g
$ y( x$ e& y( v7 G4 H
10.OV视频格式输出配置 寄存器12,功能复用 ,write_SCCB(Ox12,Ox06);输出格式是RGB565格式。所以此寄存器非常重要,决定了OV输出的格式。 0 X8 ^+ _: X0 a; w$ q
# D% g' b1 k0 J, j! r' C2 Q" D9 d3 I
11.RGB格式YUV格式的顺序以及测试彩条的控制 write_SCCB(Ox0c,Ox10);其中寄存器0c控制RGB和YUV格式的顺序,还有控制OV内部自带的测试彩条的使能。这里采用默认值,不使能彩条。
8 R$ k' A: r) d+ `) X) R# f J9 p0 D8 o6 y& j
12. DSP控制参数 其中0x42寄存器控制的是背光补偿蓝控制量,如下图所示,选择手册参考值。 其中0x4d是修补增益的控制,0x42对背光补偿颜色B分量进行设定。
& r4 H! @$ ^; ]7 q 寄存器0x63是AWB自动白平衡控制字0的控制。选择手册中的默认值。0xf0; 4 A! J% j$ c- Q
. S* w$ n, i& K 寄存器0x64~67是DSP控制为1~4,0x64设定为配置寄存器中的默认值0xff;0x65选择手册默认值,配置手册上给出的是0x20,选择默认值0x00,不影响成像效果。0x66是UV的交替格式。选择0x00。0x67是输出格式的选择,这里设置0x00/0x01,为YUV or RGB输出。
! ^/ Q$ v( d% N/ E S4 p, z/ |4 s* g% G
, [( _9 @: J7 G* V. j1 z' u3 @13. AWB,AEC,AGC参数控制调节
" I! |! k* k# X' R6 J7 f
2 ~8 t. s' s! h 0x13控制AEC,AWB,AGC是否使能,设置为0xff;0x0f控制当输出格式转换时,窗口自动适应。0x14设定0x11.0x22设定为 0x98,作为50Hz带宽滤波。在OV7725寄存器配置手册中0x13,0x22,0x23是关于交流频率50Hz,帧频为25,情况下的带通滤波器的设置。
$ J" M o$ H C# q& d1 \7 g4 N* _; b! F
7 u" |) I$ y* w- W. h 14.边缘强化处理均选择配置指定值。
# }0 i3 `. B: _" z
: h+ X, D4 g2 v 15.色彩还原矩阵设置 2 j5 ^5 N5 k- l8 ^, [8 ?
( t, |5 U; u' ], l- v A& C; [+ @! P
16.亮度,对比度,UV和SDE控制 选择默认值。 $ @; o) k+ |. s; a0 z; b: V+ l
& O5 O* _1 k9 A" N* o+ G: L# s/ e3 i) O' c
4 l1 S! z1 O! T0 c& E9 T: e17. gama参数设置 其中寄存器0x7e~0x8c均是对gama曲线的设定,设定配置手册默认值。 * Z! ` m2 H1 S: w. K: k3 {
4 x9 `7 [- l, W( y* S1 z9 T6 ]2 U. f# B, G% h$ R- D
18. UV控制 + Y( A6 R' x/ G, z7 F, H( b" z1 J
write_sccb{0xa7, 0x65}; , n+ Y' d% \8 Z6 s: T: S# t
write_sccb{0xa8, 0x65}; ) W1 B0 C# s8 n' F
write_sccb{0xa9, 0x80};
# \1 @7 j, Z- }9 U( Pwrite_sccb {0xaa, 0x80}; " Z3 e ?, `) ~4 K: L M/ i* [# H
. `4 [0 o) C9 \ d
- f/ D S; ~6 m6 Y# d1 M4 C1 P( n
* R# l. R4 u% `* @! v19.夜间自动调整帧频 $ T$ q/ |( q4 D! J; P( `5 t. t- r v0 r
. r% ]/ P# y G0 N( ?. O" f L若是设置成 Fixed Frame Rate,则
0 N* Y k1 V/ ~- f! l, W7 u 以上是对常用的寄存器的设置,大部分参考了手册中的设定值,接下来就要实现 SCCB时序,实现对OV7725实现配置。 5 }/ K2 ]$ T9 i, e0 I4 n
摄像头模组论坛欢迎你的加入:微信交流群咨询:13713561691 |