基于ARM9的嵌入式3G无线视频监控系统设计

发布者:美好梦想最新更新时间:2011-05-28 关键字:ARM9  嵌入式  3G  无线视频监控系统 手机看文章 扫描二维码
随时随地手机看文章

国内外市场上主要推出的是数字控制的模拟视频监控和数字视频监控两类产品。前者的技术发展已经非常成熟,产品性能稳定, 在实际工程中得到了广泛应用。

后者是新近崛起的以计算机技术及图像视频压缩技术为核心的新型视频监控系统, 该系统在解决模拟视频监控系统的部分弊端的基础上迅速崛起。在互联网的普遍推广和网络带宽逐渐提高的背景下,视频监控技术飞速发展, 出现了集多媒体技术、网络通信技术、嵌入式技术于一体的嵌入式网络视频监控系统。

目前国内嵌入式视频监控系统的研究有了很大的发展, 但是国内对嵌入式无线视频监控系统的研究还比较少。本文介绍了自主开发的基于ARM 的嵌入式无线视频采集系统设计方案。该方案采用S3C2410 嵌入式处理器和ARMLinux 操作系统, 利用通过自行开发的视频服务器软件,通过3G无线上网卡完成客户端与视频服务器的通信。介绍了系统的硬件结构、服务器端软件的总体结构、驱动程序的构建、图像的采集和压缩以及传输模块的设计,并进行了测试。实验结果表明, 系统采用H.264 编码技术在保证视频传输质量的同时具有良好的带宽适应能力。

1 系统总体结构

本系统由监控现场摄像头、嵌入式视频服务器、客户端三部分组成。监控现场的摄像头实现图像的采集,并把采集的图像信息通过内部总线传送给嵌入式视频服务器。嵌入式远程视频监控系统是一个基于S3C2410处理器、H.264 压缩、Web 服务器和Linux 操作系统的嵌入式系统, 它的主要功能是对摄像头采集到的图像进行H.264 压缩编码, 并对编码后的图像通过3G 无线网络进行传输。客户端主要完成图像的接收和解压缩, 用户可以通过Web 浏览器访问嵌入式视频服务器来观看摄像头采集到的图像,从而实现远程视频监控。嵌入式远程视频监控系统总体结构如图1 所示。

嵌入式远程视频监控系统总体结构

图1 嵌入式远程视频监控系统总体结构

2 系统硬件结构

系统硬件由图像传感器MI360 、3G 无线模块MC8630 、图像压缩芯片ZC0301 、微处理器芯片S3C2410 、以太网控制芯片、SDRAM 等芯片组成。S3C2410 具有低功耗、精简而出色的全静态设计等特点,具备MMU 存储器管理功能, 拥有独立的16 KB 指令和16 KB 数据缓存,在高性能和低功耗特性方面提供了可靠的性能。无线模块选用中兴3G 模块MC8630, 数据速率为前向:3.1 Mb/smax,反向:1.8 Mb/s max 。

为了降低成本, 简化设计, 本方案选用中星微的ZC0301 作为视频压缩编码芯片,Vimicro ZC0301 主要由系统控制、图像信号处理、次取样和水平扫描、JPEG 编码器和USB 设备控制五大功能模块组成。CMOS 图像传感器选择美光的MI360 , 它采用VGA 标准(30 万像素) ,感光面积为1/4 英寸, 有效像素649H ×489H, 采用低噪声技术,噪声等级达到CCD 标准。MI360 和ZC0301 压缩编码芯片完成视频数据的采集、压缩和编码。系统硬件结构如图2 所示。

嵌入式监控系统硬件结构

图2 嵌入式监控系统硬件结构

3 系统软件结构

本嵌入式远程视频监控系统软件由摄像头驱动模块、图像采集模块、H.264 图像压缩模块、嵌入式Web 服务器组成。摄像头驱动模块实现摄像头在Linux 操作系统下的正常工作, 并为应用程序提供接口。图像采集程序获取摄像头传送过来的图像信息并进行暂存。H.264压缩模块完成对原始图像的编码处理。嵌入式Web 服务器实现图像数据处理与网络传输。嵌入式Web 服务器一般由5 个主要模块组成: 嵌入式HTTP 引擎、安全模块、应用程序接口、文件系统和配置模块[ 2]。由于开发平台采用的嵌入式操作系统为ARMLinux , 具有成熟的文件系统, 提供文件访问的接口, 可以直接使用文件系统提供的读写接口访问嵌入式Web 资源文件, 不需要另外设计文件系统。嵌入式视频监控系统软件体系结构如图3 所示。[page]

