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

(0)

相关推荐

  • 【博文连载】OV7725寄存器介绍

    首先介绍一下OV7725的寄存器.OV7725总共有172个寄存器,作为CMOS Sensor的工作模式的配置.而这172个寄存器,有些只读,有些则同时支持读写功能.在传感器正常工作工作前,必须进行寄 ...

  • 【博文连载】SCCB(I2C)初始化时序介绍

    在正式开始OV7725视频采集实现之前,Bingo不得不先讲解一下OV7725的寄存器配置接口.OV7725上电会默认输出YUV422格式的视频流,但我们希望传感器能够按照我们预期的模式工作,我们需要 ...

  • 牙科前台外出学习,报销协议的这四点,老板不能不知道

    牙科让前台外出学习会涉及到报销问题,为了统一管理和规范秩序,应该签署相关协议.而有关报销协议的签署,牙科老板有这四点问题需要清楚和注意: 1. 任何事情都需要明白其目的,才能够更正确.合理地对待,知道 ...

  • 安法学习之安全协议

    <安全生产法>第四十五条"两个以上生产经营单位在同一作业区域内进行生产经营活动,可能危及对方生产安全的,应当签订安全生产管理协议,明确各自的安全生产管理职责和应当采取的安全措施, ...

  • Modbus通讯协议学习

    了解了它,会使你对串口通信有一个清晰的认识! 通用消息帧 ASCII消息帧 (在消息中的每个8Bit 字节都作为两个ASCII字符发送) 十六进制,ASCII字符0...9,A...F 消息中的每个A ...

  • 牙科员工外出学习难,有各种理由,牙科老板要用好有条件报销协议

    牙科的员工不愿意出去学习,在自己的岗位上感觉自己学的东西很多了,实际上老板能看得出来,现在的很多员工知识掌握得并不牢固,而且还有很多新的知识和技巧值得学习.如果牙科老板发现自己的员工没有外出学习的动力 ...

  • 牙科人才管理要义:避免浪费学习资源,规范报销协议

    镡卓锋建议牙科老板针对员工外出学习,可以单独制定"有条件报销协议".报销具体有哪些好处呢?欢迎广大牙科从业者们发表您的看法和建议. 目的一:解决员工资金紧张的情况. 目的二.提高牙 ...

  • 常用品牌plc通讯协议汇总学习

    一.美系厂家Rockwell ABRockwell的PLC主要是包括:PLC2.PLC3.PLC5.SLC500.ControlLogix等型号,PLC2和PLC3是早期型号,现在用的比较多的小型PL ...

  • Django 学习(一) —— 预备知识 (HTTP协议的认识)

    HTTP协议的认识 目录 HTTP协议的认识 什么是HTTP 协议?-toc" style="margin-left:40px;">什么是HTTP 协议?" ...

  • Tcp协议和udp协议有什么区别?Python学习分享

    很多Python程序员面试找工作的时候,经常会被问到关于网络编程的问题,比如TCP协议和udp协议有什么区别.Post和get有什么区别--你知道它们之间有什么差异吗?不知道,就跟着小编往下看. Tc ...

  • CAN总线学习笔记(2)- CAN协议数据帧、遥控帧、错误帧

    本专辑是依照瑞萨公司<CAN入门书>的组织思路来学习CAN通信的相关知识,并结合网上相关资料以及学习过程中的领悟整理成的笔记.希望对初学者有所帮助. 01 CAN 协议中的帧 在了解CAN ...