- 相關(guān)推薦
基于精簡TCP/IP協(xié)議棧的信息家電網(wǎng)絡(luò)服務(wù)器
摘要:通過分析和實(shí)驗(yàn),研究嵌入式TCP/IP協(xié)議棧S1C33-Stack的結(jié)構(gòu)及運(yùn)行原理,給出以S1C33-Stack構(gòu)造單芯片嵌入式網(wǎng)絡(luò)服務(wù)器,將信息家電組網(wǎng)及接入Internet的實(shí)現(xiàn)方案。研究單芯片嵌入式網(wǎng)絡(luò)服務(wù)器中S1C33-Stack與用戶程序的接口方案,用戶登錄軟件及信息家電監(jiān)測軟件的設(shè)計(jì)方法。引言
S1C33209是EPSON公司推出的RISC結(jié)構(gòu)的32位高性能CMOS微處理器,具有高速、低功耗、低電壓操作、精簡指令集等特點(diǎn),提供乘與累加功能,既可用于辦公設(shè)備,也特別適用于需要高級數(shù)據(jù)處理的便攜設(shè)備,可以進(jìn)行高速運(yùn)算、靈活的I/O口控制和高效的數(shù)據(jù)操作。S1C33209具有8KB的內(nèi)部RAM,其運(yùn)算速率可達(dá)60MHz,加上優(yōu)化的多數(shù)為單時鐘周期的指令集,使S1C33209吞吐量大為提高。S1C33209比常規(guī)MCU有更快的運(yùn)算速度及可靠的性能、可重復(fù)編程的結(jié)構(gòu),使得精簡的TCP/IP能夠在其中可靠運(yùn)行。
1 硬件平臺結(jié)構(gòu)及設(shè)計(jì)
信息家電遠(yuǎn)程訪問時,通信數(shù)據(jù)量不大,10M以太網(wǎng)的通信速率即可滿足要求;其次信息家電對實(shí)時性的要求不高,可定位在秒級。
在這種情況下,構(gòu)造了家電網(wǎng)絡(luò)硬件平臺服務(wù)器S1C-WebServer,其結(jié)構(gòu)如圖1所示。S1C33-WebServer主要由三部分組成,即S1C33209微處理器、RTL8019AS全雙工以太網(wǎng)控制器(RealTek公司出品,100腳的TQFP封裝,最大速率10Mbps,自帶16KB的SRAM,工作在Ethernet II和IEEE802.3、10Base5、10Base2、10BasetT下,全雙工,支持8位與16位數(shù)據(jù)總線,與NE2000兼容)、可擦寫Flash(采用Intel的E28F320,容量為4MB)?紤]到Flash的擦寫在程序調(diào)試中不太方便,所以為S1C33209外圍擴(kuò)展512KB的SDRAM。在S1C33209中,運(yùn)行用戶程序和S1C33-Stack。在Flash中,存放S1C-WebServer的各種Web資源信息,綜可處理Web頁面、圖像文件等,與PC機(jī)上WebServer中的硬盤可以存儲大量的不同頁面。Flash的容量決定了WebServer的資源文件的大小。RTL9019AS是Ethernet控制器,負(fù)責(zé)S1C33209與Ethernet的數(shù)據(jù)傳遞。在信息家電已具備RS232或相關(guān)標(biāo)準(zhǔn)接口的條件下,使用家庭自動化總線HAB(Home Automation Bus)作為S1C33-WebServer與家庭網(wǎng)絡(luò)協(xié)議SHNP(Simple Home Networks Protocol)。家電通過RS232接口與S1C33-WebServer連接,經(jīng)由EEthernet接入Internet。
經(jīng)過分析,S1C33209與RTL8019AS讀寫時序是兼容的,而且MCU的讀寫時延比RTL8019AS小得多。MCU與RTL8019AS的連接如圖2所示。RTL8019AS的工作電壓為5V,而S1C33209的工作電壓為3.3V,所以RTL8019AS的數(shù)據(jù)線輸出需要電平的轉(zhuǎn)換。選用2個8位(采用16位數(shù)據(jù)總線)的具有雙向數(shù)據(jù)傳輸功能的74HC245來完成,由于S1C33209的輸出電平符合RTL8019AS輸入電平的要求,所以地址線可以直接相連,而不需電平轉(zhuǎn)換,RTL8019AD中斷信號(INT0)為高電平有效,在S1C33209中選用端口中斷輸入的K60端口與之相連。由于S1C33209的中斷有效方式(高、低電平或脈沖)可以根據(jù)對寄存器的設(shè)置調(diào)節(jié)),所以不用對INT0作反向或電平轉(zhuǎn)換。
2 精簡TCP/IP協(xié)議棧的實(shí)現(xiàn)
構(gòu)建的S1C33-Stack運(yùn)行在以S1C33209嵌入式CPU為基礎(chǔ)的硬件平臺上,是一組可配置的多種Internet協(xié)議的組成。這些協(xié)議按照分層協(xié)議棧的方式組織,包括應(yīng)用層的HTTP、DHCP、SMTP,傳輸層的TCP、UDP,網(wǎng)絡(luò)層的IP/ICMP、ARP,通過鏈路層和物理層(如Ethernet)進(jìn)行數(shù)據(jù)的交互。S1C33-Stack的結(jié)構(gòu)模型如圖3所示。S1C33-Stack利用S1C33的高速處理能力處理TCP/IP數(shù)據(jù)包,避免了在有限容量的RAM中緩存大量數(shù)據(jù),使得控制器可以處理比內(nèi)部RAM總線更多的數(shù)據(jù)包。利用嵌入的S1C33-Stack,Webserver能通過Hypertext Transfer Protocol(HTTP)與任何瀏覽器通信,能夠提供各種類型的資源,如HTML、圖片文件等。這些資源可以使用一種特殊的文件系統(tǒng)URI,被存放在容量為4MB的Flash中。這種文件系統(tǒng)可包含任意多的目錄,對URL的長度也沒有限制。
考慮到嵌入式系統(tǒng)的可用資源有限,在此采用經(jīng)過裁減的TCP/IP協(xié)議!猽IP。uIP協(xié)議主要包括TCP/IP協(xié)議組中的四個基本的協(xié)議:ARP、IP、ICMP、TCP。鏈路層協(xié)議,如PPP,則作為設(shè)備驅(qū)動在uIP底層實(shí)現(xiàn)。應(yīng)用層協(xié)議,如HTTP、FTP、SMTP則作為應(yīng)用程序在uIP上層實(shí)現(xiàn)。
(1)地址解析協(xié)議ARP
該協(xié)議將IP地址映射成以太網(wǎng)MAC地址。在uIP中,ARP的執(zhí)行依靠維持一張表來完成IP地址和MAC的地址的映射。當(dāng)有一個IP數(shù)據(jù)包要發(fā)送到以太網(wǎng)上時,從ARP表中查詢相應(yīng)的MAC地址。如果在ARP表中找不到IP地址則送出相應(yīng)的ARP請求。當(dāng)目的主機(jī)收到ARP請求報文后,發(fā)送ARP REPLY報文將請求的MAC地址送出。當(dāng)收到ARP REPLY后,ARP表被更新。每隔10s,ARP表就被新新一次,舊的ARP表項(xiàng)將被刪除。每個ARP表項(xiàng)的生存周期是20min。
(2)網(wǎng)間協(xié)議IP
【基于精簡TCP/IP協(xié)議棧的信息家電網(wǎng)絡(luò)服務(wù)器】相關(guān)文章:
在TMS320VC5402上實(shí)現(xiàn)的嵌入式TCP/IP協(xié)議棧03-19
TCP/IP安全性研究03-08
Syn Flood攻擊是利用TCP/IP協(xié)議的什么漏洞03-20
具有TCP/IP協(xié)議的智能開關(guān)控制器的研究03-08
基于混合TCP-UDP的HTTP協(xié)議實(shí)現(xiàn)方法03-18
基于IMS Presence業(yè)務(wù)的信息家電系統(tǒng)設(shè)計(jì)03-30
基于MSP430的簡單IPv6協(xié)議棧的設(shè)計(jì)與實(shí)現(xiàn)11-22
嵌入式TCP/IP協(xié)議單片機(jī)技術(shù)在網(wǎng)絡(luò)通信中的應(yīng)用03-07