打印

OV7670,OV7725 摄像头SCCB和I2C总线兼容问题求教

[复制链接]
4281|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
threetigher|  楼主 | 2016-5-25 09:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
OV系列摄像头需要SCCB进行配置,
dsp自带I2C可以用来直连摄像头。
但如果I2C总线上还要挂E2PROM,那么如何实现一主多从访问呢?

能否兼容?
请不吝赐教,不胜感激!

SCCB(Serial Camera Control Bus)是和I2C相同的一个协议。 SIO_C和SIO_D分别为SCCB总线的时钟线和数据线。目前,SCCB总线通信协议只支持100Kb/s或400Kb/s的传输速度,并且支持两种地址形式:①从设备地址(ID Address,8bit),分为读地址和写地址,高7位用于选中芯片, 第0位是读/写控制位(R/W),决定是对该芯片进行读或写操作;②内部寄存器单元地址(Sub_ Address,8bit),用于决定对内部的哪个寄存器单元进行操作,通常还支持地址单元连续的多字节顺序读写操作。SCCB控制总线功能的实现完全是依靠SIO_C、SIO_D两条总线上电平的状态以及两者之间的相互配合实现的。

SCCB总线传输的启动和停止条件如右图
SCCB总线时序图
SCCB总线时序图
 过程:采用简单的三相(Phase)写数据的方式,即在写寄存器的过程中先发送设备的ID地址(ID Address),然后发送写数据的目地寄存器地址(Sub_address),最后发送要写入的数据(Write Data)。如果给连续的寄存器写数据,写完一个寄存器后,设备例如OV7670,会自动把寄存器地址加1,程序可继续向下写,而不需要再次输入ID地址,从而三相写数据变为了两相写数据,如果只需对有限个不连续寄存器进行配置,则对每一个需更改的寄存器,都采用三相写数据的方法。如果采用对全部寄存器都加以配置这一方法的话,会浪费很多时间和资源,所以我们只对需要更改数据的寄存器进行写数据。

百科资料
http://baike.baidu.com/link?url= ... 1nEFVMbVibeUB-e6pg_

相关帖子

沙发
threetigher|  楼主 | 2016-6-26 11:33 | 只看该作者
自己顶一下

使用特权

评论回复
板凳
hellosdc| | 2016-6-29 17:30 | 只看该作者
应该设置好不同的地址线的。

使用特权

评论回复
地板
hellosdc| | 2016-6-29 17:31 | 只看该作者
这个具体的iic地址还要看手册才行的。

使用特权

评论回复
5
isseed| | 2016-6-30 21:39 | 只看该作者
你做两个io模拟不就行了吗

使用特权

评论回复
6
isseed| | 2016-6-30 21:42 | 只看该作者
或者通过一根选通线控制

使用特权

评论回复
7
xietingfeng| | 2016-6-30 22:41 | 只看该作者
你看过iic地址了吗

使用特权

评论回复
8
xietingfeng| | 2016-6-30 22:46 | 只看该作者
是7位还是8位的

使用特权

评论回复
9
threetigher|  楼主 | 2016-7-4 11:33 | 只看该作者
isseed 发表于 2016-6-30 21:39
你做两个io模拟不就行了吗

谢谢!这样没有解决问题,绕过了问题,增大了开销。

使用特权

评论回复
10
threetigher|  楼主 | 2016-10-20 14:58 | 只看该作者
自己顶一下!

使用特权

评论回复
11
fract| | 2017-5-14 21:59 | 只看该作者
请问老哥你解决这个问题了吗?

使用特权

评论回复
12
suzhanhua| | 2017-5-14 22:44 | 只看该作者
iic读写地址不同的。

使用特权

评论回复
13
suzhanhua| | 2017-5-14 22:45 | 只看该作者
OV7670,OV7725 的SCCB配置方式一样的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

261

帖子

3

粉丝