基于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图像。试验表明,该系统具有体积小,稳定性高和快速开发的优点。

继续阅读
解读ATMEL系列MCU在线升级bootloader固件源码及操作过程

在mage和xmage上都实现过bootloader在线升级,不过使用的是RS485,所以固件里面也是RS485的,大家使用RS232的话,把RS485的控制去掉就可以了,RS232实现起来比RS485简单,因为RS232是全双工的。

ATMEL系列MCU在线升级bootloader固件源码及操作过程

前几天出差,无意间问了大家是否需要bootloader实现在线升级,需要的还是比较多,在这里我就把我实现过程与大家分享,并我的bootloader固件给大家参考

嵌入式系统结构与协同性探讨

在设计实验系统模型(图1)时,充分考虑到软硬协同性,使其成为一个实验与研究完备平台。软硬件协同性问题涉及到协同性划分技术和协同性设计技术。协同性核心问题之一将涉及启动加载软件Bootloader、系统板级支持包BSP 以及嵌入式OS 之间融合和移植。协同性设计技术与系统功能、性能以及开发人员等因素相关,其核心内容为软硬件的协同描述、验证和综合提供一种集成环境。

ARM处理器的位置无关程序设计

ARM处理器支持位置无关的程序设计,这种程序加载到存储器的任意地址空间都可以正常运行,其设计方法在嵌入式应用系统开发中具有重要的作用。尤其在裸机状态下开发Bootloader程序及进行内核初始化设计;利用位置无关的程序设计方法还可以在具体应用中用于构建高效率动态链接库,因而了解位置无关的程序设计方法,有助于开发人员设计出结构简单、清晰的应用程序。

基于DSP+ARM的便携式电能质量分析仪设计

电网负荷结构发生了很大的变化,一方面,非线性、冲击性和不平衡负荷的大量增长使得电能质量恶化;另一方面,随着信息技术的发展。越来越多的敏感负载对电能质量的要求也越来越高。这就要求电能质量检测分析设备具有实时检测、快速分析、实时显示的能力。采用高性能数字信号处理器(DSP)和嵌入式计算机系统(ARM)双处理器架构设计电能质量分析仪能满足上述要求。

©2019 Microchip Corporation
facebook google plus twitter linkedin youku weibo rss