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

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

[复制链接]
发表于 2017-2-22 17:24:21 | 显示全部楼层 |阅读模式
     上一篇博客主要介绍了OV7725的电气特性以及SCCB接口的时序和输出一帧图像的时序图以及数据的拼接。输出一帧图像与输出时钟PCLK有关。
- Y+ F; @9 q& {* b  Y% w
  p+ P* I% M5 ?* W! X
       上图是OV7725实现的整体框架,有点丑。FPGA描述SCCB时序,完成OV7725的配置,配置完成之后,OV7725 sensor输出PCLK和href,vsync以及cmos_data信号。经过格式的转换单元,将格式转换后的数据送给SDRAM单元,最终实现VGA/LCD/上位机显示。

1 v3 [# K- Q* C& p$ I' c" `1 W' q) K/ B& {  v4 b1 |. y
      之前已经提及过,SCCB接口主要实现sensor内部各种寄存器的配置,如AGC,AWB,gama,color saturation等等,下面就讲解寄存器的配置。参考手册如下图所示,寄存器的配置还需要OV7725的手册中关于寄存器设定章节一起配合使用。

; h2 |: V) i- i
# }. Y& t* L; t9 e6 Q4 j# O  `* Z8 r
  在手册的最后一个章节,给出了参考设置,不过输出的格式是YCbCr格式,其他设置需要联系FAE。
  n! m. }. w8 f5 X% t6 ^) m, o

& A: o$ y$ Y" ^" K# s5 D0 b/ F  D1 m
  
  如下图所示,写入的寄存器前8位数据,如0x3d代表了寄存器的地址,后8位0x03代表了该寄存器设定的值。根据手册最后内容可以在0V7725数据手册(OV7725 datasheet)中找到相关寄存器的说明。
) Y3 f4 ~5 S7 {, _' j, n
( z' ?% q4 L' {' N* Y
  比如0x3d,在数据手册(OV7725 datasheet)中代表的功能是DC偏置量的控制。如下图所示,其他寄存器以此类推,可以一一找到。注意在设置时设置寄存器地址或者寄存器的名称均可以,比如0x3d,0x03,也可以设置com12,0x03.

/ ?, U5 E) d) @7 z' z1 z- h
) N8 R3 b# z5 A4 n
5 w  z5 g6 s5 o! |6 e" P  a

- i9 b+ I% c7 L$ H3 x
  在OV7725配置手册中,讲述了关于YCbCr和RGB24格式之间的转换方法,如下图所示,由于FPGA不擅长处理浮点数,所以需转换成定点数处理。

& O2 U+ a$ g7 z3 M- H- h
2 |5 B' X+ m% ~& @
& j! o5 a' m: x" H$ R0 W
9 T0 N/ `8 f$ ^- Z0 p
  在OV7725配置手册中,详细说明了对于OV7725格式输出的说明,分为有ISP和无ISP情况,这个模块可以在FPGA内部去建立格式输出单元,此方面内容会在之后讲解。

' p  N/ F$ d# I7 N% u1 x! x. Z. |. b, m, l
& L6 N2 C/ m& X0 i$ k

4 r* l- n( o0 a6 r' ^5 L, u" B7 P% [: j: h

! J, y1 ]5 {( J" y; a* y6 Z
  对于寄存器的设置,根据OV7725应用手册中的参考设置,有几个重要部分必须要进行设置,如下所示:

* x7 ^# I' v* Y! N0 x
  1. ID的设置
  对于厂商来讲,每一款传感器有唯一的ID地址。
  制造商唯一的ID地址。
+ e/ q$ b2 n. Z4 L, l5 S" W+ W" c7 {
2.复位所有的寄存器
  上电之后,对OV内部所有的寄存器先复位。寄存器12不单有复位功能,还有控制OV视频输出格式,下面会提及到,参见第10项。
3.模拟处理中的DC偏置

1 \+ t1 o3 z# q7 G3 }, `+ a
4. 对行和场的设置
  寄存器17位行起始控制,18为VGA模式下行像素大小。19为场起始控制,1A为VGA模式下场像素大小。
0 s9 z. }9 _' t

0 |. l" B: K* D+ s/ j
5.对场同步信号进行取反操作
  为了和VGA时序保持一致,将VSYNC的时序进行取反,关于一帧的时序图参考上一篇博客。
  write_SCCB(Ox15,Ox02);此项设置,将pclk定义为上升沿有效,href定位为高电平有效,vsync进行取反向。

