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

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

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

* A8 n9 V3 y' D* \/ j9 `* ~+ G
" Y5 S( ^! g3 _9 o, Q
       上图是OV7725实现的整体框架,有点丑。FPGA描述SCCB时序,完成OV7725的配置,配置完成之后,OV7725 sensor输出PCLK和href,vsync以及cmos_data信号。经过格式的转换单元,将格式转换后的数据送给SDRAM单元,最终实现VGA/LCD/上位机显示。

- H9 P9 `! E/ D  p
$ f/ M4 [) ^  f: g; R1 m( j
      之前已经提及过,SCCB接口主要实现sensor内部各种寄存器的配置,如AGC,AWB,gama,color saturation等等,下面就讲解寄存器的配置。参考手册如下图所示,寄存器的配置还需要OV7725的手册中关于寄存器设定章节一起配合使用。
0 ?" m- l$ Y; X# X  L) `, u  [. K, }
$ S! s. ^% X" `1 E; Q, v3 M' d
  在手册的最后一个章节,给出了参考设置,不过输出的格式是YCbCr格式,其他设置需要联系FAE。

: _7 i8 ?, n/ W) p0 D& Y: k! u
) ~- `0 E% r* k, [4 `8 M2 r) G
  
  如下图所示,写入的寄存器前8位数据,如0x3d代表了寄存器的地址,后8位0x03代表了该寄存器设定的值。根据手册最后内容可以在0V7725数据手册(OV7725 datasheet)中找到相关寄存器的说明。

3 s( K( r! z+ |' G
8 m$ {* S$ ~" ]
  比如0x3d,在数据手册(OV7725 datasheet)中代表的功能是DC偏置量的控制。如下图所示,其他寄存器以此类推,可以一一找到。注意在设置时设置寄存器地址或者寄存器的名称均可以,比如0x3d,0x03,也可以设置com12,0x03.
! Q+ d" d9 a5 e* n. l+ B

* s; c" v) o7 E  J& a, r7 V* C

3 Q1 {7 N# I' B: Y- a, l8 j, c5 E1 Y
  在OV7725配置手册中,讲述了关于YCbCr和RGB24格式之间的转换方法,如下图所示,由于FPGA不擅长处理浮点数,所以需转换成定点数处理。
8 Y# M# S' B4 o' d  |3 E1 y

& E7 Y6 \1 K4 Z& k
+ P" h. i: O( p6 E3 w

. f" |  ]- \* [# J' z8 z
  在OV7725配置手册中,详细说明了对于OV7725格式输出的说明,分为有ISP和无ISP情况,这个模块可以在FPGA内部去建立格式输出单元,此方面内容会在之后讲解。

8 Q# v9 z7 _0 a! S  b7 y
! w1 O$ X1 s* H) M$ C$ y' N
: J7 L0 a- h/ A

8 b! E& x- u: y8 l& n& \
- r' ?+ t! L) ^$ z, e
0 M! V0 g/ k# i
  对于寄存器的设置,根据OV7725应用手册中的参考设置,有几个重要部分必须要进行设置,如下所示:
( a6 b6 x" Y7 J
  1. ID的设置
  对于厂商来讲,每一款传感器有唯一的ID地址。
  制造商唯一的ID地址。

3 j: m: [/ x/ E9 n+ I
2.复位所有的寄存器
  上电之后,对OV内部所有的寄存器先复位。寄存器12不单有复位功能,还有控制OV视频输出格式,下面会提及到,参见第10项。
3.模拟处理中的DC偏置
7 v2 ~! W, I) M4 @! U
4. 对行和场的设置
  寄存器17位行起始控制,18为VGA模式下行像素大小。19为场起始控制,1A为VGA模式下场像素大小。

  T7 o( a6 f1 E$ I6 ^1 F7 Y6 S" T2 h
7 w& P' Y8 ^  K3 l
5.对场同步信号进行取反操作
  为了和VGA时序保持一致,将VSYNC的时序进行取反,关于一帧的时序图参考上一篇博客。
  write_SCCB(Ox15,Ox02);此项设置,将pclk定义为上升沿有效,href定位为高电平有效,vsync进行取反向。

: N) }2 B: s! P. Q% B1 |
6.图像的起始位置和大小控制
  A1 t" |) h3 _2 V$ c8 Q
  7.行和场输出数据的大小控制
  B- K, S, F6 Z& _  e- ?
  8.内部时钟控制
寄存器0d是设置内部PLL的倍频,选择4倍频,AEC自动曝光控制选择二分之一窗。寄存器11是内部时钟的设置,通过PLL4倍频之后,计算得到的结果和XCLK的时钟应该是相等的。

6 w( P) W3 f/ v, {  Y
: j+ c+ z- U# v% v2 Y: j3 Q. i1 }
  9.虚拟像素高位插入
  配置手册上面给出的是默认值,此功能实际上没用到。
7 f- ?8 K7 d. p8 ~- k& h
  \, }8 k4 P8 z% K* _
10.OV视频格式输出配置
  寄存器12,功能复用  ,write_SCCB(Ox12,Ox06);输出格式是RGB565格式。所以此寄存器非常重要,决定了OV输出的格式。
$ f; t0 v# E: g3 }  U9 i) I
8 l) P0 O# A$ }  p* S) w" m* f" u- Z
11.RGB格式YUV格式的顺序以及测试彩条的控制
  write_SCCB(Ox0c,Ox10);其中寄存器0c控制RGB和YUV格式的顺序,还有控制OV内部自带的测试彩条的使能。这里采用默认值,不使能彩条。
  

0 i0 B/ n* ?% c, }* |" N) z1 r" w% v. j. ]
12. DSP控制参数
  其中0x42寄存器控制的是背光补偿蓝控制量,如下图所示,选择手册参考值。
  其中0x4d是修补增益的控制,0x42对背光补偿颜色B分量进行设定。

