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

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

[复制链接]
发表于 2017-2-22 17:24:21 | 显示全部楼层 |阅读模式
     上一篇博客主要介绍了OV7725的电气特性以及SCCB接口的时序和输出一帧图像的时序图以及数据的拼接。输出一帧图像与输出时钟PCLK有关。
) w) U7 d4 j+ o* T8 k

, I4 x% [* J" w/ b$ e; g. k4 @
       上图是OV7725实现的整体框架,有点丑。FPGA描述SCCB时序,完成OV7725的配置,配置完成之后,OV7725 sensor输出PCLK和href,vsync以及cmos_data信号。经过格式的转换单元,将格式转换后的数据送给SDRAM单元,最终实现VGA/LCD/上位机显示。

2 M) m$ U! G& C/ M6 t  k( _6 b, n4 y) p4 B7 i
      之前已经提及过,SCCB接口主要实现sensor内部各种寄存器的配置,如AGC,AWB,gama,color saturation等等,下面就讲解寄存器的配置。参考手册如下图所示,寄存器的配置还需要OV7725的手册中关于寄存器设定章节一起配合使用。

. `/ U5 t( e" n: l. F' ^: n# w# n! }
  在手册的最后一个章节,给出了参考设置,不过输出的格式是YCbCr格式,其他设置需要联系FAE。
5 w& }4 O5 o$ T
6 s) B0 ?; _4 g# c$ `$ h5 c6 }
  
  如下图所示,写入的寄存器前8位数据,如0x3d代表了寄存器的地址,后8位0x03代表了该寄存器设定的值。根据手册最后内容可以在0V7725数据手册(OV7725 datasheet)中找到相关寄存器的说明。
