基于WinCE的ARM视频监控系统

发布者:caoxians4589最新更新时间:2012-03-31 来源: 单片机与嵌入式系统应用 关键字:WinCE  ARM  视频监控 手机看文章 扫描二维码
随时随地手机看文章

    数字视频监控系统是以计算机或嵌入式系统为中心、视频处理技术为基础,是符合图像数据压缩的国际标准。综合利用图像传感器、计算机网络、自动控制和人工智能等技术的一种新型监控系统。由于数字视频监控系统对视频图像进行了数字化,所以与传统的模拟监控系统相比,数字监控具有许多优点。数字化的视频系统可以充分利用计算机的快速处理能力,对其进行压缩、分析、存储和显示。数字化视频处理技术提高了图像的质量与监控效率,使系统易于管理和维护。整个系统是模块化结构,体积小,易于安装、使用和维护。正是由于数字视频监控技术具有传统模拟监控技术无法比拟的优点,而且符合当前信息社会中数字化、网络化和智能化的发展趋势,所以数字视频监控技术正在逐步取代模拟监控技术,广泛应用于各行各业。嵌入式系统以体积小、实时性强、性价比高、稳定性好等特点在社会的各个领域中得到了广泛应用。笔者设计的一种嵌入式系统,以WinCE操作系统和ARM硬件平台为核心实现了对现场的实时监控,并通过无线网络把视频图像传输到主机端,以实现分析、存储和显示等功能。


1 系统设计
    本系统主要由操作系统定制、视频图像采集、视频图像无线传输三部分组成。系统的核心芯片选用基于ARM920T内核的S3C2410嵌入式微处理器,软件环境选用Microsoft Windows CE操作系统。系统首先通过USB摄像头采集现场实时视频信息,并对其进行压缩。然后,使用两块无线网卡在ARM开发板与上位机之间构建一个无线局域网络,从而将压缩的视频数据传输到主机端,终端用户即可在主机端通过流媒体播放程序查看远程视频影像。
    视频监控系统总体结构框图如图l所示。

2 操作系统的定制
    系统硬件平台的核心芯片选用了S3C2410处理器,最高频率可达203 MHz。S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用O.18μm制造工艺的32位微控制器。该处理器具有较高的集成度,简化了应用系统的硬件设计,提高了系统的可靠性。开发扳上还扩展了4MB的NOR Flash、64 MB的NAND Flash和64 MB的DRAM。
    系统选用了Microsoft Willdows CE(简称“WinCE”)操作系统。WinCE是一个紧凑的、高效且可扩展的32位操作系统,适用于各种嵌入式系统和产品。它拥有多线程、多任务和确定性的实时、完全抢占式优先级的操作系统环境,专门面向只有有限资源的硬件系统;同时,它的模块化设计方式使得系统开发人员和应用开发人员能够为多种多样的产品来定制它,可以选择、组合和配置WinCE的模块和组件来创建用户版的操作系统。
    在WinCE产品开发中,主要有内核定制和应用程序开发两项非常重要的工作。微软在两方面都提供了良好的开发工具,即内核定制工具Platform Builder(简称“PB”)和应用程序开发工具Embedded Visual C++(简称“EVC”)。
    在系统定制过程中,各部分的关系如图2所示。

[page]

3 视频图像采集
3.1 摄像头驱动
    图像采集模块的硬件资源选用了当前市面上应用最广泛的USB接口的中星微摄像头。该款摄像头造价低廉,成像效果好,用于本系统中体现出了较高的性价比。系统在进行视频采集前,首先要检测设定视频源。系统启动后,WinCE操作系统会自动检测摄像头是否连接好。本系统在定制WinCE操作系统时,通过修改操作系统配置和注册表。可以使系统自动加载摄像头在WinCE下的驱动程序ZC030x.dll。
    系统自动加载驱动程序时,首先要将驱动程序复制到\WINDOWS文件夹下,然后向注册表中写入摄像头的驱动信息:


    其中,prefix为设备文件名,D11为驱动的文件名,Order为设备文件名索引。硬件配置完成后启动操作系统,就可以自动加载驱动,运行应用程序进行图像采集了。
