基于嵌入式Linux远程图像监控系统的设计.rtf
《基于嵌入式Linux远程图像监控系统的设计.rtf》由会员分享,可在线阅读,更多相关《基于嵌入式Linux远程图像监控系统的设计.rtf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于嵌入式 Linux 远程图像监控系统的设计.txt 这是一个禁忌相继崩溃的时代,没人拦得着你,只有你自己拦着自己,你的禁忌越多成就就越少。自卑有多种档次,最高档次的自卑表现为吹嘘自己干什么都是天才。本文由 wangyong1179 贡献 pdf 文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT,或下载源文件到本机查看。2010 年第 11 期 文章编号:1006 2475(2010)11 0031 04 计 算 机 与 现 代 化 JISUAN JI YU X IAN DA I UA H 总第 183 期 基于嵌入式 L inux 远程图像监控系统的设计 唐人财,刘连浩 (中南大
2、学信息科学与工程学院,湖南 长沙 410083)摘要:系统以嵌入式微处理器 S3C2440和 L inux 为核心 平台,采用 U SB 摄像头作为图像采集设 备,利用 L inux 下视频设备 应用编程接口 V 4L2 和 Q t/Em bedded 实现图像的采集,实时 显示和 JPEG 格式 图片保 存,利 用 libjpeg 库来实 现视频 数据 的编解码以及通过以太网进行远程传输,实现一种功耗低、可靠性高和低成 本的网络图像采集与传输系统设计方案。关键词:L inux 图像采集;Q t/Em bedded V 4L2;S3C2440;中图分类号:T P391 41.文献标识码:A d
3、o:10 3969/.j issn.1006 2475.2010.11.009 i.D esign of R emote I age M on itoring System Based on Em bedded L inux m TANG R en ca,L IU L ian hao i (Institu te of Infor ation Science and Eng ineer ing,C entra l South U niversity Changsha 410083,China)m,Ab stract T he syste uses e:m mbedded m icroproces
4、so r S3C2440 and L inux as the core platfo r T he applica tion prog ramm ing in m.te rface V 4L2 and Q t/Embedded library are tw o key techno log ies to realize i age acqu isition,rea l ti e display and JPEG p icture m m sav ing by using U SB ca era T his design of i age acqu isition and trans issio
5、n is a low powe r consumption,h igh reliab ility and m.m m inexpensive syste m,wh ich ach ieves encod ing o r decod ing of i ages by lib jpeg library and remo te transm ission o f E therne t m.K ey w ords L inux;i age acquisition;Q t/Em bedded V4L 2;S3C2440:m;0 引 言 友好图形操作界面,实现现场图像在终端上的实时显 示和 JPEG 图片
6、的保存。利用 L inux 下 lib jp eg 库编码 压缩图像,通过以太网接口实时传输到视频监控中心 PC 机上,通过接收解码显示现场图像,实现远程视频 图像监控功能。系统总体设计结构如图 1 所示。随着嵌入式技术、多媒体技 术及网络技术 的发 展,基于嵌入式技术、视频压缩编码技术和网络传输 控制技术的综合应用,已成为数字化网络视频采集监 控领域的核心 技术。系统是基于 ARM 9 和 L inux 平 台的远程视频图像监控设计方案,整个系统建立在嵌 入式结构上,实现了高质量的视频图像采集和实时处 理功能。1 系统总体设计 远程视频图像监控系统分为嵌入式视频监控终 端和监控中心 PC 机
7、两部分。嵌入 式视频监控终端 基于嵌入式微处理器 S3C2440 和 L inux 核心平台,采 用通用 USB 摄像头捕捉现场图像,通过 USB 接口将 数据传输到 ARM 开发板上,由开发板上的图像采集 处理模块进行图像数据处理,通过 LCD 触摸屏显示 图 1 系统总体设计框图 2 系统硬件设计 系统选取 m in i2440 开发板作为系统设计的硬件 收稿日期:2010 06 28 作者简介:唐人财(1978),男,海南海口人,中南大学信息科学与工程 学院硕 士研究 生,研 究方向:嵌入 式系统 及应用;刘连 浩(1959),男,湖南 澧县人,教授,博士,研究方向:单片机及嵌入式系统。
8、32 计 算 机 与 现 代 化 2010 年第 11 期 平台,监控终端硬件由主控模块和扩展模块两部分组 成。主控模块采用嵌入式微处理器 S3C2440 它是一,款基于 ARM 920T 核的 16/32 位 RS I 结构的嵌入式微 C 处理器,主频 400 z 最高可达 533 MH,MH z 片内外资源,丰富,具有强大的处理能力,从硬件上保证了系统快速 的响 应 速 度。系 统 存 储 扩 展 了 128 B 的 NAND M FLAS 64 B 的 SDRAM。扩展模块包括通用 USB 摄 H,M 像头、9000 以太网控制器和带触摸屏的 NEC3 5 英 DM.寸 TFT 真彩液晶
9、屏。主控模块通过 USB 接口电路、LCD 接口电路、以太网接口电路与扩展模块相连接构 成整个硬件系统。系统硬件结构如图 2 所示。配置内核编译选项时把 UVC 驱动编译进内核。UVC 不是摄像头的品牌或型号,它是一种视频设备的技术 规范,全称为 U SB V ideo C lass 这是一个为 USB 视频,设备提供驱动的开源项目。UVC 驱动支持 V 4L 2 应 用编程接口,系统设计中使用的 USB 摄像头为 T op Speed U SB 2 0 C a era UVC 驱动提供支持。.m,3 3 V4L2 图像采集程序的实现.V4L2 是 V id eo For L inux Two
10、 的 简称,是 V id eo Fo r L in ux AP I 的第二版本,是 L inux 下开发视频设备 程序的接口标准,使用分层方法对所有视频设备的驱 动和应用编 程提 供一 套完备 的接 口规 范。基于 V4L 2 标准,视频图像采集处理流程如图 3 所示。3 图 2 系统硬件结构框图 3 系统软件设计 3 1 系统软件平台.系统软件 平台以嵌 入式 L inux 和 Q t/Em bedded 为基础,具体构建步骤为:在宿主机上建立交叉编译 环境,完成引导加载程序 v ivi 的编译移植,编译移植 linux 2 6 29 内核,包括 DM 9000 网卡、.通用 USB 摄 像
11、头和 LCD 触摸 屏等驱动 的移植,基于 busybox 1.13.3 构建文件系统。基于系统设计的需求,还要完 成 QTE 4 5 3 图形库与 tslib 1 4 触摸屏支持库以及.lib jp eg 库向开发板的移植。lib jp eg 库主要用于实现 内存中图像数据的编解码,QTE 4 5 3 是面向嵌入式.系统的 Q t 版本,采用了 fram ebuffer 作为底层图形接 口,采用 C+封装,具有丰富的控件资源和良好的可 移植性,系 统中的应 用程序 以及环 境都是 基于 Q t/Em bedded 来开发的。最终形成基于 ARM 的嵌入式 1 2 L inux 操作系统平台,
12、在系统软件平台上可进行嵌 入式应用程序的开发。限于篇幅,系统软件平台的构 建在此只作简单介绍。3 2 嵌入式 L inux 下 USB 摄像头驱动.为了使用 L in ux 下 V4L2 应用编程接口编写图像 采集应用程序,在开发板上移植版本为 linux 2 6 29.的内核,此内核版本支持 UVC 驱动 USB 摄像头,在 图 3 视频图像采集处理流程图 3 3 1 视频设备结构体初始化.程序中定义一个视频设备的数据结构 struct vde vice 结构体的成员变量是对视频设备和图像属性的,描述。init_ vdata(struct vdevice*vdev,char*dev _na
13、e un m,signed int w idth unsigned int he ight int fo r at);,m 通过参数完成对视频设备结构体变量 vdev 的赋 值初始化。视频设备名称 dev_na e 视频图像宽度 m,w idth 视频图像高度 heigh,视频图像格式 for a,以,t m t 及申请分配两个内存缓冲区 fram ebuffer 和 rgbbu ffer,分别为采集到的一帧图像 数据缓冲区和 24 位 RGB 图像数据缓冲区。3 3 2 视频设备初始化.函数 in it_vdev(struct vdev ice*vdev)根据参数 2010 年第 11 期
14、唐人财等:基于嵌入式 L inux 远程图像监控系统的 设计 33 vdev 传递的值对视频设备进行初始化,这是进行视频 图像采集前必须完成的工作。视频设备结构体 vdev 包含了要设置的设备信息,初始化视频设备到适合的 图像采集工作方式。视频设备初始化具体实现如下:(1)打开摄像头设备文件。利用系统调用 函数 vdev fd=open(vdev dev_nam e O_RDWR)实现,该函数的功能是打开参,数 vdev dev_nam e 指定的设备,对于摄像头用设备 文件名/dev/v ideo0 表示,vdev fd 是设备打开后 返回的文件描述符,在程序中可使用它来对设备文件 进行操作
15、。(2)查询设备信息和设置采集属性。在 L inux 编程中,io ct l 函数是设备驱动程序中对 设备的 I/O 进行管理的函数,用户程序一般使用 ioctl 函数来对设备的一些特性进行控制。调用带 V ID I C _ O QUERYCAP命令参数的 io ct l 函 数来取得设备文件的属性参数,并存储于 struct v4l2_ capab ility 结构体变量 vdev cap 中,然后可 逐项验 证 vdev cap 的属性,看设备是否符合采集的要求。ioctl(vdev fd V ID I _QU ERYCAP,&vdev cap);,OC m em 间建立映射,调用带 V
16、I I C _QBUF 命令参数的 DO ioct l 函数将所申请的设备缓存加入等待输入缓存队 列,内存映射初始化完成。3 3 3 采集图像数据.函数 capture(struct vdevice*vdev)完成一帧视 频图像数据采集,采集到的视频图像数据存放到设备 缓存 vdev bu f 中,通过映射的程序内存空间可处理 视频图像,函数调用成功返回视频设备采集的图像数 据大小。在设备缓存加入等待输入队列后,调用带 VIDI C_ O STREAMON 命令参数的 ioctl 函数使能视频设备。type=V 4L2_BU F _TYPE_V IDEO _CA PTURE;ioctl(vde
17、v fd V ID I _STREAM ON,&type);,OC 图像数据缓存采用 F IFO 的方式,缓存队列将已 采集到视频图像数据的设备缓存出队列,此时与之映 射的内存空间就存储了采集到的视频图像数据,处理 完毕重新使设备缓存加入队列。这个过程需要调用 两次 io ctl 函数。ioctl(vdev fd V ID I _DQBUF,&vdev buf);,OC ioctl(vdev fd V ID I _QBUF,&vdev buf);,OC 接着设置视频图像采集格式,可根据需求修改摄 像头缓冲区中图像参数如分辨率、格式等。具体方法 为先给 struct v4 l2 _for at
18、结构体变量 vdev f t 分量 m m 赋新值,再调用 带 V ID I C _S _FMT 命令参数 的 ioctl O 函数完成采集属性的设置。ioctl(vdev fd V ID I _S_FM T,&vdev fm t);,OC 调用带 VIDIOC_DQBUF 命令参数的 ioct l 函数使 设备缓存出队列,利用系统函数 m em cpy 将所采集的 一帧视频图像数据拷贝的所分配的内存空间 vdev fram ebuffer 以 方 便 后 续 图 像 处 理。然 后 调 用 带 V IDI C _ O QBUF 命令参数的 io ctl 函数把设备缓存重新 加入输入缓存队列,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 嵌入式 Linux 远程 图像 监控 系统 设计
限制150内