OV7725摄像头模块SCCB通信

article/2025/9/13 20:38:32

学习这款摄像头,首先是要了解SCCB通信协议

SCCB通信协议

        这个协议与IIC通信协议很想,但是存在一点区别,如果想要更好了解这个协议,可以先学习一下IIC协议,这个协议讲解网上资源很全。

        首先介绍一下这个协议,SCCB:串行摄像头控制总线(三线协议)一般使用两线,类似于iic总线(两个线,一根时钟线,一根数据线,在时钟控制下传数据)。

写协议:

1.开始信号:同IIC一样。在时钟信号为高电平时,数据信号拉低,表示一个开始信号。

2.接下来需要发送从机ID+写标志位+X。

3.发送子地址(其实也就是要修改那个寄存器中的数据)+x。

4.发送数据+x。

5.停止信号:时钟信号为高电平时,数据线拉高。通过这个的开始信号和结束信号我们可以看出,正常传输过程中,在时钟信号为高点平期间数据要保持稳定,数据改变一定要发生在时钟低电平时。

读协议

1.起始信号:在时钟信号为高时,数据信号拉低。

2.发送从机ID+写标志+X位。

3.子地址(从器件个个寄存器地址)+X。

4.停止信号:时钟信号为高电平时,数据信号拉高。

5. 起始信号:在时钟信号为高时,数据信号拉低。

6.发送从机ID+写标志+X位。

7.读数据+NA(不响应位)。

8.停止信号:时钟信号为高电平时,数据信号拉高。

 SCCB协议与IIC在整体过程中没有特别大的差距,整体过程都是一样的。下面说说两个通信协议的区别。

sccb与iic的区别

1.在SCCB中第九位(x)是一个不关心位。而IIC中第九位则是从器件的响应位。

2.SCCB中一次传输过程不能超过三个过程(也就是说不支持连续读写)。

3.SCCB读传输发送写命令后必须发送停止命令,不能重复开始。(也就是读协议中的第四步,而iic可以重复开始)。

了解完SCCB协议,下面就是驱动摄像头的思路了。首先需要说明,这个小项目我是通过正点原子提供的教程学习的。详细学习可以去bilibili开正点原子视频(视频代码很全,方便学习),我这里只是简单整理一下。

整体驱动思路:上电后,通过SCCB协议配置摄像头内部寄存器得到想要的数据输出格式。(我这里时RGB565的数据格式,通过VGA输出)。配置完成后就进入的图像传输过程了。问题:摄像头输出的数据是30帧,这里为了输出60帧数据,使用到来SDRAM来缓存数据。前面说过我们使用的摄像头是没有FIFO的,而SDRAM的时钟频率却是很快的,因此这里还要调用fifo的ip核(使用两个,读fifo,和写fifo)。具体传输过程:摄像头将数据传入fifo,通过fifo将数据写入的SDRAM中。然后只需要在通过fifo来读取SDRAM中的数据,显示到显示器上,就完成了。

总结

我是通过正点原子视频学习的这款摄像头,我觉得想要学习这款摄像头还是需要学习其他都行的比如:fifo理解 ,SDRAM理解,同时还要对iic通信协议有一定的了解。学习过程可能比较长一点,但是当真的显示出图片时还是挺开心的。

这是我第一次写博客(用来打发时间),有啥问题还望看到的朋友理解,我也是想通过写博客加深自己的理解,当然了也希望能给大家带来帮助。

最后的最后我想说:我觉得学习任何模块其实最后的资料还是数据手册,里面东西真的很全,虽然基本上都是全英文,不好理解,但是几乎所有问题都可以在数据手册上找到。对于这方面的学习一定要学会看数据手册。


http://chatgpt.dhexx.cn/article/17SOf8JZ.shtml

相关文章

【一、视频处理】FPGA驱动OV7725摄像头模块

使用的模块是正点原子的ov7725不带fifo的摄像头,开发板是正点原子的开拓者。 一、SCCB协议与IIC协议的不同 摄像头采用的是SCCB协议,这个协议与I2C协议很像,但是有细微的区别。差别在于 SCCB传输协议中,第9位为不必关心位&#…

FPGA 20个例程篇:19.OV7725摄像头实时采集送HDMI显示(三)

第七章 实战项目提升,完善简历 19.OV7725摄像头实时采集送HDMI显示(三) 在详细介绍过OV7725 CMOS Sensor的相关背景知识和如何初始化其内部寄存器达到输出预期视频流的目的后,就到了该例程的核心内容即把OV7725输出的视频流预先缓…

OV7725的帧率和PCLK寄存器设置

一、OV7725的PCLK的改变和以下几个寄存器有关: 1:OX0D(COM4); ------------------------------------------------------------------------------------------------------------------ 0X0D COM4 41 …

手把手教你写Ov7725摄像头数据采集模块(带Verilog代码)

上一节咱们学习了OV7725的VGA传输协议,对于数据传输的特点有了初步了解,这篇博客主要目的在于使用Verilog实现一个OV7725摄像头的数据采集模块,与咱们这个模块对接的是后一级的SDRAM存储器,其将作为数据的缓存仓库,以便…

STM32+ov7725+ESP8266实现无线图传-完成上位机图像显示

