首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

询问摄像头的I2C时序解决方法

2012-02-06 
询问摄像头的I2C时序最近在wince6.0下做TVP5150A的驱动,是在现成的OV3640和OV9650基础上改的。现在的问题是

询问摄像头的I2C时序
最近在wince6.0下做TVP5150A的驱动,是在现成的OV3640和OV9650基础上改的。现在的问题是系统通过I2C总线向5150发送地址,收不到5150的ACK。对比OV3640的I2C总线波形,发现在没有收到地址ACK的情况下,两者波形不同:图1,5150 SDA始终拉高,图2,3640 SDA拉高一个时钟周期后置低;而两者的SCL都为低,这说明主机始终处于等待状态。在I2C总线规范里没有看到明确的说明。请教达人,在没有收到地址ACK的情况下,究竟该是怎样的时序?什么时候复位?两个器件哪个的时序有问题?
http://hi.csdn.net/attachment/201107/12/5723430_1310485140H9GJ.jpg
图1 

http://hi.csdn.net/attachment/201107/12/5723430_1310485141jW78.jpg
图2

[解决办法]
I2C总线协议规定,在SCL为低时,允许SDA信号变化,所以3640的ACK信号相当于是延时一拍后,给出了响应;5150则没有。所以,你需要检查5150的硬软件是否有问题。LINUX下,有5150的驱动代码,可以自己搜一下。

热点排行