如何通过OV5640摄像头显示在VGA显示屏上

从本例开始,接下来的几例,都将围绕ov5640摄像头来学习,教大家学会,如何通过ov5640摄像头,采集图像,并且显示在vga显示屏上。
本例将简要地介绍一下ov5640摄像头,如何详细讲解一下sccb接口,该接口主要用于配置ov5640,闲话不多说。
下一篇将介绍 ov5640寄存器
二. 认识ov5640摄像头
先简单了解一下ov5640的设计框图,对其内部架构有个大致的原理,图中可以看到 图像输出接口支持 dvp和 mipi 两种接口,具体使用那种,可以根据自己的需求进行选择,本例程使用的是dvp接口的,黑金的那款。
再来看看整体的引脚接口,整体接口图如下,下面一一介绍
cmos_scl 和 cmos_sda :实际上就是sccb接口的sio_c和sio_d,由于sccb和iic接口十分相似,只有一个位置的细微差别,所以经常就会叫做scl和sda。
d0-d7: 图像数据输出引脚,一共8位,从框图中可以看出,其实是有10位的,那另外两位那去了呢?查看摄像头的外部电路原理图得知,10位中的低两位没有引出来。
cmos_pclk: 从框图中可以看出,这个时钟是摄像头输出的,用于和d0-d7以及vsync同步,也就是说外部采集数据是以pclk为标准时钟的。
cmos_xclk:  从框图中可以看出,这个时钟是外部输入的,用于为摄像头提供时钟。
cmos_vsync: 摄像头输出信号,在每一帧图像输出开始之前,都会拉高一定的时间,用于帧同步。
cmos_href:   摄像头输出信号,拉高,表示d0-d7输出数据有效。
cmos_reset: 复位信号,默认为高电平,拉低时间持续1ms以上进行复位,清除ov5640摄像头内部寄存器的所有值为默认值。
cmos_pwdn: 掉电使能信号,外部输入,高电平有效,正常工作,应设置为低电平。
最后,看一下ov5640输出的图像格式,实际输出的图像大小是可以调整的,通过配置寄存器。
到这里算是对ov5640有了一个初步的了解。下面将介绍sccb时序。
三. sccb时序
sccb时序,与iic是非常类似的,如果不涉及到读操作的话,可以说是一样的,配置寄存器的时候,主要涉及到的是写操作,一般读操作用于验证是否成功写入寄存器。
写操作
既然写和iic一样,那直接上图,第一步写器件的地址,第二步写寄存器的地址,第三步写寄存器的值。
其中器件地址为7bit,寄存器的地址为16bit,寄存器的值为8bit。所以配置一个寄存器,一共需要发送8*4(32)bit数据。
从下图可以看出,与iic的一个区别,就是在应答位的时候,图中是用x表示的,也就是说不关心这一位,为0或1都可以。而iic的应答是为0的,这是一个需要注意的点。
读操作
读操作如下
起始信号 + 器件地址写 +应答+ 寄存器地址+应答 + 停止信号 +  起始信号 + 器件地址读 + 应答 + 读数据 +应答 + 停止位
对比iic而言(iic可有可无),其中多了个停止信号,这个是非常重要的,容易被忽视。一般而言,iic读操作的时候,是不会加这个停止信号的。这一点通过手册上可以看到。
对iic时序不清楚的朋友,可以参考第五例,或者其它教程。到这里sccb接口的具体过程就分享到这里了。
四.  sccb代码实现
sccb相较于iic而言,是简单了的。
模块的接口信号如下,还是比较容易的。
实现方法和之前的例程iic类似,也略有区别。主要在写操作时的第二次发送从机地址的判断部分。感兴趣的可以参考对比。


尼康D5怎么样?尼康D5评测:ISO 3280000是数码相机当今之最
联想并没有退出中国 表述不准确导致误读而已并道歉
华为mate9降价至小米6同价,保证UFS闪存,还抢小米6吗?
自制实用的1小时定时开关
库克的理想苹果AR眼镜被迫变成了VR/MR:大幅削减销量预期,3000美元为成本价
如何通过OV5640摄像头显示在VGA显示屏上
5G时代下,12波WDM技术成为5G基站的热门选择
集成的数字电源控制和监控IC MAX8688
刘作虎:5G将分为三个阶段,一加本季度推5G手机
苹果新iPad采用Retina显示屏,分辨率提升4倍
单片机点亮数码管程序设计解析
CAD学习的七个层次,下一步应该如何学习加强?
浅析构建神经网络3D可视化应用的框架
人体分割识别图像:让AI更智能的认识人类
ISO9000概述,质量管理体系的建立
5G来临之际,4G该如何定位?
新证据表明,人类磁感可以让大脑感应到地球磁场
硅片半导体制造工艺详细图文版科普
iQOO 7预热:搭配高动态独立Hi-Fi芯片 旗舰级听感
Xilinx FPGA开发工具总结