3.2 图像采集程序
    中星微摄像头采用了中星微301PLUS快速主控芯片。该芯片是一款高性能图像压缩芯片,输出MIPEG视频流数据。MIPEG(Motion JPEG)主要是基于静态视频压缩发展起来的技术,特点是基本不考虑视频流中不同帧之间的变化,只单独对某一帧进行压缩,通常可达到6:1的压缩率。它的误差稳定性非常好,可以获取清晰度很高的视频图像,而且还可以灵活设置各路视频清晰度,压缩帧数。
    本系统直接从摄像头驱动中获取MJPEG视频流数据,图像采集流程如图3所示。
    图像采集模块用到的主要函数有:
    capInitCamera()用来初始化视频设备,并获取当前可用的视频设备数目。
    capSetVideoFormat()设置视频格式和分辨率。本系统使用的视频格式为RGB24,分辨率为320×240像素。
    capGrabFrsme()从驱动中抓取1帧图像,并存储在缓存lpFrameBuffer中。
    capGetLastJpeg() 将抓取的MJPEG格式的图像转换成JPEG格式,送到无线发送模块。
    capCloseCamera() 关闭视频设备。
    视频采集部分还有查询视频采集格式、设置明暗度、设置对比度等相关函数,不再详述。

4 视频传输部分
4.1 配置无线网卡
    图像传输模块主要是通过USB接口的无线网卡来实现的。该无线网卡可与S3C2410集成的USB主机接口直接相连,工作在2.4 GHz的ISM频段,采用直接序列扩频通信方式,遵从802.11g协议,传输速度可达54Mbps,室内有效距离为100 m,能够满足局域网内视频传输的要求。本系统通过开发板和主机之间的无线网卡构建无线局域网络,能够实现点对点的无缝连接,用户通过此无线网络可以实现文件传输、视频通信等应用。
    开发板端的无线网卡也需要加载驱动才能运行。本系统在定制WinCE操作系统时,首先将无线网卡的驱动程序复制到\WINDOWS文件夹下,然后向注册表中写入无线网卡的驱动信息。WinCE操作系统启动后会自动检测无线网卡是否连接好,并加载驱动程序,此时,就可以通过应用程序调用此无线网卡了。在无线传输时,注意要把开发板和主机设置在同一IP网段。
4.2 传输视频数据
    实时传输协议RTP(Real time Transport Protocol)是一种实时流式传输协议,能够保证媒体信号带宽与当前网络状况相匹配,在一对一(umcast,单播)或者一对多 (multicast,多播)的网络环境中实现流媒体数据的实时传输。RTP通常使用UDP来进行多媒体数据的传输。整个RTP协议由两个密切相关的部分组成:RTP数据协议和RTCP控制协议。
    针对系统数据的收发要求,采用了开源代码JRT-PLIB提供的RTP协议栈。JRTPLIB是一个面向对象的RTP库,完全遵循RFC1889设计。开发人员只要初步了解RTP协议就可以开发出高质量的音/视频传输程序。把它移植到EVC上,稍作修改就可以应用在WinCE操作系统的ARM开发板上了。
4.2.1 建立RTP的数据发送和接收
    JRTPLIB 提供的RTPSession类可以实现RTP的数据发送和接收。RTP数据发送和接收的初始化步骤基本相同。首先设置时间戳、最大的RTP包尺寸、数据超时等会话参数,然后设置基端口(注意这个端口必须是偶数,默认值为5000)。在设置好这些参数之后,就可以使用RTPSession的Create方法建立RTP数据接收和发送了。
    数据发送端使用RTPIPv4Address(intIP,PORT_DATA)建立一个新的地址,再使用AddDestination将这个地址增加到发送的地址列表中。然后,调用SendPacket函数发送RTP数据。
    rtpSessiorl. SendPacket(sendBuf,length,26,true,0UL);
    在数据接收端建立RTP会话并且增加了目标地址后,就可以从目标地址接收数据了。此时将调用OnRtpPacket函数接收RTP数据,在这个函数里取得装载数据并使用。在OnRTPPacket函数中,调用函数zc030x_OutPicture(&m_pDlg->frame),对接收到的数据进行解码。最后,调用函数StretchDIBits(),在当前窗口中显示视频图像。
