随着我国科技进步和社会的发展,数字视频图像的采集、存储、处理及传输技术在最近几年得到了广泛的应用和发展,各类图像采集及处理系统已经逐渐深入到人们生活的各个方面。与视频采集卡等传统图像采集系统相比,嵌入式图像采集系统具有体积小、成本低、可靠性高等优点,在智能交通、远距离监控、计算机视觉等领域应用广泛。本文介绍了一种应用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图像的主要代码如下:
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