嵌入式智能家庭網(wǎng)關(guān)的研究與設(shè)計(jì)
0 概述
家庭網(wǎng)絡(luò)接入Internet目前主要通過(guò)PC機(jī)接入Internet和采用嵌入式產(chǎn)品通過(guò)以太網(wǎng)控制器接入Internet兩種方式。前者優(yōu)點(diǎn)是明顯的,如靈活性、大量現(xiàn)有的可用的軟件環(huán)境和高級(jí)的用戶接口及軟件工具。但是對(duì)于智能家庭網(wǎng)絡(luò)來(lái)說(shuō),網(wǎng)絡(luò)的使用者希望能方便快捷地獲得服務(wù),所需熟悉的操作要盡可能地少,并且在任何地方都能對(duì)家中設(shè)備進(jìn)行監(jiān)控;而PC不能隨意移動(dòng),對(duì)設(shè)備的控制就會(huì)受到局限。因此,目前在智能家庭網(wǎng)絡(luò)中,網(wǎng)關(guān)產(chǎn)品的設(shè)計(jì)主要采用嵌入式系統(tǒng)。
一個(gè)智能家庭網(wǎng)關(guān)可以看成是一個(gè)信息處理系統(tǒng),組成系統(tǒng)的各單元就是連接在網(wǎng)絡(luò)各節(jié)點(diǎn)的設(shè)備。控制平臺(tái)一方面輔助不具備信息化條件的設(shè)備實(shí)現(xiàn)信息化,即提供信息處理的能力;另一方面又提供統(tǒng)一的信息交換接口及控制規(guī)則,從而實(shí)現(xiàn)從內(nèi)部家庭網(wǎng)絡(luò)到Internet信息的互通。目前實(shí)現(xiàn)信息管理和協(xié)議轉(zhuǎn)換的方式有兩種:一種是:瀏覽器+WEB Server+CGI技術(shù);另一種是:監(jiān)控軟件十應(yīng)用服務(wù)器+現(xiàn)場(chǎng)總線驅(qū)動(dòng)技術(shù)[1]。以瀏覽器+WEB Server+CGI為主的技術(shù)手段只能獲取單個(gè)家庭網(wǎng)絡(luò)中的節(jié)點(diǎn)信息。而以監(jiān)控軟件+應(yīng)用服務(wù)器十現(xiàn)場(chǎng)總線驅(qū)動(dòng)為主的技術(shù)手段卻可以同時(shí)獲取多個(gè)家庭網(wǎng)絡(luò)的節(jié)點(diǎn)信息,有助于實(shí)現(xiàn)多個(gè)家庭網(wǎng)絡(luò)的同類節(jié)點(diǎn)的實(shí)時(shí)監(jiān)控[2](如上網(wǎng)流量監(jiān)控)。近幾年來(lái)國(guó)內(nèi)許多高校和一些知名企業(yè)所研制的智能家庭網(wǎng)絡(luò)系統(tǒng)的協(xié)議轉(zhuǎn)換主要以:瀏覽器+WEB Server+CGI技術(shù)為主,有應(yīng)用范圍的局限性。鑒于現(xiàn)有網(wǎng)關(guān)產(chǎn)品的種種缺陷,本文主要致力于:以監(jiān)控軟件+應(yīng)用服務(wù)器+現(xiàn)場(chǎng)總線驅(qū)動(dòng)技術(shù)為核心技術(shù),而瀏覽器+WEB Server+CGI為輔助技術(shù)設(shè)計(jì)并實(shí)現(xiàn)家庭網(wǎng)關(guān)。
圖1 網(wǎng)絡(luò)控制系統(tǒng)模型
1 總體設(shè)計(jì)分析
1.1智能家庭網(wǎng)關(guān)的設(shè)計(jì)要求
家庭網(wǎng)關(guān)類似于一個(gè)龐大的計(jì)算機(jī)系統(tǒng),所有的家庭設(shè)備都連接在上面,受它的集中控制??傮w而言,網(wǎng)關(guān)要起到三個(gè)功能:
1)Internet接入功能,包括路由、NAT(地址轉(zhuǎn)換)等等;
2)家庭網(wǎng)絡(luò)中各種不同通信協(xié)議之間的轉(zhuǎn)換,以及家庭網(wǎng)絡(luò)系統(tǒng)與TCP/IP協(xié)議之間的轉(zhuǎn)換;
3)運(yùn)行家電管理軟件,將使用不同通信協(xié)議的家用電器都接入到家庭網(wǎng)絡(luò)中,并統(tǒng)一管理起來(lái);
可以看出,網(wǎng)關(guān)是家庭網(wǎng)絡(luò)中的物理上和邏輯上的核心。
1.2 家庭網(wǎng)關(guān)網(wǎng)絡(luò)控制模型分析
根據(jù)系統(tǒng)的體系結(jié)構(gòu)將家庭網(wǎng)關(guān)抽象為站點(diǎn)[3],將家庭內(nèi)部的被控對(duì)象(智能電冰箱、智能微波爐等等)抽象為節(jié)點(diǎn)。其網(wǎng)絡(luò)控制模型如圖1所示。
站點(diǎn):站點(diǎn)是通過(guò)Internet訪問(wèn)家庭內(nèi)部網(wǎng)絡(luò)的驛站,它可以將來(lái)自互聯(lián)網(wǎng)絡(luò)的各種信息通過(guò)協(xié)議轉(zhuǎn)換的方法傳遞到家庭內(nèi)部網(wǎng)絡(luò),同時(shí)提取家庭內(nèi)部網(wǎng)絡(luò)的各種信息增加TCP/IP協(xié)議報(bào)頭、報(bào)尾使之可以在廣域網(wǎng)甚至Internet上發(fā)布并向遠(yuǎn)端監(jiān)控機(jī)傳遞,使遠(yuǎn)端監(jiān)控機(jī)可以對(duì)其控制,而具備此項(xiàng)功能的站點(diǎn)我們通常稱其為家庭網(wǎng)關(guān)。
節(jié)點(diǎn):節(jié)點(diǎn)負(fù)責(zé)對(duì)單個(gè)家用電器實(shí)施控制使其按照使用者的要求正常運(yùn)行,同時(shí)以特定的通訊協(xié)議將本地信息傳送到家庭網(wǎng)關(guān)或者接收來(lái)自家庭網(wǎng)關(guān)的指令以改變現(xiàn)在的運(yùn)行狀況。所以可以把它理解為以單片機(jī)為核心的智能家用電器,由于不同的家用電器要連接到同一個(gè)網(wǎng)關(guān)上,要使它們相互連接又互不影響,采用現(xiàn)場(chǎng)總線是個(gè)很好的辦法,所以節(jié)點(diǎn)還應(yīng)該支持現(xiàn)場(chǎng)總線協(xié)議。
2 硬件結(jié)構(gòu)
根據(jù)前面的分析,可以確定硬件系統(tǒng)應(yīng)具備的功能特征,圖2給出了智能家庭網(wǎng)關(guān)的硬件結(jié)構(gòu)。
圖2 系統(tǒng)硬件結(jié)構(gòu)
為保證家庭網(wǎng)關(guān)的實(shí)用性和可擴(kuò)展性,網(wǎng)關(guān)平臺(tái)需要選用高性能的微處理器,廉價(jià)的8位處理器己經(jīng)無(wú)法滿足設(shè)計(jì)的要求,考慮到以后系統(tǒng)的升級(jí)以及32位處理器的價(jià)格不斷下降,設(shè)計(jì)中決定采用32位的MPU(S3C2410)[4]作為整個(gè)系統(tǒng)的核心。
由于網(wǎng)關(guān)要實(shí)現(xiàn)服務(wù)器的功能,因而需要文件系統(tǒng)的支持,同時(shí)需要操作系統(tǒng)來(lái)支持多任務(wù),這些都決定了硬件平臺(tái)中需要有擴(kuò)展的SDRAM和Flash(或者EEPROM )等存儲(chǔ)芯片。Flash中存儲(chǔ)操作系統(tǒng)和文件系統(tǒng),系統(tǒng)啟動(dòng)后將復(fù)制到SDRAM中運(yùn)行。通用I/O接口的設(shè)計(jì),用于完成外部信號(hào)的接入。為完成與外部信號(hào)線的連接,MPU需要支持一定數(shù)量的通用I/O口。
家庭網(wǎng)關(guān)要實(shí)現(xiàn)與Internet的連接,需要有相應(yīng)的連接模塊。Ethernet模塊就是為了完成與外部網(wǎng)絡(luò)的物理連接。
同時(shí),家庭網(wǎng)關(guān)還要連接內(nèi)部輕量級(jí)網(wǎng)絡(luò)[5] (家庭網(wǎng)絡(luò)中一般使用485. 232等輕量級(jí)網(wǎng)絡(luò)互聯(lián))。一般這些網(wǎng)絡(luò)都可以通過(guò)UART口與網(wǎng)關(guān)相連。而家庭網(wǎng)關(guān)的一些控制或調(diào)試信息也需要通過(guò)UART口輸出到宿主機(jī)的虛擬平臺(tái)。
JTAG接口用于實(shí)現(xiàn)MPU中程序的實(shí)時(shí)監(jiān)控,絕大多數(shù)的32位MCU都支持JTAG格式的在線調(diào)試功能。
X10系統(tǒng)[6]與網(wǎng)關(guān)的接口是整個(gè)家庭網(wǎng)絡(luò)控制方面至關(guān)重要的一個(gè)接口。網(wǎng)關(guān)通過(guò)一個(gè)普通I/0口進(jìn)行過(guò)零點(diǎn)信號(hào)檢測(cè),通過(guò)另一個(gè)普通I/O口向電力線載波系統(tǒng)發(fā)出控制命令,最后達(dá)到控制大多數(shù)家電的目的(照明,空調(diào),熱水器等等)。目前所實(shí)現(xiàn)的控制是單向的,由于控制命令數(shù)據(jù)量少,而受控電器的狀態(tài)數(shù)據(jù)可以根據(jù)控制命令進(jìn)行判斷,所以這種控制在目前是可以滿足使用要求的。
3 軟件設(shè)計(jì)
家庭網(wǎng)關(guān)是為家庭智能網(wǎng)絡(luò)服務(wù)的,由于家庭網(wǎng)絡(luò)本身的復(fù)雜性(網(wǎng)絡(luò)種類多,終端種類多等),嵌入式網(wǎng)關(guān)的軟件設(shè)計(jì)也要考慮諸多因素。圖3是軟件設(shè)計(jì)體系結(jié)構(gòu)。
圖3 軟件體系結(jié)構(gòu)
該系統(tǒng)是一個(gè)三層系統(tǒng),不同層次協(xié)同工作,各層之間通過(guò)不同的協(xié)議進(jìn)行信息交互。為了適應(yīng)復(fù)雜的網(wǎng)絡(luò)環(huán)境,該系統(tǒng)采用了以監(jiān)控軟件+應(yīng)用服務(wù)器+現(xiàn)場(chǎng)總線為主,以瀏覽器+WEB Server+CGI為輔的雙技術(shù)體系。該3層系統(tǒng)中客戶子系統(tǒng)用來(lái)運(yùn)行提供用戶接口和前端處理的應(yīng)用程序(即瀏覽器和監(jiān)控軟件)。中間層子系統(tǒng)的宿主既是家庭網(wǎng)關(guān),它包括應(yīng)用服務(wù)器和Web服務(wù)器用于發(fā)布信息和數(shù)據(jù)及指令的傳達(dá),另外它還包含數(shù)據(jù)庫(kù)服務(wù)器提供可供客戶機(jī)使用的各種資源和服務(wù)。現(xiàn)場(chǎng)控制系統(tǒng)是最終執(zhí)行控制指令、實(shí)現(xiàn)控制目標(biāo)和性能指標(biāo)的執(zhí)行機(jī)構(gòu)。
在本文的三層軟件體系結(jié)構(gòu)中,發(fā)出數(shù)據(jù)庫(kù)查詢的應(yīng)用可以駐留在數(shù)據(jù)庫(kù)以外的任何機(jī)器上,客戶子系統(tǒng)不論處于何地,只要能夠通過(guò)網(wǎng)絡(luò)與數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行通訊,就可以發(fā)出查詢并檢索結(jié)果。如果在家庭網(wǎng)絡(luò)內(nèi)部進(jìn)行查詢,僅僅從本地?cái)?shù)據(jù)庫(kù)中進(jìn)行檢索并返回結(jié)果即可。如果在家庭網(wǎng)絡(luò)外部進(jìn)行查詢那么必須通過(guò)虛擬數(shù)據(jù)庫(kù),找到目標(biāo)站點(diǎn)及節(jié)點(diǎn),由虛擬數(shù)據(jù)庫(kù)發(fā)送傳送參數(shù)指令,現(xiàn)場(chǎng)控制系統(tǒng)接到指令后進(jìn)行檢索,并返回查詢結(jié)果給虛擬數(shù)據(jù)庫(kù)最后顯示在用戶監(jiān)控界面中。當(dāng)用戶發(fā)出控制指令時(shí),無(wú)論是在家庭網(wǎng)絡(luò)內(nèi)部還是外部,控制指令都可以通過(guò)不同的網(wǎng)絡(luò)協(xié)議可靠地到達(dá)被控對(duì)象并完成相應(yīng)的操作,最后把執(zhí)行結(jié)果(成功或者失?。┓祷亟o指令的發(fā)出者。在一般的C/S概念中,客戶端是廉價(jià)的個(gè)人PC,服務(wù)器是價(jià)格昂貴、功能強(qiáng)大的專用Server。但對(duì)于本系統(tǒng)來(lái)講,嵌入式家庭網(wǎng)關(guān)是應(yīng)用服務(wù)器和Web服務(wù)器的宿主,而嵌入式系統(tǒng)本身資源有限,所以在事物處理時(shí)不應(yīng)將過(guò)多的任務(wù)分配給服務(wù)器,避免因服務(wù)器負(fù)擔(dān)過(guò)重而使整個(gè)網(wǎng)絡(luò)性能下降,要充分發(fā)揮客戶端計(jì)算機(jī)的作用,合理分配網(wǎng)絡(luò)資源,提高數(shù)據(jù)處理的效率。
4 結(jié)語(yǔ)
本文首次將監(jiān)控軟件+應(yīng)用服務(wù)器+現(xiàn)場(chǎng)總線以及瀏覽器+WEB Server+CGI兩種技術(shù)融合到智能家庭網(wǎng)關(guān)產(chǎn)品中,較好的解決了傳統(tǒng)產(chǎn)品的缺陷。通過(guò)本系統(tǒng)在實(shí)際家庭智能網(wǎng)絡(luò)中的運(yùn)行表明,該系統(tǒng)達(dá)到了設(shè)計(jì)初期的各項(xiàng)要求,能夠通過(guò)Internet實(shí)時(shí)控制系統(tǒng)中的智能家電并精確的獲取家電狀態(tài)信息。相信在未來(lái)的信息家電、智能小區(qū)[7]等領(lǐng)域嵌入式智能家庭網(wǎng)關(guān)將得到廣泛的應(yīng)用。
相關(guān)閱讀
智能家庭離我們還有多遠(yuǎn)?
評(píng)論