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

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

[复制链接]
发表于 2017-2-22 17:24:21 | 显示全部楼层 |阅读模式
     上一篇博客主要介绍了OV7725的电气特性以及SCCB接口的时序和输出一帧图像的时序图以及数据的拼接。输出一帧图像与输出时钟PCLK有关。
( Z" b0 ~( X2 E. u2 X  W
/ d" N0 u3 N. ]- Z
       上图是OV7725实现的整体框架,有点丑。FPGA描述SCCB时序,完成OV7725的配置,配置完成之后,OV7725 sensor输出PCLK和href,vsync以及cmos_data信号。经过格式的转换单元,将格式转换后的数据送给SDRAM单元,最终实现VGA/LCD/上位机显示。

$ q; d: x; a1 \
* E( z; Q( M$ b9 T2 A( a
      之前已经提及过,SCCB接口主要实现sensor内部各种寄存器的配置,如AGC,AWB,gama,color saturation等等,下面就讲解寄存器的配置。参考手册如下图所示,寄存器的配置还需要OV7725的手册中关于寄存器设定章节一起配合使用。

, C( J$ a/ [( [8 l! J  R( H; m$ J" x2 b8 R7 V( J
  在手册的最后一个章节,给出了参考设置,不过输出的格式是YCbCr格式,其他设置需要联系FAE。

. \% B# i! F8 X+ f% a0 j' ~/ `& x; d2 i/ l  d
  
  如下图所示,写入的寄存器前8位数据,如0x3d代表了寄存器的地址,后8位0x03代表了该寄存器设定的值。根据手册最后内容可以在0V7725数据手册(OV7725 datasheet)中找到相关寄存器的说明。
2 ~0 m% ?8 A5 i3 l; i& Y9 T
7 H1 j/ R, y3 F+ X& T
  比如0x3d,在数据手册(OV7725 datasheet)中代表的功能是DC偏置量的控制。如下图所示,其他寄存器以此类推,可以一一找到。注意在设置时设置寄存器地址或者寄存器的名称均可以,比如0x3d,0x03,也可以设置com12,0x03.
9 L4 u4 Z  m' J, R  C3 q9 S& Y) p2 m

  N0 x& T' }* @( `

) T8 W' T( f# O% p& k
% h; E9 |% d. p+ e! m% b, \; D% C
  在OV7725配置手册中,讲述了关于YCbCr和RGB24格式之间的转换方法,如下图所示,由于FPGA不擅长处理浮点数,所以需转换成定点数处理。
* o/ }. L( b5 Q3 b' I' {, [: v
0 u  z8 @1 R& J
4 ]6 I' d1 s: Q* y
- |. \- U5 t, @
  在OV7725配置手册中,详细说明了对于OV7725格式输出的说明,分为有ISP和无ISP情况,这个模块可以在FPGA内部去建立格式输出单元,此方面内容会在之后讲解。
! v. q  p9 t3 K( h

& s) }5 M  ]5 |# v+ u
  \0 t! w# l' i3 r8 T) k

, D7 A2 c3 ^( W" S6 s+ X# i- Z+ I: }1 [( `) y4 [
5 f& }; c9 G, U" t2 i6 Z
  对于寄存器的设置,根据OV7725应用手册中的参考设置,有几个重要部分必须要进行设置,如下所示:
$ b9 y0 }6 G* d9 B
  1. ID的设置
  对于厂商来讲,每一款传感器有唯一的ID地址。
  制造商唯一的ID地址。
: ]0 I6 z) }( `0 d% h% K! a
2.复位所有的寄存器
  上电之后,对OV内部所有的寄存器先复位。寄存器12不单有复位功能,还有控制OV视频输出格式,下面会提及到,参见第10项。
3.模拟处理中的DC偏置

$ N: ^' J, H) n) r3 Z- ]- f2 r
4. 对行和场的设置
  寄存器17位行起始控制,18为VGA模式下行像素大小。19为场起始控制,1A为VGA模式下场像素大小。
8 ~( i+ ]- J% E/ ~2 ?4 C( I

* Q- |; l- ]! h' k
5.对场同步信号进行取反操作
  为了和VGA时序保持一致,将VSYNC的时序进行取反,关于一帧的时序图参考上一篇博客。
  write_SCCB(Ox15,Ox02);此项设置,将pclk定义为上升沿有效,href定位为高电平有效,vsync进行取反向。
* y% E8 a5 y& k7 U, f: T1 R
6.图像的起始位置和大小控制

! K) ^! _5 [% U% E9 \
  7.行和场输出数据的大小控制
/ {% r9 \0 G* a, v' Y- Y; J
  8.内部时钟控制
寄存器0d是设置内部PLL的倍频,选择4倍频,AEC自动曝光控制选择二分之一窗。寄存器11是内部时钟的设置,通过PLL4倍频之后,计算得到的结果和XCLK的时钟应该是相等的。
4 Y$ K3 h+ J+ G1 o

- i% \1 A- }* }7 r9 _2 A; o3 V
  9.虚拟像素高位插入
  配置手册上面给出的是默认值,此功能实际上没用到。
% H. W% M$ {4 H0 V0 E' V
3 Z8 a, h: b+ x' {9 ^) S
10.OV视频格式输出配置
  寄存器12,功能复用  ,write_SCCB(Ox12,Ox06);输出格式是RGB565格式。所以此寄存器非常重要,决定了OV输出的格式。

" o5 C9 r$ C5 C6 S! h" y; |, C* ?
11.RGB格式YUV格式的顺序以及测试彩条的控制
  write_SCCB(Ox0c,Ox10);其中寄存器0c控制RGB和YUV格式的顺序,还有控制OV内部自带的测试彩条的使能。这里采用默认值,不使能彩条。
  
& m2 e) N: @% o9 ^& Y+ m
% X1 I6 {% W$ W. I8 R! C) X+ g
12. DSP控制参数
  其中0x42寄存器控制的是背光补偿蓝控制量,如下图所示,选择手册参考值。
  其中0x4d是修补增益的控制,0x42对背光补偿颜色B分量进行设定。

4 a& x/ C9 j  g7 k2 C
  寄存器0x63是AWB自动白平衡控制字0的控制。选择手册中的默认值。0xf0;
+ z" U7 N: e& ^
  ?9 {5 ~1 U3 v) P# @5 g- X. P
  寄存器0x64~67是DSP控制为1~4,0x64设定为配置寄存器中的默认值0xff;0x65选择手册默认值,配置手册上给出的是0x20,选择默认值0x00,不影响成像效果。0x66是UV的交替格式。选择0x00。0x67是输出格式的选择,这里设置0x00/0x01,为YUV or RGB输出。

9 Q1 {7 o- Z  V4 [3 R8 C! m
6 o( ^% T3 t+ k! t1 @
& r/ }# l$ {) i4 c5 C% v, A9 }0 w3 a
13. AWB,AEC,AGC参数控制调节
, x; J' ]# i* ~1 r. s$ e$ z

* \" |! a0 K/ {+ J- a3 a7 h0 Z1 h
  0x13控制AEC,AWB,AGC是否使能,设置为0xff;0x0f控制当输出格式转换时,窗口自动适应。0x14设定0x11.0x22设定为 0x98,作为50Hz带宽滤波。在OV7725寄存器配置手册中0x13,0x22,0x23是关于交流频率50Hz,帧频为25,情况下的带通滤波器的设置。
) N# u, }" I8 H% {) H5 T

; _" }$ }* Z: m. I% k; x( Z
: ~, l, _1 A+ b' s) a8 Q
14.边缘强化处理均选择配置指定值。

6 G) K' K/ v3 ~$ S2 I( b+ L
8 [  s! U9 u, g' d$ C$ H4 [
  15.色彩还原矩阵设置
6 p6 @( A# q+ C1 C& g
- g2 d+ x- ]7 U

( `' ?* Q! A8 c: {( B
  16.亮度,对比度,UV和SDE控制
  选择默认值。
8 a( ]1 F9 u, T& G

! t9 g3 |, N) N' P3 J4 B3 H
$ q4 }" Z" ?) \9 N$ [- i5 ~, X4 C) j) ?& E, L+ o
17. gama参数设置
  其中寄存器0x7e~0x8c均是对gama曲线的设定,设定配置手册默认值。
