嵌入式无线视频监控系统的设计与实现.pdf

上传人:qwe****56 文档编号:74654524 上传时间:2023-02-27 格式:PDF 页数:4 大小:317.84KB
返回 下载 相关 举报
嵌入式无线视频监控系统的设计与实现.pdf_第1页
第1页 / 共4页
嵌入式无线视频监控系统的设计与实现.pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《嵌入式无线视频监控系统的设计与实现.pdf》由会员分享,可在线阅读,更多相关《嵌入式无线视频监控系统的设计与实现.pdf(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 第31卷 第1期2008年1月合肥 工 业 大 学 学 报(自 然 科 学 版)JOURNAL OF HEFEI UNIVERSITY OF TECHNOLOGYVol.31 No.1Jan.2008收稿日期:2007201211;修改日期:2007204223基金项目:中兴通讯研究基金资助项目(ZXJ H2004122120056);合肥市重点科研计划资助项目(合科200431)作者简介:戴 丽(1981-),女,安徽马鞍山人,合肥工业大学硕士生;张维勇(1949-),男,江苏苏州人,合肥工业大学教授,硕士生导师.嵌入式无线视频监控系统的设计与实现戴 丽1,张维勇1,刘征宇2,钱 军1(1

2、.合肥工业大学 计算机与信息学院,安徽 合肥 230009;2.合肥工业大学 机械与汽车工程学院,安徽 合肥 230009)摘 要:嵌入式无线视频监控系统在Samsung的s3c2410微处理器平台上,搭建armlinux软件环境,通过USB摄像头实时获取视频,综合利用点对点(PPP)拨号机制、多线程通信、Video4Linux编程和基于UDP的C/S软件结构,实现了视频图像在CDMA网络上的实时低码率传输,从而达到了无线视频监控的目的。关键词:嵌入式系统;CDMA网络;UDP协议;Video4Linux编程;多线程中图分类号:TP316 文献标识码:A 文章编号:100325060(2008

3、)0120005204Design and implementation of an embedded wireless video supervising systemDAI Li1,ZHANG Wei2yong1,LIU Zheng2yu2,QIAN Jun1(1.School of Computer and Information,Hefei University of Technology,Hefei 230009,China;2.School of Machinery and AutomobileEngineering,Hefei University of Technology,H

4、efei 230009,China)Abstract:An embedded wireless video supervising system which is based on the platform of Samsungs3c2410 microprocessor is presented.The software environment of embedded armlinux is built,and re2al2time video is got from USB cameras.By synthetically making use of point2to2point(PPP)

5、dial2upmechanism,multi2thread communication,Video4Linux programming and C/S software structure basedon UDP,it has realized videos real2time low2speed transmission on the CDMA network,and the goalof wireless video supervision is achieved.Key words:embedded system;CDMA network;UDP protocol;Video4Linux

6、 programming;multi2thread0 引 言视频监控系统在客运、公安、银行、物流及电力等领域得到广泛应用。随着无线传输技术和数字成像技术的发展,有线视频监控开始向无线视频监控演进。CDMA技术由于具有传输速度快、移动性强及覆盖网络广的特点,使得低成本,高质量的无线视频监控成为可能。无线视频监控系统采用嵌入式技术、CDMA无线传输技术及MJ PEG图像编码技术,把从USB摄像头采集到的数据经过压缩编码后,通过智能无线通讯模块发送到CDMA网络,实现视频数据的点对点、点对多点交互传输。根据需求,把实时动态视频发送到最近的CDMA网络,在任何一个地方,只要主机具有一个公网的IP地址,

7、就可以通过Internet从系统终端获取实时视频信息。同时,利用ARM集成技术可实现系统小型化、模块化,提高系统的通用性和可扩展性。1 终端硬件构成系统硬件构成,如图1所示。系统采用Samsung公司s3c2410芯片作为硬件平台的中央处理器,该芯片内部集成了ARM920T处理器核的32位微控制器,具有指令和数 据Cache、LCD控 制 器、RAM控 制 器、NAND Flash、3路UART、并行I/O口、触摸屏接口和2个USB接口控制器,主频最高可达203 MHz,性价比高,是目前常用于多媒体终端设备的微控制器1。图1 嵌入式无线视频监控系统硬件构成图硬件平台由核心板和底板两部分组成。核

8、心板上集成Samsung s3c2410微处理器,16 MB的NOR FLASH和64 MB SDRAM,为应用研发提供了足够的空间。NOR FLASH采用的是INTEL 28F128J3C,一片8 M16位数据宽度,共16 M字节,速度为150 ns。SDRAM采用的是HY57V561620BT,2片16 M16位数据宽度,共64 M字节。同时,底板上提供以下外设接口:(1)10 M/100 M自适应以太网接口,用于调试时下载内核和文件系统。(2)四线RS2232串口(COM1)一个,用于连接CDMA通讯模块。(3)SD/MMC卡接口,外接大容量SD储存设备。(4)USB HOST接口,通过

9、USB HUB外接多路USB摄像头。(5)TFT LCD接口,用于显示系统的运行状态。(6)触摸屏接口,作为人机接口。系 统 的CDMA通 讯 模 块 使 用 的 是MSM6050芯片组。QUALCOMM的MSM6050芯片组和系统软件解决方案是一款中端3 G CD2MA 2000 1X解决方案,专为支持语音与关键数据进行了优化,可提供高达153 kbps的数据速率。借助Launchpad套件,MSM6050解决方案提供了低成本的优化gpsOne定位技术和精选的多媒体应用软件2。系统的USB摄像头采用的CMOS感光元件是OV511芯片,它是一款高性能摄像机到USB接口单片控制芯片。USB摄像头

10、直接为采集系统提供数字图像信号,免去了传统采集设备从模拟信号到数字信号的转换过程。同时,USB设备即插即用的特性使得更换设备更方便。核心板和底板配合即构成一个完整的应用系统,使系统具有体积小、耗电低及处理能力强等特点,能够轻松装载和运行嵌入式Linux操作系统,为应用开发搭建了一个良好的硬件平台。2 软件设计与实现211 嵌入式系统构建Linux具有内核小、效率高、源代码开放以及直接提供网络支持等优点。但嵌入式系统的硬件资源毕竟有限,因此不能直接把Linux作为操作系统,需要针对具体的应用通过配置内核、裁减shell和嵌入式C库对系统定制,使整个系统能够存放到容量较小的Flash中。Linux

11、操作系统的基本组件包括:内存管理、进程和调度管理,根文件系统,IDE/MEM驱动程序和一些必要的I/O子系统。可裁减的组件包括各种文件系统,网络协议(如TCP/IP、IPX等)、字符设备驱动程序、块设备驱动程序、SCSI设备部件和各种网络设备部件3。在本文实现的平台上,使用的操作系统是对Linux进行了定制的armlinux。它启用了MMU(内存管理单元),是针对支持MMU的处理器设计的。在保证基本组件的基础上,添加了TCP/IP协议、文件系统及Video4Linux等组件的支持。根据以上需要,定制出最小适用内核。系统外部静态存储设备使用的是Flash,Linux内核使用MTD子系统来支持众

12、多的Flash设备。本系统使用4个MTD分区:用于存储引导装载程序和向内核传递的参数;用于存放Linux内核映像,其余2个用于Linux的文件系统。可以用于闪存上的文件系统格式有多种,如ext2、jffs2、cramfs和tmpfs。在本文的方案中采用了jffs2。根文件系统是Linux系统正常运行所需要的文件和应用程序的集合,在本文的根文件系 统中,包括了使用busybox实现的shell、支持应用程序所必需的库文件、图形用户界面程序及gcc应用程序等。图 形 用 户 界 面 使 用MiniGUI实 现。MiniGUI是运行在Linux控制台上,是基于SV2GALib和LinuxThread

13、库的多窗口图形用户界面支持系统。MiniGUI是一个窗口系统,主要组6合肥工业大学学报(自然科学版)第31卷 成元素是窗口,在这个基础上MiniGUI中的窗口可以基本分为4类:主窗口、对话框、控件和主窗口中的窗片4。利用MiniGUI,可以快速地开发出适用于多媒体的应用程序。212 无线通讯模块通信处理位于终端软件的底层,主要包括通信设置、实时监控及数据处理等功能。在Linux中,通过在数据链路层上使用PPP协议,就可使用Modem连接上Internet。配置内核支持PPP,并编译拨号相关应用程序:pppd/chat。关于内核支持,就是make menuconfig在内核配置的Net2work

14、 device support-中 选择PPP/SLIP/CSLIP。系统自动启动diald后台进程,读取diald.conf中的配置信息,设置工作模式。当用户指定开机就拨号或者检测到用户有访问外部网络的流量时,它就自动调用pppd进行拨号。启动pppd时,还要通过脚本diald.ttyS1给pppd传递参数从而配置pppd,并指示pppd调用chat和connect脚本对MODEM初始化并进行拨号。考虑到CDMA网络的容量受限,在网络传输过程中可能会出现掉线的情况,这时需重新进行拨号上网继续传输。当成功连接上CDMA网络后,系统将接着执行状态检测脚本每隔一段时间就ping一次网络,若系统处于

15、网络连接状态则等待下次检测,若系统掉线,则杀死上次pppd进程,再次调用拨号脚本登录CDMA网络。213 基于Video4Linux的视频传输模块21311 视频压缩编码格式的选择由于本系统主要应用于安防领域,对图像质量有较高的要求。MJ PEG是连续的单帧J PEG图像序列,因此可以存储为标准静态J PEG图像,同时可以单帧回放、放大和打印,在需要分析时,单帧的图像格式更显示出其强大的优势。并且MJ PEG的每一帧图像数据都相互独立,传输时由任何原因引起的数据丢失都不会影响下一帧的正确解码,在系统解码性能跟不上实时数据传输的速率时,系统可以选择跳帧解码方式以照顾接收和存储的需要,减轻系统负担

16、。这种方式非常适合在无线网络的低码率传输。21312 视频图像传输方案的设计视频图像传输与传统的文件传输有着明显的区别,传统文件的传输对于传输的延迟、抖动没有过多的要求,但是要求有严格的差错控制和重传机制。视频图像传输在传输的实时性、同步性上要求很高,并且要求传输延迟小,允许有一定的数据错误和丢失。UDP协议主要用来支持那些需要在计算机间传输数据的网络应用。通过使用端口号为不同的应用保留其各自的数据传输通道,UDP协议可以实现对同一时刻内多项应用同时发送和接收数据的支持5。与TCP协议不同,UDP由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,大大降低了执行时间。但UDP本

17、身也有缺陷,如连接不牢固,容易丢失数据包。为了提供可靠、高效的数据传输,必须对UDP进行改进。传输方案如下:(1)由于一帧图片可能会超过UDP包的大小,故采用将数据流划分成每块为512字节的数据块,加上图片序号,帧序号后打包发送出去,防止由于UDP本身带来的传输乱序问题。(2)建立控制通道传送控制信息,最小限度地防止传输中的错误。监控中心从数据通道获取视频数据流,并存储在缓冲区中,按照数据包头的序号将数据流重新组合6。如果数据包序号出现不连续,说明发生了丢包或乱序,则监控中心立即通过控制通道发送命令要求重发所丢失的数据包。(3)为了保证传输的实时性,不能无限制地发送控制命令,监控中心以缓冲区为

18、限,当缓冲区已经用完,而仍然存在丢失数据包的现象时,则丢掉一些数据来保证实时性。终端发送完一副图片数据后即丢掉这个分组数据,监控中心接收完一组数据后也丢掉分组数据,这样可大大减小系统内存开销。21313Video4Linux的应用应用程序在Linux环境下C编程实现,综合运用了Video4Linux、多线程、信号量及缓冲区技术,主要由视频采集、视频编码和视频发送3部分组成。首先用mmap()把摄像头设备文件映射到内存中,绕过内核缓冲区。最快的磁盘访问往往还是慢于最慢的内存访问,所以mmap()方式加速了I/O访问。另外,mmap()系统调用使得进程之间通过映射同一文件实现共享内存,各进程可以像

19、访问普通内存一样对文件进行访问,访问时只需要使用指针而不用调用文件操作函数7。视频传输中,要求码流读取编码和发送互不干扰,避免读取编码和发送相互等待或相互冲突7 第1期戴 丽,等:嵌入式无线视频监控系统的设计与实现的情况出现。采用一种基于缓冲区的多线程视频传输技术,较好地解决了这个问题。缓冲区除了起到数据分离互斥作用外,还可以起到平滑码流的作用。采集线程和发送线程是互斥关系,读入的视频数据经过编码后供发送线程处理。这是一个简单的消费者和生产者的关系,只要不进入临界区,2个线程可以同时工作,用缓冲区和互斥锁完全可以解决这2个线程的同步问题。线程之间通过同步实现了CPU时间片的合理分配、硬件访问管

20、理及内存缓冲区的访问管理等,提高了系统的处理性能8。具体实现,如图2所示。图2 多线程实现视频采集传输的流程图采集线程利用Video4Linux模块提供API函数ioctl(fd,VIDIOCMCAPTURE,&vid-mmap)从摄像头捕捉视频。若调用成功,则激活设备真正开始一帧图像的截取,是非阻塞的。接着使用ioct1(grab-fd,VIDIOCSYNC,&frame)函数判断该帧图像是否截取完毕,成功返回表示截取完毕,之后就把图像数据保存在缓冲区中,同时置满信号。发送线程从缓冲区中读取图像数据,经过MJ PEG压缩后加上包头结构,包头结构里定义了序列号、传输通道号及视频压缩格式。序列号

21、是数据包发送的顺序标记,检测传输中是否有数据丢失,并用于接收端重新排序,传输通道号用于多通道视频传输,视频压缩格式标记用于接收端采用相应的解码流程。打包成socket套接字后,通过UDP协议发送到监控平台,同时置缓冲区空信号。发送完一帧数据后,丢弃这帧数据。这样处理可以减小系统内存开销。考虑到网络安全问题,可以采用命令码的方法来保证系统数据传输的安全性。即终端首先向监控中心发送请求命令,由监控终端分析,确定为请求数据发送命令码再向终端发送数据告知符合传输要求,通过身份验证。终端收到验证码后才开始传送视频图像,从而保证数据传输的安全性。3 结束语本系统在CDMA网络环境下已经通过了测试,MJ P

22、EG编码方式的实时监控功能基本符合设计要求。每帧图像大小约为4 KB,在CDMA网络中可以连续不丢帧的传送,坏帧率在5%以下。单帧图像的放大也不会出现明显失真。系统无需布线,使用安装方便、成本低、监控不受距离、地域以及时间的限制。尤其是在3 G网络普及以后,无线传输速度将成倍增长,借助于无线公网实现的视频监控系统将会有很好的应用前景。参 考 文 献1 孙天泽,袁文菊,张海峰.嵌入式设计及Linux驱动开发指南 基于ARM9处理器 M.北京:电子工业出版社,2005:16-41.2 美国高通CDMA技术集团.高通CDMA技术解决方案 EB/OL.http:/ D P.深入理解Linux内核 M.

23、第2版.陈莉君译.北京:OReilly,2004:45-58.4魏 永 明.MiniGUI技 术 白 皮 书 J/OL.http:/www.minigui.org/cdoc.html,2004212210.5Stevens.TCP/IP详解.卷1:协议M.北京:机械工业出版社,2003:361-372.6潘巨龙,黄 宁.ARM9嵌入式Linux系统构建与应用M.北京:北京航空航天大学出版社,2006:178-192.7Rubini A.Linux设备驱动程序M.第3版.魏永明,译.北京:中国电力出版社,2006:257-261.8Stevens W R.UNIX环境高级编程M.尤晋元,译.北京:机械工业出版社,2005:321-336.(责任编辑 张秋娟)8合肥工业大学学报(自然科学版)第31卷

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com