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

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

[复制链接]
发表于 2017-2-22 17:24:21 | 显示全部楼层 |阅读模式
     上一篇博客主要介绍了OV7725的电气特性以及SCCB接口的时序和输出一帧图像的时序图以及数据的拼接。输出一帧图像与输出时钟PCLK有关。
/ }$ b8 u3 b. u- P* }) ^& Z% B* U
; |! p2 h" o8 F" @. ?- H
       上图是OV7725实现的整体框架,有点丑。FPGA描述SCCB时序,完成OV7725的配置,配置完成之后,OV7725 sensor输出PCLK和href,vsync以及cmos_data信号。经过格式的转换单元,将格式转换后的数据送给SDRAM单元,最终实现VGA/LCD/上位机显示。
6 S  ]% \) o, L4 }2 ]2 q8 s

) t6 T) ?! C' g' }
      之前已经提及过,SCCB接口主要实现sensor内部各种寄存器的配置,如AGC,AWB,gama,color saturation等等,下面就讲解寄存器的配置。参考手册如下图所示,寄存器的配置还需要OV7725的手册中关于寄存器设定章节一起配合使用。

9 o+ X7 o9 C+ v% `2 A0 [! S
+ t) O5 }8 x$ ~( d1 Q8 I
  在手册的最后一个章节,给出了参考设置,不过输出的格式是YCbCr格式,其他设置需要联系FAE。

9 @# F1 Z- M1 U/ q+ E( y
7 f# Y) Y* H1 a
  
  如下图所示,写入的寄存器前8位数据,如0x3d代表了寄存器的地址,后8位0x03代表了该寄存器设定的值。根据手册最后内容可以在0V7725数据手册(OV7725 datasheet)中找到相关寄存器的说明。

2 J" V1 m& ]$ h( E6 b" C6 m8 \! d, E7 b% c& z& w2 G6 y2 y
  比如0x3d,在数据手册(OV7725 datasheet)中代表的功能是DC偏置量的控制。如下图所示,其他寄存器以此类推,可以一一找到。注意在设置时设置寄存器地址或者寄存器的名称均可以,比如0x3d,0x03,也可以设置com12,0x03.

& k+ G3 d+ |/ j$ B. D
! E2 `8 |5 h  X( Q: V' `8 c1 Z
" }* G0 m9 M1 i0 s0 V% I" U, j

, J" H. J! ^8 `0 I
  在OV7725配置手册中,讲述了关于YCbCr和RGB24格式之间的转换方法,如下图所示,由于FPGA不擅长处理浮点数,所以需转换成定点数处理。
! w6 Y) a* j5 ^

& g+ x, r& D; _# k
' }7 ?+ X3 ?- b. }

8 @' ?. u; @, O: W9 D; o- Z
  在OV7725配置手册中,详细说明了对于OV7725格式输出的说明,分为有ISP和无ISP情况,这个模块可以在FPGA内部去建立格式输出单元,此方面内容会在之后讲解。
7 X) i1 r$ r% T; F8 K" z' ^" n

" A3 M# R, i$ a3 W' I6 F  c1 `" Y: \" d! f" c% }+ u# d! h

& P0 T8 G- t% H9 Q
5 P: K( D1 U$ P' d7 x0 j, ~2 X8 @# h- I, F! f6 L
  对于寄存器的设置,根据OV7725应用手册中的参考设置,有几个重要部分必须要进行设置,如下所示:
2 c; W0 x. O  k3 O7 N4 J
  1. ID的设置
  对于厂商来讲,每一款传感器有唯一的ID地址。
  制造商唯一的ID地址。

: P3 J" V( Z# J
2.复位所有的寄存器
  上电之后,对OV内部所有的寄存器先复位。寄存器12不单有复位功能,还有控制OV视频输出格式,下面会提及到,参见第10项。
3.模拟处理中的DC偏置

' x4 u) {, o$ `( u% U
4. 对行和场的设置
  寄存器17位行起始控制,18为VGA模式下行像素大小。19为场起始控制,1A为VGA模式下场像素大小。
. j9 |- s& ^1 c# [9 L. |

& q" G+ h4 g2 ~
5.对场同步信号进行取反操作
  为了和VGA时序保持一致,将VSYNC的时序进行取反,关于一帧的时序图参考上一篇博客。
  write_SCCB(Ox15,Ox02);此项设置,将pclk定义为上升沿有效,href定位为高电平有效,vsync进行取反向。
0 s# g9 M) W3 H5 n
6.图像的起始位置和大小控制

$ n$ x, c( `6 U
  7.行和场输出数据的大小控制
4 ^4 p- L2 n3 D  p; m
  8.内部时钟控制
寄存器0d是设置内部PLL的倍频,选择4倍频,AEC自动曝光控制选择二分之一窗。寄存器11是内部时钟的设置,通过PLL4倍频之后,计算得到的结果和XCLK的时钟应该是相等的。

, y  \  `: L7 U% R7 o( i7 c5 H1 |, B6 t% K8 v7 D) m3 B4 o( D
  9.虚拟像素高位插入
  配置手册上面给出的是默认值,此功能实际上没用到。
% ]: e9 A7 o) o) O

