摄像头嵌入式系统设计.docx

上传人:b****6 文档编号:7719683 上传时间:2023-05-12 格式:DOCX 页数:49 大小:3.24MB
下载 相关 举报
摄像头嵌入式系统设计.docx_第1页
第1页 / 共49页
摄像头嵌入式系统设计.docx_第2页
第2页 / 共49页
摄像头嵌入式系统设计.docx_第3页
第3页 / 共49页
摄像头嵌入式系统设计.docx_第4页
第4页 / 共49页
摄像头嵌入式系统设计.docx_第5页
第5页 / 共49页
摄像头嵌入式系统设计.docx_第6页
第6页 / 共49页
摄像头嵌入式系统设计.docx_第7页
第7页 / 共49页
摄像头嵌入式系统设计.docx_第8页
第8页 / 共49页
摄像头嵌入式系统设计.docx_第9页
第9页 / 共49页
摄像头嵌入式系统设计.docx_第10页
第10页 / 共49页
摄像头嵌入式系统设计.docx_第11页
第11页 / 共49页
摄像头嵌入式系统设计.docx_第12页
第12页 / 共49页
摄像头嵌入式系统设计.docx_第13页
第13页 / 共49页
摄像头嵌入式系统设计.docx_第14页
第14页 / 共49页
摄像头嵌入式系统设计.docx_第15页
第15页 / 共49页
摄像头嵌入式系统设计.docx_第16页
第16页 / 共49页
摄像头嵌入式系统设计.docx_第17页
第17页 / 共49页
摄像头嵌入式系统设计.docx_第18页
第18页 / 共49页
摄像头嵌入式系统设计.docx_第19页
第19页 / 共49页
摄像头嵌入式系统设计.docx_第20页
第20页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

摄像头嵌入式系统设计.docx

《摄像头嵌入式系统设计.docx》由会员分享,可在线阅读,更多相关《摄像头嵌入式系统设计.docx(49页珍藏版)》请在冰点文库上搜索。

摄像头嵌入式系统设计.docx

摄像头嵌入式系统设计

绪论...............................................................3

第1章系统总体设计思路............................................4

1.1系统设计要求.............................................4

1.2系统设计方案.............................................4

1.3硬件部分方案.............................................5

1.4软件部分方案.............................................5

第2章摄像头.......................................................7

2.1数字摄像头跟模拟摄像头区别...............................7

2.2CCD与CMOS的区别.......................................7

2.3OV7670介绍..............................................7

2.4OV7670功能框架..........................................7

2.5摄像头模块...............................................9

2.6摄像头的驱动原理........................................11

第3章液晶显示屏(LCD)...........................................13

3.1LCD控制器简介...........................................13

3.2ILI9341控制器结构.......................................13

3.3像素点的数据格式........................................13

3.4ILI9341的通讯时序.......................................14

3.5用STM32驱动LCD..........................................15

第4章芯片的选着..................................................19

4.1芯片的选择..............................................19

4.2速度方面................................................19

4.3存储器方面..............................................19

4.4时钟、复位和电源管理方面................................19

4.5功耗方面................................................19

4.6外设方面................................................19

第5章软件的设计..................................................21

5.1实验描述................................................21

5.2硬件连接................................................21

5.3摄像头硬件连接..........................................21

5.4库文件..................................................21

5.5配置工程环境............................................22

5.6初始化OV7670...........................................24

5.7读FIFO并显示图像.......................................30

第6章系统测试结果和问题分析......................................33

6.1系统实物图..............................................33

6.2系统单功能测试..........................................34

第7章总结与展望..................................................36

致谢...............................................................37

参考文献...........................................................37

附录一摄像头原理图说明............................................38

附录二基于STM32Fl0X摄像头模块硬板图说明..........................41

附录三触摸屏资料..................................................42

 

参编单位:

12自动C1SSPU

 

绪论