void RTPAppSession::OnRTPPacket (RTPPacket *
pack,const RTPTime & receivetime,const RTPAddress
*senderaddress)
4.2.2 RTP的控制协议——RTCP
    RTCP(Real-time Transport Control Protocol)和RTP一起提供流量控制和拥塞控制服务。在RTP会话期间,各参与者周期性地传送RTCP包。RTCP包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,服务器可以利用这砦信息动态地改变传输速率,甚至改变有效载荷类型。RTP和RTCP配合使用,以有效的反馈和最小的开销使传输效率达到最佳效果。
    JRTPLIB是一个高度封装的RTP库,调用PollData()或者SendPacket()方法后,JRTPLIB能够自动对到达的RTCP数据报进行处理,并在需要时发送RTCP数据报,从而确保整个RTP会话过程的正确性。在RTP数据收发中,也可以通过调用RTPSession类提供的方法选择当前RTP会话需要发送的控制信息,并对控制信息进行设置。

结语
    本系统基于S3C2410平台和WinCE操作系统,通过USB摄像头采集现场实时视频信息,并对其进行压缩。然后,用两块无线网卡在开发板与上位机之间构建无线局域网络,使用实时流式传输方式实现了视频数据的无线传输。整个系统具有稳定可靠、安装简便、成本低廉等特点,可以应用在远程监控、工业控制、视频会议、可视电活等诸多领域。

关键字:WinCE  ARM  视频监控 引用地址:基于WinCE的ARM视频监控系统

上一篇:基于ARM设计的多生理参数嵌入式监护系统
下一篇:基于PowerPC的微型BootLoader在Linux中的应用

推荐阅读最新更新时间:2024-03-16 12:56