嵌入式视频监控系统软件体系结构

图3 嵌入式视频监控系统软件体系结构

3.1 摄像头驱动程序设计

图像的采集工作由图像传感器MI360 和视频压缩芯片ZC0301 完成,ZC0301 通过USB 接口和S3C2410 相连,因此驱动程序主要是对Linux 下USB 驱动程序的开发,ZC0301 的驱动独立开发难度较大, 主要是既要考虑图像采集芯片的驱动, 还要考虑USB 的驱动, 且Vimicro 没有公布ZC0301 的详细技术资料。Linux 下ZC0301 的驱动程序有开源代码, 根据本系统的开发平台进行修改、移植、重新编译内核等操作可以完成ZC0301 的驱动程序。

3.2 图像采集模块设计

Video4linux(V4L) 是Linux 的影像串流系统与嵌入式影像系统的基础,是Linux Kernel 中支持影像设备的一组APIs , 配合适当的视频采集卡与视频采集卡驱动程序,可以实现影像采集、AM/FM 无线广播、影像CODEC、视频切换等功能。Video4linux 为二层式架构, 上层为Video4linux 驱动程序本身, 下层架构则是影像设备的驱动程序。这里用到的是Video4linux 的上层驱动程序, 即Video4linux 本身所提供给程序开发人员的APIs 。

Video4linux 视频图像采集流程如图4 所示。

Video4linux 视频图像采集流程图

图4 Video4linux 视频图像采集流程图

3.3 H.264 图像压缩模块设计

H.264 是ITU-T 视频编码专家组(VCEG) 和ISO/IEC活动图像编码专家组(MPEG) 的联合视频组(JVT) 开发的一个新的数字视频编码标准。在技术上,H.264 标准有很多优势,如统一的VLC 符号编码,高精度、多模式的位移估计,基于4×4 块的整数变换、分层的编码语法等。这些措施使得H.264 算法具有很高的编码效率, 在相同的重建图像质量下能够比H.263 降低50%左右的码率。

H.264 的码流结构网络适应性强, 增加了差错恢复能力, 能够很好地适应IP 和无线网络。H.264 能以较低的数据速率传送基于IP 的视频流, 在视频质量、压缩效率和数据包恢复丢失等方面,超越了现有的MPEG-2、MPEG-4 和H.26x 视频通信标准, 更适合窄带传输,是目前监控系统最为理想的信源压缩编码标准。[page]

相对于有线网络而言,无线网络状况更不稳定,除去网络流量所造成的传输速率的波动外, 设备的移动速度和所在位置也会严重地影响到传输速率。其次, 无线信道的环境也要比有线信道恶劣得多,数据的误码率也要高许多,而高压缩的码流对传输错误非常敏感, 还会造成错误向后面的图像扩散, 因此无线流媒体在信源和信道编码上需要很好的容错技术。错误恢复的工具随着视频压缩编码技术的提高在不断改进。旧的标准(H.261、H.263、MPEG-2 的第二部分)中,使用片和宏块组的划分、帧内编码宏块、帧内编码片和帧内编码图像来防止错误的扩散。之后改进的标准(H.263+,MPEG-4)中,使用多帧参考和数据分割技术来恢复错误。H.264 标准在以前的基础上提出了三种关键技术来进行错误的恢复, 分别是参数集合、灵活的宏块次序(FMO)和冗余片(RS)。FMO 是H.264 的一大特色,可以是一帧中的宏块顺序分割,使分割后的片的尺寸小于无线网络的MTU 尺寸,避免在网络层再进行一次数据分割,降低了数据传输的额外开销。

3.4 嵌入式Web 服务器设计

本系统选用适合嵌入式系统的Boa 服务器, 它是单任务HTTP 服务器, 占用空间小, 另外支持动态Web 技术的CGI 技术, 源代码开放, 性能高。嵌入式Boa 服务器移植到Linux 系统中的网上相关资料很多, 不再赘述。

下面重点介绍应用程序接口CGI 程序设计。

