智能家庭網關分析論文
時間:2022-06-23 04:03:00
導語:智能家庭網關分析論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
摘要:本文給出MotorolaVZ328芯片實現的智能家庭網關的解決方案。該方案中給出智能家庭網關的硬件體系結構和軟件體系結構。該方案可以實現通過Internet網和智能家庭網關對家庭內部網絡上的家電設備進行控制,并且實現遠程自動報警功能。也對智能家庭網在系統中,實現網絡功能的TCP/IP協議開發作出說明。
關鍵詞:智能家庭網關硬件體系結構軟件體系結構PPSMTCP/IP
引言
智能家庭網絡是信息時代帶給人們的又一個高科技產物。它借助現有的計算機網絡技術,將家庭內部的各種家電和設備連網,通過網絡為人們提供各種豐富、多樣、個性、方便、舒適、安全和高效的服務。家庭網絡化也是整個社會信息化的一個重要的部分。智能家庭網絡系統的基本結構如圖1所示。
家實現家庭內部信息與家庭外部信息的交換,無疑是家庭連網的目的所在,其實現需要設計一個理想的家庭網關。
1家庭網關
家庭網關作為家庭網絡與Internet間的接口,如圖2所示。家庭網關應具有以下的基本功能:
①作為所有外部接入網連接到家庭內部,同時將家庭內部網絡連接到外部的一種物理接口;
②使住宅用戶可以獲得各種家庭服務(包括現有的和未來可能出現的服務)的平臺;
③為家庭內部網絡中的設備分配IP地址,每個家庭網絡中的設備必須擁有唯一的IP地址(僅限于家庭網絡內部使用),對于這種僅限于家庭內部使用的IP只能由家庭網關來配置;
④路由功能,家庭網絡的復雜性使得內部可能存在多個具有不同物理協議的子協議,家庭網關必須具有路由的功能,將來自Internet的帶寬信息發送給相應的設備,同時也可實現設備間通信及分工合作;
⑤共享寬帶連接,使家庭內部的多個PC及其它信息設備有效地共享寬帶接入。
2智能家庭網關的實現
2.1智能家庭網關的硬件體系結構
智能家庭網關的硬件體系結構如圖3所示。
智能家庭網關硬件系統選用Motorola公司的68VZ328處理器芯片,配合4MB的Flash和2MB的SDRAM存儲器,對外提供RS232/RS485、USB、I/O和以太網接口,并可以方便地擴展多種智能家庭網絡物理接口。
2.2智能家庭網關的軟件體系結構
軟件體系結構如圖4所示。
在家庭網關的軟件系統中,選用Motorola提供的PPSM系統。由于PPSM系統沒有提供窗口系統,因此根據家庭網關系統中的實際需要作出適當的修改后,設計出一套窗口操作系統;又由于PPSM系統中沒有實現網絡功能,因此在對PPSM系統進行修改時添加了TCP/IP協議棧,這樣就可以在這個操作系統中實現網絡功能了。
3嵌入式TCP/IP協議棧開發
嵌入式系統中對TCP/IP協議棧的實現方式有硬件固化和軟件實現兩種。硬件方式是指TCP/IP協議棧用硬件的方式實現,嵌入式系統中直接與TCP/IP協議棧硬件芯片連接,由它實現協議的轉換,從而使之與互聯網相連接。但這無疑增加了硬件成本,對一些功能單一的嵌入式設備,連接一個完整的TCP/IP硬件議棧,是一個極大的浪費,而且所增加的成本費用是難以議棧,是個極大的浪費,而且所增加的成本費用是難以接受的。因此在該系統中,選用軟件方式實現嵌入式TCP/IP協議具有更大的優勢。
高級的操作系統可支持TCP/IP協議族,但我們選用的PPSM系統是不支持的,因此必須根據該系統的實際需要添加對TCP/IP協議族的支持功能。在添加TCP/IP協議族時,根據系統的特點和功能設計出獨特的TCP/IP協議族,實現與需要有關的部分,對不需要的協議則不予支持;其次,對于使用的協議根據具體應用作出了必要修改。
在該系統中,嵌入式TCP/IP協議棧實現ARP、IP、ICMP、TCP、UDP、HTTP等協議。基本的協議處理程序如力所示。
結合該系統的實際情況,構建嵌入式TCP用于控制動作的有限機模型如圖6所示。在一些對于嵌入式系統不必要的地方做了修改、簡化,但仍保持與標準TCP協議的一致性。
在設計嵌入式Web服務器,時系統中TCP中上只支持HTTP協議,嵌入式系統把數據采集、運行參數等當前實時數據存入存儲器中網頁的相關位置。對任何TC連接,每次只是支持HTTP協議發送風頁服務,并且把每個網頁大小限制在一個數據包內,而不會出現IP包的分拆。作為嵌入式Web服務器,TCP連接時只處于被動服務的狀態,所以可以將標準TCP有限狀態機主動創建連接的SYN-ENT狀態、主動關閉連接的FIN-AIT1、FIN-AIT2、CLOSING、TIME-AIT狀態省去。在設計中,還去掉了CLOSED狀態,讓它一開始就處于LISTEN狀態,來監聽客戶端的連接請求,避免了主動或被動打開的操作,對此嵌入式場合,更加高效。
在三次握手建立連接的過程中,嵌入式系統作為監聽狀態的服務器端,始終為被動方,相當于被動打開后的LISTEN狀態,等對方發起連接。當它接收到SYN數據片,它發出SYN+ACK數據片并確認它已接收到對方的SYN,此時變為SYN+RECIVED狀態。再接收到對方返回的一個僅含ACK的空數據片,則三次握手完成,進入ESTABLISHED狀態,之后可以進行TCP數據通信。
在操作系統中,為防止舊的重復連接請求引起混亂,可以用復位RESET控制攝文對這種情況進行處理。收到復位RESET信號后,若處于非同步狀態(SYNRECIVED、SYN-SEND),則回到LISTEN狀態;若處于任意一種同步狀態,它就異常終止連接并通知它的用戶在該系統中取消了CLOSE狀態,所以收到復位RESET控制報文時,回到LISTEN狀態。實際處理時并沒有記憶當前的狀態,所以不需要作任何操作,并因為始終處于被動狀態而從不發復位RESET報文。
在操作系統中,將端口號、IP地址、序列號、窗口尺寸等和響應的傳輸控制塊TCB結構表示不同的連接,為不同的客戶請求建立多個連接,一一對應,并發執行。而在嵌入式TC宮實現如此復雜的操作并不現實,故設計中沒有記錄TCP連接所處的當前狀態,也沒有分開建立多個TCP連接。分析如下:每從下層協議傳來一個報文后,并不能比較報文段中的信息和TCP中的信息來進行處理,因為并沒有記憶過去所建連接的有關信息,所以并不知道此連接是否存在及所處狀態等,僅僅根據接收包內的有關信息(控制位和有無數據),來判斷所處連接狀態來進行回應。連接的概述在一定程度上,只是對客戶端PC來說的,給它維持一個連接存在的假象。而嵌入式報務器端因為不存儲連接的信息,相當于沒有連接的存在,對所有連接都響應,才可以在有限系統資源的條件下實現了多連接。
在TCP的連接中,一方由于崩潰等原因造成異常終止或關閉一個連接,會產生半開連接的問題,由于異常的一方丟失了存儲的信息,若任一方發數據去,對方會回復復位信號,連接復位。對嵌入式系統來說,當客戶機異常且嵌入式系統發數據時,會被回復復位信號;當嵌入式系統異常后,又重新開始時,由于它本來就無存儲信息,故沒有什么影響。
當網絡出現超時、丟失包時,一般用超時重傳機制間來重發,而嵌入式系統發包之后,并未保存此包,此不考慮重發問題。當丟包后,繹方接不到確認包,為自己的所發的包丟失,超時重發,而嵌入式系統此時再響應并發包,仍可保證可靠性。
嵌入式系統不記憶TCP連接的序列號,除了第一次建立連接時初始化序列號外,是根據對方發包中的值來確定序列號,因此它不能識別重復報文,而照常回應。把此重復報文的處理工作交給對方處理,仍可滿足基本工作要求。對依靠TCP連接的HTTP服務來說,嵌入式服務器僅僅在服務器端響應客戶端請求,所接收的一個報文數據報即可傳輸完成,故不需要考慮失序問題。
在設計實現TCP有限狀態機時,使用過程驅動方案為每個輸入狀態啟動一個過程。當某一事件發生時,TCP利用當前狀態來選取一個適當的過程。該過程處理輸入事件并更新當前狀態變量值,即每個狀態對應一個過程,當一個輸入報文段到達時,TCP調用當前狀態對應的過程,進行處理。程序主要如下:
…
if(SYN_IN&&port_right)tcp_send_SYN_ACK0;
elseif(SYN_IN&&port_num_wrong)tcp_send_RST_ACK0;
elseif(ACK_IN&&port_num_right&&have_data)http_process(tcp_ACK);
elseif(FIN_IN&&port_num_right&&have_data)http_process(tcp_FIN);
elseif(FIN_IN&&port_num_right&&no_data)tcp_send_FIN0;
else
…
4總結
該解決方案中只實現了家庭網關的網絡控制功能,在下一步中將逐漸加入使用電話對家庭網關的控制功能。這樣就使人們在不能上網的情況下只需要使用電話,就能通過智能家庭網關實現人們只有在網上才能實現的功能。
- 上一篇:高速視頻信號傳輸分析論文
- 下一篇:市直機關共青團工作會上的講話