微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于ARM平台的嵌入式家庭网关服务器平台

基于ARM平台的嵌入式家庭网关服务器平台

时间:06-09 来源:3721RD 点击:

引言

随着科学技术的不断进步和发展,人们对生活质量也提出了更高的要求。家庭网络作为一个新生体越来越快走进人们的生活,它将家庭单元作为一个节点加入了网络的大家庭,其中连接家庭内部与Internet的桥梁的家庭网关起了举足轻重的作用。嵌入式网关的主要功能如下:

远程控制:客户通过Internet连接的任意一台PC机的浏览器,都可以访问家庭网络的服务器。家庭网络中的设备状态将以HTML文件的方式显示在客户端的浏览器中。客户通过对HTML页面上相应设备的点击以实现对家庭网络中设备的远程控制,操作的结果同样以HTML页面的方式刷新客户端的浏览器。

远程监视:客户通过PC机的浏览器,都可以访问家庭网络的服务器,在HTML页面上通过点击控件按钮来实现视频工具的自动下载,和所要求视频文件的自动播放,从而可以显示多个摄像头中的视频信息。

远程维护:当HomeNetServer的后台数据库需要维护,或者家庭网络中设备的HTML描述文件有了更新,甚至系统的网络管理系统需要升级为新版本时,管理员都可以通过Internet远程对家庭网络中的服务器做维护和更新。

本文采用的系统总体设计框图如图1所是。基于这些基本要求和嵌入式系统自身资源有限的特点,系统处理器选择了三星的S3C4510芯片,并对其进行外围电路扩展如图2所示。

图1系统总体设计框图

图2处理芯片的外围扩展电路方框图

其中,Flash/ROM用于存储家庭网关中的嵌入式操作系统、HTTP服务器、CGI网关程序、家庭网络服务器以及各种服务所需的文件系统。整个家庭网关软件平台存储在Flash中,系统启动时,将从Flash中运行引导程序,解压操作系统并将其移入SDRAM中。
Ethernet:S3C4510内部集成了网络控制接口,并提供专用于网络通信的DMA通道。通过Ethernet模块,S3C4510实现与Internet的连接。Ethernet模块完成芯片与网络的隔离和数据的收发。

系统:S3C4510所需的其他外围电路,包括:电源电路、外部时钟(50MHz)电路、开关及复位电路和JTAG调试接口电路等。

嵌入式操作系统选择的是mCLinux操作系统,mCLinux是专门针对没有MMU的处理器而设计的,系统多采用Romfs文件系统,Romfs是一种相对简单、占用空间较少的文件系统。而在mCLINUX下,主要有三个WEB服务器:httpd、thttpd和boa。httpd是最简单的WEB服务器,功能简单,不支持认证和CGI,thttpd和boa均支持认证和CGI,功能丰富,其中boa1是一个单任务的http服务器,源代码开放,性能较高,占用系统资源较少,boa服务器在收到请求时,不启动多个服务进程处理多个请求,在一个进程内处理所有服务请求。对于CGI程序,将生成新的进程来处理,考虑到嵌入式系统自身资源有限,和家庭网关的进程数量有限,系统选择了在mCLinux系统中的boa服务器。

由于目前的mCLinux还不支持ASP、PHP等动态网页技术,所以在mCLinux下通过CGI2技术连接WEB页和本地程序,提供动态和交互的特性。

配置boa服务器

CGI程序不是放在服务器上就能顺利运行,如果要想使其在服务器上顺利的运行并准确的处理用户的请求,则须对所使用的服务器进行必要的设置。

boa的配置文件boa。conf:在boa。conf中对boa进行了配置,这些配置多使用默认值,本系统中将DocumentRoot指定的WEB服务器的根修改为/boas。
在对内核进行配置时,选择boa程序和cgi。

将cgi_generic文件夹下的cgi。c和makefile覆盖到程序包中的/usr/cgi_generic/。将boa文件夹下的hash。c覆盖到程序包中的/usr/boa/src。将rc文件覆盖到程序包中的/vendor/Miectek/4510。

本系统中的mCLinux系统中的文件使用的是ROMFS和运行于RAM的EXT2。为了可通过FTP等工具更新网页,Src文件在/boas下创建文件夹cgi_bin,然后将index。html,boa。conf和mine。type复制到/boas下,将CGI程序复制到/boas/cgi_bin下。至此建立了boa运行的基本环境,使用">boa-C/boas/&"命令就可以运行boa。

家庭网关设计

在嵌入式网关的设计中,网关程序与家庭网络的HTTP服务器和家庭网络内部服务器位于同一物理设备(基于S3C4510的硬件平台)之上,负责连接HTTP服务器与后台数据库,完成HTTP服务器与HomeNetServer之间的信息交互。

图3家庭网关软件结构框图

家庭网关的软件结构如图3所示。根据功能描述,网关应能提供远程监视、远程控制、远程维护功能。网关内部工作流程如下:

*若客户发送的HTTP请求,经过HTTP服务器接收和解析后,得知要求的是设备状态信息时,HTTP服务器从存储设备状态信息的静态文件中取出设备状态,并封装为HTTP响应消息发送回客户端。

*若客户发送的HTTP请求,经过接收和解析后,得知请求的消息是对设备的设置(操作),则通CGI函数将消息内容转换为家庭网络协议传递给家庭网络服务器,由家庭网络服务器对家庭内部设备的管理和控制,并将处理结果以消息形式传递给CGI函数,并封装为HTTP响应消息的形式,发送回客户端。

*若客户发送的HTTP请求,经过接收和解析后,得知请求的页面是提供实时视频服务时,HTTP服务器将调用CGI函数向视频数据处理模块发送消息,通过视频数据处理模块来控制视频压缩卡完成视频数据的采集、压缩和发送等功能。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top