% L) _) D2 [6 _% q: A# t
  寄存器0x63是AWB自动白平衡控制字0的控制。选择手册中的默认值。0xf0;

& J) W+ ?% `9 l) I1 ~. ]/ ^
* w& K6 b/ O/ J1 u( f+ L) @9 ~5 E
  寄存器0x64~67是DSP控制为1~4,0x64设定为配置寄存器中的默认值0xff;0x65选择手册默认值,配置手册上给出的是0x20,选择默认值0x00,不影响成像效果。0x66是UV的交替格式。选择0x00。0x67是输出格式的选择,这里设置0x00/0x01,为YUV or RGB输出。
+ K2 ]2 |' E, j3 d4 j- v# a
+ a' A8 G1 F. H
4 g8 A* ?6 y2 }8 S: x7 ?! W* G% e
13. AWB,AEC,AGC参数控制调节
8 m5 @1 q! ?3 `! U* e7 F1 v! O
% _0 q+ P$ I# O+ e$ v% L
  0x13控制AEC,AWB,AGC是否使能,设置为0xff;0x0f控制当输出格式转换时,窗口自动适应。0x14设定0x11.0x22设定为 0x98,作为50Hz带宽滤波。在OV7725寄存器配置手册中0x13,0x22,0x23是关于交流频率50Hz,帧频为25,情况下的带通滤波器的设置。

# a3 F8 I9 B% Q" d; S
" b- D9 r* K) @$ ~
9 A4 u: O( y7 l+ A
14.边缘强化处理均选择配置指定值。
& i. ~$ ^4 F+ W0 o8 K2 }
& z9 g4 x: D8 S4 [0 L
  15.色彩还原矩阵设置
' {( c7 {, q( ^# _7 c: x
2 B  H6 V. B" U+ K% r" X1 q
7 b  S" i/ c+ O3 b  A1 H) J; I0 M
  16.亮度,对比度,UV和SDE控制
  选择默认值。
7 s7 q- f$ m' q8 ^  s+ [0 @; Y

3 M- v3 u- e$ F1 G1 }/ A! M: p1 Q4 M6 T4 ^  p- ?

& `+ u0 a4 }7 Z# h9 x
17. gama参数设置
  其中寄存器0x7e~0x8c均是对gama曲线的设定,设定配置手册默认值。

( o( t# ^, V* s/ p4 N- b& e) ?
8 L% e+ H7 F# ?0 r- c% c
6 g+ D; h- v8 \: e
18. UV控制

& l- `# f% Z& V
write_sccb{0xa7, 0x65};
; }2 C& X0 j3 nwrite_sccb{0xa8, 0x65};
* w% i5 d* G* M) x7 {write_sccb{0xa9, 0x80}; - M) l! ~. j* m6 N9 ^2 h( e8 J
write_sccb {0xaa, 0x80};

0 L, b1 Y$ p/ N$ @/ _) V( y  a& A. P
                                   
                                    

9 W: u& x4 T" L% s
: R+ N# @3 e1 J$ h
' v; ^" L6 @6 v: }! E
19.夜间自动调整帧频

9 j5 Y9 f* I) V5 {: n
                                 
  

2 [3 D8 r$ w) P, D! U- o3 {% U6 K
若是设置成 Fixed Frame Rate,则
) T* @" g8 }9 c) f
     以上是对常用的寄存器的设置,大部分参考了手册中的设定值,接下来就要实现 SCCB时序,实现对OV7725实现配置。
! R8 W8 p0 m8 j- o
摄像头模组论坛欢迎你的加入:微信交流群咨询: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.