嵌入式WEB服务器系统的设计与研究

  • 格式:doc
  • 大小:50.50 KB
  • 文档页数:5

嵌入式WEB服务器系统的设计与研究

摘要:选取ARM芯片AT91RM9200为核心处理器,以Linux操作系统为软件平台,设计了一款嵌入式WEB服务器,在构建系统软、硬件平台的基础上,详细给出了网络协议TCP/IP的剪裁方案,使其适用于嵌入式系统。

关键词:ARM Linux TCP/IP

近年来随着嵌入式Internet技术的快速发展,网络服务软件越来越受到人们的关注。对于嵌入式系统来说,使其具有Internet网络传输功能已成为社会发展的一个必然趋势,在嵌入式系统网络化应用中,嵌入式Web服务器具有不可低估的作用。WEB服务器能够实现互联网内设备之间信息的传递与控制,可以很方便的实现远程监控,给人们生活和工作带来了极大的方便,有较好的应用前景。本系统采用ARM微处理器AT91RM9200与Web技术相结合的方式,设计了一种基于ARM的嵌入式WEB服务器。

1 嵌入式Web服务器软、硬件平台构建

1.1 基于ARM的硬件平台设计

硬件电路设计时,选择了功能先进的AT91RM9200作为核心处理器,与网络接口芯片DM9161E相结合实现网络功能[1](图1)。

选用28F320J3A110芯片作为FLASH存储器,主要用于存放bootloader、linux内核、以太网 MAC地址、IP地址以及初始化的

RAMDISK映象。选用两片HY57LV641620芯片作为SDRAM存储器,使其并联为16MB空间的SDRAM存储系统[2]。

同时系统还包括Ethernet网络接口RJ45、USB接口、RS-232串口和JTAG口。

1.2 基于Linux的软件平台设计

本文以具有良好移植性的Linux作为操作系统。使其在ARM平台上进行引导程序、内核的移植及文件系统制作[3]。

2 TCP/IP协议分析与剪裁

实现TCP/IP协议栈是嵌入式系统连入网络的前提条件,但传统

TCP/IP协议栈过于复杂,因此必须对其进行剪裁以满足嵌入式应用的要求[4]。

TCP/IP协议栈精简原则如下: (1)根据系统特点和实现功能对所支持的协议种类进行精简。

(2)根据系统应用对选用协议本身功能进行精简。

本文在遵循以上原则的前提下,结合所设计的嵌入式WEB服务器的特点和功能,给出了具体的剪裁方案,在实现的精简TCP/IP协议栈中,主要实现ARP、IP、ICMP、TCP和HTTP协议。

(1)ARP地址解析协议,ARP协议实现了计算机网络地址与物理地址之间的转化。本文设计的服务器主要用于接收来自客户的服务请求,而无需向主机发送ARP请求,设备只要能处理ARP请求并返回ARP应答即可。因此ARP协议在剪裁时仅实现应答功能即可。

(2)IP网际协议,IP协议主要有两个功能:在不同网络的主机之间进行数据报传送功能;对数据报进行拆分传输,到达目的主机后重组恢复成原来的IP数据报。

本设计中IP协议仅作为传输工具,因此只实现以下两点功能:①当Web服务器接收发来的IP数据帧后,对IP头部的版本、长度、校验和是否正确进行检验;检查目的地址是否与本机相匹配;然后向上层协议传送解析出的协议类型字段。②IP协议查询的上层数据是否要发送,如果有数据要发送,则对上层数据进行IP封装,然后交给数据链路层装帧发送。

(3)ICMP网际控制报文协议,ICMP协议主要进行IP主机、路由器之间的控制信息传递,包括报告错误、交换受限控制和状态信息等。通过实现ICMP协议对服务器进行可达性和状态检测。功能方面仅实现ICMP协议中的Ping应答协议,实现响应回显请求并发送回显应答报文。

(4)TCP传输控制协议,由于系统应用层选用了HTTP协议,所以选择TCP作为传输层协议[5]。本文对TCP协议进行了简化:

第一,对TCP协议状态进行取舍。仅实现LISTEN、SYN两种状态,其他状态设置为关闭。

第二,实现TCP协议时,只通过一次TCP连接,持续使用它传送多个请求以及响应数据。

(5)HTTP超文本传输协议,Web浏览器与服务器之间进行请求和响应的通信协议是HTTP协议[6]。该文在实现TCP协议时采用支持一次TCP连接的方式,所以在这里选择支持持久连接的HTTP1.1版本,使系统能够接收HTTP请求,并发送相应网页资源以完成HTTP响应。

3 系统测试

通过实际测试,系统实现了设计要求。

4 结语 该文结合AT91RM9200芯片和Linux操作系统,研究设计了一款稳定性好,应用广泛的嵌入式web服务器。在构建系统软、硬件平台的同时,给出了适用于嵌入式系统的TCP/IP协议栈的剪裁方案,使其功能达到最简化,更好的应用于嵌入式系统。

参考文献

[1] 马忠梅,马广云,徐英慧,等.ARM嵌入式处理器结构与应用基础[M].北京:北京航空航天大学出版社,2002.

[2] 马春鸣.基于ARM处理器的嵌入式系统实现[D].北京:北京邮电大学,2005.

[3] 李新峰,何广生,赵秀文.基于ARM9的嵌入式Linux开发技术[M].北京:电子工业出版社,2008.

[4] The Linux Kernel Organization. The Linux Kernel Archives

[EB/OL].2009-04-28..

[5] Jeremy Bentham.陈向群等译.嵌入式系统Web服务器-TCP/IP Lean[M].北京:机械工业出版社,2003.

[6] 胡友水,李汉强.基于ARM的嵌入式TCP/IP协议的实现[J].电子技术应用,2003(12):25-27.