基於消費總線的嵌入式家庭網關的製作方法
2023-06-20 08:39:26 1
專利名稱:基於消費總線的嵌入式家庭網關的製作方法
技術領域:
本發明涉及一種消費總線(CEBus)家電網絡系統的網絡(Internet)接入方案,具體說是基於消費總線的嵌入式家庭網關。
背景技術:
家電按功能可以分為以下幾種系統照明系統,如各種電燈、開關;環境控制(HVAC)系統,包括空調、風扇、取暖器等;家庭多媒體系統,包括電視機、機頂盒、DVD、音響等;通訊系統,如電話、傳真機等;安防系統,如各種傳感器、報警器、攝像頭等。作為單個的設備或獨立子系統,它們都比較完善,但是作為一個整體就顯得缺乏智能和協調,主要表現為首先,各個電器自成體系,而相互之間缺乏聯繫,甚至會相互幹擾;第二,各種電器協調工作的自動化程度不夠;第三,用戶的操作界面不統一;第四,各個設備的功能有冗餘;第五,控制器與執行器之間的對應關係比較固定,缺乏柔性和可擴展性。
如果將電器設備聯成網絡,使設備之間互相操作,就能在家電單體自動化的基礎上聯網以實現家電系統的綜合自動化。因此所構建的網絡一般稱為家庭自動化控制網絡,或簡稱為家電網絡(見ZL02126052.4)。消費總線(CEBus)作為一種較新和較完備的家電網絡標準,是目前家電網絡領域的一個主流協議。
隨著Internet逐漸融入人們的日常生話,人們對家電連接到Internet的需求也越發迫切,用戶希望通過Internet可以從戶外對家電網絡進行遠程監控和操作。
發明內容
針對上述需求,本發明的目的是提供一種基於消費總線的嵌入式家庭網關,它是一種連接於家電網絡和Internet之間的嵌入式設備,使得用戶可以方便地在Internet上從遠端對家中的符合CEBus協議的家電設備進行監控和管理,同時也使得遠程設備維護和集成設備管理成為可能,還可以使設備主動地通過Internet獲取信息或發送信息。
為達到上述目的,本發明的技術解決方案是基於消費總線的嵌入式家庭網關,包括主控器模塊,雙絞線通訊模塊,存儲器模塊,網絡控制模塊,人機接口模塊,其中存儲器模塊與主控器模塊的數據總線和地址總線相連,雙絞線通訊模塊、網絡控制模塊和人機接口模塊分別與主控器模塊的I/O口相連;網絡控制模塊與Internet相連;雙絞線通訊模塊通過雙絞線與接於消費總線的家電相連。
本發明的優點是1)用戶操作界面友好,非常便於用戶使用;2)雙絞線通訊模塊採用家庭控制片上系統晶片,成本低,可靠性強;3)該系統是一個開放性系統,可擴展性強;4)利用網際網路技術、移動通信技術可方便的對家電進行遠程控制,為家庭用戶提供更完美的服務。
圖1是基於消費總線的嵌入式家庭網關的構成框圖;圖2是雙絞線通訊模塊的結構框圖;圖3是家庭網關的軟體框圖;圖4是家庭網關狀態機模型。
具體實施例方式
家庭網關是為家電內部網和外部的Internet建立連接用的,通過家庭網關實現智能家居的Internet接入功能。網關支持標準的10M乙太網接入方式,可以通過Internet使用瀏覽器以可視化圖形界面的方式,與家電網絡中的家電建立快速可靠的連接。
參照圖1,本發明的基於消費總線的嵌入式家庭網關,包括主控器模塊1,雙絞線通訊模塊2,存儲器模塊3,網絡控制模塊4,人機接口模塊5,其中存儲器模塊3與主控器模塊的數據總線和地址總線相連,雙絞線通訊模塊2、網絡控制模塊4和人機接口模塊5分別與主控器模塊的I/O口相連;網絡控制模塊4通過網線與Internet相連;雙絞線通訊模塊2通過雙絞線與接於消費總線的家電相連,如洗衣機、冰箱、電視機、微波爐等。
在圖1所示的具體實例中,主控器模塊1採用ARM晶片S3C2410;存儲器模塊3採用64MB的FLASH晶片K9F5608U0C;網絡控制模塊4採用CS8900晶片;人機接口模塊5採用液晶顯示屏和USB滑鼠;雙絞線通訊模塊2採用了家電網絡控制SoC(片上系統)晶片HN600,該晶片內部結構如圖2所示,其以增強型的8位MCS-51為內核,擴展有3通道10位ADC、串行LCD控制器、SPI主控制器、EIA-600(CEBus)數據鏈路層、11位DAC、I2C主控制器、PCA(可編程控制陣列)、中斷控制器、P0口、P1口、P2口、P3口、1K字節啟動程序存儲單元(BootRAM)、4K字節數據RAM和256位元組的數據RAM。
本發明的基於消費總線的嵌入式家庭網關運行在嵌入式作業系統ARM-Linux上。軟體採用模塊化設計方法,主要包括以下模塊CEBus數據幀解析模塊、事務控制模塊、總控模塊、網絡傳輸模塊,如圖3所示。
CEBus數據幀解析模塊主要由三部分組成,包括消息處理模塊、CEBus協議棧和語義分析模塊。現以CEBus信息至Internet的傳輸過程為例,首先CEBus總線上傳輸過來的協議數據單元(PDU),藉助CEBus協議棧,通過語義分析模塊進行語義分析。該協議棧是基於CEBus數據幀和通訊機制的基礎上建立的。然後在消息處理模塊生成可以為後面的事務控制模塊使用的,本網關特有的中間層語言——消息,最後將消息發送到後繼模塊。Internet信息至CEBus的過程則正好與前述過程相反。
事務控制模塊其主要作用是向上提供一個可靠的雙向連接,稱之為一個事務。為了保證連接的可靠性,使用了重發、定時器、事務標識符三種機制,並且為了實現本網關的高效性,進行了如下抽象1)將事務的處理抽象為一個有限狀態機;2)在CEBus數據幀解析模塊中對CEBus數據幀,或者說PDU進行解析而得到的數據,以中間語言的形式抽象為消息;3)將事務的所有活動抽象為一系列的狀態;4)把事務在各種狀態間的轉換條件抽象為一系列規則。
所謂狀態機模型是一個描述狀態變遷的方法,它總是將一個狀態向另一個狀態的變遷視為由輸入消息激勵所產生的結果。對於家電網絡來說,各設備間的通訊建立過程就是一個典型的有限狀態數之間的狀態變遷過程。事務處理模塊可以根據輸入的事務消息和當前狀態,確定狀態如何變遷。
這樣,每當一個事務產生都可以用有限狀態機的不同狀態來對它進行描述和管理。而每當消息促使事務需要作出某種操作時,有限狀態機中的當前狀態也隨之而改變。而這種改變是根據預先制定好的規則來實現的。要做到這一點,首先要認真分析事務所有可能的狀態,及在該狀態下可能存在的狀態轉換規則。
最終設計出的有限狀態機如圖4所示。從圖中可以看到,網關所描述的事務具有系統監聽、等待事務標示符分配、等待調用響應、等待事務處理和等待處理結果5個狀態,13個狀態轉換規則(如圖中箭頭所示)。其中1到4的狀態轉換負責實際的事務處理,5到8的狀態轉換則主要進行出錯處理,9到13主要是進入消息等待。在具體的實現過程中,創建一個Hash(哈希)表作為狀態匹配的主要數據結構,採用了當前狀態和消息觸發的事件作為索引。在同一索引值下,建立單向鍊表以存放不同的轉換規則。由於Hash表在查詢和匹配上的高效性,可使有限狀態機在狀態間實現高速轉換,提高了系統整體性能。
另外,為了提高效率,支持多事務的並發處理,以事務標識符為索引,創建了另一個Hash表來存放當前存在的所有事務。一旦有新的消息到來,即可根據事務標識符將對應事務激活,提交給系統處理。這樣就可以使用單個線程來完成多事務並行處理了。
整個模塊運行機制如下1)初始化,接收來自CEBus數據幀解析模塊的消息,並創建消息隊列。
2)從隊列中提取需要處理的消息。
3)根據消息的事務標識符對Hash表進行查詢,激活相應事務。如果事務不存在,則新建一個事務在狀態機中進行狀態轉移。
4)確定事務在狀態機中當前狀態。
5)根據狀態機的當前狀態和消息種類,通過查詢Hash表找到相應入口。
6)通過入口進入對應的單向規則鍊表,依次對比,直到找到合適的規則為止。如果沒有合適的規則匹配,則返回一個錯誤信息。
7)根據找到的規則,轉入相應的處理程序,同時更新狀態機中事務的當前狀態。
8)從消息隊列中獲取新的消息,重複上述過程。
總控模塊如果說CEBus數據幀解析模塊、事務控制模塊、網絡傳輸模塊是整個系統實現的功能器官,那麼總控模塊就是整個系統的心臟。它負責處理整個網關各個模塊的初始化工作並協調它們的運行與中止。另外,在這個模塊中利用ARM S3C2410的優秀性能,採用了多線程技術,最大限度的利用了微處理器的工作能力,使各個模塊能夠並行操作,提高了整個網關的運行效率。
網絡傳輸模塊在網絡傳輸模塊將網絡控制晶片CS8900搭載於ARMS3C2410系統之上,可提供非常優秀的網絡互聯功能。在其協助下可創建一個網絡(HTTP)伺服器,並支持CGI(通用網關接口)。使得用戶可以通過Web方式來提交事務,配置相應參數,實現家電網絡的可視化訪問與操作。用戶對網絡家電的遠程訪問與監控將會像瀏覽網頁一般輕鬆,大大簡化了操作,方便了使用。
該網絡伺服器伺服器採用事件驅動的方法,將用戶對家電網絡的訪問、監控轉化為網絡家電的事件,把相關消息發送到事務管理模塊。通過事務管理,其所對應事務進行狀態轉換,並處理相關操作。
網關對HTTP的支持是建立在底層完備的TCP/IP協議棧的基礎上的。由網絡傳輸模塊結構圖可見,HTTP服務運行在應用層,傳輸層使用了TCP以保證控制信息傳輸的可靠性,其下由網絡層的IP協議提供尋址、路由、數據損壞檢測和更正等功能。TCP/IP協議棧的使用是通過特殊的應用編程界面(API)socket編程來實現的。其主要程序設計思路如下1)採用socket_init函數,初始化系統網絡接口;2)構造套接字類型tcp_socket對象作為伺服器端套接字;3)調用socket_listen函數開啟網絡監聽;4)調用socket_wait_established函數以等待連接建立;5)使用socket_mode函數設置數據流格式;6)調用socket_gets函數、sock_puts函數來收發數據;7)使用socket_tick函數來進行客戶端與伺服器端的套接字通訊;8)通訊結束,調用socket_close函數關閉套接字,斷開雙方連接。
基於消費總線的嵌入式家庭網關在工作時,其典型應用過程如下1)用戶通過網頁瀏覽器來提交對某個網絡電器的訪問請求;2)HTTP伺服器接收該請求,將它轉化為相應的網絡家電事件;3)事務管理模塊接收到對應消息,在Hash表中查詢相應事務,如沒有則建立之;4)通過狀態機進行狀態轉換,將結果以事件的方式返回;5)網絡伺服器識別該事件,並將結果顯示在用戶的網頁瀏覽器上。
在整個過程中,本發明為用戶提供了一個較為友好的界面,使用方便。用戶不需對家電網絡有太多了解,甚至無需具備太多計算機、網絡通訊方面的專業知識就能實現網絡家電經CEBus與Internet的相互訪問,遠程監控等。這符合家電網絡易用性的開發目標。
權利要求
1.基於消費總線的嵌入式家庭網關,其特徵是包括主控器模塊(1),雙絞線通訊模塊(2),存儲器模塊(3),網絡控制模塊(4),人機接口模塊(5),其中存儲器模塊(3)與主控器模塊(1)的數據總線和地址總線相連,雙絞線通訊模塊(2)、網絡控制模塊(4)和人機接口模塊(5)分別與主控器模塊的I/O口相連;網絡控制模塊(4)與Intemet相連;雙絞線通訊模塊(2)通過雙絞線與接於消費總線的家電相連。
2.根據權利要求1所述的基於消費總線的嵌入式家庭網關,其特徵在於主控器模塊(1)是ARM晶片S3C2410。
3.根據權利要求1所述的基於消費總線的嵌入式家庭網關,其特徵在於雙絞線通訊模塊(2)是晶片HN600。
4.根據權利要求1所述的基於消費總線的嵌入式家庭網關,其特徵在於網絡控制模塊(4)是CS8900晶片。
全文摘要
本發明公開了一種基於消費總線的嵌入式家庭網關,其包括主控器模塊,雙絞線通訊模塊,網絡控制模塊,存儲器模塊,人機接口模塊,其中存儲器模塊與主控器模塊的數據總線和地址總線相連,雙絞線通訊模塊,網絡控制模塊和人機接口模塊分別與主控器模塊的I/O口相連;網絡控制模塊與Internet相連;雙絞線通訊模塊通過雙絞線與接於消費總線的家電相連。本發明的優點是用戶操作界面友好,非常便於用戶使用;雙絞線通訊模塊採用家庭控制片上系統晶片,成本低,可靠性強;該系統是一個開放性系統,可擴展性強;利用網際網路技術、移動通信技術可方便的對家電進行遠程控制,為家庭用戶提供更完美的服務。
文檔編號H04L12/28GK1870608SQ20061005218
公開日2006年11月29日 申請日期2006年6月29日 優先權日2006年6月29日
發明者倪彬斌, 吳明光 申請人:浙江大學