3.2 系統(tǒng)功能的實現(xiàn)
整個硬件系統(tǒng)的功能是通過由以太網(wǎng)接口、RS 485接口、觸摸屏接口分別組成的3條數(shù)據(jù)傳輸通道來實現(xiàn)的。由SX52,RTL8019AS,F(xiàn)B2022組成的以太網(wǎng)數(shù)據(jù)通道可以使得用戶通過互聯(lián)網(wǎng)對智能家居系統(tǒng)實施監(jiān)控。其過程是用戶通過瀏覽器軟件向控制終端發(fā)出服務(wù)請求,信息通過RJ45送至RTL8019AS,RTL8019AS負責(zé)將以太網(wǎng)幀的首、尾部信息剝離,將處理后的數(shù)據(jù)包送入SX52的TCP/IP協(xié)議棧以及應(yīng)用層軟件處理。同時控制終端的網(wǎng)頁數(shù)據(jù)又可經(jīng)過相反的方向傳送至遠程的用戶端進行顯示。由SX52,RS 485組成的現(xiàn)場總線是控制終端對智能家居各控制設(shè)備進行信息交換與控制的通道,通過主從輪詢的方式按設(shè)備地址實現(xiàn)管理和控制。由SX52,ADS7846,SED1335組成的人機交互通道可以實現(xiàn)控制信息的輸入和狀態(tài)信息的輸出。
4 控制終端的協(xié)議與軟件實現(xiàn)
4.1 軟件的總體流程
控制終端的軟件總流程如圖4所示。由MCU SX52組成的硬件系統(tǒng)資源有限,沒有實時多任務(wù)操作系統(tǒng)的資源可以利用,所以應(yīng)用軟件和協(xié)議的實現(xiàn)必須通過直接面對SX52硬件的編程完成。系統(tǒng)采用順序執(zhí)行和硬件中斷相結(jié)合的程序結(jié)構(gòu),把實時性要求較低、執(zhí)行起來較費時的應(yīng)用層處理任務(wù)和TCP/IP協(xié)議棧處理任務(wù)放在主程序順序循環(huán)結(jié)構(gòu)中實現(xiàn),而把實時性要求較高的按鍵處理及定時處理等任務(wù)放在中斷處理程序中完成。系統(tǒng)初始化后,進入主程序循環(huán)部分。主程序循環(huán)包括3大功能:對接收到的以太網(wǎng)數(shù)據(jù)幀進行解包和TCP/IP協(xié)議處理;對欲發(fā)送的Web數(shù)據(jù)進行IP封裝并發(fā)送;實現(xiàn)對控制終端硬件資源以及智能家居系統(tǒng)各控制模塊的管理與控制。協(xié)議的處理首先從對網(wǎng)絡(luò)接口控制芯片RTL8019AS的狀態(tài)查詢開始,其工作原理為:當(dāng)軟件檢測到有以太網(wǎng)幀收到時,程序就把數(shù)據(jù)讀入處理緩沖區(qū),通過判斷幀中長度類型域(第13,14字節(jié))的值,可確定數(shù)據(jù)域中所攜帶的數(shù)據(jù)所使用的協(xié)議,從而決定是進行ARP(類型碼為0806H)協(xié)議處理還是IP(類型碼為0800H)協(xié)議處理。同樣通過判斷IP數(shù)據(jù)報的協(xié)議字段(第10字節(jié))的值,又可確定IP數(shù)據(jù)報中所攜帶的數(shù)據(jù)所使用的協(xié)議類型,從而分別進行ICMP協(xié)議(類型碼為01H)和TCP協(xié)議(類型碼為06H)的處理。
4.2 TCP/TP協(xié)議的實現(xiàn)
控制終端要通過互聯(lián)網(wǎng)進行遠程監(jiān)控,軟件上必須要實現(xiàn)TCP/IP的功能。標(biāo)準的TCP/IP協(xié)議是由多個協(xié)議組成的協(xié)議簇,其功能強大、機制復(fù)雜、占用系統(tǒng)資源較大,最初旨在網(wǎng)絡(luò)中具有完整功能的計算機上使用。為了能在系統(tǒng)資源相對匱乏的嵌入式系統(tǒng)中實現(xiàn)TCP/IP協(xié)議,必須根據(jù)具體應(yīng)用對標(biāo)準的、龐大的TCP/IP協(xié)議簇進行裁剪。因此如何根據(jù)具體應(yīng)用在控制終端中裁減協(xié)議、實現(xiàn)協(xié)議是軟件實現(xiàn)的關(guān)鍵�?刂平K端中需要實現(xiàn)的協(xié)議分別有:ARP協(xié)議、IP協(xié)議、ICMP協(xié)議和TCP協(xié)議。
ARP協(xié)議,具體可分為請求和應(yīng)答2類,在本系統(tǒng)中只需實現(xiàn)應(yīng)答功能。具體實現(xiàn)原理為:當(dāng)SX52從以太網(wǎng)幀接收到ARP數(shù)據(jù)包時首先應(yīng)根據(jù)其操作類型碼確定是一個ARP請求報文還是應(yīng)答報文。若為ARP請求報文則比較目標(biāo)IP地址與自己的IP地址是否相同,如果相同,則要封裝自己的MAC地址并發(fā)送應(yīng)答報文,否則作丟棄處理。
IP協(xié)議是TCP/IP協(xié)議簇中最為核心的協(xié)議�?刂平K端中必須實現(xiàn)其基本的尋址、封裝、路由、解封裝、檢驗等功能。考慮到本系統(tǒng)傳輸?shù)臄?shù)據(jù)一般都是一些數(shù)據(jù)量比較小的狀態(tài)信息或者控制信息,故可裁減掉IP的分片和重組功能。IP協(xié)議的處理流程是:當(dāng)系統(tǒng)接收到IP數(shù)據(jù)報后,首先應(yīng)判斷該數(shù)據(jù)報的IP頭部中目的IP地址是否與本機IP地址一致,若不一致則對數(shù)據(jù)報作丟棄處理,否則先進行IP頭部版本號、校驗和字段檢查,當(dāng)確認數(shù)據(jù)傳輸正確無誤后,去掉IP數(shù)據(jù)報頭部,取出數(shù)據(jù)域中的數(shù)據(jù),根據(jù)IP頭部中的協(xié)議字段類型決定是交給ICMP協(xié)議、還是TCP協(xié)議作上層處理。發(fā)送進程的任務(wù)是:對ICMP報文、或TCP報文進行封裝,對IP數(shù)據(jù)報進行路由選擇,將IP數(shù)據(jù)報交給數(shù)據(jù)鏈路層進行裝幀發(fā)送。
ICMP協(xié)議主要用來傳輸差錯報文和控制報文,其中最常用到的是ICMP請求/應(yīng)答報文對,控制終端只要能夠被動地回應(yīng)其他主機測試網(wǎng)絡(luò)連通性的請求命令即可,因此可只需實現(xiàn)ICMP中類型號為0和8的報文,其他功能可被剪裁掉。
TCP協(xié)議機制復(fù)雜,實現(xiàn)時保留諸如可靠地建立與關(guān)閉連接、應(yīng)答確認等最基本的功能,而簡化掉一些如窗口流量控制等復(fù)雜的狀態(tài)機部分。具體可通過建立與關(guān)閉連接、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)3個進程加以實現(xiàn)。TCP協(xié)議的建立與關(guān)閉連接都是通過“3次握手”完成。具體是通過在3次TCP報文中設(shè)置不同的SYN,ACK,F(xiàn)IN控制位的值來實現(xiàn)。TCP數(shù)據(jù)收發(fā)進程采用了簡單的應(yīng)答確認方式,為了兼容與具有滑動窗口流量控制功能的主機的通信,可使用作為特例的單一窗口方式進行應(yīng)答。
5 結(jié) 語
基于SX52的智能家居遠程控制終端具有設(shè)計思路新、實現(xiàn)成本低、適應(yīng)范圍廣、遠程操作方便的特點,因此可用于一般的智能家居系統(tǒng)。同時通過對軟件模塊的移植它也可以應(yīng)用于一般的遠程測控系統(tǒng)。
參 考 文 獻
[1]向軍,謝贊福.基于嵌入式Internet/Intranet的智能家居系統(tǒng)模型及實現(xiàn)[J].計算機工程與設(shè)計,2005,26(9):2 4252 427,2 496.
�。�2]楊晨.嵌入式智能家居控制系統(tǒng)的研究[D].哈爾濱:哈爾濱理工大學(xué),2007.
�。�3]方霆.基于SX52單片機的web服務(wù)器的設(shè)計與實現(xiàn)[D].蘭州:蘭州理工大學(xué),2004.
�。�4]郝慶濤.嵌入式系統(tǒng)的以太網(wǎng)接入技術(shù)[D].濟南:山東大學(xué),2006.
�。�5]Ubicom SX Family USER′S Manual[S].Ubicom Corporation,2000.
�。�6]RTL8019AS Data Sheet[S].Realtek Semiconductor Corporation,2001.
�。�7]闕建榮.嵌入式Internet體系結(jié)構(gòu)研究[J].微型機與應(yīng)用,2004,19(3):46.
[8]婁莉,劉天時.一種嵌入式TCP/IP協(xié)議的設(shè)計與實現(xiàn)[J].微型計算機信息,2006,22(35):3840.
�。�9]龍鵬飛,宮蓉蓉.一種新的嵌入式TCP/IP協(xié)議棧的研究與實現(xiàn)[J].微計算機應(yīng)用,2007,28(4):372375.
[10]鐘建國.嵌入式Internet系統(tǒng)中TCP/IP協(xié)議的實現(xiàn)[J].陜西師范大學(xué)學(xué)報,2008,36(4):1619.
�。�11]Jan Axelson.嵌入式Ethernet 和Internet通信設(shè)計技術(shù)[M].駱麗,張岳強,歐小龍,譯.
北京:北京航空航天大學(xué)出版社,2006.
作者簡介 鐘建國 男,1963年出生,陜西子洲人,高級工程師,碩士。研究方向為計算機測控系統(tǒng)。
摘 要:通過Internet實現(xiàn)對智能家居的遠程監(jiān)控是當(dāng)前技術(shù)研究的熱點。為此分析智能家居系統(tǒng)的組成和結(jié)構(gòu),提出通過Internet對智能家居系統(tǒng)進行遠程監(jiān)控的方案,給出基于微控制器SX52的智能家居控制終端的硬件設(shè)計方案和實現(xiàn)方法,介紹控制終端軟件實現(xiàn)的原理和流程,在對TCP/IP協(xié)議分析的基礎(chǔ)上,闡述控制終端中協(xié)議處理的原理和實現(xiàn)方法。這些原理和方法對智能家居系統(tǒng)的設(shè)計具有參考價值。
關(guān)鍵詞:SX52;嵌入式系統(tǒng);智能家居;控制終端軟件
中圖分類號:TP393 文獻標(biāo)識碼:B 文章編號:1004373X(2008)1610903
Design and Implementation of Internetbased Smart Home Control Terminal
ZHONG Jianguo
(Xi′an University of Finance and Economics,Xi′an,710061,China)
Abstract:It is a crucial research field to realize the smart home remote control through the Internet.Hence,this paper analyses the composition and structure of the smart home,proposes remote monitoring program through Internet for smart home,gives the smart home control terminal hardware design and implementation methods based on the microcontroller SX52,introduces the principles and processes of the control terminal software,and based on the TCP / IP protocol analysis,describes the principle and method of protocol dispose in the terminal control.This principle and method have an important reference value for the smart home system design.
Keywords:SX52;embedded system;smart home;control terminal software
1 引 言
隨著科學(xué)技術(shù)的發(fā)展和居民生活水平的提高,人們對居住環(huán)境的要求越來越高。能夠提供安全、舒適、智能、通訊與信息服務(wù)的所謂的“智能家居”正成為人們追求的居住目標(biāo)和技術(shù)研究的熱點。智能家居(smart home),又稱智能住宅,它是利用先進的計算機技術(shù)、網(wǎng)絡(luò)通訊技術(shù)、智能控制技術(shù)、傳感器技術(shù)、綜合布線技術(shù),通過家居中的信息與控制中心,把與家居生活有關(guān)的安防、環(huán)境控制、通訊、智能家電等各種子系統(tǒng)有機地結(jié)合在一起的復(fù)雜系統(tǒng)。對智能家居系統(tǒng)實現(xiàn)遠程信息查詢和狀態(tài)控制是其必須具備的一項功能,傳統(tǒng)的產(chǎn)品大多采用無線通訊、電話通訊、手機通訊、電力載波等方式實現(xiàn)。隨著嵌入式Internet技術(shù)不斷地發(fā)展和成熟,通過Internet實現(xiàn)對智能家居的遠程監(jiān)控正成為業(yè)界技術(shù)發(fā)展的方向。這種方式具有成本低、控制地域廣、可靠性高、通訊速度快、操作簡單等優(yōu)點。其基本工作原理是把智能家居系統(tǒng)中的信息與控制中心設(shè)備(簡稱控制終端)設(shè)計成Web服務(wù)器,通過遠程計算機上的瀏覽器軟件對嵌入式Web服務(wù)器的訪問實現(xiàn)遠程的監(jiān)控。因此實現(xiàn)這種系統(tǒng)的關(guān)鍵就是要設(shè)計能夠接入Internet的嵌入式控制終端。
2 智能家居的總體框架
智能家居系統(tǒng)由信息家電、環(huán)境控制、安防報警三個子系統(tǒng)和一個控制終端組成,如圖1所示。
各子系統(tǒng)與控制終端通過現(xiàn)場總線相連�?刂平K端是智能家居系統(tǒng)的核心設(shè)備,其主要功能是:對子系統(tǒng)各功能模塊實施分布式管理和控制;借助現(xiàn)場網(wǎng)絡(luò)與各模塊實現(xiàn)信息交換與共享;作為嵌入式Web服務(wù)器,通過Internet實現(xiàn)遠程通訊和監(jiān)控。
智能家居現(xiàn)場總線是智能家居系統(tǒng)的重要組成部分之一,通過它可以把住宅內(nèi)與信息和控制相關(guān)的各個通訊設(shè)備、家用電器和家庭安防裝置都并入到智能家居網(wǎng)絡(luò)系統(tǒng),從而進行集中的管理和控制。目前智能家居現(xiàn)場總線的規(guī)范和標(biāo)準有很多,如LonWorks,X10,CEBus,HBS,CAN, RS 485等,但還沒有形成業(yè)界統(tǒng)一的標(biāo)準。選擇總線的原則應(yīng)當(dāng)是:成本低、應(yīng)用簡單、通訊可靠、擴展性強、能適應(yīng)傳統(tǒng)的低端設(shè)備的連接。按照以上原則,考慮到目前智能家居系統(tǒng)中各終端設(shè)備相對低端且通訊接口不統(tǒng)一的現(xiàn)狀,系統(tǒng)中采用RS 485作為現(xiàn)場總線。子系統(tǒng)中各功能模塊可分為信息終端(如信息家電)和非信息終端(如照明報警控制)2類。信息終端一般帶有標(biāo)準的通訊接口,但往往不全支持所選擇的總線協(xié)議,因此需要進行接口和協(xié)議的轉(zhuǎn)換;非信息終端一般不具有標(biāo)準的通訊接口功能,因此需要通過通訊擴展模塊實現(xiàn)接入總線的功能,如圖2所示。
系統(tǒng)的工作原理是智能控制終端根據(jù)從現(xiàn)場或遠程網(wǎng)絡(luò)接受到的指令,對各功能模塊實行分布式輪循管理與控制,同時把智能家居系統(tǒng)的狀態(tài)信息傳送到遠程控制端�?刂平K端與遠程計算機通過B/S模式工作,控制終端作用相當(dāng)于一個嵌入式Web服務(wù)器,遠程計算機則作為瀏覽器工作。
3 控制終端的硬件設(shè)計
3.1 系統(tǒng)的組成
控制終端硬件組成原理如圖3所示。系統(tǒng)采用Ubiocm公司的SX52芯片作為微控制器。SX52是Ubiocm公司利用先進的CMOS技術(shù)開發(fā)的一款可編程的、高速的、能方便地實現(xiàn)因特網(wǎng)接入功能的、8位通信控制芯片。SX52采用RISC結(jié)構(gòu),支持流水線作業(yè),具有高速計算能力,在100 MHz晶振的驅(qū)動下指令執(zhí)行速度可高達100 MIPS。芯片內(nèi)部自帶FLASH程序存儲器,支持在線編程調(diào)試。該芯片最大的特點是支持“虛擬外設(shè)”功能,即用戶可以對SX52微控制器的5個I/O端口進行靈活配置,并通過執(zhí)行虛擬軟件來模塊實現(xiàn)諸如I.2C,SPI,UART,CallerID,F(xiàn)SK以及Modem等接口功能。同時芯片最吸引人之處在于通過使用虛擬軟件包提供的代碼可以方便地實現(xiàn)TCP/IP協(xié)議中常用到的協(xié)議棧,如HTTP,SMTP,POP3,TCP,UDP,ICMP,IP,PPP等。以太網(wǎng)接口采用臺灣REALTEK公司生產(chǎn)的高集成度、全雙工以太網(wǎng)控制器芯片RTL8019AS實現(xiàn)。該芯片支持IEEE802.3 MAC子層協(xié)議,可工作在10BASET,10BASE2和10BASE5等介質(zhì)環(huán)境下,它同時具有曼徹斯特編碼、沖突檢測和重發(fā)的功能,可以與很少的外圍電路一起完成10 Mb/s速率的數(shù)據(jù)收發(fā)功能。FB2022為耦合隔離濾波器。系統(tǒng)中Web服務(wù)器的網(wǎng)頁數(shù)據(jù)和資源存放在由Atmel公司生產(chǎn)的64 kB串行E.2PROM存儲器AT24C512之中。RS 485總線接口是通過MAXIM公司的MAX485實現(xiàn)。系統(tǒng)采用液晶觸摸屏作為輸入輸出人機接口界面。觸摸屏的輸入控制采用BurrBrown公司推出的新一代4線制觸摸屏控制芯片ADS7846實現(xiàn)。當(dāng)屏幕上有觸摸發(fā)生時,ADS7846可通過采樣保持、逐位逼近式A/D變換等功能模塊迅速得到觸摸點的位置信息,從而使應(yīng)用軟件實現(xiàn)在觸摸屏表面上尋址的功能。對液晶屏的顯示控制是通過SEIKO EPSON公司出品的液晶顯示控制器SED1335實現(xiàn)。SED1335硬件結(jié)構(gòu)由外部接口、內(nèi)部控制和液晶模塊驅(qū)動3部分組成,其特點是:I/O緩沖器功能強大、功能及控制指令豐富、可實現(xiàn)4位數(shù)據(jù)并行發(fā)送。