查看: 6892|回复: 0
收起左侧

ov9650 Camera调试笔记— 之一二

[复制链接]
发表于 2015-4-12 14:12:52 | 显示全部楼层 |阅读模式
      n& u$ z. {9 A: I% ^
   基本上调试camera都是找得平台得技术支持。呵呵,代码合进去应该就没问题了。如果有问题,主要调试一下几个方面:1 j! ~/ Z9 v6 Q2 D
1,提供给CMAERA得MCLK是否太快或者不正常1 l" X' F' `8 p: b0 C# B0 M
2,camera输出得PCLK是否正常,因改是有MCLK时候,就有PCLK输出。
* O9 J: G5 f; W3 n  [3,查V、H信号,看是否和程序设计一致,如果一致,说明通信正常。
2 z' O& p' t" z5 t5 ~5 w+ Q4,量量数据线有无波形,等等& S) W+ s# ~3 `2 q

; Y3 u: N* T8 l6 e至于发挥sensor得性能要找技术支持了。
3 E/ M. G0 d) Q供电,检查时钟,送初始化代码,查看输出信号,是否显示正常  ) ]* N. I/ Q' w
下面是我在调试OV9650的一些总结:
" T4 E4 N( M8 F+ f  J& B
$ y, e+ _: i' E+ }' _, [步骤一:读取OV9650的ProducaitonID寄存器【0x0A】。
' s- U- }8 S+ G, m- V4 t如果读回来的值为预期的0x96,则表明后端芯片跟OV9650能够IIC通信上。函数如下:
5 l/ X5 X1 @' ~& L; w1 U2 y4 ^8 g
       RESULT IsiCheckSensorIss( void )
( V+ C; e7 w. `5 D  ?2 d8 k  h       {, X1 _. E% {* p( g
             UINT8 pucValue;
& J2 ^7 m$ B: u; z, ]+ K  " Z* E. h* e+ @0 H, [% Q! `# v
             IsiReadRegister(OV9650_BASEADR,OV9650_PID , &pucValue);
# o: t9 Z" a$ x8 j% R             if(pucValue ==0x96)//pid value of OV96501 _" p/ ^2 X# E' ?; n$ o1 Q
                  return RET_SUCCESS;
+ q! n3 C9 O5 l" H& A# T             else
8 e2 o* r% N% {+ r                  return RET_FAILURE;
8 H8 m9 i: F! K" v3 A         }
/ E1 q" a; V& d1 k* ~! B3 g8 T1 d3 a. ?9 }. z# |* K$ E% K% h0 r! h% C
步骤二:按OmniVision公司所提供的参数对OV9650进行设置,并进行回读检验。6 _# T2 E5 E/ @
OmniVision公司会提供每种图象尺寸下的OV9650配置参数。通过IIC口把这次参数写到相应的寄存器去。在调试时最好加段代码进行回读检验,以保证我们对OV9650的设置是正确的。在调试完成后,可去除这段代码。
1 p8 F0 s7 ^! ?/ R3 i4 G4 @
0 [+ w! G7 h2 _% C7 T% p步骤三:用示波器对OV9650的输出管脚PClk,HSync,VSync进行测量。. ~- f1 k2 w' c% B0 I2 y7 h) d2 [
      如果能测到PClk,HSync和VSync信号,并且这些信号是和我们寄存器配置是相吻合的,则表明OV9650已经开始正确工作了。
0 G) q: }7 U5 h1 I/ ?2 F' |$ h+ D- ?8 y7 p1 \  X6 k# v6 `
步骤四:配置OV9650为U、V固定值输出,看能否在后端芯片正确接受到固定值的U、V输入。
$ ?  J+ @9 ]0 l) Y* e置 位【0x3A】寄存器的bit4,同时对【0x67】【0x68】寄存器进行设置,这样OV9650就被配置成固定U、V输出了。为验证全部8跟数据线, 建议设置【0x67】为0x55,【0x68】为0xAA。如果能在后端芯片正确接收到0x55和0xAA,则表明0v9650和后端芯片数据通路完好, 对控制线的极性理解一致。
1 ?; `- [" E. g! H; x
8 ]+ V* c5 y+ M5 n* A7 Q3 X     至此,OV9650跟后端芯片的通信已经基本正确。清空【0x3A】寄存器的bit4,让OV9650输出实际的U、V值。1 S  j5 g5 v; v: w- _& V" L' s2 ^
后面的工作就是如何控制后端芯片(Cx832)Marvin功能块来实现图象的Preview/Capture/Resume等功能了。
4 i6 `7 h  H( y  h9 ]摄像头初始化时,没有将数据写入I2C,一般问题会出现在哪里?3 z) j4 ?7 q9 x& D
SENSOR的各路电源是否接好,! Y' n- d3 k$ e
CMCLK是否正确
4 ?$ r: W: N# y: C  RRESET sensor
9 S5 O( c1 F! z1 E& E6 H- sI2C总线上拉电阻是否匹配正确,
0 \4 C1 u8 J- ]1 ^! c5 D访问sensor时使用的 device ID是否正确,1 O* P4 V$ R5 w( x( c' X
I2C的时钟CLK速率是否太高,2 V/ r% f4 n1 M# ]4 n3 I
两次I2C连续读写之间是否有spec规定的delay时间# L0 u3 k/ j0 F$ v
CAMERA POWER UP 时序是否符合 SPEC。$ E' \$ _4 @- h' ?; \. Q- H; i
camera的工作过程(从进入相机到拍下照片为止)   V  u9 _! U0 E- O: E
一般先给电源 ,然后给 MCLK SENSOR的 时钟  然后复位 PWDN改变极性使SENSOR 进入工作状态,让后再过几百ms 进行 IIC 操作, 然后就进入 PREVIEW 模式了,拍照的话 是 截取完整的一帧信号而已,有时会关闭SENSOR 的AWB AE功能。
. T' u" R. p5 Q/ J" g4 t# m, w- R
  Z  \7 ?5 {9 ?6 |
+ f0 W/ D  P3 P' c" i9 }4 E, p2 [: E
高级模式
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.