微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于精简TCP/IP协议栈的信息家电网络服务器

基于精简TCP/IP协议栈的信息家电网络服务器

时间:02-11 来源:不详 点击:

引言

S1C33209是EPSON公司推出的RISC结构的32位高性能CMOS微处理器,具有高速、低功耗、低电压操作、精简指令集等特点,提供乘与累加功能,既可用于办公设备,也特别适用于需要高级数据处理的便携设备,可以进行高速运算、灵活的I/O口控制和高效的数据操作。S1C33209具有8KB的内部RAM,其运算速率可达60MHz,加上优化的多数为单时钟周期的指令集,使S1C33209吞吐量大为提高。S1C33209比常规MCU有更快的运算速度及可靠的性能、可重复编程的结构,使得精简的TCP/IP能够在其中可靠运行。

1 硬件平台结构及设计

信息家电远程访问时,通信数据量不大,10M以太网的通信速率即可满足要求;其次信息家电对实时性的要求不高,可定位在秒级。

在这种情况下,构造了家电网络硬件平台服务器S1C-WebServer,其结构如图1所示。S1C33-WebServer主要由三部分组成,即S1C33209微处理器、RTL8019AS全双工以太网控制器(RealTek公司出品,100脚的TQFP封装,最大速率10Mbps,自带16KB的SRAM,工作在Ethernet II和IEEE802.3、10Base5、10Base2、10BasetT下,全双工,支持8位与16位数据总线,与NE2000兼容)、可擦写Flash(采用Intel的E28F320,容量为4MB)。考虑到Flash的擦写在程序调试中不太方便,所以为S1C33209外围扩展512KB的SDRAM。在S1C33209中,运行用户程序和S1C33-Stack。在Flash中,存放S1C-WebServer的各种Web资源信息,综可处理Web页面、图像文件等,与PC机上WebServer中的硬盘可以存储大量的不同页面。Flash的容量决定了WebServer的资源文件的大小。RTL9019AS是Ethernet控制器,负责S1C33209与Ethernet的数据传递。在信息家电已具备RS232或相关标准接口的条件下,使用家庭自动化总线HAB(Home AutomaTIon Bus)作为S1C33-WebServer与家庭网络协议SHNP(Simple Home Networks Protocol)。家电通过RS232接口与S1C33-WebServer连接,经由EEthernet接入Internet。

    经过分析,S1C33209与RTL8019AS读写时序是兼容的,而且MCU的读写时延比RTL8019AS小得多。MCU与RTL8019AS的连接如图2所示。RTL8019AS的工作电压为5V,而S1C33209的工作电压为3.3V,所以RTL8019AS的数据线输出需要电平的转换。选用2个8位(采用16位数据总线)的具有双向数据传输功能的74HC245来完成,由于S1C33209的输出电平符合RTL8019AS输入电平的要求,所以地址线可以直接相连,而不需电平转换,RTL8019AD中断信号(INT0)为高电平有效,在S1C33209中选用端口中断输入的K60端口与之相连。由于S1C33209的中断有效方式(高、低电平或脉冲)可以根据对寄存器的设置调节),所以不用对INT0作反向或电平转换。

2 精简TCP/IP协议栈的实现

构建的S1C33-Stack运行在以S1C33209嵌入式CPU为基础的硬件平台上,是一组可配置的多种Internet协议的组成。这些协议按照分层协议栈的方式组织,包括应用层的HTTP、DHCP、SMTP,传输层的TCP、UDP,网络层的IP/ICMP、ARP,通过链路层和物理层(如Ethernet)进行数据的交互。S1C33-Stack的结构模型如图3所示。S1C33-Stack利用S1C33的高速处理能力处理TCP/IP数据包,避免了在有限容量的RAM中缓存大量数据,使得控制器可以处理比内部RAM总线更多的数据包。利用嵌入的S1C33-Stack,Webserver能通过Hypertext Transfer Protocol(HTTP)与任何浏览器通信,能够提供各种类型的资源,如HTML、图片文件等。这些资源可以使用一种特殊的文件系统URI,被存放在容量为4MB的Flash中。这种文件系统可包含任意多的目录,对URL的长度也没有限制。
    考虑到嵌入式系统的可用资源有限,在此采用经过裁减的TCP/IP协议栈—uIP。uIP协议主要包括TCP/IP协议组中的四个基本的协议:ARP、IP、ICMP、TCP。链路层协议,如PPP,则作为设备驱动在uIP底层实现。应用层协议,如HTTP、FTP、SMTP则作为应用程序在uIP上层实现。

(1)地址解析协议ARP

该协议将IP地址映射成以太网MAC地址。在uIP中,ARP的执行依靠维持一张表来完成IP地址和MAC的地址的映射。当有一个IP数据包要发送到以太网上时,从ARP表中查询相应的MAC地址。如果在ARP表中找不到IP地址则送出相应的ARP请求。当目的主机收到ARP请求报文后,发送ARP REPLY报文将请求的MAC地址送出。当收到ARP REPLY后,ARP表被更新。每隔10s,ARP表就被新新一次,旧的ARP表项将被删除。每个ARP表项的生存周期是20min。

(2)网间协议IP

在uIP中,IP层的代码有两个功能:验证到来的IP报文报头的正确性

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

网站地图

Top