ARM和LINUX系统下嵌入式USB主机的设计
1 引言 通用串行总线(Universal Serial Bus,即USB)是一种新型的高速串行总线,作为一种快速、灵活的总线接口,已经在电子产品中广泛应用。同时人们对USB的期望也越来越高,希望USB能应用在各种计算机领域中。但是,由于USB通信模型是一种Host/Slave主从式结构,经由USB总线进行通信的双方必须有一方在通信控制中担当主机,而两个USB设备之间则无法直接进行基于USB的数据交换。这就大大限制了USB在嵌入式设备中的应用。 ARM( Advanced RISC Machine)作为一种低功耗、高性能的32位嵌入式微处理器,在中高端嵌入式设备开发中有着广泛的应用。有些ARM芯片的生产厂商在以ARM为内核的微
[单片机]
<font color='red'>ARM</font>和LINUX系统下嵌入式USB主机的设计
Arm大陆出货10年增长百倍 CEO:看好物联网爆发式增长
Arm最近把过去的“ARM”改成“arm”,企业标志改版了,看起来更灵活弹性。因为5G与物联网(IoT),Arm持续投入研发,也将过去占据手机95%以上市场的实力,持续转移到新兴的物联网领域。尤其,面对竞争对手英特尔(Intel)在大陆加强布局,日前Arm也宣布在大陆设立合资公司,将让大陆有机会参与决定下一代芯片技术的架构、规格和标准。 Arm CEO Simon Segars近日接受大陆媒体专访时表示,被软银(SoftBank)收购后,Arm加大内部研发投入,加速物联网业务布局。目前物联网普及力道低于预期,仅完成约20%;同时物联网应用不只局限在智能家庭;Arm在大陆设立合资公司,即欲加快大陆市场布局。 Simon Se
[半导体设计/制造]
基于ARM44B0x的信号发射机控制器设计与实现
1.前言 船舶上使用的信号发射机是连续工作的,所以需要一个控制器对发射机的工作状态进行监控,常见的是用单片机作控制器的内核,但由于32位微处理器具有更好的精度和可靠性且低成本低功耗,所以在工业控制领域的应用日益广泛。采用嵌入式的32位微处理ARMS3C44B0x作为控制器的内核,设计的控制器将比用单片机作内核的处理器具有更全面的功能和更好的使用性能。 发射机控制器的主要功能是对多路模拟量和开关量的数据采集和处理监控发射机的工作状态;控制器控制发射机同时控制器又受上位机的控制,它要能在任意时刻准备好接收从上位机串口、网口发来的数据,它们之间的相对关系如图: 图1 控制器系统结构图 上位机向控制器发送数据从而实现对控
[单片机]
基于<font color='red'>ARM</font>44B0x的信号发射机控制器设计与实现
ARM基础知识七
简介:ARM编译器支持的数据类型 ************************************************************* ARM编译器支持的数据类型 ************************************************************ 数据类型 长度(位) 对齐特性 Char 8 1(字节对齐) short 16 2(百字对齐) Int 32 4(字对齐) Long 32 4(字对齐) Longlong 64 4(字对齐) Float 32 4(字对齐) Double 64 4(字对齐) Long double 64 4
[单片机]
三位专家解读英伟达-Arm收购案
日前,英伟达公司宣布以400亿美元收购英国IP供应商Arm,2016年,软银宣布以320亿美元收购了Arm。 基于Arm的处理器几乎应用于全球每一款智能手机,包括苹果、高通、三星、华为和联发科等。虽然Arm的CPU架构是最常见的授权架构,但该公司也提供GPU、AI协处理器和其他可授权组件。智能手机制造商利用这些IP,设计自己的芯片。 DesignNews邀请到三位芯片设计领域的专家,Walden(Wally)C.Rhines,西门子Mentor的名誉首席执行官兼总裁兼首席执行官以及Cornami公司CEO;Chris Rowen,Babble Labs首席执行官、Tensilica前CEO;以及Semico Researc
[半导体设计/制造]
ARM中国闹剧:英伟达400亿收购交易的主要阻碍
据报道,英伟达计划以400亿美元收购英国芯片设计公司Arm。但这笔交易在中国面临着新的难题。据报道,Arm的中国合资公司首席执行官吴雄昂(Allen Wu)持有该合资公司17%的股份。根据公司注册文件,吴雄昂于去年11月接手了一家关键投资公司,目前控制着Arm中国六分之四的股东。 吴雄昂控制的两家公司已在深圳提起诉讼,指控Arm和其在合资公司的主要合伙人(私募股权公司厚朴投资)在6月份将其非法免职。目前,吴雄昂仍管理着Arm中国的日常运营工作,并掌管着该公司的印章,对公司业务仍具有合法控制权。这也使得吴雄昂成为英伟达收购交易的一个主要障碍。 一名熟悉Arm中国董事会的知情人士说,他认为这笔交易的成功率只有50%。另外两名知情人士透
[手机便携]
μC/OS-Ⅱ在ARM系列单片机S3C44B0x上的移植
引 言 目前,嵌入式系统在工业控制、家用电器、移动通信、PDA等各种领域得到了越来越广泛的应用。由于用户对嵌入式产品的性能要求越来越高,程序设计也变得越来越复杂,这就需要一个通用的嵌入式实时操作系统来对其进行管理和控制。对移植了操作系统的嵌入式系统进行设计和开发,可以大大减小程序员的负担,对于不同的应用可以按照相同的步骤来完成系统的设计。 μC/OS-Ⅱ是一种简单高效、源代码公开的嵌入式实时操作系统,具有良好的可扩展性和可移植性,被广泛的应用到各种嵌人式处理器上。μCOS-Ⅱ操作系统拥有可固化,可裁剪,可剥夺性的实时内核,可同时管理64个系统任务。利用移植μCOS-Ⅱ操作系统的嵌入式微处理器来设计和开发产品,对于提高产品的
[单片机]
μC/OS-Ⅱ在<font color='red'>ARM</font>系列单片机S3C44B0x上的移植
基于ARM7的远程智能住宅控制装置的研制
  1 总体方案设计   如图l所示。智能家电控制系统由家庭智能控制模块、家庭内部网络系统、以及GPRS模块等几部分构成。   (1)家庭智能控制器:该部分是系统的核心。采用嵌入式系统设计,能够自动运行、处理数据,通过RS485总线管理和控制家庭系统。并且控制器通过GPRS模块,实现家庭系统与外部网络的通讯,使用户可以通过短信和互联网等方式实现家庭系统的远程控制,同时,控制器还通过键盘和显示屏为用户提供人机界面,方便用户实现本地控制。   (2)家庭系统:家庭系统通过单片机组成若干小的控制系统控制各家用设备,并通过统一的控制总线将这些小的控制系统组成网络,连接到家庭智能控制器,受家庭智能控制器控制。   家庭智能控制器系统
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved