sccb 串行摄像机控制总线协议
2016-06-01 10:52
330 查看
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总线时序图
过程:采用简单的三相(Phase)写数据的方式,即在写寄存器的过程中先发送设备的ID地址(ID
Address),然后发送写数据的目地寄存器地址(Sub_address),最后发送要写入的数据(Write Data)。如果给连续的寄存器写数据,写完一个寄存器后,设备例如OV7670,会自动把寄存器地址加1,程序可继续向下写,而不需要再次输入ID地址,从而三相写数据变为了两相写数据,如果只需对有限个不连续寄存器进行配置,则对每一个需更改的寄存器,都采用三相写数据的方法。如果采用对全部寄存器都加以配置这一方法的话,会浪费很多时间和资源,所以我们只对需要更改数据的寄存器进行写数据。
Address,8bit),分为读地址和写地址,高7位用于选中芯片, 第0位是读/写控制位(R/W),决定是对该芯片进行读或写操作;②内部寄存器单元地址(Sub_
Address,8bit),用于决定对内部的哪个寄存器单元进行操作,通常还支持地址单元连续的多字节顺序读写操作。SCCB控制总线功能的实现完全是依靠SIO_C、SIO_D两条总线上电平的状态以及两者之间的相互配合实现的。SCCB总线传输的启动和停止条件如右图
SCCB总线时序图
过程:采用简单的三相(Phase)写数据的方式,即在写寄存器的过程中先发送设备的ID地址(ID
Address),然后发送写数据的目地寄存器地址(Sub_address),最后发送要写入的数据(Write Data)。如果给连续的寄存器写数据,写完一个寄存器后,设备例如OV7670,会自动把寄存器地址加1,程序可继续向下写,而不需要再次输入ID地址,从而三相写数据变为了两相写数据,如果只需对有限个不连续寄存器进行配置,则对每一个需更改的寄存器,都采用三相写数据的方法。如果采用对全部寄存器都加以配置这一方法的话,会浪费很多时间和资源,所以我们只对需要更改数据的寄存器进行写数据。
相关文章推荐
- tomcat 最大连接数的修改
- 深入理解ECMAScript的几个关键语句
- Android Studio插件ECTranslation的使用分享
- File类和RandomAccessFile类
- error: expected class-name before '{' token(转)
- Sass结合Modernizr的使用方法
- Nginx 配置 多个VSFTP的loadbalance
- 加载Obj文件并用OpenGL渲染注意问题
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- 第10周 C语言及程序设计提高例程-35 使用指针操作二维数组
- 简单统计SQLSERVER用户数据表大小(包括记录总数和空间占用情况)
- < meta > 元素
- Python中基础的socket编程实战攻略
- 欢迎使用CSDN-markdown编辑器
- 自己摸索的一些使用中的html查找替换正则
- const和#define
- 图像配准与匹配的区别
- MyBatis的foreach语句详解
- RAC的GCS和GES 转载自http://blog.csdn.net/csucxcc/archive/2010/09/02/5857373.asp
- 关于MVC设计模式耦合度与解耦相关技术点总结