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

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

[复制链接]
发表于 2017-2-22 17:24:21 | 显示全部楼层 |阅读模式
     上一篇博客主要介绍了OV7725的电气特性以及SCCB接口的时序和输出一帧图像的时序图以及数据的拼接。输出一帧图像与输出时钟PCLK有关。
% E1 U/ ?4 h- |7 J& v! }

3 A3 ?* p) ~, q, J  l( ?0 p
       上图是OV7725实现的整体框架,有点丑。FPGA描述SCCB时序,完成OV7725的配置,配置完成之后,OV7725 sensor输出PCLK和href,vsync以及cmos_data信号。经过格式的转换单元,将格式转换后的数据送给SDRAM单元,最终实现VGA/LCD/上位机显示。

9 V/ `0 D) R9 v5 s6 m) m" B
1 D/ @! q( x" B! a) [! n8 G/ b) P
      之前已经提及过,SCCB接口主要实现sensor内部各种寄存器的配置,如AGC,AWB,gama,color saturation等等,下面就讲解寄存器的配置。参考手册如下图所示,寄存器的配置还需要OV7725的手册中关于寄存器设定章节一起配合使用。

4 ?( Q9 A: X- h; J, R
0 J. r, C( A$ E& U
  在手册的最后一个章节,给出了参考设置,不过输出的格式是YCbCr格式,其他设置需要联系FAE。

$ a  L8 ]# u/ |- b, ?: u
( ?2 j$ u. j) R& {: I5 A
  
  如下图所示,写入的寄存器前8位数据,如0x3d代表了寄存器的地址,后8位0x03代表了该寄存器设定的值。根据手册最后内容可以在0V7725数据手册(OV7725 datasheet)中找到相关寄存器的说明。

  b2 {5 J1 D$ ^+ K8 E
% O( ^1 |; _" p1 ]6 U( C- v* `1 S
  比如0x3d,在数据手册(OV7725 datasheet)中代表的功能是DC偏置量的控制。如下图所示,其他寄存器以此类推,可以一一找到。注意在设置时设置寄存器地址或者寄存器的名称均可以,比如0x3d,0x03,也可以设置com12,0x03.

7 i9 {% g+ x/ ^  \. {* q" D, C( F& N# n( n
/ K3 j1 G3 V: @
) e' f- r% `) j; M! O8 \
  在OV7725配置手册中,讲述了关于YCbCr和RGB24格式之间的转换方法,如下图所示,由于FPGA不擅长处理浮点数,所以需转换成定点数处理。

( ~& n6 Q( G+ N7 T, s1 }2 L8 K# v- ]. |. V

9 B, O9 V+ v/ {0 {) [2 `/ M  ~7 V; b6 B4 ]2 ]' W5 s1 T- z' B4 ^5 r3 g
  在OV7725配置手册中,详细说明了对于OV7725格式输出的说明,分为有ISP和无ISP情况,这个模块可以在FPGA内部去建立格式输出单元,此方面内容会在之后讲解。

# l: l- @  D+ h  @$ p# l4 ~4 Q+ Z* d& `4 d! x& m) @

- e6 g# V0 k' w& }+ F; M

, d1 i+ x- ?& b" T  r" a3 F9 t2 p" t, f6 ]9 T- @
$ r/ g9 C8 Q4 @; H
  对于寄存器的设置,根据OV7725应用手册中的参考设置,有几个重要部分必须要进行设置,如下所示:

8 o# ]6 N8 ~- f6 z8 O
  1. ID的设置
  对于厂商来讲,每一款传感器有唯一的ID地址。
  制造商唯一的ID地址。
: n( ?3 [. @% `& [# R. Q& U
2.复位所有的寄存器
  上电之后,对OV内部所有的寄存器先复位。寄存器12不单有复位功能,还有控制OV视频输出格式,下面会提及到,参见第10项。
3.模拟处理中的DC偏置
3 }0 K  W3 f' `9 \, g7 n
4. 对行和场的设置
  寄存器17位行起始控制,18为VGA模式下行像素大小。19为场起始控制,1A为VGA模式下场像素大小。

8 Z1 m# |: I  l" R( o2 q+ B# p( K8 J% [% j. n
5.对场同步信号进行取反操作
  为了和VGA时序保持一致,将VSYNC的时序进行取反,关于一帧的时序图参考上一篇博客。
  write_SCCB(Ox15,Ox02);此项设置,将pclk定义为上升沿有效,href定位为高电平有效,vsync进行取反向。
) t* x( A5 _2 Z8 ?2 \5 M) [+ W
6.图像的起始位置和大小控制

5 ]' m  K4 C- `9 x' {  E
  7.行和场输出数据的大小控制
# Y& k/ x: [' X5 I, E" o- g! S
  8.内部时钟控制
寄存器0d是设置内部PLL的倍频,选择4倍频,AEC自动曝光控制选择二分之一窗。寄存器11是内部时钟的设置,通过PLL4倍频之后,计算得到的结果和XCLK的时钟应该是相等的。

3 h! f. [+ f3 g6 e4 h7 v3 q+ z! y& t/ z0 U/ V( q
  9.虚拟像素高位插入
  配置手册上面给出的是默认值,此功能实际上没用到。
1 K  m$ }( h' O( f$ Y
+ _6 b2 m9 E  ^9 a0 l+ o
10.OV视频格式输出配置
  寄存器12,功能复用  ,write_SCCB(Ox12,Ox06);输出格式是RGB565格式。所以此寄存器非常重要,决定了OV输出的格式。
$ a" M' W1 j3 p5 E- n  O; ^) P+ x- m
8 a1 b/ n  F9 h8 Z0 k2 H! y, x
11.RGB格式YUV格式的顺序以及测试彩条的控制
  write_SCCB(Ox0c,Ox10);其中寄存器0c控制RGB和YUV格式的顺序,还有控制OV内部自带的测试彩条的使能。这里采用默认值,不使能彩条。
  
1 I* X5 q( h' K/ l% H

- A& `" Z) f# K/ c3 P; }% y
12. DSP控制参数
  其中0x42寄存器控制的是背光补偿蓝控制量,如下图所示,选择手册参考值。
  其中0x4d是修补增益的控制,0x42对背光补偿颜色B分量进行设定。
2 a. W( F2 M+ g1 E$ ^: i
  寄存器0x63是AWB自动白平衡控制字0的控制。选择手册中的默认值。0xf0;
& x6 V+ H$ K; f, G& A# `
/ ?( e( F, A& q. ~) c" ^
  寄存器0x64~67是DSP控制为1~4,0x64设定为配置寄存器中的默认值0xff;0x65选择手册默认值,配置手册上给出的是0x20,选择默认值0x00,不影响成像效果。0x66是UV的交替格式。选择0x00。0x67是输出格式的选择,这里设置0x00/0x01,为YUV or RGB输出。
: y6 T: g2 n) {. x: _
/ Y9 X9 s6 |( e6 w0 B8 @% g

6 G( j% b0 Q& ~
13. AWB,AEC,AGC参数控制调节
# D* |( l4 l) [# Q- ~- p& F
3 G/ O4 _" b9 N, U+ J4 g' N$ A
  0x13控制AEC,AWB,AGC是否使能,设置为0xff;0x0f控制当输出格式转换时,窗口自动适应。0x14设定0x11.0x22设定为 0x98,作为50Hz带宽滤波。在OV7725寄存器配置手册中0x13,0x22,0x23是关于交流频率50Hz,帧频为25,情况下的带通滤波器的设置。
) ]* z# Z: [: A0 q; n$ ]# p8 l

( l. F( ^( p/ @, \7 V! T- S
$ }$ y, J7 [( k' i/ z6 b3 s3 ]
14.边缘强化处理均选择配置指定值。
/ D' E" x! ?- u  K# y- ?  H
' u5 N# o  |: f+ A  ]7 @& q
  15.色彩还原矩阵设置
# E! m) b2 N4 |" v; y5 F
8 U7 j, v7 U8 P( P* {2 d
5 B. K: ]% Q( y4 B! M+ Z, F7 a, r9 d( Z
  16.亮度,对比度,UV和SDE控制
  选择默认值。
& I, v- u$ k3 M3 Y7 {( @' k4 W

! r: u& K- q$ h5 F4 y7 ^0 T- m! K
5 w: s+ b* g( W- a5 t9 C) b7 P
$ j( G2 ^6 K( C$ _
17. gama参数设置
  其中寄存器0x7e~0x8c均是对gama曲线的设定,设定配置手册默认值。
' q; X  ~! D5 v
) d& F' [+ G1 f3 M4 F
! ~2 j/ b1 ?8 |: `" Y7 ?
18. UV控制
% X3 K2 s- p* @. P8 T9 G9 L
write_sccb{0xa7, 0x65}; / r: F; [4 V, A: _$ Q  y0 C- m
write_sccb{0xa8, 0x65};
# q7 V! F8 t9 u! j0 R5 ]write_sccb{0xa9, 0x80}; 2 Z' Y' P( E/ W2 o6 F
write_sccb {0xaa, 0x80};
8 h/ R) n! Q  ^  ~; G) T
                                   
                                    
3 j: `% q7 }/ E0 Y" I
& ?/ D3 ^9 E$ c* Q3 d. Z
. _. N) J( w% O8 D, `8 n2 T1 {. L
19.夜间自动调整帧频

7 D6 B! F  l( ~4 `
                                 
  

1 y8 h# \# `8 T2 k9 N1 G' R) s
若是设置成 Fixed Frame Rate,则
; l  }3 s% `( Z, \
     以上是对常用的寄存器的设置,大部分参考了手册中的设定值,接下来就要实现 SCCB时序,实现对OV7725实现配置。

* F% H, ~6 I0 l' F摄像头模组论坛欢迎你的加入:微信交流群咨询: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.