基于嵌入式Linux远程图像监控系统的设计_百度文库.

  • 格式:doc
  • 大小:35.00 KB
  • 文档页数:12

本文由 wangyong1179贡献pdf文档可能在 WAP 端浏览体验不佳。

建议您优先选择 TXT ,或下载源文件到本机查看。

2010年第 11期文章编号 : 1006 2475( 2010 11 0031 04计算机与现代化 JISUAN JI YU X IAN DA I UA H总第 183期基于嵌入式 L inux远程图像监控系统的设计唐人财 , 刘连浩(中南大学信息科学与工程学院 , 湖南长沙 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 do: 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 icroprocesso 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 ission 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 jpeglibrary 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图片的保存。

利用 L inux 下 lib jp eg库编码压缩图像 , 通过以太网接口实时传输到视频监控中心PC机上 , 通过接收解码显示现场图像 , 实现远程视频图像监控功能。

系统总体设计结构如图 1所示。

随着嵌入式技术、多媒体技术及网络技术的发展 , 基于嵌入式技术、视频压缩编码技术和网络传输控制技术的综合应用 , 已成为数字化网络视频采集监控领域的核心技术。

系统是基于 ARM 9和 L inux 平台的远程视频图像监控设计方案 , 整个系统建立在嵌入式结构上 , 实现了高质量的视频图像采集和实时处理功能。

1 系统总体设计远程视频图像监控系统分为嵌入式视频监控终端和监控中心 PC 机两部分。

嵌入式视频监控终端基于嵌入式微处理器 S3C2440和 L inux 核心平台 , 采用通用USB 摄像头捕捉现场图像 , 通过 USB 接口将数据传输到 ARM 开发板上 , 由开发板上的图像采集处理模块进行图像数据处理 , 通过 LCD 触摸屏显示图 1 系统总体设计框图2 系统硬件设计系统选取 m in i2440开发板作为系统设计的硬件收稿日期 : 2010 06 28 作者简介 : 唐人财 ( 1978 , 男 , 海南海口人 , 中南大学信息科学与工程学院硕士研究生 , 研究方向 : 嵌入式系统及应用 ; 刘连浩 ( 1959 , 男 ,湖南澧县人 , 教授 , 博士 , 研究方向 : 单片机及嵌入式系统。

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 真彩液晶屏。

主控模块通过 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 3V4L2图像采集程序的实现 . V4L2 是 V id eo For L inux Two 的简称 , 是 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 摄像头和LCD 触摸屏等驱动的移植 , 基于 busybox 1 . 13. 3构建文件系统。

基于系统设计的需求 , 还要完成 QTE45 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 操作系统平台 , 在系统软件平台上可进行嵌入式应用程序的开发。

限于篇幅 , 系统软件平台的构建在此只作简单介绍。

3 2 嵌入式 L inux 下 USB 摄像头驱动 . 为了使用L in ux 下 V4L2应用编程接口编写图像采集应用程序 , 在开发板上移植版本为linux 26 29 . . 的内核 , 此内核版本支持 UVC 驱动 USB 摄像头 , 在图 3 视频图像采集处理流程图3 3 1 视频设备结构体初始化 . . 程序中定义一个视频设备的数据结构 struct vde vice 结构体的成员变量是对视频设备和图像属性的 , 描述。

init_ vdata ( struct vdevice * vdev , char * dev _na 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 视频设备初始化 . . 函数 init_vdev ( struct vdev ice * vdev 根据参数2010年第 11期唐人财等 : 基于嵌入式 L inux远程图像监控系统的设计33vdev传递的值对视频设备进行初始化 , 这是进行视频图像采集前必须完成的工作。

视频设备结构体 vdev 包含了要设置的设备信息 , 初始化视频设备到适合的图像采集工作方式。

视频设备初始化具体实现如下 : ( 1 打开摄像头设备文件。

利用系统调用函数 vdev > fd = open ( vdev > dev_nam e O_RDWR 实现 , 该函数的功能是打开参 , 数 vdev > dev_nam e 指定的设备 , 对于摄像头用设备文件名 /dev /v ideo0 表示 , vdev > fd 是设备打开后返回的文件描述符 , 在程序中可使用它来对设备文件进行操作。

( 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的属性 , 看设备是否符合采集的要求。