分布式广域视频摄像系统,提出了一种基于摄像头跟踪优化方法.该跟踪优化算法根据目标优先级和目标在各个摄像头中的遮挡状态及其分割图像大小进行数据加权融合,优先分配高优先级目标给具有最佳权值的摄像头进行跟踪,并动态平衡摄像头的跟踪负载,将跟踪负载过重的摄像头中的低优先级目标分配给其他摄像头进行跟踪.为了有效地建立重叠摄像头之间目标的对应关系,对于摄像头远离监控地平面和目标的场景,通过摄像头监视背景图像之间的特征匹配自动生成对应点,利用这些对应的关键点确定摄像头之间的单应性变换矩阵参数,再根据目标质心坐标之间的单应性变换进行一致性匹配;对于摄像头近邻监控地平面和目标的场景,通过目标分割图像之间的特征进行一致性匹配.实验结果表明:

该方法能有效地实现广域监控场景中摄像头的跟踪,达到了较高的跟踪性能.动态场景的视频监控成为计算机视觉的一个前沿研究方向,具有广泛的应用前景.在大多数实际场景中,由于单个摄像头视域非常有限以及场景中遮挡的存在,使用单个摄像头对整个场景进行监控难以实现,而且非常低效,因此摄像头多目标跟踪在广域监控场景中得到了很多的关注.在摄像头监控系统中,必须处理摄像头系统中新出现的问题:

如何协同分配摄像头对运动目标进行最佳跟踪.

 

第一章  系统总体设计思路 

1.1系统设计要求 

基于STM32F103的手机功能的设计,首先该系统是通过触屏操作控制,尽量模拟手机的功能需要实现的基本功能有打电话、发短信、音乐播放器、图片浏览、照相机、常用小工具等。

同时尽量做到系统稳定、整体美观、操作流畅等来保证有较好的体验效果!

 

1.2系统设计方案 

本设计的控制方案是利用嵌入式操作系统为平台,采用了STM32F103ZET6微控制器,以及各类控制和显示器件,通过一直GUI进行触屏控制。

系统设计包括系统硬件设计与测试和软件的编写。

系统流程图件下图1.2.1.实物图1.2.2.

图1.2.1

图1.2.2

1.3硬件部分方案 

该毕业设计的硬件主要四部分,分别是自己用Altium Designer绘制制作的中心板子、SIM900模块、LCD液晶、摄像头OV7670。

首先,选用的MCU芯片是意法公司的STM32F103系列单片机(ARM CM3内核),该芯片具有64KB SRAM、512KB FLASH、5个串口、112个通用IO口等等,资源丰富、功能强大能满足本设计的所有需求。

中心板子板载1M大小的外部SRAM芯片:

板载的外部FLASH芯片:

W25Q64容量是8M字节用于存放字库和其他用户数据,这样可以提高实时文件读取的速度;板载的EEPROM芯片:

24C02容量为 2Kb,也就是 256 字节。

用于存储一些掉电不能丢失的重要数据,比如系统设置的一些参数/触摸屏校准数据等来实现方便的实现掉电数据保存;板载的SD卡用于存放系统运行需要的系统文件和测试文件。

除了以上的主要板载的资源还有USB接口、ds18b20等等常用器件都是为这个系统的整体功能服务。

本设计选用的液晶模块是大小2.8寸、分辨率240*320的液晶,支持触摸屏功能(电阻),可以显示16位色真彩图片。

选用的GSM模块是SIM900,用串口控制,主要用于实现打电话和发短信的功能。

然后就是MP3模块,该模块选用的芯片荷兰VLSI公司的VS1053,该模块使用SPI接口,单片机作为主机只需要把音乐数据独取出来传给该模块,该模块就能播放音乐,使用起来简单、方便。

最后就是OV(Omni Vision)公司生产的一颗 1/6寸的 CMOS VGA 图像传感器。

该传感器体积小、工作电压低,提供单片VGA摄像头和影像处理器的所有功能。

以上这些是本设计的硬件部分简单介绍,硬件的实现最主要的是中心板子的制作,它是整个系统的核心控制部分。

需要整体考虑系统的资源,设计出来所有外设的接口,只有这样才能保证整体设计的美观。

 

1.4软件部分方案 

本设计的软件部分主要分为移植UCOSII+GUI和FatFs文件管理、硬件的驱动程序、整体控制程序三部分组成。

首先是UCOSII的移植,μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。

移植成功之后就可以通过μC/OS-II进行任务的调度,增强系统的实时性。

然后就是移植FatFs文件管理系统,通过该文件管理系统进行读写SD卡和外部FLASH,这样可以方便的读取文件、写入文件等操作。

