基于WinCE的ARM视频监控系统的设计

发布者:科技奇才最新更新时间:2010-09-29 来源: 单片机与嵌入式系统关键字:WinCE  ARM  S3C2410  视频监控  无线传输 手机看文章 扫描二维码
随时随地手机看文章

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

1 系统设计

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

  视频监控系统总体结构框图如图1所示。



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,能够满足局域网内视频传输的要求。本系统通过开发板和主机之间的无线网卡构建无线局域网络,能够实现点对点的无缝连接,用户通过此无线网络可以实现文件传输、视频通信等应用。

  [page]

      开发板端的无线网卡也需要加载驱动才能运行。本系统在定制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  S3C2410  视频监控  无线传输 引用地址:基于WinCE的ARM视频监控系统的设计

上一篇:宝马碾童案成迷局 解读失语的监控录像
下一篇:Moxa主动式以太网I/O大大优化网络视频监控系统

推荐阅读最新更新时间:2024-03-16 10:54

一种“随身眼”家庭网络视频监控方案
一、概述   随着经济的快速发展,人们生活节奏的提高,照顾家庭的时间将越来越少。但现代科技的高速发展可以让远程照顾小孩、家庭宠物等成为一种可能。人们可以在繁忙工作的同时,在远程就能了解自己家庭概况,及时作出分析与判断。网络通讯技术及图像压缩处理技术以及传输技术的快速发展,使得家庭能够采用最新的通讯和图像处理技术,通过网络传输数字图像,可为实现手机家庭监控系统提供高效可行而且价格低廉的解决方案。 二、功能介绍   ◆脱离PC架构   ◆标准IP设备,10/100Mbit以太网口(RK45接口)RS422接口   ◆安装简单快捷,直接接上网线配置有效的网络IP,即可使用   ◆可控制云台,可录像   ◆支持远程手机
[安防电子]
一种“随身眼”家庭网络<font color='red'>视频监控</font>方案
拒绝开发板, 用 SkyEye 就可以模拟 ARM Linux!
对于希望学习 ARM 汇编的同学而言, 购买 ARM 开发板进行板上实测无疑是一个有效的方法,不过购买 ARM 开发板需要一笔费用,而且每次 测试 都需要连接开发板,比较麻烦。这里介绍一个 ARM 模拟器——SkyEye,通过 SkyEye 我们可以直接在一台 PC 上完成 ARM 汇编程序的开发和调试了,摆脱了 ARM 开发板的限制,真是不错! 下面介绍如何使用: 1、下载 SkyEye 的最新版(https://sourceforge.net/projects/skyeye/),本文用的是 skyeye-1.3.4_rc1.tar.gz,同时为了后面的实验,还要下载 testsuite,它是 skyeye 的测试文件,这里
[单片机]
拒绝开发板, 用 SkyEye 就可以模拟 <font color='red'>ARM</font> Linux!
arm 裸板程序编译过程
看过编译原理的人都知道我们一句简单的arm-linux-gcc 到达做了哪些工作。他并不是简单的把我们的原文件编译成我们可执行的二进制文件,在这个过程中他其实至少做了两部工作。 编译 和链接 当然这其中包含了很多关于编译原理的至少,由于本人才疏学浅说以也只能够简单的把他说成编译和链接了。如果需要跟深入的理解请查找相关 编译原理的书籍吧 这里我们先介绍一下常用的GCC命令. 1.arm-linux-gcc -v 查看gcc 版本号 2.arm-linux-nm 查看一个.o文件所需要的库。 3.arm-linux-ld 链接命令 3.arm-linux-gcc 编译命令 4 arm-linux-objdump -h tes
[单片机]
基于三星S3C2410A的无线多床位心电监护仪的设计
  1 引言   随着社会生活节奏加快、人口逐渐老龄化,心血管疾病已经成为同前威胁人类生命的丰要疾病之一,此类疾病往往具有突发性、短暂性和危险性的特点,如果不能及时发现并进行治疗将会产生非常严重的后果。心电图是检查.诊断和预防该类疾病的主要手段和依据,对于心肌梗塞、心律失常等症状,心电监护仪的使用贯穿于治疗、康复的整个过程。由于传统的基于PC机平台的心电躲护仪,价格昂贵,体积庞大,不便于移动且主要集中在大医院,给医牛和病人带来了很大的不便。因此,为了降低成本、缩小体积,本文设计了一种基于ARM9微处理器的新型便携式多床位遥测心电盟护仪。该监护仪采用Samsung公司的一款以ARM920T为控制器内核的16/32位高速处理器S3C
[单片机]
基于三星<font color='red'>S3C2410</font>A的无线多床位心电监护仪的设计
单网络节点在WinCE系统下的程序设计
1. 单网络节点 系统 所谓节点简单而言就是指的具有收发数据功能的电脑或其他设备。一个好的节点既需要选择好的硬件的支持,也需要选择适合的软件控制 ,本文选择S3C6410的Arm11芯片作为节点CPU,选择WindowsCE 6.0作为运行在ARM上的嵌入式操作系统,通过网口,串口,SD卡完成相应的数据通信功能。本文研究的节点硬件结构框图如图1所示。 2.WinCE下网口数据传输程序设计 2.1 网口服务器程序设计 在利用套接字进行网络通信的实际应用中,一般采用的是服务器/客户端 的模式,在本文的设计中,既研究了以PC机作为服务器端,以ARM作为客户端,又研究了以ARM作为服务器端,以PC机作为客户端。本文服务器设计的基本
[电源管理]
单网络节点在<font color='red'>WinCE</font>系统下的程序设计
高效率嵌入式ARM程序开发
在多媒体、通信等计算复杂度高的应用中,为了满足制造费用、功耗、性能以及实时性等诸多限制条件的要求,嵌入式系统程序往往需要特殊设计。这使得设计师在设计面向特定应用的嵌入式软件时,需要有一套切实可行的编程准则。而在实际程序设计中,工程师尤其需要考虑对变量的使用和循环程序的处理。 变量使用 在进行实际程序开发时,变量的使用至关重要,其中使用全局变量比向函数传递参数更加有效,这样免去了函数调用时参数入栈和出栈的需要。当然,使用全局变量会对程序有一些副作用。变量定义的次序会导致最终映像中数据布局的不同,如图1所示。 由此可见,在声明变量时,需要考虑怎样最佳地控制存储器布局。最好的方法是在编程的时候,把所有相同类型的变量放在一起定义。
[单片机]
高效率嵌入式<font color='red'>ARM</font>程序开发
基于ARM11的无线视频监控系统
  1 引言   随着无线网络的普及,ARM 处理器运算的能力不断地增强以及计算机处理图像的技术不断地提高,基于ARM 的视频监控正越来越广泛的应用于学校,社区,酒店,网吧,医疗等各种各样地领域。传统的视频监控系统布线复杂,设备庞大,智能化低,以及软硬件资源得不到充分的发挥。而ARM 嵌入式系统的小型化、占用空间小、成本低廉、结构紧凑、支持无线网络等特点,使得利用S3C6410 的ARM11+linux系统构成各种各样的无线网络数字监控系统具有广泛的应用价值。   2 系统整体设计   2.1 硬件总体设计   本系统采用韩国三星公司ARM11 内核的S3C6410 作为微处理器,该款处理器体积小,尺寸仅相当于一个48mm
[单片机]
基于<font color='red'>ARM</font>11的无线<font color='red'>视频监控</font>系统
基于ARM的双频RFID读写系统设计
  1 引言   RFID(Radio Frequency Identification Technology,无线射频识别技术)由于具有高速移动物体识别、多目标识别和非接触识别等特点,显示出巨大的发展潜力和应用空间,被认为是21 世纪最有发展前途的信息技术之一。射频识别技术虽然有很多优点,但其技术本身也有局限性。对RFID 系统而言,低频系统具有良好的对水、肉体等可导媒介的穿透力,而速度、距离、抗冲突性较差;而高频系统则正好相反。如能结合各种频率系统,用其所长,则可以使RFID 适应多种场合,拓展其应用范围。本文设计的系统正是基于这一出发点,将低频和高频二种频率的RFID 模块组合在一起,构成双频系统,使系统兼具低频可穿透性和
[单片机]
基于<font color='red'>ARM</font>的双频RFID读写系统设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新安防电子文章

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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