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

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

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

2 c- C+ }0 x2 i% X4 z
$ ?2 k! [" E* ?9 i
       上图是OV7725实现的整体框架,有点丑。FPGA描述SCCB时序,完成OV7725的配置,配置完成之后,OV7725 sensor输出PCLK和href,vsync以及cmos_data信号。经过格式的转换单元,将格式转换后的数据送给SDRAM单元,最终实现VGA/LCD/上位机显示。
9 q3 ?  |2 a) E
/ i% u; u# I8 m) h% u
      之前已经提及过,SCCB接口主要实现sensor内部各种寄存器的配置,如AGC,AWB,gama,color saturation等等,下面就讲解寄存器的配置。参考手册如下图所示,寄存器的配置还需要OV7725的手册中关于寄存器设定章节一起配合使用。
' P# P% K/ x! L1 h
+ c! u7 g$ H: }: Q- o  z1 A
  在手册的最后一个章节,给出了参考设置,不过输出的格式是YCbCr格式,其他设置需要联系FAE。

$ ~: ~$ ^* F9 L! \- b7 E
+ w  `" G  w3 M% F8 X- i
  
  如下图所示,写入的寄存器前8位数据,如0x3d代表了寄存器的地址,后8位0x03代表了该寄存器设定的值。根据手册最后内容可以在0V7725数据手册(OV7725 datasheet)中找到相关寄存器的说明。

' p0 R% \, H  i& I+ ?* q
  B3 c6 {# k9 b5 f3 Z) k
  比如0x3d,在数据手册(OV7725 datasheet)中代表的功能是DC偏置量的控制。如下图所示,其他寄存器以此类推,可以一一找到。注意在设置时设置寄存器地址或者寄存器的名称均可以,比如0x3d,0x03,也可以设置com12,0x03.
! M! `# x! j6 {. Y

3 n% I% d3 v# e7 g6 Q
) K/ q8 v7 w: n/ ?1 A0 @0 s/ j1 O' q; p

. Q. ^* p" Q8 ]5 ^5 Y: x
  在OV7725配置手册中,讲述了关于YCbCr和RGB24格式之间的转换方法,如下图所示,由于FPGA不擅长处理浮点数,所以需转换成定点数处理。

/ `# z+ g3 K/ Q  L! c
2 m7 Y' ]1 j9 i
. a5 ]& L5 {* [" Q# R7 Q
4 G; z* g7 W3 r2 m; X$ Q5 u# |
  在OV7725配置手册中,详细说明了对于OV7725格式输出的说明,分为有ISP和无ISP情况,这个模块可以在FPGA内部去建立格式输出单元,此方面内容会在之后讲解。

7 f# c' C  A6 L8 T; t9 t0 I6 O5 L( l6 @+ y7 }3 m" a
: J. z4 @* ?, c0 s
9 v8 x" F& |  c/ u4 j' L
% S2 t& m) n$ s7 g
0 @, b6 @- q+ P8 o& R' X% @
  对于寄存器的设置,根据OV7725应用手册中的参考设置,有几个重要部分必须要进行设置,如下所示:

0 V5 ^8 E" }6 b2 ]
  1. ID的设置
  对于厂商来讲,每一款传感器有唯一的ID地址。
  制造商唯一的ID地址。
! @1 a: z4 M* H. E- U
2.复位所有的寄存器
  上电之后,对OV内部所有的寄存器先复位。寄存器12不单有复位功能,还有控制OV视频输出格式,下面会提及到,参见第10项。
3.模拟处理中的DC偏置

6 H: w, k  ^2 t+ H9 s
4. 对行和场的设置
  寄存器17位行起始控制,18为VGA模式下行像素大小。19为场起始控制,1A为VGA模式下场像素大小。
# v9 D  @* ?( H% B0 i

4 `4 _. S! m' _
5.对场同步信号进行取反操作
  为了和VGA时序保持一致,将VSYNC的时序进行取反,关于一帧的时序图参考上一篇博客。
  write_SCCB(Ox15,Ox02);此项设置,将pclk定义为上升沿有效,href定位为高电平有效,vsync进行取反向。

" g* P! x% t  W, g0 p& I% D) x
6.图像的起始位置和大小控制
7 K; u3 ^2 I4 {
  7.行和场输出数据的大小控制

+ b; @" z& {2 B7 G, |" u
  8.内部时钟控制
寄存器0d是设置内部PLL的倍频,选择4倍频,AEC自动曝光控制选择二分之一窗。寄存器11是内部时钟的设置,通过PLL4倍频之后,计算得到的结果和XCLK的时钟应该是相等的。

9 B! ~6 ?# u( r; b" D& f6 `" [' h" j% t
  9.虚拟像素高位插入
  配置手册上面给出的是默认值,此功能实际上没用到。
1 m" |5 ~! d  a

2 \6 A5 ]& l# m5 G) I- m# K
10.OV视频格式输出配置
  寄存器12,功能复用  ,write_SCCB(Ox12,Ox06);输出格式是RGB565格式。所以此寄存器非常重要,决定了OV输出的格式。

  P% J' M+ J/ [# [! l