FatFs是一个通用的文件系统模块,用于在小型嵌入式系统中实现FAT文件系统。

 FatFs 的编写遵循ANSI C,因此不依赖于硬件平台所以可以移植到大部分的处理器上。

移植GUI进行显示和控制操作,可用的GUI种类繁多,最常用的是UCGUI,但是由于对ALIENTEK GUI比较熟悉,所以选用的是ALIENTEK GUI,它是嵌入式应用中的图形支持系统。

它设计用于为任何使用LCD图形显示的应用提供高效的独立于处理器及LCD控制器的图形用户接口,它适用单任务或是多任务系统环境, 并适用于任意LCD控制器和CPU下任何尺寸的真实显示或虚拟显示。

它的设计架构是模块化的,由不同的模块中的不同层组成,由一个LCD驱动层来包含所有对LCD的具体图形操作。

 GUI可以在任何的CPU上运行,因为它是100%的标准C代码编写的。

通过它能轻松制作出想要的页面。

接下来是各个模块的底层驱动函数,比如LCD的驱动、VS1053的驱动、OV7670的驱动等等,这些底层的驱动函数保证各个模块正常工作。

以上的移植工作和驱动程序编写工作是整体程序的准备工作,在以上工作完成后是需要用UCOS-II进行任务调度,也就是调度各个模块的驱动应用程序。

通过UCOS-II进行任务的调度和触屏操作的控制就可以完成毕业设计的要求,最终就可以用LCD屏进行控制操作实现各个模块的功能。

 

在此需要说明的是软件设计工程量庞大,靠一个人在短时间内是不可能完成的,所以我借鉴了一些前辈的代码,比如UCOS-II和FatFs移植到STM32已经很成熟了,我需要做的工作是把前辈移植好的代码用到我的工程里面。

还有就是像VS1053、OV7670的驱动程序,买这些东西的时候卖家已经提供了相应的驱动函数,我做的工作就是移植到我用的处理器上。

我做的主要工作就是用UCOS-II进行调度各个模块的应用程序,保证这个系统能有序的进行任务的运行和切换。

然后就是做一些LCD上的控制操作界面,对系统的各个任务进行控制操作,这样保证设计作品系统运行流畅、可靠性高和美观!

 

 第三章  系统硬件设计与实现 

该毕业设计的硬件主要四部分,分别是自己用Altium Designer[1]绘制制作的中心板子、LCD液晶、摄像头OV7670,接下来依次介绍。

 

 

第二章摄像头

摄像头的分类。

摄像头按输出信号的类型来看可以分为数字摄像头和模拟摄像头,按照摄像头图像传感器材料构成来看可以分为CCD和CMOS。

2.1数字摄像头跟模拟摄像头区别

2.1.1输出信号类型:

数字摄像头输出信号为数字信号,模拟摄像头输出信号为标准的模拟信号。

2.1.2接口类型:

数字摄像头有usb接口(比如常见的pc端免驱摄像头)、IEE1394火线接口(由苹果公司领导的开发联盟开发的一种高速度传送接口,数据传输率高达800Mbps)、千兆网接口(网络摄像头)。

模拟摄像头多采用AV视频端子(信号线+地线)或S-VIDEO(即莲花头--SUPERVIDEO,是一种五芯的接口,由两路视频亮度信号、两路视频色度信号和一路公共屏蔽地线共五条芯线组成)。

2.1.3分辨率:

模拟摄像头的感光器件,其像素指标一般维持在752(H)*582(V)左右的水平,像素数一般情况下维持在41W左右。

数字摄像头分辨率一般从数十万到数百万甚至数千万(比如诺基亚808手机搭载了4100万像素,被人称为可以打电话的相机)。

但这并不能说明数字摄像头的成像分辨率就比模拟摄像头的高,原因在于模拟摄像头输出的是模拟视频信号,一般直接输入至电视或监视器,其感光器件的分辨率与电视信号的扫描数呈一定的换算关系,图像的显示介质已经确定,因此模拟摄像头的感光器件分辨率不是不能做高,而是依据于实际情况没必要做这么高。

2.2CCD与CMOS的区别

CCD与CMOS成像器主要区别如下:

2.2.1成像原理:

CCD是―电荷耦合器件‖(ChargeCoupledDevice)的简称,而CMOS是―互补金属氧化物半导体‖(ComplementaryMetalOxideSemiconductor)的简称。

