基于ARM的远程无线视频监控终端设计

发布者:陈熙琼最新更新时间:2011-05-29 来源: 电子设计工程关键字:ARM  远程无线视频监控 手机看文章 扫描二维码
随时随地手机看文章

    目前在视频监控系统领域中,有线视频监控系统较为普遍,然而其有效距离短、成本高,仅适用于小范围的区域监控,而对于一些特殊的监控场合,如油田采油现场、远程环境采样、灾害或突发事件现场等,由于监控点的分布范围比较广,难以架设线缆,因此有线视频监控受固有物理布线的限制无法实现。但远程无线视频监控却不受限制,可以摆脱线缆的束缚,具有安装周期短、维护方便、扩容能力强等优点。同时随着计算机技术和通信技术的发展,将嵌入式系统技术、无线通信技术和基于TCP/IP的Internet技术结合在一起的嵌入式远程无线视频监视系统已成为可能。

    监控系统大多都符合“控制中心一监控终端”的构建模式。控制中心负责收集各监控终端上传的监控信息,发送各种操作命令,控制监控终端。监控终端置于远离控制中心的各监控点,负责信息采集、传输和响应控制中心发出的控制命令。由于监控终端对信息数据处理的能力和精度将影响整个系统的最终性能。ARM微处理器是一款高速、高性能的嵌入式处理器,适合加入操作系统,完成代P/IP协议,USB通信等复杂功能;速度快,存储空间大,适用于视频处理;具有很强的控制和事物调度能力,适用于那些既有数据处理又有大量事务需要处理的场合。因此,提出了一种基于ARM的监控终端设计方案。

1 监控终端的硬件设计
   
监控终端的硬件设计主要由3部分组成,1)由视频解码器和视频编码压缩器组成的视频采集处理模块;2)以ARM微处理器、存储器等组成的中央管理控制模块;3)以GPRS为主的无线传输模块。现场信息通过摄像头进入SAA7111A进行A/D转换,将模拟视频信息变成数字信息,然后再经过IME6400进行MPEG-4编码压缩,压缩后的数据进入嵌入式处理器S3C2440,最后S3C2440将压缩数据通过GPRS发送出去。其中ARM微处理器控制整个监控终端。ARM微处理器采用16/32位RISC嵌入式处理器S3C2440。它利用ARM920T内核为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决方案。监控终端的硬件结构框图如图1所示。


1.1 视频采集处理模块
  
视频采集处理模块主要由视频A/D转换解码器SAA7111A和视频编码压缩器IME6400组成。SAA7111A是一种增强型视频输入处理器,它集A/D转换与解码功能于一身。现场视频信息通过摄像头从SAA7111A的4个模拟输入端AI11、AI12、AI21、AI22的某一引脚引入。经A/D转换后,产生的Y和UV信号经格式化后从VPO[15:0]引脚输出。SAA7111A的所有功能均是在I2C总线控制下完成的,嵌入式微处理器S3C2440通过I2C总线对SAA7111A内部的32个寄存器进行配置。SAA7111A内部功能原理如图2所示。


    IME64400支持MPEG-1、MPEG-2和MPEG-4 3种格式的视频压缩编码标准;其图像大小可以编程设定,最大尺寸可达2 048x2 048;码率支持固定和可变码率压缩,并且支持动态检测。IME6400将SAA7111A数字化后的视频数据送入到IME6400内部进行MPEG-4压缩编码,编码后的数据流经SDRAM进行缓存,然后流经1 KB的FIFO缓冲区用来满足编码数据的快速传递,当FIFO溢出时,其GPI00引脚将产生一个下降沿的中断通知主控芯片读取FIFO中的数据。S3C2440通过数据线与IME6400的主机接口相连并对其内部的一系列的寄存器进行设置,IME6400的内部功能框图如图3所示。

[page]


1.2 中央管理控制模块
   
中央管理控制模块是以嵌入式ARM微处理器为核心,实现视频图像信号的采集与压缩管理、视频图像数据的收发,以及控制信号的解释执行等。该中央管理控制模块包括:电源和复位电路、系统时钟电路、Flash存储器接口电路、SDRAM接口电路、JTAG接口电路、串行接口电路等。
1.3 无线传输模块
   
无线传输模块采用GPRS Modem传输压缩后的视频图像数据,GPRS Modem中的MC55无线模块闱具有3频段,适用于欧洲和亚洲的频段:90 0,1 800和1 900 MHz,其3种频段的切换可由AT指令控制。MC55模块是系统的无线网络接口,具有GPRS class-10多时隙功能,class-B操作模式,支持增强型AT命令集,模块自带TCP/IP协议栈。嵌入式微处理器S3C2440通过串口与GPRS Modem提供的串口相连,所有数据都通过串口实现交换。嵌入式微处理器S3C2440与GPRS Modem连接的电路原理图如图4所示。



