《電子技術應用》
您所在的位置:首頁 > 通信与网络 > 业界动态 > 基于嵌入式TCP/IP协议栈的信息家电连接Internet单芯片解决方案

基于嵌入式TCP/IP协议栈的信息家电连接Internet单芯片解决方案

2009-02-05
作者:牟英峰 徐殿国 张东来

??? 摘? 要: 以分析和實驗為基礎,研究了嵌入式TCP/IP協議棧SX-Stack的結構及運行原理,提出了使用SX-Stack構造單芯片嵌入式網絡服務器,將信息家電接入Internet的新方案。該服務器的組成、構造方法和工作原理,并比較現有的使用PC/網關設備的接入方案,分析了該方案的優點。單芯片嵌入式網絡服務器中SX-Stack與用戶應用程序的接口方法,用戶登錄軟件及信息家電監測軟件的設計方法。?

??? 關鍵詞: 嵌入式TCP/IP 單芯片 嵌入式網絡服務器 信息家電 Internet

?

??? SX52BD是Ubicom公司推出的RISC結構的8位高性能CMOS微處理器,可以進行高速運算、靈活的I/O口控制和高效的數據操作。SX52BD具有4KB的EE/FLASH ROM和262字節的SRAM。與現有的8位微處理器相比,其運算速度可達50MIPS,加上優化的多數為單時鐘周期的指令集,SX52BD吞吐量大為提高。SX52BD比常規MCU快20倍的運算速度、可靠的性能和可重復編程的結構,使得精簡的TCP/IP能夠在其中可靠運行。?

??? SX-Stack運行在以SX52BD為基礎的硬件平臺上,是一組可配置的多種Internet協議的組合。這些協議按照分層協議棧的方式精心組織,包括應用層的HTTP、DHCP、SMTP,傳輸層的TCP、UDP,網絡層的IP/ICMP、ARP,通過鏈路層和物理層(如Ethernet)進行Internet數據的交互。SX-Stack的結構如圖1所示。SX-Stack利用SX52BD的高速處理能力,按每次1字節的方式處理TCP/IP數據包。這樣,避免了在有限數量的RAM中緩存大量數據,使得控制器可以處理比其內部RAM總數更多的數據包。?

?

?

??? 利用嵌入的SX-Stack,Webserver能夠通過Hypertext Transfer Protocol(HTTP)與任何瀏覽器通訊,能夠提供各種類型的資源,如HTML、圖片、PDF文件等。這些資源使用一種特殊的文件系統URI,被存放在容量為32KB的外部EEPROM中。這種文件系統可包含任意多的子目錄,對URL的長度也沒有限制。?

1 信息家電單芯片服務器方案的提出?

??? 從信息家電的遠程在線訪問的角度考慮,對信息家電監測和控制時存在兩種情況:(1)遠程訪問時,信息家電的通信數據量不大,56Kbps的通信速率即可滿足要求;(2)信息家電對時實性的要求不高,其時延可以在1秒以上。所以,SX-Stack提供的功能和SX52BD的處理速度能夠滿足上述條件下信息家電對接入Internet微處理器的要求。?

??? 在這種情況下,構造了家電網絡服務器XWebServer,其結構如圖2所示。XWebServer主要由三部分組成,即SX52BD微處理器、RTL8019AS以太網控制器、24LC256(E2PROM)。在SX52BD中運行用戶程序和SX-Stack;在E2PROM中存放XWebServer的各種Web資源;RTL8019AS是Ethernet控制器,負責SX52BD和Ethernet的數據傳遞。在家電已具備SPI(Serial Peripheral Interface)接口的條件下,使用家庭自動化總線HAB(Home Automation Bus)作為XWebServer與家電的接口,在HAB上使用的通

信協議為自主開發的簡單家庭網絡協議SHNP(Simple Home Networks Protocol)。?

?

?

??? 圖3是使用XWebServer的接入方法與常規接入方法的比較。使用XWebServer的接入方案省卻了PC機或網關設備,在數據量不大的情況下,完全可以取代PC或網關設備。家電通過SPI接口與XWebServer連接,經由Ethernet接入住宅小區的信息服務中心。通過XWebServer,家電具備了連接Internet的能力。

?

?

??? 用戶自己開發的服務器應用程序需要放在應用層上才能運行。服務器應用程序是靠位于傳輸層TCP的Application Program Interface(API)來與下面各層進行數據交換的。在SX-Stack中存在若干個實質為子程序模塊的API函數,應用程序必須通過這些函數將數據組合成符合TCP/IP格式的數據包。為了提供給用戶登錄程序和家庭電氣設備監測控制軟件模塊更充分的程序空間,移除了與HTTP服務無關的軟件功能模塊和函數,保留了HTTP、TCP、IP/ICMP。這些程序模塊足以使服務器運行,響應瀏覽器的請求。XWebServer的協議棧結構如圖4所示。?

?

?

2 用戶登錄和家庭電氣設備監測控制軟件模塊的設計?

??? 遠程瀏覽器完成TCP鏈接的初始化。服務器等待遠程瀏覽器的請求,是一個被動的設備。當接收到建立TCP鏈接的請求后,服務器建立一個由遠程TCP端口號和遠程IP地址組成的套接字,并使用TCP/IP棧中的API和這個套接字,來識別隨后收到的來自遠程客戶機瀏覽器的數據包。?

