- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- 基于TPACK视域英语教师专业发展研究.doc
- 基于TPACK理论框架学生三重表征构建.doc
- 基于TPB修正模型微信朋友圈广告接受意愿研究.doc
- 基于TPACK视角分析高中物理翻转课堂模式构建.doc
- 基于TPB框架农户认知对农地转出意愿影响.doc
- 基于TPB模型校园足球发展研究.doc
- 基于TPB理论旅客乘机安全行为研究.doc
- 基于TPEG数据业务图片播放系统设计.doc
- 基于TPl6.0系统平台构建老唱片特色数据库实践探索.doc
- 基于TPL大规模定制企业物流集成化运作探讨.doc
- 2025年航空航天器部件寿命检测柔性传感智能穿戴设备创新实践.docx
- 2025年航空航天器电气性能监测柔性传感智能穿戴设备创新实践.docx
- 2025年航空航天器控制系统监测柔性传感智能穿戴设备创新实践.docx
- 2025年航空航天氢能产业的产业链协同与区域发展战略报告.docx
- The IT Crowd: The Internet Is Coming《IT狂人特别篇(2013)》完整中英文对照剧本.docx
- 2025年航空氢能产业链上下游企业竞争格局分析报告.docx
- 2026年浙江经贸职业技术学院单招综合素质考试题库汇编.docx
- 2025年航空航天氢能产业链上下游合作模式研究报告.docx
- 2025年航空航天氢能产业政策支持与市场发展研究报告.docx
- 2025年航空航天氢能产业政策与市场趋势分析报告.docx
文档评论(0)