摘要:介绍了一种基于嵌入式图像采集与传输的方案,完成了基本的硬件设计和软件开发。硬件方面采用了USB摄像头与S3C2440处理器组成嵌入式图像采集装置,并通过以太网连接宿主机;软件方面分为系统软件的移植和应用软件的开发。系统软件包含ARM平台的BOOTLOADER和嵌入式WinCE系统的定制和移植,以及摄像球驱动的开发;应用软件包括图像采集模块设计和图像传输模块设计。经测试,该系统具有体积小,稳定性高和快速开发的优点。
关键词:图像采集;嵌入式系统;图像传输;WinCE
随着我国科技进步和社会的发展,数字视频图像的采集、存储、处理及传输技术在最近几年得到了广泛的应用和发展,各类图像采集及处理系统已经逐渐深入到人们生活的各个方面。与视频采集卡等传统图像采集系统相比,嵌入式图像采集系统具有体积小、成本低、可靠性高等优点,在智能交通、远距离监控、计算机视觉等领域应用广泛。本文介绍了一种应用ARM微处理芯片和WinCE操作系统的图像采集解决方案。
1 系统总体设计
该设计主要由3大部分组成,USB摄像头通过USB接口与AMR开发板(下位机)相连,PC机(上位机)通过网络接口(网卡)和以太网线与ARM开发板相连。摄像头负责对图像数据的采集,然后将数据传送到运行在WinCE上的服务端程序,服务端程序负责将采集到的图像数据进行处理,然后再将其传送到运行在PC机上客户端程序并显示出来。系统总体框图如图1所示。
2 系统硬件组成
利用ARM9S3C2440A开发板以及一只中星微芯片ZC030x系列的USB摄像头作为硬件环境,在开发板上烧写一个WinCE 5.0的操作系统,并编写一个服务端程序。这个服务端程序运行在WinCE 5.0上,主要完成调用摄像头进行图像采集功能,然后将采集到的图像数据通过以太网传送到PC机上。这就实现了一个基于嵌入式平台的图像采集与传输系统的简单架构。日后可根据实际需要,在这个架构的基础上进行改进以及增加需要的功能。
目前用于摄像头的DSP主要有中国中星微公司的DSP芯片(ZC030X)和美国OV公司的OV511+芯片。在国内市场上,USB摄像头基本上采用中星微公司的DSP芯片,而OVS11+芯片的摄像头则比较难找到。考虑到中星微的市场普及率,本系统采用了ZC030x的DSP芯片。
3 系统软件的开发
3.1 WinCE驱动架构
在WinCE下的驱动开发,需要面向上下2个界面,即:WinCE的驱动结构和具体硬件的Datasheet,所以必须首先深入了解一下WinCE整个系统驱动架构。在WinCE下驱动模型分为本机驱动模型和流接口驱动模型。本机驱动程序用于低级、内置设备,提供一组微软定制的接口,可以通过移植和定制微软提供的驱动样例来实现。
3.2 图像采集模块
图像数据是通过摄像头来采集的,服务端如何调用摄像头已成为问题的关键。硬件与软件之间的联系,必须通过驱动程序来实现。摄像头的驱动已经封装成动态链接库DLL文件了,而且还提供了所有的功能接口函数。因此,只要直接调用其接口函数就能够实现相应的功能。具体的步骤是打开摄像头设备,初始化摄像头设备,初始化视频信息,获取视频帧与JPEG图像,关闭视频设备。其中,获取视频帧与JPEG图像最关键,获取视频帧与JPEG图像的主要代码如下:
3.3 建立与PC操作系统与WinCE系统文件同步
要建立ARM板上的WinCE与PC机上的操作系统同步,必须安装微软提供的同步软件ActiveSync。安装该软件的主要作用是通过USB接口把PC机上编译的应用程序或者驱动文件下载到WinCE上,其界面如图2所示。
4 系统测试
联机总体调试,也就是将应用程序下载到实际ARM开发板中进行测试。通过上文所述步骤,基本上已将测试环境部署好了,接下来还有一些部署工作需要完成。具体步骤如下:
(1)用交叉网线将ARM板的网络接口与PC机的网络接口连接起来。
(2)利用同步软件ActiveSync将驱动文件ZC030x.dll和应用服务端程序下载到WinCE系统。将ZC030x.dll放到Windows文件夹下。
(3)插入USB摄像头,此时操作系统会提示输入检测到的设备驱动名称,然后输入“ZC030x”。
(4)在WinCE上运行服务端程序,运行界面如图3所示。
(5)在PC机上运行客户端程序,成功接收到JPEG图像,运行界面如图4所示。
5 结语
设计了采用USB摄像头与S3C2440处理器组成的嵌入式图像采集系统,经在PC机上运行客户端程序,成功地接收到了JPEG图像。试验表明,该系统具有体积小,稳定性高和快速开发的优点。