打印
[应用相关]

stm32 霸道驱动OV7725 摄像头

[复制链接]
4246|33
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dingbo95|  楼主 | 2018-10-31 19:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
STM32 的处理速度比传统的 8、 16 位机快得多,所以使用它驱动摄像头采集图像信息并进行基本的加工处理非常适合 。

沙发
dingbo95|  楼主 | 2018-10-31 19:16 | 只看该作者
摄像头简介
在各类信息中,图像含有最丰富的信息,作为机器视觉领域的核心部件,摄像头被广
泛地应用在安防、探险以及车牌检测等场合。摄像头按输出信号的类型来看可以分为数字
摄像头和模拟摄像头,按照摄像头图像传感器材料构成来看可以分为 CCD 和 CMOS。现
在智能手机的摄像头绝大部分都是 CMOS 类型的数字摄像头。

使用特权

评论回复
板凳
dingbo95|  楼主 | 2018-10-31 19:17 | 只看该作者
数字摄像头跟模拟摄像头区别
1.输出信号类型: 数字摄像头输出信号为数字信号,模拟摄像头输出信号为标准的模拟信号。
2.接口类型:数字摄像头有 usb 接口(比如常见的 pc 端免驱摄像头)、 IEE1394 火线接口(由苹果公司领导的开发联盟开发的一种高速度传送接口,数据传输率高达 800Mbps)、
千兆网接口(网络摄像头)。模拟摄像头多采用 AV 视频端子(信号线+地线)或 SVIDEO(即莲花头--SUPER VIDEO, 是一种五芯的接口,由两路视频亮度信号、两路视频色度信号和一路公共屏蔽地线共五条芯线组成)。
3.分辨率:模拟摄像头的感光器件,其像素指标一般维持在 752(H)*582(V)左右的水平,像素数一般情况下维持在 41W 左右。数字摄像头分辨率一般从数十万到数百万甚至
数千万。但这并不能说明数字摄像头的成像分辨率就比模拟摄像头的高,原因在于模拟摄像头输出的是模拟视频信号,一般直接输入至电视或监视器,其感光器件的分辨率与电视信号的扫描数呈一定的换算关系,图像的显示介质已经确定,因此模拟摄像头的感光器件分辨率不是不能做高,而是依据于实际情况没必要做这么高。

使用特权

评论回复
地板
dingbo95|  楼主 | 2018-10-31 19:18 | 只看该作者
摄像头的图像传感器 CCD 与 CMOS 传感器主要区别如下:
成像材料
CCD 与 CMOS 的名称跟它们成像使用的材料有关, CCD 是―电荷耦合器件‖(ChargeCoupled Device)的简称,而 CMOS 是 ―互补金属氧化物半导体‖(ComplementaryMetal Oxide Semiconductor)的简称。

使用特权

评论回复
5
dingbo95|  楼主 | 2018-10-31 19:19 | 只看该作者
功耗
由于 CCD 的像素由 MOS 电容构成,读取电荷信号时需使用电压相当大(至少 12V)
的二相或三相或四相时序脉冲信号,才能有效地传输电荷。因此 CCD 的取像系统
除了要有多个电源外,其外设电路也会消耗相当大的功率。有的 CCD 取像系统需
消耗 2~5W 的功率。 而 CMOS 光电传感器件只需使用一个单电源 5V 或 3V,耗电
量非常小,仅为 CCD 的 1/8~1/10,有的 CMOS 取像系统只消耗 20~50mW 的功率。

使用特权

评论回复
6
dingbo95|  楼主 | 2018-10-31 19:21 | 只看该作者
成像质量
CCD 传感器件制作技术起步早,技术成熟,采用 PN 结或二氧化硅(sio2)隔离层隔
离噪声,所以噪声低,成像质量好。与 CCD 相比, CMOS 的主要缺点是噪声高及
灵敏度低, 不过现在随着 CMOS 电路消噪技术的不断发展,为生产高密度优质的
CMOS 传感器件提供了良好的条件,现在的 CMOS 传感器已经占领了大部分的市
场,主流的单反相机、智能手机都已普遍采用 CMOS 传感器。

使用特权

评论回复
7
dingbo95|  楼主 | 2018-10-31 19:23 | 只看该作者
OV7725 摄像头主要由镜头、图像传感器、板载电路、 FIFO 缓存及下方的信号引脚组成。镜头部件包含一个镜头座和一个可旋转调节距离的凸透镜,通过旋转可以调节焦距,
正常使用时,镜头座覆盖在电路板上遮光,光线只能经过镜头传输到正中央的图像传感器,它采集光线信号,采集得的数据被缓存到摄像头背面的 FIFO 缓存中,然后外部器件通过
下方的信号引脚获取拍摄得到的图像数据。

使用特权

评论回复
8
dingbo95|  楼主 | 2018-10-31 19:26 | 只看该作者
OV7725 传感器简介
若拆开摄像头座, 在摄像头的正下方可看到 PCB 板上的一个方形器件,它是摄像头的
核心部件,型号为 OV7725 的 CMOS 类型数字图像传感器。该传感器支持输出最大为 30
万像素的图像 (640x480 分辨率),它的体积小,工作电压低,支持使用 VGA 时序输出图像
数据,输出图像的数据格式支持 YUV(422/420)、 YCbCr422 以及 RGB565 格式。它还可以
对采集得的图像进行补偿,支持伽玛曲线、 白平衡、饱和度、色度等基础处理。

