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

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

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

' [) S1 m6 }2 z1 |$ N3 W  X: g9 a. O2 K% G' M
       上图是OV7725实现的整体框架,有点丑。FPGA描述SCCB时序,完成OV7725的配置,配置完成之后,OV7725 sensor输出PCLK和href,vsync以及cmos_data信号。经过格式的转换单元,将格式转换后的数据送给SDRAM单元,最终实现VGA/LCD/上位机显示。
7 t5 e$ y' P3 o' k# r  l4 M

0 b; Q( Y. q, M& n
      之前已经提及过,SCCB接口主要实现sensor内部各种寄存器的配置,如AGC,AWB,gama,color saturation等等,下面就讲解寄存器的配置。参考手册如下图所示,寄存器的配置还需要OV7725的手册中关于寄存器设定章节一起配合使用。

/ X* M+ P; l9 D) N4 H% u- u# \/ P) A
  在手册的最后一个章节,给出了参考设置,不过输出的格式是YCbCr格式,其他设置需要联系FAE。
6 }% U( Y+ H1 P* C( R* A9 m2 \. D& O

. `( P' B# B" K9 F- G- E
  
  如下图所示,写入的寄存器前8位数据,如0x3d代表了寄存器的地址,后8位0x03代表了该寄存器设定的值。根据手册最后内容可以在0V7725数据手册(OV7725 datasheet)中找到相关寄存器的说明。

$ j/ F( \! ?1 J' m5 `" H6 A7 s3 K. x0 H# x5 N7 T
  比如0x3d,在数据手册(OV7725 datasheet)中代表的功能是DC偏置量的控制。如下图所示,其他寄存器以此类推,可以一一找到。注意在设置时设置寄存器地址或者寄存器的名称均可以,比如0x3d,0x03,也可以设置com12,0x03.
; Z# y) o1 O/ `% e

* f2 g9 i+ ]# G- t4 A

5 J* h( f' ]3 ], i% \3 u5 q9 M9 ~1 S$ l# N" e1 R
  在OV7725配置手册中,讲述了关于YCbCr和RGB24格式之间的转换方法,如下图所示,由于FPGA不擅长处理浮点数,所以需转换成定点数处理。

* Y8 Z; P- o/ G1 ^- q. ]4 L0 x! v* n; b+ M7 A8 I

5 a2 y; ?2 Z4 I. O# `8 w. L; E+ T1 f9 v; Q4 j0 ]+ a
  在OV7725配置手册中,详细说明了对于OV7725格式输出的说明,分为有ISP和无ISP情况,这个模块可以在FPGA内部去建立格式输出单元,此方面内容会在之后讲解。

. b: r6 f2 s% U7 M* Q% \( G3 T8 H" S+ q9 Y' S4 l/ t) R
. e, q1 E% R( B

+ i5 ]. N6 ~8 s. k3 x" J- Z  s& r
( |* w7 j5 Q. \' U, c/ ?( Q+ a" ~, L  l0 V% m& |9 |
  对于寄存器的设置,根据OV7725应用手册中的参考设置,有几个重要部分必须要进行设置,如下所示:
* `+ a- Q9 y# m9 Q: ]6 x4 z
  1. ID的设置
  对于厂商来讲,每一款传感器有唯一的ID地址。
  制造商唯一的ID地址。
1 l! O6 q5 T5 e
2.复位所有的寄存器
  上电之后,对OV内部所有的寄存器先复位。寄存器12不单有复位功能,还有控制OV视频输出格式,下面会提及到,参见第10项。
3.模拟处理中的DC偏置
" d! M. j* c0 K5 ?' {" O3 [! g0 C
4. 对行和场的设置
  寄存器17位行起始控制,18为VGA模式下行像素大小。19为场起始控制,1A为VGA模式下场像素大小。

5 z2 _" E) B/ g* M
) W; N$ c! I( |2 ~% {5 q+ F
5.对场同步信号进行取反操作
  为了和VGA时序保持一致,将VSYNC的时序进行取反,关于一帧的时序图参考上一篇博客。
  write_SCCB(Ox15,Ox02);此项设置,将pclk定义为上升沿有效,href定位为高电平有效,vsync进行取反向。
9 u( C6 j' h. d7 v) X! g5 N
6.图像的起始位置和大小控制
2 z# W# ^7 `6 \3 M' h; O: a
  7.行和场输出数据的大小控制
' \. s! M- m4 A! |6 }% B0 S* C
  8.内部时钟控制
寄存器0d是设置内部PLL的倍频,选择4倍频,AEC自动曝光控制选择二分之一窗。寄存器11是内部时钟的设置,通过PLL4倍频之后,计算得到的结果和XCLK的时钟应该是相等的。

5 V" U9 d( E- ~0 i6 J: I
; N+ ^& k/ i; |
  9.虚拟像素高位插入
  配置手册上面给出的是默认值,此功能实际上没用到。

  V( u0 \& F3 a( @2 f: C6 p% U: a
: v0 }' M0 x, b5 j2 `
10.OV视频格式输出配置
  寄存器12,功能复用  ,write_SCCB(Ox12,Ox06);输出格式是RGB565格式。所以此寄存器非常重要,决定了OV输出的格式。
' ^# Z% X7 d7 ~7 [1 R6 p

8 Y3 ]; h9 k9 ~$ z5 f" g, p( y# {
11.RGB格式YUV格式的顺序以及测试彩条的控制
  write_SCCB(Ox0c,Ox10);其中寄存器0c控制RGB和YUV格式的顺序,还有控制OV内部自带的测试彩条的使能。这里采用默认值,不使能彩条。
  

  I5 q0 B4 N! U
2 M6 x. i" ?0 p" Y' `) @0 G
12. DSP控制参数
  其中0x42寄存器控制的是背光补偿蓝控制量,如下图所示,选择手册参考值。
  其中0x4d是修补增益的控制,0x42对背光补偿颜色B分量进行设定。

4 \  {; l4 G9 W+ {! V0 q- G) \1 H# W
  寄存器0x63是AWB自动白平衡控制字0的控制。选择手册中的默认值。0xf0;
6 V  z1 q. z, W$ a9 W- j
, {# N$ T6 R' y' \+ I
  寄存器0x64~67是DSP控制为1~4,0x64设定为配置寄存器中的默认值0xff;0x65选择手册默认值,配置手册上给出的是0x20,选择默认值0x00,不影响成像效果。0x66是UV的交替格式。选择0x00。0x67是输出格式的选择,这里设置0x00/0x01,为YUV or RGB输出。

& E' ?0 v: ?2 z' U" K7 \5 D* S: w, l/ m
7 F- Q0 P/ @* ?( a' W% m0 p

9 C9 X' R& v& g
13. AWB,AEC,AGC参数控制调节
; X9 c* [: N' P0 }  p) K9 I' q" F, L

) l) D; x8 Y7 H/ n) x* @8 `  C
  0x13控制AEC,AWB,AGC是否使能,设置为0xff;0x0f控制当输出格式转换时,窗口自动适应。0x14设定0x11.0x22设定为 0x98,作为50Hz带宽滤波。在OV7725寄存器配置手册中0x13,0x22,0x23是关于交流频率50Hz,帧频为25,情况下的带通滤波器的设置。

1 E6 t* g1 Y, n5 _
6 e2 c* Q; z  E* X7 ]% |
8 _& e& ]( Y* _) r% ?& m$ K; o5 U. y
14.边缘强化处理均选择配置指定值。
+ J9 |- a' Z2 r( ~

( G$ t3 \' y& F! b7 ~+ d& q; g
  15.色彩还原矩阵设置
, e+ y7 _2 `/ K0 M

. I4 b# s# {) x/ t  ^" n1 _
( g9 l; P' ]) _- ]; Q  {
  16.亮度,对比度,UV和SDE控制
  选择默认值。
2 z- ?# o3 N3 j3 u4 O0 v: Q
+ w% a8 @$ @6 k! g5 m8 [& I! P0 a

# d7 F) i/ ]2 q' W0 P! H4 t
7 J) y4 E8 X+ Z1 U6 T* ?
17. gama参数设置
  其中寄存器0x7e~0x8c均是对gama曲线的设定,设定配置手册默认值。
* L) K. ?& n" L7 F! h+ I
$ E" {  r- G1 `1 f  s( h% k1 X

# F: {; U: w/ c4 i+ {0 c
18. UV控制

, ~; ^8 s, w1 P' ~
write_sccb{0xa7, 0x65};
5 C3 p  G1 N, _* K# o* N; c- t' ^' wwrite_sccb{0xa8, 0x65};
7 c3 B' l& P, Vwrite_sccb{0xa9, 0x80}; , d! C2 |+ i: Z
write_sccb {0xaa, 0x80};

& s* l+ T2 }5 j1 r4 ~6 j2 A0 @- ]
                                   
                                    
" N  d7 Z& Z5 {& |/ |1 H, k  J$ i1 v5 y

1 v( F# h8 h% _% ~& M. |% ^( O4 J, l2 P' r# ]
19.夜间自动调整帧频

. D4 E3 c8 G9 U
                                 
  
! ^9 R: ?. D% ?" j5 o7 M
若是设置成 Fixed Frame Rate,则

" p  B# S. d6 H% h. t% d$ u
     以上是对常用的寄存器的设置,大部分参考了手册中的设定值,接下来就要实现 SCCB时序,实现对OV7725实现配置。

$ i; G$ {3 P8 ~5 ~1 x摄像头模组论坛欢迎你的加入:微信交流群咨询: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.