2.2.2功耗:

由于CCD的像素由MOS电容构成,读取电荷信号时需使用电压相当大(至少12V)的二相或三相或四相时序脉冲信号,才能有效地传输电荷。

因此CCD的取像系统除了要有多个电源外,其外设电路也会消耗相当大的功率。

有的CCD取像系统需消耗2~5W的功率。

而CMOS光电成像器件只需使用一个单电源5V或3V,耗电量非常小,仅为CCD的1/8~1/10,有的CMOS取像系统只消耗20~50mW的功率。

2.2.3成像质量:

CCD成像器件制作技术起步早,技术成熟,采用PN结或二氧化硅(sio2)隔离层隔离噪声,所以噪声低,成像质量好。

与CCD相比,CMOS的主要缺点是噪声高及灵敏度低,不过随着CMOS电路消噪技术的不断进展,为生产高密度优质的CMOS成像器件提供了良好的条件(现在高级的CMOS并不比一般CCD差,但是CMOS工艺还

不是十分成熟,普通的CMOS分辨率低而成像较差,太容易出现杂色点),现在主流的单反相机普遍采用CMOS成像器。

2.3OV7670介绍

OV7670是一个能够提供单片VGA摄像头和影像处理器的所有功能的图像传感器,它可以输出整帧,子采样,取窗口等方式的各种分辨率8/10位图像数据,支持的数据格式有很多种,包括RAWRGB,RGB(GRB4:

2:

2,RGB565/555/444)以及YCbCr(4:

2:

2)等格式。

它的体积小,工作电压低,具有单片VGA摄像头影像处理器的功能,可以对图像进行伽玛曲线、、白平衡、饱和度、色度等处理。

2.4OV7670功能框架

OV7670芯片的各个功能模块见图2.4.1。

图2.4.1

OV7670包含有656*488图像阵列,共包含320128个像素,但是实际有效的还是640*480个,边缘多出来的像素主要是为了去除一些影响边缘失真特性而设立的。

图像阵列感知的原始信号(颜色&亮度)之后会输送入模拟处理器进行处理(比如通常所说的曝光控制和增益控制),经处理后会被分成G和BR两路通道进入一个A/D转换器,转换成数字信号后送入DSP处理器作进一步处理。

当然,用户还可以通过相关寄存器来切换选择把测试图案发生器产生的图形数据送入DSP处理器处理,DSP模块在整个框架中起着非常重要的作用,它控制着从原始信号插值到RGB信号的整个过程,并且控制这图像的质量包括边缘增强、颜色空间转换、gamma控制等,这些操作的实现可能还会依赖于buffer的支持,这跟我们平时做大量数据的复杂运算时类似,在这里同样需要开辟一定空间的buffer,否则很多中间数据无法安置。

主要管脚的定义见表2.4.1。

表2.4.1OV7670管脚

管脚名称

管教类型

管教描述

ADVDD

电源

供给ADC模块使用

RSTB

输入

系统复位管脚,低电平有效

SCL

输入

SCCB总线的时钟线

SDA

I/O

SCCB总线的数据线

AVDD

电源

模拟电源

DOVDD

电源

数字电源

HREF

输出

行同步信号

PWDN

输入

掉电/省电模式(高电平有效)

VSYNC

输出

场同步信号

PCLK

输出

像素时钟

XCLK

输入

系统时钟输入端口

D0„D9

输出

像素数据端口

当SENSOR配置为输出RAWRGB数据时,数字端口D0到D9都要用到,D0作为最低有效位,D9作为最高有效位。

当SENSOR配置为输出YUV或者RGB565/RGB555格式时,数字端口的D2到D9才有效,D2作为最低有效位,D9作为最高有效位。

2.5摄像头模块

2.5.1摄像头模块硬件介绍。

野火STM32开发板具有一个CAMERA接口,可用于扩展摄像头模块,该接口可兼容野火的OV7670、OV7725及市面上的其它基于OV系列传感器的模块。

考虑到一些性能比较低的单片机也能够搭载野火开发的摄像头模块,我们在OV7670后端搭载了FIFO来降低对单片机的性能依赖-----当前模块对处理器的硬件要求仅仅为一个中断,几个GPIO管脚即可。

