SCCB控制ov7670简介

转:http://archive.cnblogs.com/a/2011464/

测了几个好使的OV7670的SCCB(其实就是I2C) 读写的波形(数字模式),反正也不能浪费了,在此以记之,供以后参考。

1.     几个基本概念

A)  在数据传输阶段,SDA的变化只能在SCK为低电平的时候,如果在SCK高电平的时候有SDA的变化,则可能表示的是I2C的Start或者Stop

B) Start:当SCK为高时,SDA从高跳变到低表示I2C总线的Start

C) Stop:当SCK为高时,SDA从低跳变到高表示总线的Stop

D)ACK:每次传输8个bit以后,接收方都会有一个回应,如果为低表示ACK,表示OK,如果为高表示NACK,但不表示就有问题,比如Master接收Slave的数据的过程中不想接收了,就可以发送NACK

E)  地址 Address:在寻址段,在7位格式的地址中,发送的8位数据前七位为地址,如下图中的0x42, 最后一位表示此次发起的是读还是写,读为高电平,写为低电平。

F)  子地址 SubAddress:这个东东在I2C的规范里面其实是没有的,不过很多厂家都喜欢整这个,其实就是地址段后面的一个或者两个自己的数据(一般使用写入R/W=0)。比如俺们以前的BB没有这个概率,现在新的BB有了这个概念,还支持8位和16位。

  1. 一个写时序

下面是一个写的地址段,加两个数据段的波形,先发送芯片ID,0x42和R/W=0, 然后发送两个写入的数据:0x32,0xb6。

  1. 一个写加一个读

先写一个地址段,0x42,然后写入(RW=0)subaddress 0x0B。然后重新启动一次传输,发送地址段,0x42, 读取之前写入的subaddress里面的值,读出的值为0x76,因为Master此时为receiver,要终止传输了,所以Master给Salve的回应为NACK。也就是SCCB规范里面的一个2-phase write加一个2-phase read.

4.最后来一个总线上没有设备的波形,上拉很弱

时间: 2024-08-27 09:26:41

SCCB控制ov7670简介的相关文章

进程控制概念简介 多线程上篇(三)

进程控制 进程的基本数据信息是操作系统控制管理进程的数据集合,这些信息就是用来控制进程的,此处我们说的进程控制就是进程的管理. 比如进程有状态,那么进程的创建.终止,状态的切换,这都不是进程自主进行的,都是通过操作系统进行管理的 如下图所示,所有的相关数据都是操作系统用来管理维护进程的 操作系统抽象出进程概念的核心是为了运行程序 所以进程的执行态是最为核心的 其他的状态则是为了更好的控制管理进程以及进程的并发执行而附加的 所以,一定程度上来讲,操作系统对于进程的控制,可以认为是对于进程的不同状态

RHEL7/CENTOS7 新特性(服务控制和防火墙)

一 服务控制 1 简介  RHEL7 监视和控制 systemd 的主要命令是 systemctl,该命令可以    用于查 看系统状态和管理系统及服务.         RHEL7 的服务 systemctl 脚本存放在: /usr/lib/systemd/,有系统 ( system)          和用户( user)之分,像需要开机不登陆就能运行的程序, 存在系统服务 里,即:/usr/lib/systemd/system 目录下. 每一个服务以.service 结尾 ,一般会分为 3

通过FPGA驱动OV5640调试记录

最近无聊,想通过FPGA来驱动OV5640,达到高速并行的图像处理.其中使用了8个sensor.是Omnivision的500W高清摄像头.主要用于手机,pad,等移动设备的主摄像头.在网上搜索了一把,包括谷歌和百度.都没发现太有价值的信息.后面自己硬着头皮开始自己来弄.应该用fpga控制ov5640我属于首创. 经过漫长的原理图设计,原理图如下: 其中的DOVDD使用的是D1.8V,这样就可以使用内部的LDO,外部只需要2.8V和1.8V.在使用DOVDD为1.8V时,可以不连接DVDD这个电

【IOS 开发】IOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)

一. IOS 项目简介 1. IOS 文件简介 创建一个 HelloWorld 项目, 在这个 IOS 项目中有四个目录 : 如下图; -- HelloWorldTests 目录 : 单元测试相关的类和资源; (1) HelloWorld 目录 HelloWorld 目录介绍 : -- 命名规则 : 该目录名称与 IOS 项目名称相同, 是主目录; -- 存放内容 : IOS 项目的 源码文件, 界面设计文件, 资源文件都存放在该目录下; -- 源文件 : Objective C 的 .m 和

RxJava 教程-1 简介 原理 线程控制 变换

简介 RxJava 是什么? RxJava 在 GitHub 主页上的自我介绍是 RxJava is a Java VM implementation of ReactiveX: a library for composing asynchronous and event-based programs by using observable sequences. RxJava是 ReactiveX 在JVM上的一个实现:一个使用可观测的序列(observable sequences)来组成(co

控制反转IoC简介

控制反转IoC简介 在实际的应用开发中,我们需要尽量避免和降低对象间的依赖关系,即降低耦合度.通常的业务对象之间都是互相依赖的,业务对象与业务对象.业务对象与持久层.业务对象与各种资源之间都存在这样或那样的依赖关系.但是如何才能做到降低类之间的依赖关系呢?这就是本文核心IoC需要解决的问题,下面从两大点具体介绍IoC: (1)IoC与DI的基本概念         IoC(Inversion Of Control)即控制反转,其具体就是由容器来控制业务对象之间的依赖关系,而不是像传统方式中由代码

Apple SIP简介及在Clover中如何控制

Apple SIP简介及在Clover中如何控制 来源 http://www.yekki.me/apple-sip-overview-and-how-to-disable-it-in-clover/ 什么是Apple SIP Apple SIP(System Integrity Protection)机制是OSX 10.11开始启用的一套关键的安全保护技术体系. SIP技术的整个体系主要分为: 文件系统保护(Filesystem protection) 对于系统文件通过沙盒限制root权限,比如

12.1 线程控制简介

在11章中,我们已经学习了线程以及线程同步的基础知识.在本章中,我们将会学习控制线程行为的细节,我们将会看到线程属性,同步函数属性.这些概念在上一章中被默认行为代替了. 接下来还会介绍线程如何在同一进程内保存线程私有数据,然后将会以基于进程的系统调用对于线程的影响结束本章的学习. 来自为知笔记(Wiz)

HEVC码率控制简介(R-lamda)

HEVC码率控制介绍 R-lamda模型提出到优化已有2年,从近几年的文章来看,大体归为类:一是帧内的码率的码率控制算法,一是模型参数更新,一是考虑感知 第一类:K0103码率控制算法主要是在P/B帧上提出的,I帧没有做,体现在I帧中LCU编码时用的还是帧层的QP,而帧层的QP是由配置文件(即*.cfg中QP: 32 # Quantization parameter(0-51)  这里的32我们可以更改一般设置为22.27.32.37),如果码率控制开启,实际上配置文件中#======== Qu