基于精简TCP/IP协议栈的信息家电网络服务器
发布时间:2008/5/29 0:00:00 访问次数:439
摘要:通过分析和实验,研究嵌入式tcp/ip协议栈s1c33-stack的结构及运行原理,给出以s1c33-stack构造单芯片嵌入式网络服务器,将信息家电组网及接入internet的实现方案。研究单芯片嵌入式网络服务器中s1c33-stack与用户程序的接口方案,用户登录软件及信息家电监测软件的设计方法。
关键词:sic33209 嵌入式系统 tcp/ip协议栈 网络服务器 信息家电 internet
引言
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底层实现
摘要:通过分析和实验,研究嵌入式tcp/ip协议栈s1c33-stack的结构及运行原理,给出以s1c33-stack构造单芯片嵌入式网络服务器,将信息家电组网及接入internet的实现方案。研究单芯片嵌入式网络服务器中s1c33-stack与用户程序的接口方案,用户登录软件及信息家电监测软件的设计方法。
关键词:sic33209 嵌入式系统 tcp/ip协议栈 网络服务器 信息家电 internet
引言
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底层实现