查看: 12515|回复: 1
收起左侧

摄像头驱动OV7725学习笔记连载(二):0V7725 SCCB时序的实现之寄存器配置

[复制链接]
发表于 2017-2-22 17:24:21 | 显示全部楼层 |阅读模式
     上一篇博客主要介绍了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 a
4. 对行和场的设置
  寄存器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! `$ E
6.图像的起始位置和大小控制

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: e
17. 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% `* @! v
19.夜间自动调整帧频
$ 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
发表于 2017-3-12 12:12:01 | 显示全部楼层
感谢分享,感谢分享。
高级模式
B Color Image Link Quote Code Smilies @朋友 |上传

本版积分规则

在线客服

客服电话

欢迎来电咨询

188-9985 8350

微信关注

手机APP程序:
扫码下载访问

微信公众平台:
摄像头之家公众号

微信小程序:
摄像头小程序

返回顶部

QQ|站点统计|小黑屋|手机版|Archiver|摄像头模组论坛网-摄像头方案网CCM99 ( 粤ICP备18155214号 )

Powered by Discuz! X3.4 Licensed© 2001-2013 Comsenz Inc.