一、需求 stm32f407探索者开发板和STM32F103ZET6战舰开发板。接正点原子ov5640、OV7725、OV2640摄像头,通过esp8266Wi-Fi模块(透传模式)将摄像头采集到的rgb565格式图片通过tcp/ip协议上传到上位机显示。 二、设计思路 【1】使用QT开发上位机,建立TCP服务器,接收ESP8266…

FPGA 20个例程篇:19.OV7725摄像头实时采集送HDMI显示(二)

第七章 实战项目提升,完善简历 19.OV7725摄像头实时采集送HDMI显示(二) 在正式介绍OV7725 CMOS Sensor视频采集前,首先需要去详细说明OV7725的寄存器配置接口,这里有OmniVision公司推出的官方手册 “OV7725_software_…

OV7725寄存器配置

OV7725寄存器配置(为了替换NT99141研究了很长一段时间) 部分参考链接: OV7725 电器特性和时序图:https://www.cnblogs.com/raymon-tec/p/5087088.html OV7725摄像头的彩色图像采集原理与液晶显示(有必要了解框图):htt…

基于STM32的OV7725摄像头拍照实验

平台:STM32ZET6(核心板)ST-LINK/V2SD卡USB串口线鹰眼OV7725摄像头(注意,为了减少摄像头连线的麻烦,建议初学者选取单片机时选用带有摄像头接口的板子) 工程介绍:需要移植FatFs文件系…

OV7725鹰眼摄像头

OV7725鹰眼摄像头如何使用? 目前的ov7725鹰眼摄像头,基本上用的都是山外的库,所以今天我们主要根据山外的库,基于k60芯片,给大家具体的讲解。 1.摄像头初始化 首先是摄像头的第一步就是初始化,这个我们直…

OV7725摄像头图像采集基础知识

目前FPGA用于图像采集 传输 处理 显示应用越来越多,主要原因是图像处理领域的火热以及FPGA强大的并行处理能力。本文以OV7725为例,对摄像头使用方面的基础知识做个小的总结,为后续做个铺垫。 XCLK:工作时钟输入,由主控器产生&…

FPGA--OV7725摄像头采集与VGA显示实验--1--OV7725使用与驱动协议

目录 前言 OV7725引脚及功能框图 参数指标 引脚 功能框图 SCCB时序及读写操作 SCCB时序特点 读写实现 OV7725寄存器常用配置参数 前言 摄像头采集是图像处理的第一步,本章节分为多部分,旨在让大家学会如何使用OV7725采集图像,并且…

【FPGA的基础快速入门22-------OV7725摄像头模块】

OV7725摄像头模块 OV7725是Omni Vision(豪威科技)公司生产的CMOS图像传感器,该传感器功耗低、可靠性高以及采集速率快,主要应用在玩具、安防监控、电脑多媒体等领域。 OV7725感光阵列达到640*480,能实现最快60fps VGA…

STM32 OV7725 传感器

目录 OV7725 传感器1、选择输出格式2、选择输出分辨率3、帧率调整4、夜间模式5、消除光带6、白平衡7、缺陷像素矫正8、黑电平矫正9、视频模式10、数字缩减 OV7725 函数1、光模式2、颜色饱和度3、亮度4、对比度5、特效 OV7725 设置参考 OV7725 传感器 OV7725摄像机™ 图像传感器…

OV7725摄像头之OV7725芯片

近日入手了一块正点原子家的OV7725摄像头模块,秉着小白尽可能学得透彻些的想法,选择了野火家的相同摄像头教学视频。链接如下:【单片机】野火STM32F103教学视频 (配套霸道/指南者/MINI)【全】(刘火良老师出品) (无字幕)_哔哩哔哩_bilibili 现…

二进制加法运算

两个二进制整数相加时,是位对位处理的,从最低的一对位(右边)开始,依序将每一对位进行加法运算。两个二进制数字相加,有四种结果,如下所示: 0 0 00 1 11 0 1 1 1 10 1 与 1 …

二进制加减法编程

1、二进制加法基本指令 (1)ADD指令 格式:ADD DST,SRC 该指令把源操作数(SRC)指向的数据与目的操作数(DST)相加后,将结果放到目的操作数(DST)中…

二进制乘除法运算原理

二进制乘除法原理 计算机所能完成的最基本操作是加减法和左右移。 虽然ISA中一般都有MUL类指令,但是这些经过译码之后最终的元操作还是加法和移位指令。 二进制乘法 假设不能使用乘除运算求ab的结果,当ab123时,最直接的方法是通过88个88相…

二进制加法计算

读计算机原理这本书的的时候涉及到二进制数的加法,个人做个直观的记录,防止遗忘。 计算时,先把两个二进制数对齐(如同十进制一样, 从右向左)11为10,此时向上一位进1,0写在本位(如同十…

二进制加减乘除

最重要的,理解十进制的借位和进位.十进制中,由于一个循环是10,所以借1位,就相当于从高位借过来10,也就是常说的借1当10,同时,高位需要减去10(外在体现上是减去1,因为高位已经在高位了).反过来,进1,就等于高位加上10,但因为高位已经在高位了,所以去掉位数考虑,高位实际是加1,也就…

二进制加法

计算机中二进制相关运算 有符号二进制与无符号二进制数之间的区别有符号二进制加法运算讨论关于有符号二进制数算术的溢出问题(重点)无符号二进制运算 有符号二进制与无符号二进制数之间的区别 对于一个有符号二进制数来讲,最高位是该数的符…