嵌入式系统及其在监控系统中应用研究
2011-01-29杨福宝
杨福宝,王 建
YANG Fu-bao, WANG Jian
(武汉理工大学 信息工程学院,武汉 430070)
0 引言
伴随着信息技术与嵌入式技术的发展,现代的远程监控技术已经走进我们的生活,可以说远程监控系统就是信息网络与控制网络结合的产物,它集现代计算机技术、通信技术、传感器技术、自动控制技术和人机系统技术等为一体,在许多领域有广泛的应用,如工业生产过程实时监控、动力设备集中监控、环境与安保集中监控、水利系统监控、图像远程监控、电力综合监控、综合网络监控、移动监控等。
1 嵌入式系统概述
1.1 嵌入式系统的定义
嵌入式系统本身是一个相对模糊的定义。从应用上来定义,可以叙述为:是“控制、监视或者辅助装置、机器和设备运行的装置”。当然,这仅仅是从一个方面来概括。目前国内普遍它被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的场合。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
1.2 嵌入式系统的特点
1) 嵌入式系统是一个实现预定特殊功能的系统,它具有有限的资源(如内存、功耗、处理器速度、计算能力等)。通常,应用程序的运行将占用整个ROM 的存储容量。这与一台具有普通处理器、支持多种应用程序的PC 机是截然不同的。另外,嵌入式软件的应用范围较PC 机丰富许多。
2) 嵌入式系统具有自己的操作系统,一般为实时操作系统RTOS。RTOS 的出现,很大程度上缩短了开发周期,减少了系统程序员的工作量,提高编程效率与程序质量,同时也加速了嵌入式产品的更新换代,而利用RTOS 进行开发的嵌入式系统所带来的优越性是其他监控系统(如单片机、PLC 等) 无法比拟的。
3) 嵌入式系统的CPU 具有低功耗、体积小、集成度高等特点,能够把通用CPU 中许多由板卡完成的任务集成到芯片内部,从而有利于整个系统设计趋于小型化。系统可靠性高,能适应冷热、振动、腐蚀等各种变化,因此特别适用于需要在恶劣环境下工作的监控系统。
通过上述对嵌入式系统的分析,可以使我们很容易的了解到,嵌入式技术在监控系统中应用的优越性是其他监控系统所无法比拟的。对此,本文从嵌入式监控系统入手,结合WEB技术实现远程监控的目的。
2 基于嵌入式WEB技术的远程视频监控系统
基于嵌入式WEB技术的视频监控系统结合了先进的WEB技术与嵌入式技术,其服务器采用嵌入式技术实现,通过WEB方式实现服务器端与客户端的信息交互。本文所述监控系统的硬件结构如图1所示:
图1 监控系统的硬件结构
系统由现场设备、嵌入式WEB服务器、传输网络和监控端组成。现场设备包括摄像头和一些测控单元,用于采集现场的数字视频信息和各种开关量、模拟量信息。嵌入式服务器是整个监控系统的核心部分,其硬件由CPU芯片、Flash芯片、内存、网络接口以及一些数据采集卡组成。主要功能包括:实现现场视频信息的直播和点播;采集现场设备信息并进行相应处理,为监控端提供WEB访问页面;对监控端的访问进行有效性、安全性检查;响应监控端的请求,为监控端提供所需信息;接收监控端的控制信息,经过软硬件转换对现场设备进行控制,如控制摄像头的转动、启动现场的报警装置等。每个服务器有自己的IP地址,在监控端可通过通用浏览器界面访问服务器,一个服务器可同时为多个监控端服务。为了实现视频点播功能,需要存储大量的视频图像信息,由于嵌入式服务器体积小,故增加了可选择的外接存储设备。监控端的功能是显示现场视频和状态信息,并根据需要向服务器端发出各种信息请求以及对现场设备的控制信号。一个监控端也可以同时访问多个服务器。
3 服务器的软件设计
3.1 系统软件
系统软件包括操作系统与设备驱动程序。
嵌入式操作系统是支持嵌入式系统应用的操作系统软件,是在系统实时性、硬件相关性、软件固态化等方面有着突出特点的专用操作系统。本系统采用嵌入式LINUX操作系统,它是在根据系统需要对LINUX操作系统进行小型化裁剪的基础上实现的。使用LINUX的优势在于:其操作系统的源代码是开放的,可根据需要进行定制;系统内核小,因而对硬件的要求相对要低;支持多任务多进程,能提供较好的实时性。由于系统信息处理量大、实时性要求高,操作系统的存储调度、进程管理、文件管理等都要求采取高效可行的策略。本系统是一个专用计算机系统,用于测控的板卡有些是根据需要自行定制的,因此编写相应的驱动程序也是必不可少的环节。
3.2 应用软件
服务器的应用软件结构如图2所示:
图2 服务器的应用软件结构
3.2.1 视频服务器
视频服务器是整个服务器的核心部分。主要包括以下几个模块:
3.2.1.1 视频压缩编码模块
主要功能是实现对视频信息的压缩和编码。根据网络带宽、拓扑结构以及对图像质量的要求,本系统选用基于MPEG-2标准的分层可扩展性编码方案。
实时采集模块将获取的视频信息存放在待编码视频缓冲队列中,等待视频压缩编码进程对视频信息进行压缩和编码处理,视频压缩编码进程将编码后的视频存放到已编码视频缓冲队列中,同时激活或等待直播进程和存储管理进程进行相应处理。
3.2.1.2 存储管理与调度模块
存储管理模块的主要功能是将压缩和编码的视频信息根据一定的策略存储至磁盘中特定的区域。本系统采用等长分组存储策略。即将视频信息按照时序关系分割成若干数据单元,这些数据单元称为分组,将每个分组存储于一个大小固定的存储单元内。
存储调度模块的主要功能是响应视频调度模块的请求,按照一定的磁盘调度策略和优先级顺序从磁盘中读取信息至内存缓冲区。由于采用等长分组存储策略,因此系统的磁盘调度直接采用简便快捷的线性调度算法。
3.2.1.3 视频调度与传输模块
视频调度与传输模块共同协作,为监控端提供所需的视频信息。视频传输模块根据所采取的网络传输与控制协议与监控端建立连接,监听监控端的请求;视频调度模块根据不同的服务类型采取相应的调度策略创建视频流,传递给视频传输模块;视频传输模块再将数据分组、打包,发送到监控端,并根据路由器和监控端反馈的网络状态信息进行差错处理和拥塞控制。本系统对于点播信息采用单播传输方式。视频调度采取先来先服务的策略,对于每一个点播请求单独生成一个视频流。直播信息采用分层组播方式。这种方式避免了数据的重复发送,节省了网络带宽,非常适合于直播视频流的传输。分层组播的基本思想是发送方将每一层的压缩视频发送到一个组播组中,接收端根据自己的网络带宽状况接收基本层数据和多个增强层数据,从而获得不同质量的视频。
本系统采用的网络传输协议使用RTP/UDP/IP模型。RTP协议是一种提供端对端的实时媒体传输服务的协议,由实时传输协议RTP和实时传输控制协议RTCP两个部分组成。RTP用于多媒体数据的传输,而RTCP用来监控实时数据的传输。RTP的数据包头的数据结构非常适合媒体数据的封装和描述。RTP协议不规定负载的格式和大小,因而具有很大的灵活性。RTCP协议为媒体流化的管理提供了平台,利用RTCP的数据结构可以很好地监控信息传输状况,实现流量及拥塞控制。RTP本身并不具有独立传输数据的能力,而是必须和低层的网络协议结合使用,对于IP网络,通常是和UDP协议结合。UDP协议采用无连接的传输方式,适用于对实时性要求高、允许有一定丢失率的视、音频实时数据的传输。视频数据流在传输时被划分为块,视频数据块依次经过RTP、UDP、IP协议的封装,最终成为相对独立的网络数据包提交给网络传输媒体。RTP/UDP/IP的方式兼顾了视频传输的实时性与QoS保证。由于传输网络状况的不确定性,还必须采取一定的拥塞控制和差错控制策略。针对本系统采用的分层可扩展性编码方法,选择了基于收端的速率控制方式进行拥塞控制。由客户端根据网络状态增加或减少信道数量,一般最少保证基本层视频信息的接收。服务器端编码部分固定不变,只是在发送层参与调整,这种方式减轻了服务器的负担。差错控制方面,为简化服务器的设计,选择采用误码掩盖的方法,即采用空间上相邻的宏块来取代出错的宏块,或利用前一帧相同位置或运动矢量指向的位置信息来取代出错位置的信息。
3.2.2 实时采集/控制模块与测控信息处理模块
实时采集/控制模块是指系统各种外设的实时采集模块和实时控制模块,它们相对独立,采用多线程的方式实现与底层设备驱动程序的信息交互。实时采集模块由一系列设备的采集模块组成,在操作系统启动时加载。在服务器运行期间始终驻留内存运行,定时轮询设备端口状态,获取设备端口的数据信息,并激活或提交给相应的处理模块。对于视频数据,将其加入视频编码缓冲队列,由视频压缩编码模块处理;现场状态信息送交测控信息处理模块处理。测控信息处理模块在WEB服务器和实时采集/控制模块之间提供了信息的过滤和转换功能。实时控制进程根据处理后的设备信息和控制信息调用相应设备的驱动程序对设备进行控制。
3.2.3 WEB服务器
WEB服务器通过HTTP协议与监控端浏览器软件进行信息交互,提供服务器应用程序模块的访问界面和现场设备的信息访问和控制界面。除此以外它还要对监控端的访问权限进行控制,过滤监控端的请求和控制信息,处理多个监控端的请求和控制的同步和优先级问题,从而保证系统的安全性和稳定性。监控端通过WEB页面激活服务器的相应应用程序模块,传递信息服务请求和控制命令。本系统采用Apache Server。Apache Server是一个功能强大的开放源代码的WEB服务器软件,可灵活定制,服务器程序本身所占空间很小,因而十分适用于嵌入式系统。
4 结束语
随着信息化,智能化,网络化的快速发展,嵌入式系统应用也将获得更广阔的空间。未来的嵌入式系统必然是要与网络接轨,因此,本文对于嵌入式WEB技术的远程视频监控系统研究是具有深远意义的。
[1]林建民.嵌入式操作系统技术发展趋势[J].计算机工程,2001(10).
[2]涂刚, 阳富民, 胡贯荣.嵌入式操作系统综述[J].计算机应用研究, 2000(11).
[3]彭涛, 李声晋, 芦刚, 邵瑜.远程设备监控系统中嵌入式Web服务器的设计 [J].机械与电子, 2008(1).
[4]黄天戍, 余智欣, 袁学文.新型嵌入式Web服务器系统的设计与研究[J].计算机工程, 2005(11).
[5]厉鲁卫, 包建荣, 蒋苗林, 周朔燕.基于ARM嵌入式Web服务器的研究与设计[J].计算机工程与设计, 2004(5).