公共网关接口CGI 是HTTP 服务器与其他机器上的程序进行“ 交谈” 的一种工具, 其程序须运行在网络服务器上。CGI 是一个用于Web 服务器与外部程序之间通信方式的标准, 使得外部程序能生成HTML、图像或其他内容,而服务器处理的方式与那些非外部程序生成的HTML、图像或其他内容的处理方式是相同的。使用CGI的原因在于它是一个定义良好并被广泛支持的标准, 没有CGI 就不可能实现动态的Web 页面, 除非使用一些服务器中提供的特殊方法。

CGI 程序入口为main () 函数, 函数首先执行初始化用到的变量, 然后根据提供的环境变量Environmentv 获取当前访问用户的用户名, 判断用户的访问权限, 然后根据REQUESM 得到用户的请求方法。如果是POST, 则根据Contentl 获取用户请求内容并分析;如果是GET, 则根据Querys 获取信息并分析请求内容, 最后根据用户权限做出相应的处理;如果是其他的请求方法, 则返回错误, 不支持该请求方法。流程图如图5 所示。

CGI 程序处理流程

图5 CGI 程序处理流程

S3C2410 凭借其高性价比、丰富的接口以及对网络的强大支持, 使其非常适合做网络视频监控系统的Web视频服务器的处理器。H.264 算法具有很高的编码效率, 在相同的重建图像质量下, 能够比H.263 降低50%左右的码率。H.264 的码流结构网络适应性强, 增加了差错恢复能力,能够很好地适应IP 和无线网络。本系统支持动态IP, 可以直接连入以太网, 能够即插即看。通过局域网(100 Mb/s 以太网) 内部测试, 可以达到25 帧/秒CIF 图像(320×240) 要求, 传输延迟0.6 s 以内, 编码后的码率150 Kbit/s , 由客户端软件解码恢复后的视频图像清晰、流畅、没有抖动现象, 能获得较好的视频质量。

 

关键字:ARM9  嵌入式  3G  无线视频监控系统 引用地址:基于ARM9的嵌入式3G无线视频监控系统设计

上一篇:基于ARM Cortex-M3的过采样技术
下一篇:基于ARM的油田单井油罐太阳能加温控制器的设计

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

铠侠正式发布业界首款车载UFS 4.0嵌入式闪存
性能改进持续推动车载应用发展,提升驾驶员体验 存储器解决方案的全球领导者铠侠株式会社宣布,该公司已开始提供业界首款(2)面向车载应用的通用闪存(3)(UFS)4.0版嵌入式闪存设备的样品(1)。新产品性能高,采用小型封装,提供快速的嵌入式存储传输速度,适用于多种新一代车载应用,诸如车载远程信息处理系统、信息娱乐系统以及ADAS系统(4)。 铠侠车载UFS产品的性能显著提升(5),顺序读取速度提升约100%,顺序写入速度也提升约40%。 通过性能提升,相关应用能够更好地利用5G连接的优势,带来更快的系统启动速度和更优质的用户体验。 作为首家推出UFS技术(6)的公司,铠侠持续推动着这项技术的发展。其 新型UFS 4
[嵌入式]
铠侠正式发布业界首款车载UFS 4.0<font color='red'>嵌入式</font>闪存
TURBO51嵌入式微处理器功能验证
1  引  言 1. 1  背景 TURBO51的工程背景是TURBO51嵌入式微处理器结构设计上采取经时间考验过的32位机主流系统结构, 在严格保证对8051 指令集兼容的前提下,通过重新定义其处理器核的系统结构来挖掘处理器结构上的并行性实现。在传统8051软件开发环境下实现本要由更高位宽的32位处理器来完成的工作并完全重用所有现有软件资源。在 8051指令级多种寻址方式混合且指令不定长的现实下实现了高性能的体系结构, 乱序发射, 分支预测, 精确例外处理, 基于猜测的先行预取,片上一级指令高速缓存。处理器系统结构的复杂给验证提出了很高的要求。而且, 由于TURBO51 是作为SoC 的嵌入式处理器核, 是整个大规模SO
[嵌入式]
从半定制化与嵌入式看起-浅谈AMD的未来发展
嵌入式市场(或称嵌入式应用)对于AMD一直是相当重要的领域,至少在台湾市场,AMD所采取的动作,就声量而言,至少就不在竞争对手英特尔之下。在这一点,在2015年,AMD所公布的财报来看,嵌入式市场的确也为AMD带来了一点助益,根据AMD所公布的官方数字表示,AMD旗下的EESC(Enterprise, Embedded and Semi-Custom)部门在2014年的营收占全年营收的40%,2013年则为30%,相较于2013年全年营收的53亿美金,2014年成长至55亿美金,这不难看出,AMD在嵌入式乃至于半客制化等领域,终于取得了一点成绩。 当然,由于EESC部门是在2014年六月才被合并成单一事业群,我们可能也没办法
[半导体设计/制造]
iPad 2 GSM版和CDMA版3G关键元件拆卸对比
    这里来对比一下CDMA版和GSM版的iPad 2 3G都有什么不同:      首先很明显的是GSM版iPad 2上部侧方拥有一个 microSIM 卡槽         相比之下,CDMA版iPad 2主要是依靠WWAN板来递载用户信息      这张图是比对GSM、CDMA、WiFi三款(从上到下)iPad 2的WWAN天线的,CDMA版的天线要多出一块,这和CDMA版iPhone 4是一样的(比GSM版多一块天线),而WiFi的没有此天线板。      上图是对比WiFi、GSM、CDMA(从上到下)的主板对比,尺子是6英寸(15.24厘米),3G版iPad 2的WWAN天线板连接在主板上      下图是Ve
