OV7725摄像头模块SCCB通信

学习这款摄像头,首先是要了解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通信协议有一定的了解。学习过程可能比较长一点,但是当真的显示出图片时还是挺开心的。

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

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

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值