使用特权

评论回复
9
dingbo95|  楼主 | 2018-10-31 19:32 | 只看该作者
OV7725 功能框图



使用特权

评论回复
10
dingbo95|  楼主 | 2018-10-31 19:33 | 只看该作者
控制寄存器
标号处的是 OV7725 的控制寄存器,它根据这些寄存器配置的参数来运行,而
这些参数是由外部控制器通过 SCL 和 SDA 引脚写入的, SCL 与 SDA 使用的通讯
协议 SCCB 跟 I2C 十分类似,在 STM32 中我们完全可以直接用 I2C 硬件外设来控

使用特权

评论回复
11
huangcunxiake| | 2018-10-31 19:35 | 只看该作者
这个摄像头用的人还挺多的。

使用特权

评论回复
12
dingbo95|  楼主 | 2018-10-31 19:36 | 只看该作者
通信、控制信号及时钟
标号处包含了 OV7725 的通信、控制信号及外部时钟,其中 PCLK、 HREF 及
VSYNC 分别是像素同步时钟、行同步信号以及帧同步信号,这与液晶屏控制中
的 VGA 信号是很类似的。 RSTB 引脚为低电平时,用于复位整个传感器芯片,
PWDN 用于控制芯片进入低功耗模式。注意最后的一个 XCLK 引脚,它跟 PCLK
是完全不同的, XCLK 是用于驱动整个传感器芯片的时钟信号,是外部输入到
OV7725 的信号;而 PCLK 是 OV7725 输出数据时的同步信号,它是由 OV7725 输
出的信号。 XCLK 可以外接晶振或由外部控制器提供,若要类比 XCLK 之于
OV7725 就相当于 HSE 时钟输入引脚与 STM32 芯片的关系, PCLK 引脚可类比
STM32 的 I2C 外设的 SCL 引脚。

使用特权

评论回复
13
dingbo95|  楼主 | 2018-10-31 19:38 | 只看该作者
感光矩阵
标号处的是感光矩阵,光信号在这里转化成电信号,经过各种处理,这些信号
存储成由一个个像素点表示的数字图像。

使用特权

评论回复
14
dingbo95|  楼主 | 2018-10-31 19:39 | 只看该作者
数据输出信号
标号处包含了 DSP 处理单元,它会根据控制寄存器的配置做一些基本的图像处
理运算。这部分还包含了图像格式转换单元及压缩单元,转换出的数据最终通过
D0-D9 引脚输出,一般来说我们使用 8 根据数据线来传输,这时仅使用 D2-D9 引
脚。

使用特权

评论回复
15
dingbo95|  楼主 | 2018-10-31 19:41 | 只看该作者
SCCB 时序
外部控制器对 OV7725 寄存器的配置参数是通过 SCCB 总线传输过去的,而 SCCB 总
线跟 I2C 十分类似,所以在 STM32 驱动中可以直接使用片上 I2C 外设与它通讯。

使用特权

评论回复
16
dingbo95|  楼主 | 2018-10-31 19:43 | 只看该作者
OV7725 的寄存器
控制 OV7725 涉及到它很多的寄存器,可直接查询《OV7725datasheet》了解,通过这
些寄存器的配置,可以控制它输出图像的分辨率大小、图像格式、图像处理及图像方向等。

使用特权

评论回复
17
dingbo95|  楼主 | 2018-10-31 19:44 | 只看该作者

相关寄存器说明  

使用特权

评论回复
18
dingbo95|  楼主 | 2018-10-31 19:47 | 只看该作者
官方还提供了一个《OV7725 Software Application Note》的文档,它针对不同的配置需求,提供了配置范例,见图 51-10。其中 write_SCCB 是一个利用 SCCB 向寄存器写入数据的函数,第一个参数为要写入的寄存器的地址,第二个参数为要写入的内容  。



使用特权

评论回复
19
dingbo95|  楼主 | 2018-10-31 19:48 | 只看该作者
像素数据输出时序
主控器控制 OV7725 时采用 SCCB 协议读写其寄存器,而它输出图像时则使用 VGA 或
QVGA 时序, 其中 VGA 在输出图像分辨率为 480*640 时采用, QVGA 是 Quarter VGA, 其
输出分辨率为 240*320,这些时序跟控制液晶屏输出图像数据时十分类似。
OV7725 传感器输出图像时,一帧帧地输出,在帧内的数据一般从左到右,从上到下,
一个像素一个像素地输出(也可通过寄存器修改方向)。

使用特权

评论回复
20
dingbo95|  楼主 | 2018-10-31 19:50 | 只看该作者






使用 D2-D9 数据线,图像格式设置为 RGB565,进行数据输出时, D2-D9 数据线在 PCLK 在上升沿阶段维持稳定, 并且会在 1 个像素同步时钟 PCLK 的驱动下发送 1 字节的数据信号,所以 2 个 PCLK 时钟可发送 1 个 RGB565 格式的像素数据。当 HREF 为高电平时, 像素数据依次传输,每传输完一行数据时,行同步信号 HREF 会输出一个电平跳变信号间隔开当前行和下一行的数据;一帧的图像由 N 行数据组成, 当 VSYNC 为低电平时,各行的像素数据依次传输, 每传输完一帧图像时,VSYNC 会输出一个电平跳变信号。  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

1197

帖子

5

粉丝