基于S3C2410的嵌入式网络视频监控系统的设计.docx

基于S3C2410的嵌入式网络视频监控系统的设计.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

??

?

??

基于S3C2410的嵌入式网络视频监控系统的设计

?

??

?

?

?

?

?

?

?

???

?

?

?

?

?

王刚肖娟刘华艳

摘要基于GX-ARM9-2410EP开发板完整地建立了一个嵌入式Linux网络视频监控系统。介绍了该嵌入式系统的软硬件设计思想和体系架构,详述了嵌入式Linux下USB接口摄像头驱动的实现、利用Video4LinuxAPI函数实现视频采集以及网络通信的具体实现过程和方法。

【关键词】LinuxVideo4LinuxS3C2410嵌入式系统网络视频监控

1引言

随着计算机多媒体应用技术及网络技术的发展,在政府、教育、银行、医疗、商场监控、城市交通管理等方面,视频监控系统的市场需求量大幅度的上升。嵌入式网络视频监控系统具有监控设备体积小巧、性能稳定、通讯便利、利用网络进行传输等显著优点。设计一种简便、廉价、新型的基于嵌入式系统的网络视频监控系统具有很大的工程实际意义。

本文针对网络视频监控设备的实际应用需求,结合图像采集、压缩编码、嵌入式系统和网络技术等几方面的技术,设计了一套嵌入式网络视频监控系统。该系统基于S3C2410的ARM920T芯片和嵌入式Linux操作系统,采用USB摄像头捕捉视频,系统直接与网络相连,用户使用标准的网络浏览器即可查看远程视频图像。

2系统硬件设计

在本系统的设计中,硬件结构包括图像采集模块和视频服务器模块。视频采集部分主要完成数据的采集,系统通过前端USB摄像头采集图像,然后进行压缩,并把压缩的图像进行存储。视频服务器部分主要完成服务器的功能,通过嵌入式ARM和物理层芯片来实现。硬件结构框图如图1所示。

图像采集过程通过USB接口完成。其处理流程如下:COMS传感器摄像头采集数字图像数据,通过USB接口将图像数据传送到微处理器,操作系统通过应用程序对图像数据进行JPEG压缩。

在网络服务模块的设计中,以基于ARM9内核的微处理器S3C2410芯片为系统的控制核心。通过USB接口从图像采集模块中接受图像信号并进行压缩为JPEG图像后从网络接口中传出。

3系统软件设计

软件设计部分主要有:嵌入式Linux操作系统的裁剪与移植、视频图像采集模块、图像数据JPEG编码压缩模块、网络数据传输模块四部分。

本设计使用移植的嵌入式Linux2.4作为操作系统。Linux操作系统内核稳定,兼容多种硬件平台,且其源代码完全开放,内核可根据用户的不同需求进行剪裁,操作方便,内核本身就包含TCP/IP网络协议。Linux具有丰富的内核配置功能,可以进行剪裁shell和嵌入式C库,能够将开发的应用代码嵌入到存储器中。针对嵌入式系统的设备,其驱动程序可以实现静态或动态模块加载,调试、操作简便。Linux相关的剪裁与移植技术,本文不再作详细的介绍。以下主要介绍USB接口摄像设备驱动程序、基于Video4Linux设计的视频图像采集模块、视频图像采集流程和基于B/S模式的网络数据传输模块的设计。

3.1USB接口摄像设备驱动程序的设计

Linux中的设备驱动程序是外围设备与Linux底层核心之间的接口。上层的应用程序不需要去了解底层的硬件[本文来自于www.zz-N]是如何工作的,只需要通过设备驱动程序这个接口来操作外围设备,如同操作普通的文件一样。驱动程序是通过调用标准的系统接口函数来实现对外围硬件设备的使用,包括对外围设备相关的开启、结束、读写和I/O控制等操作。Video4Linux(V4L)是Linux中关于视频捕捉卡、TV卡和USB摄像头等视频设备的内核驱动,是Linux下用于获取视频和音频数据的API接口函数。USB接口摄像设备的驱动程序中需要提供基本的输入/输出操作接口函数的实现,包括打开(open)、读操作(read)、写操作(write)、关闭(close)四个函数。Linux底层核心通过file_operations数据结构访问设备驱动程序提供的输入/输出接口函数来实现顶层应用程序对外围设备的调用操作。

本设计使用的是Zc301p芯片USB接口摄像头。该设备的驱动程序是开源的,可以网站上自由下载使用。但是需要针对具体使用的嵌入式设备平台,重新设置包括设备处理器的型号、交叉编译的环境等,然后再重新编译生成后缀为.o的驱动模块文件。再在需要启动USB摄像设备时,使用加载命令insmode动态加载驱动模块。加载成功后,Linux系统就会在系统目录下成功注册USB视频设备/dev/video0。这样USB接口的视频摄像头就可以正常使用了。

3.2基于V4L设计的视频采集模块

在Linux系统中,外围设备是被标识成特有的设备文件。系统底层的内核与上层的应用程序之间的接口是

您可能关注的文档

文档评论(0)

150****5008 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档