采用Linux系统与AT91RM9200微处理器设计视频监控系统的服务器

描述

视频监控系统以其数字化、网络化和智能化等方面的特征广泛应用于各种场合。随着通信技术和网络技术的发展,通过网络进行重要场所的监控越来越引起人们的关注和重视。传统的视频监控系统图像的压缩解压都是基于PC 机,在稳定性,可靠性方面都受到限制。近年来,随着嵌入式技术的发展,嵌入式设备体积小、集成度高、高效可靠、可移植、功耗低等一系列优点使得基于嵌入式的视频监控系统逐渐取代了传统的视频监控系统。笔者所介绍的嵌入式视频服务器是建立在嵌入式WEB 服务器的基础上,基于AT91RM9200微处理器,采用Linux 实时操作系统,由专门的视频芯片接收数字视频数据完成压缩编码,生成MPEG-4 码流,通过内部总线传送到WEB 服务器上, 远程授权用户可以通过网络浏览器观看WEB 上的图像信息,控制图像获取方式。该系统保证了图像质量,客户端零维护,开发便捷,成本低廉。

1 系统的整体设计

整个系统分为硬件和软件2 个部分。硬件部分分为4 个模块:视频采集模块,视频压缩编码模块,网络传输模块和其他辅助功能模块。系统采用B/S 模式。软件部分分为视频图像采集的驱动程序,WEB 服务器程序,CGI 和用户浏览器的网页设计4 部分。系统整体结构如图1 所示。

嵌入式

2 系统硬件部分

本系统采用Atmel 公司的AT91RM9200微处理器。该处理器是高性能,低功耗的32 位RISC 微处理器,最高主频为180 MHz,32 位外部数据总线支持8/16/32 位数据宽度,可对64 MB 空间寻址。内部集成丰富的外设资源,MMU 管理单元,16 kB SRAM 和128 kB ROM,各种外围接口,适用本系统的开发。AT91RM9200 微处理器的作用是在系统上电时配置芯片的相关功能寄存器,正常运行时进行总体控制,如接受视频数据流,配置网络接口,实现本地存储等功能。

2.1 视频采集模块

本模块的作用是把模拟视频转换成数字视频,产生符合编码芯片接口标准的数字视频信号。采用的是TI 公司的TVP5150 低功耗视频A/D 转换芯片。TVP5150 支持NTSC/PAL/SECAM 3 种格式,可以输出ITU-R BT.656 和ITU-R BT.601 两种信号, 考虑到编码芯片的标准, 本系统采用ITU-RBT.656 格式8 为数据串行传输。TVP5150 的AIPIA 为模拟信号输入端,接收摄像头的模拟视频信号输入。行同步脉冲和场同步脉冲分别对应HSYNC 和VSYNC,分别连接编码芯片的HSYNIN 和VSYNIN2 个引脚, 实现图像的行同步和场同步操作。YOUT[7:0]为数据输出引脚,将数字视频信号送到编码芯片的数据接收端。SCL 和SDA 分别为I2C 接口的串行时钟和数据引脚,AT91RM9200 对TVP5150 的内部寄存器的访问是通过I2C 总线实现的。

2.2 视频压缩编码模块

动态图像被数字化处理成YUV 格式,数据量非常大。未经压缩的CIF 格式的RGB 数据至少需要58.01 Mb/s,因此视频数据在传输和处理的过程中必须经过压缩。视频编码标准有MPEG-1,MPEG-2,MPEG-4,M-JPEG 和H.26x 系列。本系统采用的是MPEG-4标准。MPEG(Moving Pictures ExpertsGroup),该专家组成立于1988 年,致力于运动图像的编码标准化工作。MPEG-4 是该专家组研制出来的于1999 年正式成为ISO 和IEC 联合制定的国际编码标准。MPEG-4 与其他编码标准相比,相同比特率下,具有更高的视觉质量,可以在低带宽的信道上传输。本系统采用韩国Pentamicro 公司的压缩/解压芯片AT2042,AT2042 接收经过TVP5150 进行A/D转换的数字视频数据。AT2042 支持视频压缩和音频压缩标准,支持CBR 和VBR 两种码率。采用ITU-R 656 接口标准。

工作原理:在AT91RM9200 的控制下,要进行压缩编码的数据经AT2042 的FIFO 口输入。AT2042 的解压是压缩的逆过程。本系统中,AT2042 的数据接收端VIN[7:0]接收TVP5150的YOUT [7:0] 端输出的数据, 同时AT2042 的HSYNIN 和VSYNIN 信号分别和TVP5150 的HSYN 和VSYN 相连,实现图像的行同步和场同步操作。接收来的数据送到AT2042 的压缩编码处理单元, 压缩编码后送到芯片外部的SDRAM 中存储, 通过片内的SDRAM 控制器可以实现对外部SDRAM的访问, 并通过HPI 与AT91RM9200 微处理器进行通信,以便远程监控端的实时监控。视频压缩编码框图如图2 所示。

嵌入式

图2 视频压缩编码框图

2.3 网络传输模块