' V* U$ W" ^$ O. H+ ^) i/ q4 p
10.OV视频格式输出配置
  寄存器12,功能复用  ,write_SCCB(Ox12,Ox06);输出格式是RGB565格式。所以此寄存器非常重要,决定了OV输出的格式。

3 n# I3 _4 W- P! `2 ~1 @+ f# p6 r: @% z: {. b
11.RGB格式YUV格式的顺序以及测试彩条的控制
  write_SCCB(Ox0c,Ox10);其中寄存器0c控制RGB和YUV格式的顺序,还有控制OV内部自带的测试彩条的使能。这里采用默认值,不使能彩条。
  
% i- I  y* n0 w5 _* E" X
* N  r, i6 a& S5 N# I: o
12. DSP控制参数
  其中0x42寄存器控制的是背光补偿蓝控制量,如下图所示,选择手册参考值。
  其中0x4d是修补增益的控制,0x42对背光补偿颜色B分量进行设定。
/ ^5 g; x* M3 k* ~0 T
  寄存器0x63是AWB自动白平衡控制字0的控制。选择手册中的默认值。0xf0;
0 e; N1 |6 q9 U$ B# j

( ^6 k# u2 `5 c2 b7 S
  寄存器0x64~67是DSP控制为1~4,0x64设定为配置寄存器中的默认值0xff;0x65选择手册默认值,配置手册上给出的是0x20,选择默认值0x00,不影响成像效果。0x66是UV的交替格式。选择0x00。0x67是输出格式的选择,这里设置0x00/0x01,为YUV or RGB输出。
+ h* o+ e  @$ O- w5 ~

+ J& J5 ^4 T( T
& A, l# C4 F5 ~- A8 h+ G5 c# }
13. AWB,AEC,AGC参数控制调节

& Q- ?; c7 C3 W3 W2 ?  j5 s& ?1 r" a3 ]& [8 P$ X- N
  0x13控制AEC,AWB,AGC是否使能,设置为0xff;0x0f控制当输出格式转换时,窗口自动适应。0x14设定0x11.0x22设定为 0x98,作为50Hz带宽滤波。在OV7725寄存器配置手册中0x13,0x22,0x23是关于交流频率50Hz,帧频为25,情况下的带通滤波器的设置。
: V  ]% c& P7 l% x+ z7 ^6 e" \
/ ~# s' r$ k# h# k

5 s& m, b+ S2 f2 @4 E
14.边缘强化处理均选择配置指定值。
6 H' u6 p& ?4 ~# f9 \% ~
6 p0 s& I+ Z- ~5 d+ h* S1 I$ W
  15.色彩还原矩阵设置

7 I# p8 s5 \# E: W$ _2 f* a. O1 f. h% B$ n( [5 y

  b" y1 f- P" i1 G( J, k
  16.亮度,对比度,UV和SDE控制
  选择默认值。
: g9 P7 |+ h  P* `& S+ d% e4 w
6 X' u* n1 Z% A6 H5 O1 b
8 h* u! M2 I: ~* `2 F

6 X8 b: a) Z) e5 ^' {9 [% Z2 A
17. gama参数设置
  其中寄存器0x7e~0x8c均是对gama曲线的设定,设定配置手册默认值。

4 g3 j- E7 |! Q& d& G$ q1 B; T& I# c$ r% A! Q9 S: R
( w9 e* N; i, i" r" a
18. UV控制

1 C$ `6 h( N$ ?
write_sccb{0xa7, 0x65}; 1 C1 p% z4 o$ x& {
write_sccb{0xa8, 0x65}; + k2 n5 [% H& R7 l( H* P
write_sccb{0xa9, 0x80};
: C, W3 v5 |4 C, Vwrite_sccb {0xaa, 0x80};
9 a/ E6 j4 r" [7 P& R; r8 \
                                   
                                    
- D. Y& }1 `$ e6 @2 J% p
- `. I4 K7 J7 v7 e
3 p, y: l# y, C, h! X1 ?
19.夜间自动调整帧频

  F# L9 e4 B5 G5 q, [, f# ^
                                 
  

2 f% W, _7 d5 L" g6 ]1 h3 m4 @
若是设置成 Fixed Frame Rate,则

$ N; F* \: C# B  J% t8 z/ G/ C$ w
     以上是对常用的寄存器的设置,大部分参考了手册中的设定值,接下来就要实现 SCCB时序,实现对OV7725实现配置。
1 n: H7 K! ~0 C- _/ e5 d1 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.