, f( u5 T; z' w# [9 r4 n
6.图像的起始位置和大小控制
* F) t: `  g7 ~$ U0 Y$ m
  7.行和场输出数据的大小控制

7 |* ?! g1 M8 d* F" V( X* j
  8.内部时钟控制
寄存器0d是设置内部PLL的倍频,选择4倍频,AEC自动曝光控制选择二分之一窗。寄存器11是内部时钟的设置,通过PLL4倍频之后,计算得到的结果和XCLK的时钟应该是相等的。
  S1 G1 z7 m5 c$ G

0 j' A; E+ p( T, ]8 h* N
  9.虚拟像素高位插入
  配置手册上面给出的是默认值,此功能实际上没用到。

9 H7 a5 z6 B& S. ?& D2 z+ C0 b& k* Q+ a* l
  ]& w$ J5 w6 v' B# T. n' C1 ~0 p
10.OV视频格式输出配置
  寄存器12,功能复用  ,write_SCCB(Ox12,Ox06);输出格式是RGB565格式。所以此寄存器非常重要,决定了OV输出的格式。

. v- z5 @  D: V# n+ f! F: ~
/ N5 A1 ~' M9 @  t
11.RGB格式YUV格式的顺序以及测试彩条的控制
  write_SCCB(Ox0c,Ox10);其中寄存器0c控制RGB和YUV格式的顺序,还有控制OV内部自带的测试彩条的使能。这里采用默认值,不使能彩条。
  
' T+ Y: G/ L4 ^9 o

" d! G" D5 W5 n, d# Z
12. DSP控制参数
  其中0x42寄存器控制的是背光补偿蓝控制量,如下图所示,选择手册参考值。
  其中0x4d是修补增益的控制,0x42对背光补偿颜色B分量进行设定。
, K* t( `. ~2 L$ |. s& C1 v# j
  寄存器0x63是AWB自动白平衡控制字0的控制。选择手册中的默认值。0xf0;
# d4 d3 \2 ^) [. M" l4 {

9 d6 U( F9 f+ H, p" w
  寄存器0x64~67是DSP控制为1~4,0x64设定为配置寄存器中的默认值0xff;0x65选择手册默认值,配置手册上给出的是0x20,选择默认值0x00,不影响成像效果。0x66是UV的交替格式。选择0x00。0x67是输出格式的选择,这里设置0x00/0x01,为YUV or RGB输出。
5 S3 m6 u% h! g" t$ E5 U! U
/ l$ }; z& @& C9 B7 U! ~$ r* F5 O' G

$ ^* e" v- c9 D0 E; j9 ]
13. AWB,AEC,AGC参数控制调节

% Y' W+ W4 H* Q9 x0 U
$ w3 g$ K! G' _8 l/ T) g% U; ]0 D
  0x13控制AEC,AWB,AGC是否使能,设置为0xff;0x0f控制当输出格式转换时,窗口自动适应。0x14设定0x11.0x22设定为 0x98,作为50Hz带宽滤波。在OV7725寄存器配置手册中0x13,0x22,0x23是关于交流频率50Hz,帧频为25,情况下的带通滤波器的设置。
; S7 C5 w7 H' S0 U# q+ k; F
( s7 u* J; M% F% r* @1 K
1 j" r/ |* i# U' j$ r
14.边缘强化处理均选择配置指定值。

) ~1 s0 z% L1 T6 \9 E+ Q
4 q) a4 A7 }3 ^) F4 Q" a' J% v" U
  15.色彩还原矩阵设置
8 @0 ?& ?% ~" m
0 `$ }! C/ {0 _- M- a3 ~

* c/ r; `! v0 s3 f4 h
  16.亮度,对比度,UV和SDE控制
  选择默认值。
; B5 f2 I2 g4 y5 |0 B

+ c, P# r; P  J- o8 o7 U' b/ f9 S
" d& j, m0 g* p% n! n5 A$ d# {' C% C- s" k
17. gama参数设置
  其中寄存器0x7e~0x8c均是对gama曲线的设定,设定配置手册默认值。

5 s& B  N4 r7 p) L  ~
; |9 x; u7 U: [6 z$ {9 G* [( J% X7 C& `% `- P5 b4 H
18. UV控制

: D. I, k, R8 ]; p
write_sccb{0xa7, 0x65}; 9 S5 }4 l, w& L2 K2 z
write_sccb{0xa8, 0x65}; ) Y1 d- k, X& D/ a- E7 h6 f' y& c1 H
write_sccb{0xa9, 0x80}; 7 \& B4 b# g  m9 A
write_sccb {0xaa, 0x80};

$ v4 Y/ I5 g6 P/ `2 V
                                   
                                    
$ O! D# W, L$ o  I" L

6 A+ m# O: ~. ^& I/ I4 d1 E  e1 y) W! D2 I: |/ G8 n1 A! A
19.夜间自动调整帧频
, N1 G1 S0 d  t/ Y4 R7 R2 w8 G
                                 
  
; K  d4 `7 a' B% z5 Y
若是设置成 Fixed Frame Rate,则

( |1 x2 o5 ?' @5 \
     以上是对常用的寄存器的设置,大部分参考了手册中的设定值,接下来就要实现 SCCB时序,实现对OV7725实现配置。
0 Q/ z# M: J8 w+ j7 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.