本模块是采用LAN91C11构建嵌入式以太网,实现视频数据网络传输的通路。LAN91C11 是SMSC 公司推出的快速以太网控制器。芯片上集成MAC 和PHY, 符合IEEE802.3/802.U-100Base-Tx/10Base-T 规范。AT91RM9200 微处理器通过地址、数据、控制线和片选信号线对LAN91C11 进行通信和控制。网络传输硬件连接原理图如图3 所示。AT91RM9200发送数据时,首先置发送使能信号ETXEN 有效。数据发送端ETX [1:0] 与LAN91C11 的TXD [1:0] 引脚相连接。以AT91RM9200 的时钟信号EXTCK 发送视频数据。数据的接收端ERX[1:0]与LAN91C11 的RXD[1:0]引脚相连接,接收视频数据。EMDI0 和EMDC 分别控制芯片的读写。数据从DMA通道发送。在发送数据时,首先设置好传输控制寄存器和传输传输地址寄存器,从指定的存储区取数据,并且记录发送完的字节数, 数据发送完之后,LAN19C11 产生中断信号,请求DMA 中断,由AT91RM9200 处理。

嵌入式

图3 传输网络硬件连接图

2.4 其他辅助功能模块

该模块包括Flafh、SDRAM、以太网接口、串口和USB 接口。用来实现操作系统内核和应用程序的存储,网络传输,本地存储和远程控制。

3 系统软件部分

嵌入式Linux 实时操作系统,稳定、高效、易定制、易剪裁、开源代码,因此本系统采用Linux 操作系统。软件部分分为Bootloader 文件,Linux 内核文件Linux 驱动和应用程序,用户应用程序。这里主要介绍MPEG-4 和CGI 技术的程序设计。

3.1 MPEG-4 压缩编码程序设计

本系统采用MPEG-4 标准对视频图像进行压缩编码。在实现MPEG-4 编码的方式上, 有硬件压缩和软件压缩两种。

硬件压缩就是利用专门的压缩芯片对视频信号进行MPEG-4 编码, 软件压缩就是使用压缩软件对视频信号进行编码。

AT2042 支持MPEG-4 压缩标准。实现方法方面就是对其相关寄存器的配置,包括编码模式、编码像素点、编码帧率和设置编码流格式等方面。具体过程:系统上电启动后,先配置AT2042 的相关寄存器,完成初始化工作后,通过I2C 总线对A/D 转换芯片TVP5150 进行初始化配置。所有的寄存器配置工作完成之后,开始编码过程。其中MPEG-4 数据流接收存储程序有AT2042 的数据流缓冲器标志信号来控制。缓冲器接收数据满之后置低RISC_INT0,AT91RM9200 主控制器通过DMA 通道把AT2042 发送过来的码流通过网络通道传输到请求监控视频图像的监控端。压缩编码的流程图如图4 所示。

嵌入式

图4 压缩编码流程图

3.2 CGI 程序设计

在嵌入式Linux 环境下,主要有3 种Web 服务器,分别是httpd、thttpd 和Boa。Httpd 功能最弱,不支持CGI、SSL 和认证。本系统需要交互操作, 必须使用动态Web 技术, 采用Boa。Boa 功能强大,支持CGI,支持SSL,支持认证。使用时只需交叉编译,修改一下配置文件即可。CGI[7]即通用网关接口,是外部扩展应用程序与Web 服务器交互的标准。客户端使用浏览器向服务器发送HTTP 请求, 服务器响应客户端的请求后,引导脚本程序,对命令解析,将信息提交给后台———CGI处理。具体到本系统,就是PC 机端通过浏览器输入服务器的IP 地址,Web 服务器根据请求进行分析,如果没有传来参数,则调用get-status()函数取得设备当前状态显示给浏览器。用户根据操作界面提示完成相应的操作,填写好表单设置设备参数并提交。CGI 解析信息后通过get-status()函数设置新状态,实现交互功能。例如调节编码属性,对相机控制等。

CGI 的输入输出基本语法:

M ETHOD 属性指定将数据传送到Web 服务器的方法,输入方法有两种。

1)GET 方法。此方法,表单数据会附加在所指向CGI脚本的URL 后一起发送给Web 服务器,Web 服务器将接收到的表单数据赋予环境变量QU ERY-STR NG。

2)POST 方法。POST 方法通过使用标准输入(STDN)将表单数据传送给Web 服务器,Web 服务器启动指定的脚本,并将用户提供的数据传入该脚本。

ACTON 属性定义要对表单数据进行处理的CGI 脚本URL。

CGI 输出:CGI 输出方式是将执行结果送给标准输出(STDOUT) 进行输出, 执行结果必须是浏览器能够显示的HTML 标准格式。流程图如图5 所示。

嵌入式

图5 Web 服务器CGI 程序流程图

CGI 可以用shell 脚本语言、Fottran、C 语言等多种语言编写。本系统中采用C 语言实现CGI 的编写,执行速度快,安全性高。

4 结论

介绍了基于AT91RM9200 微处理器的嵌入式监控系统的视频服务器设计,采用A/D 转换芯片TVP5150 对模拟视频数据进行数字化处理, 生成符合压缩编码芯片AT2042接口标准的视频数据流。在AT91RM9100 的控制和调度下,将视频数据发送到PC 端。系统采用低编码率的MPEG-4 编码标准,CGI 技术,实现可靠的图像质量的交互功能。


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分