- 相關推薦
基于精簡TCP/IP協議棧的信息家電網絡服務器
摘要:通過分析和實驗,研究嵌入式TCP/IP協議棧S1C33-Stack的結構及運行原理,給出以S1C33-Stack構造單芯片嵌入式網絡服務器,將信息家電組網及接入Internet的實現方案。研究單芯片嵌入式網絡服務器中S1C33-Stack與用戶程序的接口方案,用戶登錄軟件及信息家電監測軟件的設計方法。引言
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協議!猽IP。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
【基于精簡TCP/IP協議棧的信息家電網絡服務器】相關文章:
在TMS320VC5402上實現的嵌入式TCP/IP協議棧03-19
TCP/IP安全性研究03-08
Syn Flood攻擊是利用TCP/IP協議的什么漏洞03-20
基于IMS Presence業務的信息家電系統設計03-30