新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于W3150A+的嵌入式Web服务器设计

基于W3150A+的嵌入式Web服务器设计

作者:时间:2010-09-17来源:网络收藏

引言

本文引用地址:http://www.eepw.com.cn/article/151523.htm

通过以太网进行传输已经成为一种经济、有效的数据传输方式。越来越多的工业测控设备需要配置网络接入功能,不仅需要通过以太网来实现各类设备间数据的传输,而且需要通过浏览器来实现人与设备的交互,从而对设备进行远程监测、远程控制、远程维护和管理。内嵌于设备的可以提供统一的浏览器方式的操作和控制界面,界面直观易操作,大大降低了软件系统和通信系统的、维护工作量,节省了人员培训费用,提高了现场监测和控制设备的管理水平。

1关键器件的选择

要实现功能,需要一个可实现的TCP/IP协议栈,同时还需要一款与以太网的速度相匹配的高性能处理器。

+芯片是一款TCP/IP硬协议栈芯片,为高速的Internet连接提供了一种简易、低成本的解决方案。+芯片包含TCP、UDP、ICMP、IPv4、ARP和PPPoE等协议,内部有用来收发数据的内存空间16 KB;它提供了3种接口——直接的、间接的和SPI,同时可支持4个独立的SOCKET,每个SOCKET具有2 KB的缓冲区。

LPC2292微控制器是一款由PHILIPS公司ARM7TTDMI-S核的16/32位RISC处理器,可实现最大为60 MHz的CPU操作频率,内部具有16 KB的RAM,128/256 KB片内FLASH程序存储器,具有可配置的外部8/16/32位总线,可进行外部RAM扩展。

2硬件

系统硬件结构框图如图1所示。图中仅给出了与Web服务器相关的部分,电源、键盘等电路省略。

系统选择频率为12 MHz的晶振,设定LPC2292内部PLL为4倍频的工作频率,设定数据总线为16位与RAM进行接口,RAM选用2片IS61LV51216,为512K×16位的RAM。LPC2292通过8位数据总线对芯片+进行读写,芯片W3150A+通过MII(Media Independent Interface)接口连接到RTL8201。

当网络上数据到达芯片RTL8201时,通过MII接口到达芯片W3150A+。芯片W3150A+自动完成TCP/IP协议转换,把数据接收到它的硬件缓冲区,并产生中断通知LPC2292来读取硬件缓冲区数据,至此便完成1包网络数据的接收。

当通过网络发出1包数据时,LPC2292将RAM中准备好的数据写入W3150A+硬件发送缓冲区,通过发送指令,W3150A+通过MII接口发送到RTL201上,完成数据的发送。发送完成后产生中断,通知LPC2292发送完毕。

3Web服务器软件设计

实现原理:首先要实现W3150+芯片TCP/IP驱动接口,在建立TCP连接时装置作为TCPServer端,端口使用80,然后,在此基础上采用HTTP协议,在HTTP协议基础上采用HTML语言实现所要描述的网页功能。应用时通过浏览器与Web服务器建立的TCP连接进行信息解析、交互,以实现从网页上进行参数的配置、修改、程序在线升级与重新启动等。

由于系统应用中关于Web的应用不是很复杂,故在本设计中未采用文件系统,所有网页的数据都保存在RAM中。大约分配20 KB的RAM,通过重复利用此空间即可完成网页的浏览与配置等操作。

具体实现内容:TCP/IP的驱动接口实现;HTTP协议的实现;HTML语言的网页设计;Web服务器的应用层实现;权限管理。

3.1TCP/IP的驱动接口的实现

驱动接口主要有:

其函数原型及代码实现可参考芯片W3150A+的数据手册。

3.2 HTTP协议的简介与实现

(1) HTTP协议简介

①HTTP请求:

其中,GET/HTTP信息最为关键,此即为HTTP请求信息。

②HTTP应答:

当装置收到请求报文后就进行应答,一般都处理为正确应答。类似报文如下:

此报文表示:应答正确,内容类型为html语言,报文长度为23 056,正文就是网页内容。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

tcp/ip相关文章:tcp/ip是什么



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