( \) Y4 q: T- O3 u! {
11.RGB格式YUV格式的顺序以及测试彩条的控制
  write_SCCB(Ox0c,Ox10);其中寄存器0c控制RGB和YUV格式的顺序,还有控制OV内部自带的测试彩条的使能。这里采用默认值,不使能彩条。
  
7 W* e4 F% B5 u

+ \; S5 I+ ~% _; K4 l
12. DSP控制参数
  其中0x42寄存器控制的是背光补偿蓝控制量,如下图所示,选择手册参考值。
  其中0x4d是修补增益的控制,0x42对背光补偿颜色B分量进行设定。

0 A, X+ r6 J+ b8 u
  寄存器0x63是AWB自动白平衡控制字0的控制。选择手册中的默认值。0xf0;
/ x2 I1 b& P# n; O1 `! T

7 X6 ?) g8 ]9 |! j8 i7 X" R9 N
  寄存器0x64~67是DSP控制为1~4,0x64设定为配置寄存器中的默认值0xff;0x65选择手册默认值,配置手册上给出的是0x20,选择默认值0x00,不影响成像效果。0x66是UV的交替格式。选择0x00。0x67是输出格式的选择,这里设置0x00/0x01,为YUV or RGB输出。
0 {- J9 x3 p. B$ P& g1 T- q

' M2 T% j+ O+ _/ H: X# O& I" N. }! w# J) \
13. AWB,AEC,AGC参数控制调节
# E- `) `$ M0 w- |6 ?. M$ c7 s
  \" D) V1 J" n' j
  0x13控制AEC,AWB,AGC是否使能,设置为0xff;0x0f控制当输出格式转换时,窗口自动适应。0x14设定0x11.0x22设定为 0x98,作为50Hz带宽滤波。在OV7725寄存器配置手册中0x13,0x22,0x23是关于交流频率50Hz,帧频为25,情况下的带通滤波器的设置。

% p$ e6 q3 b7 B, O! S

' P% x- \2 {5 A/ q/ |
0 X5 V/ I( B# J/ l+ Q; [  G# ~
14.边缘强化处理均选择配置指定值。
$ R/ N, _$ D, t, j5 [
, c2 U% T5 P8 Q; @. _/ ^
  15.色彩还原矩阵设置
% g" d. s+ H- M  C. P* J1 N6 q

0 J$ \6 S. c2 s1 [# O/ l
# L0 M; P$ R# A% N( ]4 J; Y3 r1 f/ x
  16.亮度,对比度,UV和SDE控制
  选择默认值。
# `5 _9 d1 f7 p; v" y4 F

; |7 T5 Z$ k& B( z+ P# W+ T
3 N( V9 R" q# @3 V/ H. t% k$ h
: n7 v- D- I& j
17. gama参数设置
  其中寄存器0x7e~0x8c均是对gama曲线的设定,设定配置手册默认值。

) N- F) \/ N- `* P& H( V+ ~8 A4 ], `7 [( |+ `! |8 D. P4 _
& d; w/ K0 [$ a6 G0 U, G
18. UV控制

3 t9 J& P& R& @% ^2 `! K
write_sccb{0xa7, 0x65}; 3 l' L8 D; {& u
write_sccb{0xa8, 0x65};
9 u3 d( J" r0 v) N6 L. Jwrite_sccb{0xa9, 0x80};
5 B( x+ _4 j3 v2 P" `9 lwrite_sccb {0xaa, 0x80};
& L& b# Y' t6 {6 l' r. w% @0 Z/ B
                                   
                                    
# L$ b1 @/ g! t5 w

! z- k$ W* S8 C- U
: m4 Z0 {2 B% r3 L
19.夜间自动调整帧频

3 Q- E) f9 L" A2 o
                                 
  
) Q7 T" R& p5 C7 C7 \+ l
若是设置成 Fixed Frame Rate,则

$ S: s1 D. F2 w/ S- y' |8 |$ z) j6 S
     以上是对常用的寄存器的设置,大部分参考了手册中的设定值,接下来就要实现 SCCB时序,实现对OV7725实现配置。
& U6 t! ^0 x6 I7 K" L3 {: T
摄像头模组论坛欢迎你的加入:微信交流群咨询:13713561691
发表于 2017-3-12 12:12:01 | 显示全部楼层
感谢分享,感谢分享。
高级模式
B Color Image Link Quote Code Smilies @朋友 |上传

本版积分规则

在线客服

客服电话

欢迎来电咨询

188-9985 8350

微信关注

手机APP程序:
扫码下载访问

微信公众平台:
摄像头之家公众号

微信小程序:
摄像头小程序

返回顶部

QQ|站点统计|小黑屋|手机版|Archiver|摄像头模组论坛网 ( 粤ICP备18155214号 )

Powered by Discuz! X3.4 Licensed© 2001-2013 Comsenz Inc.