$ h7 u! T3 z6 I, g7 n( g6 k/ ?
) _+ o4 @0 ?$ j5 W: {
  比如0x3d,在数据手册(OV7725 datasheet)中代表的功能是DC偏置量的控制。如下图所示,其他寄存器以此类推,可以一一找到。注意在设置时设置寄存器地址或者寄存器的名称均可以,比如0x3d,0x03,也可以设置com12,0x03.
% M( x  V1 a# c" p6 O
: u+ A; n+ n, J& A& D3 _
$ z3 w/ F2 w- I2 c1 a" I( \

3 O: b1 R( c& X0 [9 C) k
  在OV7725配置手册中,讲述了关于YCbCr和RGB24格式之间的转换方法,如下图所示,由于FPGA不擅长处理浮点数,所以需转换成定点数处理。
3 j6 }% s9 L6 C( j! c# t0 o& U
3 _, H( ?- S* L: F; c- b& a8 x, k

; ^/ Y7 d) ]1 X* ^( x
2 B  S& j, T8 Z. {3 |! K! P6 w; g
  在OV7725配置手册中,详细说明了对于OV7725格式输出的说明,分为有ISP和无ISP情况,这个模块可以在FPGA内部去建立格式输出单元,此方面内容会在之后讲解。

* u4 ]  a+ M8 n1 j( _. r
3 Q0 _# V8 b% G) ]' E  E; d6 {( J# f8 q

2 X" e# ^. t$ I* @' b& g& F4 e" H; B# J' L! F, l5 X
& ?" \" ]! R* e  v6 {! X
  对于寄存器的设置,根据OV7725应用手册中的参考设置,有几个重要部分必须要进行设置,如下所示:

3 W3 V& y1 H. W, ~8 b, {
  1. ID的设置
  对于厂商来讲,每一款传感器有唯一的ID地址。
  制造商唯一的ID地址。

6 _2 F4 ^5 q1 }" H1 q
2.复位所有的寄存器
  上电之后,对OV内部所有的寄存器先复位。寄存器12不单有复位功能,还有控制OV视频输出格式,下面会提及到,参见第10项。
3.模拟处理中的DC偏置

& W% T8 ]- |$ d9 Y$ H
4. 对行和场的设置
  寄存器17位行起始控制,18为VGA模式下行像素大小。19为场起始控制,1A为VGA模式下场像素大小。

" H1 u1 h$ l& N" Q) s0 c& Y" \) Q+ v. H( M; R$ ?, B0 O( \
5.对场同步信号进行取反操作
  为了和VGA时序保持一致,将VSYNC的时序进行取反,关于一帧的时序图参考上一篇博客。
  write_SCCB(Ox15,Ox02);此项设置,将pclk定义为上升沿有效,href定位为高电平有效,vsync进行取反向。

9 C0 z! [- D$ m
6.图像的起始位置和大小控制
% M$ a. g& g$ J; x( R: w
  7.行和场输出数据的大小控制

9 |6 K+ R4 }$ z* \" @! o
  8.内部时钟控制
寄存器0d是设置内部PLL的倍频,选择4倍频,AEC自动曝光控制选择二分之一窗。寄存器11是内部时钟的设置,通过PLL4倍频之后,计算得到的结果和XCLK的时钟应该是相等的。

! }7 u' c) y$ v, D% f  r' K5 L9 M6 {1 D3 Z2 l* x& K
  9.虚拟像素高位插入
  配置手册上面给出的是默认值,此功能实际上没用到。
3 w: O: c) R6 J( u1 d& v, x

6 \( \% c- f' c6 a3 n
10.OV视频格式输出配置
  寄存器12,功能复用  ,write_SCCB(Ox12,Ox06);输出格式是RGB565格式。所以此寄存器非常重要,决定了OV输出的格式。
- @9 O8 m, O: X5 G- S5 ?/ T5 @9 g, @

+ _0 j2 H7 j/ c1 B9 B% c
11.RGB格式YUV格式的顺序以及测试彩条的控制
  write_SCCB(Ox0c,Ox10);其中寄存器0c控制RGB和YUV格式的顺序,还有控制OV内部自带的测试彩条的使能。这里采用默认值,不使能彩条。
  
' A/ ]  l2 h+ F3 L$ {$ m3 D

& n: ~0 n& E2 K
12. DSP控制参数
  其中0x42寄存器控制的是背光补偿蓝控制量,如下图所示,选择手册参考值。
  其中0x4d是修补增益的控制,0x42对背光补偿颜色B分量进行设定。
6 P7 e3 V% [6 q( {8 O
  寄存器0x63是AWB自动白平衡控制字0的控制。选择手册中的默认值。0xf0;
1 y1 a+ I8 F% {( Y
  o! o5 D" ?( G% i- c  ~8 g; b
  寄存器0x64~67是DSP控制为1~4,0x64设定为配置寄存器中的默认值0xff;0x65选择手册默认值,配置手册上给出的是0x20,选择默认值0x00,不影响成像效果。0x66是UV的交替格式。选择0x00。0x67是输出格式的选择,这里设置0x00/0x01,为YUV or RGB输出。

% d* f! J( X6 ^- H
* ?. B% |) ^  U6 ~0 Y9 d
2 v2 U+ q% n+ m/ _
13. AWB,AEC,AGC参数控制调节
$ N) [; p! ~" [; J' z

6 |! }0 e, Y! x$ y( g
  0x13控制AEC,AWB,AGC是否使能,设置为0xff;0x0f控制当输出格式转换时,窗口自动适应。0x14设定0x11.0x22设定为 0x98,作为50Hz带宽滤波。在OV7725寄存器配置手册中0x13,0x22,0x23是关于交流频率50Hz,帧频为25,情况下的带通滤波器的设置。
5 e: f/ \0 ]+ S) Z1 a
7 s1 f5 V) q8 _9 J, V7 N
  \# A# E+ G% _" `; e+ k
14.边缘强化处理均选择配置指定值。
9 Y7 I" A4 }2 Z+ ~' Z7 y
4 B/ {& [5 _2 `6 f  `( G6 H/ K
  15.色彩还原矩阵设置
: D# w4 F  p- a% N$ D

$ I; j) L8 H' N4 d: ^
. u  f6 P. U# n7 G4 A3 s, \
  16.亮度,对比度,UV和SDE控制
  选择默认值。
9 R$ M  Q2 u! L% A

1 T7 L* W8 g6 B- @& E7 a3 k! Q/ v. l6 b) o, ~0 K8 q1 k7 W

6 Q. h9 T+ t4 H6 _. ?9 g# M
17. gama参数设置
  其中寄存器0x7e~0x8c均是对gama曲线的设定,设定配置手册默认值。
; }  T1 S: D; {7 R
7 V# l, I8 \1 k" X6 q7 p0 R

7 \9 Y' l6 T. j0 X- d
18. UV控制

- l' Q7 N1 U" L* ^5 ^. \7 n
write_sccb{0xa7, 0x65}; % A# `% I# F- j  ?4 ]7 ~) u# `$ w
write_sccb{0xa8, 0x65}; # h0 J% o& o" C% t- ^+ `
write_sccb{0xa9, 0x80}; / k9 b0 N4 f# g# f- U- \! o; f1 d* L
write_sccb {0xaa, 0x80};

$ A' j3 e9 c. W% F9 I$ Z6 Q$ T& _3 D
                                   
                                    
8 m" U2 d8 H/ K! e8 [# a* o

) l( p: x$ |  U& a6 [+ K* Y6 O  M& ^) T  g0 \2 f: r# c: b
19.夜间自动调整帧频

! }- H4 J7 ?& O  L2 g
                                 
  

6 s/ c) m6 Y/ i- a" @8 I! _
若是设置成 Fixed Frame Rate,则

8 B9 d) m+ \8 @5 G- h! R
     以上是对常用的寄存器的设置,大部分参考了手册中的设定值,接下来就要实现 SCCB时序,实现对OV7725实现配置。

2 Z/ O, K" r! 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.