zoukankan      html  css  js  c++  java
  • OV7725学习之SCCB协议(一)

    OV7725摄像头只能作为从机,通过SCCB协议配置内置的172个寄存器。因此首先要了解的就是SCCB总线

    1、SCCB协议简述

    SCCB协议有两线也有三线,两线为SIO_C与SIO_D,三线为SIO_E、SIO_C与SIO_D。

    2线的SCCB总线只能是一个主器件对一个从器件控制,但3线SCCB接口可以对多个从器件控制,因此当只有一个从机(slave device)时用两线,有多个从机时用三线。

    其中SIO_C只能由主机配置(FPGA),SIO_D是一个三态门,双向数据线,既可以由主机控制,也可以由从机控制。

    2、数据传输

    当写数据到从机被定义为写传输(write transmission),当从机中读数据被定义为读传输 (read transmission),每一个传输都要有开始和结束来释放总线(start + sotp)

    完整的数据传输包括两个或三个阶段,每一个阶段包含9位数据,其中高8位为所要传输的数据,最低位根据器件所处情况有不同的取值:

    总结如下:
    每一个阶段组成:8位数据+don't care/NA
    如果是主机发送数据,即进行写操作,第九位就为don't care
    如果是从机发送数据,即为读操作,第九位就为NA.

    在进行主器件写操作时,全部阶段的最低位均是Don’t care bit

    在进行主器件读操作时,第一阶段的最低位是自由位,第二阶段的最低位为NA,请结合第三部分好好理解

    3、SCCB的读写操作

    写操作是三个阶段构成一个传输的写,每一阶段都是9位,具体如下

    ID地址(7位ID地址+1位读写控制+don't care) + 要写的寄存器地址(8位寄存器地址+don't care) +要写入的数据(8位数据+don't care)

    要强调的是ID地址,写为8'h42,读为8'h42 , 8'h42即ID地址的读写控制位为0,8'h43即ID地址的读写控制位为1

    总结为: start + ID地址(42)+ 寄存器地址 + 数据 + stop

    4、读传输由2个阶段的传输组成,共有两个传输
    2个阶段写传输 + 2个阶段读传输,每一相都是9位,具体如下
    ID地址(7位ID地址+1位读写控制+don't care)+ FPGA要向从机写入即将要读的寄存器地址(8位寄存器地址+don't care)
    ID地址(7位ID地址+1位读写控制+don't care) +从机向FPGA发送被指定寄存器里面的数据的数据(8位数据+NA
    在NA位的时候,主机要配合将数据线为驱动为高电平。
    要注意的是第一个ID地址为8'h42,因为是FPGA即将要之星写操作
    第二个ID地址为8'h43,因为是从机向FPGA发送数据,即执行的是读操作。
    总结为: start1+ ID地址(42)+ 寄存器地址 +stop1+start 1 +ID地址(43)+ 数据 + stop2
    此处为什么要有start 1和start 2 呢?
    因为SCCB没有重复起始的概念,因此在SCCB的读周期中,当主机发送完片内寄存器地址后,必须发送总线停止条件。不然在发送读命令时,从机将不能产生Don’t care响应信号。即每一个传输都要有开始和结束来释放总线 (start + sotp),这也是SCCB与I2C不同的一个地方。
    重复起始的概念
    在主控器控制总线期间完成了一次数据通信(发送或接收)之后,如果想继续占用总线再进行一次数据通信(发送或接收),而又不释放总线,就需要利用重启动Sr信号时序。重启动信号Sr既作为前一次数据传输的结束,又作为后一次数据传输的开始。利用重启动信号的优点是,在前后两次通信之间主控器不需要释放总线,这样就不会丢失总线的控制权,即不让其他主器件节点抢占总线。
    5、时序
    起始信号

    停止信号

     

     继续学习,继续分享,还有好多不懂的。

     转载请注明出处:http://www.cnblogs.com/aslmer/p/5965229.html

  • 相关阅读:
    邦定lua函数到C里做为回调
    cocos2d-x 获取图片的某像素点的RGBA颜色 -转
    地图跟着主角视角滚动
    用 eclipse ndk 编译 cocos2d-x for Android
    cocos2d-x 安卓环境配置 -转
    Hacker(16)----防范端口扫描与嗅探
    Hacker(15)----嗅探原理
    Hacker(14)----扫描目标计算机端口
    Hacker(13)----搜集目标计算机的重要信息
    Hacker(12)----个人计算机安全防护策略
  • 原文地址:https://www.cnblogs.com/aslmer/p/5965229.html
Copyright © 2011-2022 走看看