在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!)    创芯人才网--重磅上线啦!
查看: 43461|回复: 123

ov9650 的配置 ---附带本人原创调试总结。

[复制链接]
发表于 2009-3-26 13:58:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
经过4天的调试摄像头终于可以拍照片保存到电脑上来,ov9650的调试走了不少弯路,一些教训总结如下:
1:OV9650是OmniVision公司的COMS摄像头,号称有130万像素,但是实际效果感觉不如CCD的,特别是远处的背景更糟糕。
2:OV9650的datasheet上写的寄存器控制协议是Serial Camera Control Bus (SCCB),还给了个时序图,但是它用的是两线制  的SCCB协议;根据它的时序图是可以兼容I2C的,两者在细微之处有点差别,但不影响,但实际应用中,都是后端平台的  I2C接camera的SCCB。可惜我没有仔细分析,愣是用两个GPIO模拟SCCB通信协议。此乃一错
3:对于OV9650,OmniVision公司是提供了参考寄存器配置的!一定要找相关人员要!(可能是他们的datasheet写得太烂的原因吧),可以我过分相信自己,没有找技术支持沟通!此乃二错
4v9650复位后默认配置是不能收到图像的!(在我的这个模式下:YUV422,VGA),当我在用I2C配置时,有的像的轮廓但颜色偏绿,我以为是没有配置起寄存器,但是实际上是配置起寄存器了,是YUV的顺序有问题!此乃三错
5:我们用的是杰得提供的VIA模块控制API,杰得的API多、复杂、有错且没有系统的说明,又由于我没有调试摄像头的相关经验,也没有弄明白杰得的VIA模块API。所以调试的时候没有图像,到底是摄像头输出问题?还是Z228接收处理的问题?无法判断!调试完摄像头了才知道杰得的库是可以输入4:2:2,输出4:2:0的!
我觉得调试步骤应该如下:
一:先要保证硬件没有问题!
1:首先要看RESET脚和,PDN脚.的电平是否正确,RESET:高电平复位.PDN:低电平工作正常。
    2:第一次调试I2C总线的时候,把示波器放在数据线上,抓图分析看OV9650是否应答。地址应该是60H不要搞错了!
    3:测试关键信号(这一小步要寄存器配置正确芯片正常工作了才有的):
           时钟输入信号pin13: 24M正弦波(外部晶振的输入)。
           时钟输出信号(像素频率):24M,变形了的像正弦波的方波。
           场同步信号Vsync:形如:   ----_----------_-----  :两个低电平之间是20ms左右(我测试的是22ms)
           行同步信号Href: 形如:   ----_----------_-----   :两个低电平之间是64us左右(我测试的是15.9Khz)
           以上三个信号是电视信号标准,一定要对。但是,在测试的时候有时候信号不是这个值,比如Vsync=34ms,why?我还没有搞清楚,请高手指点.
二:OV寄存器配置:
1:如果没有测试硬件,千万不要妄想配置寄存器! 也是我的调试原则,可惜这次我又违背了!嘚反省!
2: 用I2C读取OV9650的ProducaitonID寄存器【0x0A】【0x0B】:读出来版本号应该是0x9652,这里也一定要对,特别是你手上有几个信号的OV芯片的时候,不同型号的oV芯片,RESET复位信号不同,(有高有低哦!有一个网友就犯了这个错误浪费了四天),datasheet上没有说的很明白Reset是高复位还是低复位,我的小窍门是reset引脚内部有上拉电阻的话应该是低电平复位,有内部下拉电阻的话应该是高电平复位。
3:证明能够通过I2C控制OV9650后,将厂家给的或者网上下的相应的配置写入到ov9650。
4:如果配置大体正确,现在摄像头的数据应该出来了。

以下是厂家给的配置:共有三个VGA,CIF,SXVGA,输出都是YUV模式,如是时钟是24M,帧率是15fps,我只验证了VGA模式的,效果还可以!

配置见附件:

[ 本帖最后由 flead 于 2009-3-26 14:53 编辑 ]

ov9650调试总结.rar

2.71 KB, 下载次数: 735 , 下载积分: 资产 -2 信元, 下载支出 2 信元

 楼主| 发表于 2009-3-28 09:55:18 | 显示全部楼层
这可是实战总结哦。

大家都没有兴趣吗?
发表于 2009-3-28 19:50:53 | 显示全部楼层

我有兴趣

能不能再详细点
 楼主| 发表于 2009-3-31 14:32:36 | 显示全部楼层

O(∩_∩)O~

回楼上:

    应该就只有这么详细了,有什么问题你说说,看大家能不能帮到你的忙。
发表于 2009-4-15 21:46:16 | 显示全部楼层

ov9650

厉害啊
发表于 2009-4-16 09:36:20 | 显示全部楼层
怎么下载不了附件?
发表于 2009-4-16 09:38:57 | 显示全部楼层
怎么下载不了
发表于 2009-4-16 09:41:21 | 显示全部楼层
下载下来了,多谢!!!
发表于 2009-4-16 11:16:19 | 显示全部楼层
我用的s3c2440+ov9650,系统为linux,步骤是这样的:
ov9650的驱动。。注册为i2c从设备。。在内核启动的时候就能对ov9650的寄存器进行操作。。但是现在遇到个问题:读寄存器得到的pid是0x34,而正确应该是0x96,现在可以确定的是0x34的确是从ov9650的0x0a的寄存器上读出的值(拔下摄像头后不能读到此值),请问现在是不是时钟的问题么?如果是时钟问题,该如何设置摄像头时钟PCLK和供给摄像头的时钟mclk??
发表于 2009-4-27 11:32:48 | 显示全部楼层
kankan
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-3 06:21 , Processed in 0.035489 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表