??? 在用戶登錄前,遠程瀏覽器必須獲得XWebServer中的Web資源home.html,由此才能進行登錄和控制。GET為其請求數據包中的第一個詞,表示這個請求是用來接收Web資源的。XWebServer僅對HTTP請求的第一行Get/home.html/HTTP1.0進行檢查和解釋。因為除了數據外,所有的響應信息數據都是常量。服務器的響應數據包已經由程序定制好,存放在XWebServer中。響應的HTTP數據頭和資源一起存放在E2PROM中。服務器與瀏覽器的鏈接建立后,服務器檢查接收的請求數據,然后調用E2PROM的程序模塊,將home.html的內容發送給遠程瀏覽器。Web頁的存儲范圍為0000H~7FF0H,大約32KB,而8字節的用戶名和8字節的密碼可以存放在外圍E2PROM存儲區末端(7FF0H~8000H)。E2PROM的資源分布如圖5所示。?

??? 在處理瀏覽器提交的數據信息時,按照以下兩個步驟進行程序設計:首先,服務器要根據遠程瀏覽器傳送過來的數據信息,決定服務器的HTTP服務的方式;其次,將Web資源發送給遠程瀏覽器或使用ProcessPostData函數來處理瀏覽器提交的數據。?

??? 在TCP連接的初始化完成后,在應用層的用戶登錄程序使用函數TCPAppRxData()來接收傳輸層的數據。這個函數對數據包中收到的字節都調用一次。用戶程序首先檢查ASCII碼是P還是G以確定XWebServer對HTTP服務的方式。在服務器接收的數據包中,P表示以Post 開始的用戶提交的數據信息第一個ASCII碼;G表示以Get開始的用戶請求Web資源的第一個ASCII碼,缺省的HTTP服務的方式是Get,即XWebServer響應遠程瀏覽器對Web資源的請求。程序通過設定標志位HTTP_METHOD來確定HTTP服務的方式。確定HTTP服務方式的流程如圖6所示。?

?

?

??? 圖6中的ProcessPostData是處理提交數據的子程序。ProcessPostData主要由兩部分組成:一部分為登錄信息校驗和登錄標志的設定;另一部分為監控數據的獲得并發送到SPI接口。登錄流程如圖7所示。程序必須在確認用戶成功登錄后才能對提交的控制數據進行處理,否則將錯誤指示信息err.htm發送給遠程瀏覽器。程序通過判斷數據包中提交數據區的name屬性來確定是登錄數據還是監控數據。例如,在index.htm中,對于Username文本框,name=“u”;對于Password文本框,name=“p”。

?

?

??? 用戶在登錄和密碼文本框中輸入用戶名和密碼后提交登錄信息。校驗用戶登錄信息可通過兩種途徑:第一種途徑,系統上電復位后,先從E2PROM中取出用戶名和密碼存放在RAM中,當用戶程序接收到來自TCP數據包中的登錄數據后,采用逐個字節比較的方法進行用戶信息的校驗;第二種途徑,當用戶程序接收到來自TCP數據包中的登錄數據后,再按字節從E2PROM中取出用戶名和密碼進行校驗。與第二種方法相比,第一種方法能夠滿足XWebServer對實時性的要求。為提高RAM資源的利用率,在校驗結束后,用戶程序釋放16個字節的RAM資源。?

??? 處理監控信息的流程如圖8所示。如果用戶成功登錄,就從數據區中取出監控用的數據,直接送到SPI接口,否則給出錯誤信息err.htm。用戶服務程序并不對數據區中的數據進行解釋,只是將其按原始的排列方式從SPI接口輸出。在整體數據流動的過程中,XWebServer起到了從以太網數據流到SPI接口數據流的轉換作用。?

?

?

??? 以太網作為接口,以SX52BD為硬件平臺,利用軟件化的嵌入式TCP/IP,能夠實現HTTP服務。SX-Stack在家電網絡接入Internet中的應用,為其接入Internet提供了一種無需額外的PC或網關設備的解決方案。這種低成本、高性能的方案,具有可靠、靈活的特點,適用于通訊速率不大于56Kbps、允許時延大于1秒、需要連接Internet的家庭自動化設備。用戶可以根據需要,按照本文提供的方法,構造自己的網絡服務器,可為普通的電氣設備或系統如公共服務設備、家庭醫療保健設備、工業自動化系統等,賦予接入Internet的能力。?

參考文獻?

1 Ubicom, Inc. SX48BD/SX52BD Datasheet. 2000,3 ?

2 Ubicom,Inc.Ethernet SX-Stack Internet Connectivity User's?Manual. 2000,11?

3 Ubicom, Inc. Christopher Waters.HTTP Virtual Peripheral?Implementation. 2000.9?

4 郭 旭.Home.Net 模型/架構研究.單片機與嵌入式系統應用, 2001;(6)

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 青青久久av北条麻妃黑人| 日韩国产一区久久| 亚洲午夜精品福利| 欧美一区二视频在线免费观看| 天天综合五月天| 91精品久久久久久久久久入口| 日本阿v视频在线观看| 欧美视频在线播放一区| 国产超级av在线| 日韩视频在线观看国产| 一区二区免费在线视频| 日本国产一区二区三区| 日韩在线视频线视频免费网站| www.xxxx精品| 久久精品国产视频| 中文字幕在线亚洲精品| www.午夜精品| 国产精品美女久久久久久免费| 久久久久久久网站| 国产伦精品免费视频| 欧美一区二区三区免费视| 国产精品99久久久久久久久久久久| 欧美最猛性xxxxx(亚洲精品)| 日本最新高清不卡中文字幕V| 欧美国产综合在线V| 一区二区三区日韩视频| 九九九九免费视频| 国产欧美欧洲在线观看| 国产欧美日本在线| 精品国产美女在线| 久久久国产精彩视频美女艺术照福利| 国内精品伊人久久| 国产日韩视频在线观看| 日本精品一区| 国产又粗又爽又黄的视频| 国语精品免费视频| 欧美在线视频a| 国产欧美在线播放| 久久国产色av| 久久久久亚洲精品| 欧美高清视频一区|