2 监控终端的软件设计
   
监控终端的软件设计是基于嵌入式Linux操作系统的,其模块框图如图5所示。


    1)在监控终端硬件基础上搭建一个软件平台即操作系统层,搭建的软件开发平台需要完成系统启动代码的设计(U-BOOT的修改与移植)、嵌入式Linux操作系统内核的移植以及设备驱动程序的开发等。系统启动代码即Bootloader是在操作系统内核之前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。通过对U-Boot-1.3.3的修改和移植完成系统启动代码的设计。监控终端软件的核心是嵌入式Linux操作系统,一切功能的实现都基于Linux操作系统完成的。嵌入式Linux操作系统内核采用Linux 2.6.26的内核版本,并对其进行配置,实现操作系统在监控终端硬件平台上的移植。根文件系统是指嵌入式Linux系统启动时所使用的第一个文件系统,在启动内核时需要挂载根文件系统来支持访问外部设备,以及装载和运行内核模块与应用程序,通过BusyBox1.6.1进行配置实现了根文件系统的建立,同时通过Cramfs工具包,制作了Cramfs文件系统。
    嵌入式Linux系统内核通过设备驱动程序与外围设备进行交互,设备驱动程序是一组数据结构和函数,它们通过定义的接口控制一个或多个设备,设计了IME6400驱动程序和MC55驱动程序。将IME6400按照字符设备来处理,编写一个字符设备驱动。字符设备是Linux中最简单的设备,应用程序使用标准的系统调用打开、读取、写和关闭。内核使用file_operations结构访问驱动程序的函数,open()函数用于完成设备打开计数、中断申请和环形缓冲区的初始化工作;release()函数的用法和作用正好与open()函数相反;ioctl()函数用于提供各种各样的硬件控制,即应用程序需要通过ioctl()函数来读取和修改环形缓冲区的标识变量。MC55的设备驱动程序主要包括MC55的file_operations数据结构及MC55的打开、关闭、读、写,MC55的硬件初始化等函数。MC55的打开函数MC55_open()用于实现GPRS设备的打开;关闭函数MC55_close()用于实现GPRS设备的关闭;读函数MC55_read()用于实现数据的读取接收;写函数MC55_write()用于实现数据的发送;I/O初始化程序MC55_ hardware_init()实现对GPRS设备输入、输出端口的初始化;MC55的初始化程序void_initMC55_init()完成对GPRS设备的初始化工作。
    2)在软件平台的基础上,开发系统的应用程序即应用层。借助交叉编译工具,开发视频监控终端上运行的采集、压缩、传输程序。监控终端的应用程序主要包括MPGE4压缩编码模块控制程序和GPRS模块传输数据的程序,同时还要对视频A/D转换器SAA7111A的工作方式进行配置。
    SAA7111A工作方式的配置是微处理器S3C2440通过I2C总线对其内部32个寄存器的配置实现的。SAA7111A初始化设定为:1路模拟视频信号输入(AI11)、自动增益控制、PAL制式、YUV4:2:2的16位数字视频信号输出。由于输入视频信号属于PAL制式,需要把寄存器08H中的FSEL(50、60 Hz场频选择)位设置为0;另外还需要把该寄存器中的HPLL(锁相环使能选择)位设置为O,使HREF(行输出参考)、VREF(场输出参考)信号输出同步;把寄存器11H中的COLO位设置为1。表示Y和C通道同时工作;把11H中的OEHV、OEYC位设置为11,功能是使能芯片的VPO、HS、VS、HREF、VREF这些输出端口。[page]

    MPGE4压缩编码模块控制程序主要由Firmware的下载及其寄存器的设置,以及MPEG4数据的传送组成。Firmware下载程序是一个内部SRMA的写操作循环,下载时首先向Control寄存器写入Ox4000,告知IME6400初始化下载;然后将Firmware看成一个16位的二进制数组,每次向Ba-seAddress0写入下载的目的地址偏移。而且向Data写入要下载的16位数据下载一个16位字,如此循环直到按顺序下载完整个Firmware。IME64 00接收连续的视频图像数据流,也相应地输出连续的压缩视频图像数据流。IME6400工作在异步模式下,FIFO中有NFIFOSIZE(通常是1 024)字节以上的数据之后,将GPI00引脚状态置为低。主控处理器检测到GPI00上的低电平之后,从IME6400读取NFIFOSIZE字节的数据。结束之后向HI用户寄存器USER4中写入一个不同的值,通知IME6400传输结束。IME6400将新的数据继续写入FIFO中。这样一个循环允许嵌入式处理器从IME6400中连续读取连续的数据流。同时使用IME6400的设备驱动程序来完成IME6400接收编码数据,把数据搬运到一个可见的缓冲区中,并协调对数据的处理。
    GPRS模块传输数据的程序主要包括接入GPRS网络程序和Socket通信程序2部分。接入GPRS网络程序主要由pppd程序调用chat会话程序来完成。采用pppd-2.4.3源码包,经过交叉编译后生成pppd、chat、pppdump和pppstats4个可执行文件,最后就可以在嵌入式Linux终端下直接运行ppp-on脚本程序即可实现GPRS拨号接入CMNET中国移动无线网络。监控终端接入中国移动GPRS无线网络后,获得了一个IP,通过使用中国移动的CMNET网关,终端就可以与连入Internet网络的监控中心之间进行数据交换。监控中心与监控终端使用Socket(套接字)通信。套接字Socket的基本模式采用C/S(客户/服务器),远程终端设备工作在客户模式,而Internet网上的监控中心工作在服务器模式。客户端程序基本流程是:创建套接字,绑定套接字到服务器端口上,然后请求连接,最后调用数据收发函数进行数据的传输。在客户端通信程序执行前,服务器端的程序必须完成初始化并开始侦听。基于Socket网络通信的客户端系统流程如图6所示。


    图6中,调用Socket()函数用来实现建立一个Socket,接着发起一个请求,通过调用connect()函数来实现,一旦客户机和服务器套接字建立了连接,双方就可以通过send()和recv()函数的调用来发送和接收数据了。如果想断开连接,调用close()函数释放和套接字相关的系统资源即可。

