基于嵌入式Linux远程图像监控系统的设计(2)
发布时间:2021-06-07
发布时间:2021-06-07
嵌入式linux网络视频监控项目,非常实用,非常经典,值得学习
32计 算 机 与 现 代 化2010年第11期
平台,监控终端硬件由主控模块和扩展模块两部分组成。主控模块采用嵌入式微处理器S3C2440,它是一款基于ARM920T核的16/32位RSIC结构的嵌入式微处理器,主频400MHz,最高可达533MHz,片内外资源丰富,具有强大的处理能力,从硬件上保证了系统快速的响应速度。系统存储扩展了128MB的NANDFLASH,64MB的SDRAM。扩展模块包括通用USB摄像头、DM9000以太网控制器和带触摸屏的NEC3.5英寸TFT真彩液晶屏。主控模块通过USB接口电路、LCD接口电路、以太网接口电路与扩展模块相连接构成整个硬件系统。系统硬件结构如图2
所示。
配置内核编译选项时把UVC驱动编译进内核。UVC不是摄像头的品牌或型号,它是一种视频设备的技术规范,全称为USBVideoClass,这是一个为USB视频设备提供驱动的开源项目。UVC驱动支持V4L2应用编程接口,系统设计中使用的USB摄像头为Top SpeedUSB2.0Camera,UVC驱动提供支持。3.3V4L2图像采集程序的实现
V4L2是VideoForLinuxTwo的简称,是VideoForLinuxAPI的第二版本,是Linux下开发视频设备程序的接口标准,使用分层方法对所有视频设备的驱动和应用编程提供一套完备的接口规范。基于V4L2标准,视频图像采集处理流程如图3所示。
[3]
图2 系统硬件结构框图
3 系统软件设计
3.1系统软件平台
系统软件平台以嵌入式Linux和Qt/Embedded为基础,具体构建步骤为:在宿主机上建立交叉编译环境,完成引导加载程序vivi的编译移植,编译移植linux 2.6.29内核,包括DM9000网卡、通用USB摄像头和LCD触摸屏等驱动的移植,基于busybox 1.13.3构建文件系统。基于系统设计的需求,还要完成QTE 4.5.3图形库与tslib 1.4触摸屏支持库以及libjpeg库向开发板的移植。libjpeg库主要用于实现内存中图像数据的编解码,QTE 4.5.3是面向嵌入式系统的Qt版本,采用了framebuffer作为底层图形接口,采用C++封装,具有丰富的控件资源和良好的可移植性,系统中的应用程序以及环境都是基于Qt/Embedded来开发的。最终形成基于ARM的嵌入式
[1 2]
Linux操作系统平台,在系统软件平台上可进行嵌入式应用程序的开发。限于篇幅,系统软件平台的构建在此只作简单介绍。
3.2嵌入式Linux下USB摄像头驱动
为了使用Linux下V4L2应用编程接口编写图像采集应用程序,在开发板上移植版本为linux 2.6.29
在
图3 视频图像采集处理流程图
3.3.1视频设备结构体初始化
程序中定义一个视频设备的数据结构structvde vice,结构体的成员变量是对视频设备和图像属性的描述。
init_vdata(structvdevice*vdev,
char*dev_name,un
signedintwidth,unsignedintheight,intformat);
通过参数完成对视频设备结构体变量vdev的赋值初始化。视频设备名称dev_name,视频图像宽度width,视频图像高度heigh,t视频图像格式forma,t以及申请分配两个内存缓冲区framebuffer和rgbbuffer,分别为采集到的一帧图像数据缓冲区和24位RGB图像数据缓冲区。3.3.2视频设备初始化
函数i(struct*)
上一篇:2014年石化乙烯行业分析报告
下一篇:主机板维修手册-