+ w* h) {; P/ ]5 `8 n3 H# A) L0 A
9 q# ?4 N) H8 I/ j
: P7 M3 D* W, [. Z6 U" J! r3 _
18. UV控制
" P2 l+ O7 {6 `. X
write_sccb{0xa7, 0x65};
5 `' O! A7 c6 [9 H$ `write_sccb{0xa8, 0x65};
. O2 {: s, G+ L! f1 ?+ Zwrite_sccb{0xa9, 0x80}; 6 w1 `  D5 [# v; f
write_sccb {0xaa, 0x80};

# K1 o% z" X! m+ Q& R- u3 ]; k
                                   
                                    

3 T, H3 h3 F5 C8 m' k1 J# p* s! D- Z! N& D5 k
# g( F" l+ y% @/ m. y: n# z* p0 D. y
19.夜间自动调整帧频

& t3 _. v2 H; S- G1 K; |/ |
                                 
  

# H: C' T9 T8 b) M7 B2 U
若是设置成 Fixed Frame Rate,则
% P. \1 r6 |0 u8 r
     以上是对常用的寄存器的设置,大部分参考了手册中的设定值,接下来就要实现 SCCB时序,实现对OV7725实现配置。
7 @& W  B$ z4 B4 z( L5 X' _0 R
摄像头模组论坛欢迎你的加入:微信交流群咨询:13713561691
发表于 2017-3-12 12:12:01 | 显示全部楼层
感谢分享,感谢分享。
高级模式
B Color Image Link Quote Code Smilies @朋友 |上传

本版积分规则

在线客服

客服电话

欢迎来电咨询

188-9985 8350

微信关注

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

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

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

返回顶部

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

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