SCCB协议 gaunthan Posted on May 28 2016 ? Communication Protocol for Micorcomputer ? ? Embedded Development ? ## 简介 **SCCB**(Serial Camera Control Bus,串行摄像头控制总线)是由OV公司定义的3线串行摄像头控制总线,它的工作方式与I2C十分类似,可以控制大部分OV系列图形传感器。SCCB也可以工作在2线串行模式(SIOC和SIOD),一条SCCB总线下可以挂载多个从设备。另外,SCCB可以附带一根PWDN用于关闭或者开启从设备系统。 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两条总线上电平的状态以及两者之间的相互配合实现的。 ## 接口定义 ### 3线SCCB接口 标准的3线SCCB接口定义见下表:   ### 2线SCCB接口 简化的2线SCCB接口定义见下表:  ## 时序  ### 起始信号 在SIO_C为高电平时,SIO_D出现一个**下降沿**,则SCCB开始传输。  ### 停止信号 在SIO_C为高电平时,SIO_D出现一个**上升**沿,则SCCB停止传输。  ## 传输操作 完整的数据传输包括两个或三个阶段。每一个阶段包含9位数据,其中高8位为所要传输的数据,最低位根据器件所处情况有不同的取值: * 在进行主器件写操作时,全部阶段的最低位均是**自由位**(Don't care bit),此时,主机该位输出高电平,从机输出低电平; * 在进行主器件读操作时,第一阶段的最低位是自由位,第二阶段的最低位为NA(主器件驱动为高电平有效)。 SCCB协议定义了两种写操作,即三相写操作和两相写操作;以及一种读操作,即两相读操作。 #### 三相写操作 三相写操作是向从器件的一个目的寄存器中写入数据,具体见下图:  第一阶段写从器件的8位IDW(器件地址+写方向标识)和自由位,第二阶段写从器件目标寄存器的8位地址和自由位,第三阶段写要求写入寄存器的8位数据和自由位。 #### 两相写操作 两相写操作没有第三阶段,即只向从器件传输了器件ID和目的寄存器的地址,具体见下图:  #### 两相读操作 两相读操作操作用于读取从器件目的寄存器中的数据,见下图:  两相读操作在第一阶段中写从器件的8位IDW(器件地址+读方向标识)和自由位,在第二阶段中读取寄存器中的8位数据和写NA bit。由于两相读操作没有确定目的寄存器的地址,所以在进行读操作前,必须有一个两相或三相的写循环操作,以提供读操作中的寄存器地址。 赏 Wechat Pay Alipay SPI协议 TCP/IP 通信传输流