3 测试结果
   
通过实验测试,一幅分辨率为360x288的视频图像,经无线网络GPRS进行传输,其传输速度可达到约2帧/秒,满足无线视频监控系统要求。

4 结论
   
经过测试分析,基于ARM的远程无线视频监控终端的设计方案具有实时性好、功耗低、工作可靠等优点,适用于移动环境、难于布线的场所和边远地区,具有较好的市场应用前景。

关键字:ARM  远程无线视频监控 引用地址:基于ARM的远程无线视频监控终端设计

上一篇:ARM-Linux嵌入式系统的Boot Loader分析与设计
下一篇:基于ARM的电磁流量计设计

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

高压双电源智能控制系统的研制
0 引 言 随着电力事业的发展,电力质量日益受到人们的重视。供电的连续性是电力质量的一个重要方面,对于某些用电部门,如医院、机场、大型生产线等尤为重要。保证供电连续性的办法是给供电对象提供主、备两路独立的电源,对两路电源都进行实时监控。当一侧电源发生故障时,能根据设定的切换程序准确完成向另一侧电源的切换,以最大限度地保证供电的连续性。现在的新式高压双电源切换装置有两个高压隔离开关,有明显的隔离断口.较好地保证了检修的安全,但需两套驱动机构联动,故产品的工作可靠性受到极大的制约。本文开发研制的控制系统可用一套驱动机构驱动主、备两路电源,两侧都实现了实时监控。且当故障发生时,能安全、可靠地实现电源转换,并且具备通信功能,可在无人
[电源管理]
arm构架分析
  一、 引 言   随着近两年各种智能手机、平板电脑、车载电子等各种消 费品的蓬勃发展,ARM体系结构的处理器,作为这些消费品的处理核心,也得到了长足的进步,甚至击败了Intel,在移动嵌入式领域独占鳌头。本文将首先介绍ARM体系结构的发展历程,然后将着重梳理其最先进的Cortex系列处理器的体系结构,以及这些结构对于各种软件平台如JAVA、.NET的支持等。   二、 ARM体系结构的历史即其新进展   2.1 ARM体系结构市场前景   来自英国的ARM(Acorn RISC Machine)公司虽然以ARM处理器著称,但是它独特的商业模式却决定了ARM公司本身并不生产处理器,这点与从研发到生产到出货垂直整合的Intel