[手机便携]
C语言嵌入式系统编程修炼之二:软件架构篇!
模块划分   模块划分的 划 是规划的意思,意指怎样合理的将一个很大的软件划分为一系列功能独立的部分合作完成系统的需求。C语言作为一种结构化的程序设计语言,在模块的划分上主要依据功能(依功能进行划分在面向对象设计中成为一个错误,牛顿定律遇到了 相对论),C语言模块化程序设计需理解如下概念:   (1)模块即是一个.c文件和一个.h文件的结合,头文件(.h)中是对于该模块接口的声明;   (2)某模块提供给其它模块调用的外部函数及数据需在.h中文件中冠以extern关键字声明;   (3)模块内的函数和全局变量需在.c文件开头冠以static关键字声明;   (4)永远不要在.h文件中定义变量!定义变量和声明变量的区别在于
[单片机]
ARM CPU的嵌入式操作系统的几个重要因素
  第一是应用。如果你想开发的嵌入式设备是一个和网络应用密切相关或者就是一个网络设备,那么你应该选择用嵌入式Linux或者uCLinux,而不是uC/OS-II。   第二是处理器。它可以适合于90~95%的各种嵌入式系统应用。当然,你如果希望更快的实时响应,如高速的A/D转换需要几个微秒以内的中断延时,可能采用uC/OS-II是合适的。当然,你采用象Vxworks这样传统的嵌入式操作系统也可以满足这样的强实时性要求。 ARM   第三是开发工具。显然,目前uC/OS-II、uCLinux和嵌入式Linux的开发工具与商业嵌入式操作系统工具还有一些差距,目前在ARM CPU上广泛流行和使用的是ARM公司SDT/ADS工具链,产品无
[单片机]
基于ARM9的电力负控终端系统的设计
随着客户对电能质量要求的逐步提高,传统的电力网络难以满足发展要求。为此,提出发展“全覆盖、全采集、全预付费”智能电网的设想,以实现传统电网的升级。电力用户用电信息采集系统——智能电网管理终端,是一种集计算机、通信、用电及计量技术于一体的智能抄表设备,它具有抄收速度快、计算精度高、抄表实时性好、集成度高、可靠性好、结构简洁、安装使用方便等突出的优点,可直接与营业计算机联网,对电力用户进行数据采集计算及控制管理。电能计量自动抄表系统实现了从电能数据采集、传输到处理的自动化,采用自动抄表可以缓解抄表人员的劳动强度,降低人为因素造成的抄表误差,并能迅速统计低压时线损,降低用电成本,同时对加强用电管理,防止国家电力资源流失,对推进电能管理
[单片机]
基于<font color='red'>ARM9</font>的电力负控终端系统的设计
基于嵌入式系统的I2C触摸屏设计
  随着计算机相关技术的发展,ARM是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。ARM 公司是专门从事基于 RISC 技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的 ARM 微处理器核。嵌入式Linux系统具有开发源代码、内核稳定、可裁减性等特点,吸引着众多商业公司和自由软件开发者的目光,成为嵌入式系统领域不可或缺的操作系统之一。   1  电阻式触摸屏的工作原
[电源管理]
基于<font color='red'>嵌入式</font>系统的I2C触摸屏设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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