摄像头流程见图2.5.1。

图2.5.1

2.5.2OV7670输出时序

摄像头采集的图像,也就是OV7670芯片的输出,它采用VGA时序,通过VSYNC、HREF/HSYNC和PCLK引脚输出图像。

因此我们必须正确地理解好VGA工作时序图。

VGA最早是指一种480*640像素显示器的显示模式,它显示时,一行一行地对图像的像素进行扫描,所以它的时序分为行时序和帧时序。

2.5.3行时序图

行时序即输出每一行像素的时序,见图2.5.2。

它以PCLK输出像素时钟,以D0~D9输出像素数据,以HREF输出行起始和行结束信号。

图2.5.2OV7670输出的VGA行时序

从图中可以看出,当HREF为高电平时,摄像头数据端口随着像素时钟PCLK的运转,先后输出一行的像素数据,当一行数据传输完成时,HREF转为低电平。

在HREF为高电平期间,每一个PCLK时钟就输出一个基本数据单元,而且数据在PCLK在上升沿阶段维持稳定,因此,主控芯片配置中断时,应该配置为上升沿中断,在上升沿读取数据。

2.5.4帧时序图

VGA显示图像时以一幅图像为一帧,所以其帧时序(也称为场时序)由多个行时序组成,见图30-12。

帧时序与行时序的区别主要是多了一条信号线VSYNC用于表示帧起始信号和帧结束信号。

见图2.5.3。

图2.5.3QVGA帧时序

当VSYNC为低电平时,表明正在传送一幅图像,当VSYNC由低电平变为高电平时,表明一幅图像的数据已经传送完成。

而在VSYNC为低电平期间,我们可以一HREF信号来换行,当HREF由高电平变为低电平时,表明一行数据已经传送完毕,当HREF由低电平变为高电平时,表明新的一行数据开始传输。

信号HSYNC同样可用于行同步,它与HREF有一点区别(HSYNC和HREF共用一个管脚,可以通过软件来配置),由图可知,HREF为高电平时,摄像头输出的数据都是有效的,而HSYNC高电平期间,在后面有一段时间是无意义的,即图中灰色部分。

结合FIFO的特性,我们选用了HREF作为行同步。

OV7670实际输出图像时,不是标准的VGA时序,而可以选择使用QVGA、CIF、QCIF时序(可通过配置OV7670的COM7寄存器选择)。

QVGA意为QuarterVGA,译为VGA的四分之一,即240*320像素,这正好符合野火3.2寸屏的像素大小,所以我们采用QVGA时序。

图30-12中的时QVGA时序,可以看到输出每行像素的时间(HREF高电平的时间)为320Tp,即320个像素点的时间,240*Tline就是指输出240行像素的基本时间。

2.5.5像素输出时序

像素输出时序即每个像素点数据的组织形式和输出方式。

我们选择的是RGB565格式,所以,我们看看该模式下的像素输出时序,见图2.5.4。

图2.5.4

像素值从摄像头数据端口的D2到D9管脚输出,每一个像素由RGB444来表示,共16位,分两次来传输,之后用户组合起来即可。

当用户收到HREF上升沿中断之后,之后开始捕捉到PCLK上升沿是有效的,该时刻读取到的数据即为第一字节有效像素数据。

当收到HREF下降沿时,表明整行像素已经全部输出。

30.4.3.FIFO时序

摄像头采集分辨率我们配置为240*320,每个像素用RGB565表示,即每个像素占用两个字节,因此,整幅图像占用的空间大小为240*320*2,等于153600字节。

摄像头模块中采用的FIFO型号为AL422B,其容量高达384K字节,完全符合我们的空间要求。

AL422B以下几个操作比较重要:

读FIFO,写FIFO,读指针复位,写指针复位等。

2.6摄像头的驱动原理

摄像头模块的OV7670和FIFOAL422B的原理图见图2.5.5和图2.5.6。

图2.5.5OV7670硬件驱动电路图

图2.5.6OV7670与AL422B硬件连接图

从原理图可知,WEN与HREF作为与非门的输入端,而与非门的输出端口连接到FIFO的WE端口,当WEN管脚跟HREF管脚电平都为高电平时,FIFO的WE端口的电平值才为低电平。

因此,如果我

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2