嵌入式视频监控系统视频服务器的设计与实现
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]引脚相连接,接收视频数据。EMD10和EMDC分别控制芯片的读写。数据从DMA通道发送。在发送数据时,首先设置好传输控制寄存器和传输传输地址寄存器,从指定的存储区取数据,并且记录发送完的字节数,数据发送完之后,LAN19C11产生中断信号,请求DMA中断,由AT91RM9200处理。
2.4 其他辅助功能模块
该模块包括Fiafh、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所示。
3.2 CGI程序设计
在嵌入式Linux环境下,主要有3种Web服务器,分别是httpd、thttpd和Boa。Httpd功能最弱,不支持CGI、SSL和认证。本系统需要交互操作,必须使用动态Web技术,采用Boa。Boa功能强大,支持CGI,支持SSL,支持认证。使用时只需交叉编译,修改一下配置文件即可。CGI即通用网关接口,是外部扩展应用程序与Web服务器交互的标准。客户端使用浏览器向服务器发送HTFP请求,服务器响应客户端的请求后,引导脚本程序,对命令解析,将信息提交给后台——CGI处理。具体到本系统,就是PC机端通过浏览器输入服务器的IP地址,Web服务器根据请求进行分析,如果没有传来参数,则调用get-status()函数取得设备当前状态显示给浏览器。用户根据操作界面提示完成相应的操作,填写好表单设置设备参数并提交。CGI解析信息后通过get-status()函数设置新状态,实现交互功能。例如调节编码属性,对相机控制等。
CGI的输入输出基本语法:
FORM M ETHOD=get/post ACTOD=URL>/FORM>
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所示。
CGI可以用shell脚本语言、Fottran、C语言等多种语言编写。本系统中采用C语言实现CGI的编写,执行速度快,安全性高。
4 结论
笔者介绍了基于AT91RM9200微处理器的嵌入式监控系统的视频服务器设计,采用A/D转换芯片TVP5150对模拟视频数据进行数字化处理,生成符合压缩编码芯片AT2042接口标准的视频数据流。在AT91RM9100的控制和调度下,将视频数据发送到PC端。系统采用低编码率的MPEG-4编码标准,CGI技术,实现可靠的图像质量的交互功能。
- 基于FPGA的DSP设计方法(08-26)
- 电力电子装置控制系统的DSP设计方案(04-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)