[单片机]
<font color='red'>arm</font>构架分析
基于W3150A+的嵌入式Web服务器设计
引言     通过以太网进行传输已经成为一种经济、有效的数据传输方式。越来越多的工业测控设备需要配置网络接入功能,不仅需要通过以太网来实现各类设备间数据的传输,而且需要通过浏览器来实现人与设备的交互,从而对设备进行远程监测、远程控制、远程维护和管理。内嵌于设备的Web服务器可以提供统一的基于浏览器方式的操作和控制界面,界面直观易操作,大大降低了软件系统和通信系统的设计、维护工作量,节省了人员培训费用,提高了现场监测和控制设备的管理水平。 1关键器件的选择     要实现Web服务器功能,需要一个可实现的TCP/IP协议栈,同时还需要一款与以太网的速度相匹配的高性能处理器。     W3150A+芯片是一款TCP/I
[嵌入式]
ARM初学者如何选择开发系统
  很多ARM初学者都希望有一套自己能用的系统,但他们住住会产生一种错误认识就是认为处理器版本越高、性能越高越好,就象很多人认为ARM9与arm7好,我想对于初学者在此方面以此入门还应该理智,开发系统的选择最终要看自己往嵌入式系统的那个方向上走,是做驱动开发还是应用,还是做嵌入式系统硬件层设计与板级测试。如果想从操作系统层面或应用层面上走,不管是驱动还是应用,那当然处理器性能越高越好了,但这个东西自学,有十分大的困难,不是几个月或半年或是一年二年能搞定的事。   在某种意义上请,arm7与9的差别就是在某些功能指令集上丰富了些,主频提高一些而已,就比如286和386.对于用户来讲可能觉查不到什么,只能是感觉速度有些快而已。
[单片机]
ARM7单片机(学习ing)—(五)、实时时钟(RTC)—01
一曲熟悉的音乐~~ Rihanna~~我的手机铃声~~ 今天就是实时时钟(RTC)~~ 我决定了~~ 把ARM7的资料整理完以后不会整理这些资料了~~ 网上还是很多的~~ 不过我还是会更新自己学习的心得的~~ 去了学校~~ 大三下学期了~~ 也没有这么多的时间和精力了~~ 记住这个时刻~~ Califunia King Bed~~ 五、实时时钟(RTC) 五—(01)、实时时钟相关应用和寄存器的介绍~~ 1、特性 2、描述 3、结构 4、寄存器描述 5、RTC中断 6、混合寄存器组 a、中断位置(IIR—0XE0024000) b、时钟节拍计数器(CTC—0XE0024004)
[单片机]
<font color='red'>ARM</font>7单片机(学习ing)—(五)、实时时钟(RTC)—01
基于ARM7的指纹考勤机设计
  引言   生物识别技术依靠其鉴别的唯一性和可靠性,经过近十年的发展,应用已经越来越广泛和成熟,目前指纹识别技术已趋向民用市场普及,指纹考勤机就是其主要的应用之一。笔者采用功能强大的S33C44B0X处理器设计了一款指纹考勤机,在功能、接口、价格等方面都有着极大的优势。   所设计的考勤机具有指纹采集和刷卡采集两大基本功能。指纹采集部分采用CMOS光学传感器。刷卡采集相应的射频模块,它可以通过串口的方式与CPU通信。考勤机和上位机的通讯则采用通用的模拟USB接口,有效地达到了即保证低成本又方便用户使用的目的。另外还加入了USB充电,实时时钟显示,语音提示等众多人性化功能。系统的框图如图1所示。   图1 系统功能框
[单片机]
基于<font color='red'>ARM</font>7的指纹考勤机设计
高通展示基于ARM处理器Win8系统Flash
此前,Adobe称 已经在开发针对ARM处理器Windows 8系统的Flash插件 。而合作伙伴高通已经在基于自家平板的处理器上展示了这一点, 在高通产品经理使用的这台平板电脑上,新的Flash插件在桌面版IE10中运行顺畅,没有看出卡壳的迹象,并且对触控的支持也没什么问题。 至于Metro优化版IE10,Adobe当然也不准备放弃,业界传闻Adobe准备 用HTML5改写Adobe Air ,为Metro UI优化后进军更广阔的市场。
[手机便携]
高通展示基于<font color='red'>ARM</font>处理器Win8系统Flash
基于ARM7支持触摸屏和实时操作系统的开发与应用
  概述   随着信息技术的发展,支持图形界面的触摸操作和实时操作系统相结合的应用系统已经越来越广泛地应用到航空航天、军事、消费类电子、通讯设备等领域。mC/OS-II操作系统是一种占先式、实时操作系统(RTOS),由于其内核可拆减、可剥离性,使得它在实时控制领域中有着广泛的应用。它不仅减小了因为系统硬件设计缺陷带来的不可靠因素,而且增强了系统的控制实时性,从软件方面进一步增强了ARM控制系统的性能。另外,新版本的mC/OS-II已经通过了FAA认证,很适合应用于对实时性要求很高的嵌入式工业控制领域,如目前应用较广泛的军用战斗机、攻击机和火控系统等。   支持图形界面操作(mC/GUI)是一种较为流行的人机交互系统,它能够提供
[单片机]
基于<font color='red'>ARM</font>7支持触摸屏和实时操作系统的开发与应用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 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