解决OV系列摄像头寄存器读数据无法收到的问题
2013-07-18 21:00
375 查看
最近工作中接了一款OV7725的sensor,由于平台已经接过很多的家的sensor也就没有太当回事。问题出现的很奇怪,再看了register map后基本确定了要尽心register R/W测试的三个地址也就是0x00 gain增益寄存器 0xa 0xb 两个版本号的寄存器。运行程序之后在reg里没有发现的应该返回的数据 ,用逻辑分析仪看了下波形就是在read发出后sensor返回了device ID之后没有紧接着返回数据而是将总线挂起!! 然后挂载其他例如aptina 130 139 sony的138 等都可以正确的得到数据??? 困惑之后就对比了下波形发现前面发出的波形也一致,也没有发现不符合IIC协议的,但是一个细节还是注意到,就在read的过程中write slave address之后一般为stop 后start,而我是做了一个restart的操作代替了,这样做在多主机的IIC bus中是有好处的 ,可以不释放总线免得被抢走控制权。随后就想是不是这个导致的呢,将restart 改为stop start 之后运行程序果然得到了返回的数据。问题是确定了,就想不明白这样怎么会产生问题呢 ,IIC是支持的啊。后面看了下7725的手册 发现了问题。OV使用的不是标准的IIC协议控制寄存器的读写,用的事SCCB协议,算是一个精简的IIC协议,而这个协议是部分兼容IIC的。连个区别:1.不支持restart 也就是导致我无法读出的罪魁了,stop后必须发送start 否则不返回数据。2. 不知处多字节读写 对于sensor来说这种情况不多 。所以对于自己熟悉的东西更要谨慎细心,稍不注意就会掉进陷阱。后面附件添加了sccb的协议供参考。
相关文章推荐
- 解决OV系列摄像头寄存器读数据无法收到的问题
- 问题解决了——在虚拟机上测试串口软件 您会收到错误数据
- 解决IE下jquery ajax 无法获取服务端新数据问题
- 解决mysql无法插入中文数据及插入后显示乱码的问题
- 解决vue中post方式提交数据后台无法接收的问题
- 无法访问请求的页面,因为该页的相关配置数据无效问题的解决
- 问题解决——在虚拟机上测试串口软件 收到错误数据
- 解决kafka数据目录迁移后,flume无法正常调用Consumer的问题
- 解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
- 解决mysql无法插入中文数据及插入后显示乱码的问题【亲测图文解说!】
- 解决IE下jquery ajax无法获得最新数据的问题(IE缓存)
- 关于Ext.grid.Panel显示远程数据无法加载问题的解决
- 解决Volley框架下JsonObjectRequest以POST提交数据,服务端无法获取数据的问题。
- Mac无法找到摄像头问题解决
- 问题解决——在虚拟机上测试串口软件 收到错误数据
- 解决kafka数据目录迁移后,flume无法正常调用Consumer的问题
- 对于Volley中onResponse无法返回数据结果的问题解决方法
- win7下安装oracle11G系列之四:解决生产环境无法建表问题
- 解决mapreduce无法将数据批量导入hbase的问题
- access 如何解决组合框无法满足大量数据的选择问题?