基于V4L2视频采集系统设计与实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于V4L2视频采集系统设计与实现

基于V4L2视频采集系统设计与实现   摘要:论述了一种基于Linux平台的视频采集系统的实现方案。首先介绍了Linux提供的V4L2统一接口,在简述视频采集系统需要实现的功能基础上,设计了视频采集系统的总体结构,并对系统结构中的硬件模块和软件模块进行了详细的分析设计。测试结果表明,该系统结构简单,图像显示正确,设计取得了很好的效果,并在视频监控领域有广泛的应用前景。   关键词:视频采集 ARM V4L2 Linux系统 USB   中图分类号:TP274.2 文献标识码:A 文章编号:1007-9416(2014)11-0153-03   随着科技的进步和社会的发展,视频监控系统已经在各行业得到了广泛的普及。而视频图像需要一套简单的采集模块来进行捕获,所以视频实时采集成为了视频监控系统必不可少的一部分。因此,设计一个功能完善,结构清晰行平稳的采集系统,在视频监控系统中显得非常重要。   本文设计并实现了一种嵌入式USB视频采集系统,该系统基于Linux提供的V4L2接口,通过对Linux内核中视频设备驱动的定制,解决了传统视频监控系统开发中采用硬件采集成本偏高的难题。   1 总体方案设计   嵌入式视频采集系统包括硬件系统和软件系统两部分。本系统以嵌入式处理器为核心,主要采用免费的Linux开源嵌入式系统,实现USB摄像头采集的功能。基于以上设计方案,系统总体框图如图1所示。   系统软件部分主要由Bootloader引导程序,Linux内核,根文件系统和应用软件组成,为系统运行提供可靠的软件环境;系统硬件部分主要基于嵌入式处理器,由各种外围接口及FLASH,SDRAM存储器等构成的硬件平台;摄像头通过USB接口与系统相连,被用来捕获采集视频数据,交由系统进行处理。软件系统和硬件系统的交互协同工作,为整个系统平稳运行提供可靠的支持。   2 系统硬件设计   系统硬件结构图如图2所示。根据系统需求,系统处理器采用三星公司的高性能的S3C2440A处理器,该芯片为16/32位精简指令集处理器,主频最高可达533MHz,其实现了MMU,AMBA总线和哈佛高速缓冲体系,同时其内置有丰富的外设资源,包括4通道DMA,3通道UART,1通道IIC接口等;主要应用于高性能,低功耗的手持设备和普通应用。LCD显示器采用群创的带有触摸屏的真彩LCD屏幕,尺寸为7.0寸,分辨率为800×480。   Flash存储子系统采用三星公司生产的型号为K9F1G08的Nand Flash,其本身不具有地址线,通过自身专门的控制接口与CPU相连,数据总线为8-bit,大小为128M,主要用来存储系统软件运行的必需的数据,其完全可以满足本系统的要求。   SDRAM存储子系统采用型号为HY57V561620FTP/MT48LC16M16A2两片外接32M bytes总共64M bytes的SDRAM芯片,两芯片并接在一起形成32-bit的总线数据宽度,这样有利于提高访问的速度,主要用来存储系统运行时临时产生的数据。   USB摄像头采用中芯微公司生产的摄像头ZC301P,其本身的JPEG解码模块,可简化系统上层软件的设计。现在大部分内核版本支持该摄像头,不用自己编写驱动程序,可直接通过USB与CPU相连,在内核中配置即可实现。   3 系统软件设计   本系统的软件系统主要包括Bootloader引导程序,Linux内核,根文件系统,应用程序等,软件系统架构如图3所示:   Linux系统以其移植性好和优越的网络性能而著称,系统采用Linux操作系统作为基础平台。本系统采用U-boot-1.1.6作为引导程序,Linux内核采用Linux-2.6.30版本,文件系统采用yaffs2文件系统,在此基础上对内核进行裁剪,移植,配置,以支持USB设备,LCD显示器,网络功能等。由于开发环境搭建好后,主要工作在应用程序上,下面将着重介绍视频采集程序和视频显示程序设计与实现。   3.1 基于V4L2视频采集程序设计   V4L2(Video For Linux Two)是内核提供给应用程序访问音、视频驱动的统一接口。它为linux下的视频驱动提供了统一的接口,使得应用程序可以使用统一的API函数操作不同的视频设备,极大地简化了视频系统的开发和维护。   视频采集程序的功能是将采集到的数据传输到处理器模块,对数据进行相应的处理。在在V4L2应用程序接口中,对视频设备参数的获取和设置大部分都通过ioctl()函数,本程序也采用此种方式;V4L2视频采集过程分为打开设备、设置图片格式、分配缓冲区、读取数据、关闭设备等步骤。采集程序设计流程如图4所示:   (1)打开视频设备。在Linux系统中,视频设备被看成为文件,USB

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档