譚立志,周維龍,歐陽洪波
(1.湖南汽車工程職業(yè)學(xué)院 湖南 株洲 412001;2.湖南工業(yè)大學(xué) 湖南 株洲 412007)
智能家居作為物聯(lián)網(wǎng)技術(shù)的一種重要應(yīng)用[1],具有廣泛的應(yīng)用前景。據(jù)國(guó)際專家不完全統(tǒng)計(jì),在未來十年內(nèi)智能家居產(chǎn)品銷售額將達(dá)到328億美元[2-3]。我國(guó)在2011年5月正式頒布的“十二五”規(guī)劃中明確提出了將智能家居作為戰(zhàn)略性新型產(chǎn)業(yè)進(jìn)行培育發(fā)展,在大力發(fā)展物聯(lián)網(wǎng)技術(shù)的時(shí)代,智能家居控制系統(tǒng)必將迎來一種熱潮。嵌入式網(wǎng)關(guān)作為智能家居控制器的核心,已成為當(dāng)今世界研究的一大熱點(diǎn)[4-5]。Hwang Kwangil,Jeongsik In.etal[6]設(shè)計(jì)了基于Web訪問式的網(wǎng)關(guān)設(shè)備,用戶可通過Web方式訪問和控制傳感器網(wǎng)絡(luò),但不能提供其它的數(shù)據(jù)采集接口;文獻(xiàn)[7]中,論述了一種基于GPRS的嵌入式智能家庭控制器的設(shè)計(jì),作者采用嵌入式系統(tǒng)、GPRS通信技術(shù)和RS485總線技術(shù)相結(jié)合,搭建了一個(gè)家庭智能管理平臺(tái)。但系統(tǒng)沒涉及當(dāng)前應(yīng)用非常廣泛的ZigBee無線通信網(wǎng)絡(luò);文獻(xiàn)[8]中提出基于FPGA的嵌入式ZigBee網(wǎng)關(guān)設(shè)計(jì)與實(shí)現(xiàn),作者通過構(gòu)建可編程片上系統(tǒng) (SOPC),并利用Nios II嵌入式系統(tǒng)通過串口通信來實(shí)現(xiàn)對(duì)多個(gè)ZigBee網(wǎng)絡(luò)的數(shù)據(jù)采集,同時(shí)結(jié)合以太網(wǎng)通信實(shí)現(xiàn)數(shù)據(jù)傳輸和上位機(jī)實(shí)時(shí)監(jiān)控功能。但是它沒有提供輸入輸出管理,文件系統(tǒng),網(wǎng)絡(luò)的額外服務(wù)。
針對(duì)以上問題,本文提出一種低成本,高效率的智能家庭異構(gòu)網(wǎng)關(guān)的設(shè)計(jì),通過 Internet、無線局域網(wǎng)(Wi-Fi)、家庭設(shè)備無線傳感控制網(wǎng)絡(luò)等多種異構(gòu)網(wǎng)絡(luò)的相互融合,真正實(shí)現(xiàn)公網(wǎng)接入,無線Wi-Fi覆蓋,家電設(shè)備、家居環(huán)境無線組網(wǎng)(ZigBee)及遠(yuǎn)程監(jiān)控家居設(shè)備、家居環(huán)境的智能家居,實(shí)現(xiàn)家庭的網(wǎng)絡(luò)化控制,提高人類的生活質(zhì)量,推動(dòng)物聯(lián)網(wǎng)技術(shù)在智能家居中的應(yīng)用。
智能家居指的是:家庭內(nèi)的各種電器設(shè)備(冰箱、空調(diào)、電視機(jī)等)、室內(nèi)的環(huán)境參數(shù)(溫度、光照度、濕度、甲醛濃度等)、室內(nèi)照明系統(tǒng)、自動(dòng)門窗和窗簾、監(jiān)控視頻探頭和傳感器設(shè)備等都通過各種類型的網(wǎng)絡(luò)接入外部互聯(lián)網(wǎng)絡(luò)。家庭成員可通過終端設(shè)備(遙控設(shè)備、電腦或智能手機(jī)等)對(duì)各種家用電器進(jìn)行控制,其網(wǎng)絡(luò)結(jié)構(gòu)可用圖1表示。由圖1可以總結(jié)出智能家庭異構(gòu)網(wǎng)關(guān)的功能和接口,主要體現(xiàn)在以下幾個(gè)方面:1)外網(wǎng)(Internet)的接入功能。作為一個(gè)家庭關(guān)網(wǎng),必需要具有 Internet網(wǎng)絡(luò)的接入功能。本系統(tǒng)采用ADSL技術(shù),實(shí)現(xiàn)家庭異構(gòu)網(wǎng)關(guān)的撥號(hào)上網(wǎng)功能;2)多種通信方式的兼融功能,為家庭高速網(wǎng)絡(luò)設(shè)備提供以太網(wǎng)、Wi-Fi方式共享的Internet服務(wù),支持 DHCP、NAT、防火墻、路由等功能;3)無線傳感網(wǎng)絡(luò)(ZigBee)的接入功能。為家庭內(nèi)的低速率設(shè)備提供信息交互服務(wù),實(shí)現(xiàn)對(duì)信息家電的監(jiān)測(cè)與控制。低速控制網(wǎng)絡(luò)的通信數(shù)據(jù)較少,網(wǎng)關(guān)設(shè)備可通過串口(UART)與 ZigBee節(jié)點(diǎn)相連,實(shí)現(xiàn)數(shù)據(jù)的接收和轉(zhuǎn)發(fā);4)家庭控制網(wǎng)絡(luò)的管理功能。提供數(shù)據(jù)庫(kù)的支持,對(duì)種類繁多的家居設(shè)備進(jìn)行統(tǒng)一管理,應(yīng)對(duì)家庭設(shè)備的可變性(添加或移除),向用戶提供一種靈活的管理模式;5)遠(yuǎn)程管理服務(wù)。通過在家庭異構(gòu)網(wǎng)關(guān)上構(gòu)建Web服務(wù)器和嵌入式數(shù)據(jù)庫(kù),為授權(quán)用戶提供遠(yuǎn)程管理和監(jiān)視功能,應(yīng)對(duì)各種意外情況的發(fā)生。
圖1 智能家居網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Intelligent home furnishing network structure
綜上所述,整個(gè)家庭異構(gòu)網(wǎng)關(guān)的性能要求可歸納如下:1)硬件功能。RJ45接口,以實(shí)現(xiàn)ADSL接入與Internet接入;AP模塊,完成Wi-Fi覆蓋功能;串口通信,實(shí)現(xiàn)網(wǎng)關(guān)設(shè)備與ZigBee模塊的數(shù)據(jù)交互。2)軟件功能。支持?jǐn)?shù)據(jù)庫(kù)、Web服務(wù)器、防火墻、路由、NAT、DHCP、PPP、PPPOE 等功能。
作為一個(gè)智能家庭網(wǎng)關(guān)設(shè)備,需要完成家庭內(nèi)部網(wǎng)絡(luò)設(shè)備各種數(shù)據(jù)信息的交互,大量路由信息對(duì)CPU的處理速率提出了極高的要求。FPGA具有高速的數(shù)據(jù)運(yùn)算與處理能力,用來實(shí)現(xiàn)主要的交換路由,可大大減少 CPU的負(fù)荷。因此,本系統(tǒng)采用一種基于ARM+FPGA的雙核組合架構(gòu),以S3C2440A作為主控 CPU,采用串口通信方式與ZigBee模塊相連;DMA接口與FPGA模塊進(jìn)行數(shù)據(jù)交互。對(duì)于家庭內(nèi)部高速數(shù)據(jù)網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)交換,則通過一個(gè)專用交換模塊來實(shí)現(xiàn),利用FPGA實(shí)現(xiàn)主要的交換路由控制,整體方案如圖2所示。
圖2 網(wǎng)關(guān)硬件整體框圖Fig.2 The hardware block diagram of gateway
為減小數(shù)據(jù)存儲(chǔ)與傳輸?shù)臅r(shí)間開銷,保證數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性,需設(shè)計(jì)高效的數(shù)據(jù)通信鏈路。DMA(Direct Memory Access)具有數(shù)據(jù)傳輸速率高 、I/O響應(yīng)速度快與 CPU額外開銷小等優(yōu)點(diǎn)。因此,本文采用DMA的傳輸模式完成FPGA與ARM間的數(shù)據(jù)傳輸。S3C2440A支持多種DMA實(shí)現(xiàn)方式,當(dāng)ARM接收到FPGA控制器發(fā)出的數(shù)據(jù)傳送中斷請(qǐng)求后,開啟DMA傳輸方式,將FPGA處理后的數(shù)據(jù)存儲(chǔ)到主控器的寄存器中,便于數(shù)據(jù)與其他設(shè)備之間進(jìn)行各種通信。系統(tǒng)以Altera公司的EP3C25E1448CN作為FPGA芯片,其與ARM的接口電路如圖3所示[9]。
FPGA內(nèi)部采用LPM_FIFO定制方式生成16位異步FIFO,解決FPGA數(shù)據(jù)傳輸與ARM對(duì)數(shù)據(jù)讀寫頻率不匹配的問題,其中Data[15..0]為數(shù)據(jù)輸入端口;Q[15..0]為數(shù)據(jù)輸出端口;Wrreq為數(shù)據(jù)寫入請(qǐng)求信號(hào),高電平有效;Rdreq為數(shù)據(jù)讀出請(qǐng)求信號(hào),高電低有效;Aclr為異步清零端;Full為溢出指示信號(hào),當(dāng)存儲(chǔ)器溢出時(shí)輸出高電平;FIFO輸出數(shù)據(jù)經(jīng)由nGCS2為片選信號(hào)的16位緩沖器(SN74LVTH16244A)后發(fā)送到ARM的數(shù)據(jù)總線上。
圖3 FPGA邏輯接口圖Fig.3 FPGA logic interface map
FIFO的寫請(qǐng)求信號(hào)由S3C2440A與FIFO的Full信號(hào)共同決定,當(dāng)ARM發(fā)出的Start信號(hào)為高電平,且FIFO的Full為低電平時(shí),寫請(qǐng)求信號(hào)Wrreq有效,數(shù)據(jù)被寫入到FIFO中,當(dāng)Start=0或Full=1時(shí),停止寫操作;對(duì)FIFO的讀操作則需與ARM的DMA操作協(xié)同進(jìn)行。本系統(tǒng)以單服務(wù)命令模式對(duì)DMA進(jìn)行操作,每次傳輸一個(gè)字節(jié)數(shù)據(jù)位。當(dāng)DREQ0=0時(shí)DMA操作開始,每傳輸一個(gè)字節(jié)便產(chǎn)生一個(gè)應(yīng)答信號(hào),直到 DMA控制寄存器中的計(jì)數(shù)器為 0,產(chǎn)生DMA中斷。根據(jù)上述時(shí)序特點(diǎn),將FIFO的空信號(hào)作為DMA的請(qǐng)求信號(hào) DREQ0,當(dāng) MII接口輸出的數(shù)據(jù)寫進(jìn)FIFO中時(shí),空信號(hào)跳變?yōu)榈碗娖絾?dòng) DMA操作,同時(shí)以DACK0作為FIFO的讀請(qǐng)求信號(hào)。每一次 DMA傳輸完成后應(yīng)答信號(hào)使FIFO的讀指針移動(dòng)一位,以實(shí)現(xiàn)數(shù)據(jù)的快速準(zhǔn)確的傳輸。
由圖2可知,Internet網(wǎng)絡(luò)、Wi-Fi網(wǎng)絡(luò)、Bluetooth網(wǎng)絡(luò)及PC終端等室內(nèi)高速數(shù)據(jù)網(wǎng)絡(luò)之間通過交換模塊實(shí)現(xiàn)各異構(gòu)網(wǎng)絡(luò)的融合,采用MII(Media Independent Interface)接口將數(shù)據(jù)傳輸?shù)紽PGA中,MII接口信號(hào)包括 MII數(shù)據(jù)接口和 MII管理接口[10]。MII數(shù)據(jù)接口的標(biāo)準(zhǔn)輸入/輸出信號(hào)包括:T_CLK、T_EN、TD、T_ER、R_CLK、R_CLK、R_DV、RD、R_ER、CRS 和 COL,MII 管 理 接 口 包 括 :MDC 、MD_I、MD_O、MD_OEN,各信號(hào)的功能與管腳分配如表1所示。
表1 信號(hào)功能與腳管分配Tab.1 The signal function&distribution of legs
T_EN信號(hào)由MAC產(chǎn)生,與發(fā)送幀的第一個(gè)前導(dǎo)碼同步置為高電平(要求延遲不超過 4bits),且保持到所有發(fā)送數(shù)據(jù)結(jié)束,用來激活物理層芯片發(fā)送邏輯。T_EN的下降沿要在最后一個(gè)數(shù)據(jù)傳送完后的第一個(gè)T_CLK上升沿之前產(chǎn)生。T_ER則在T_CLK同步下發(fā)送,如果T_ER信號(hào)保持一個(gè)或多個(gè)時(shí)鐘周期而此時(shí)T_EN依然為高電平,在此情況下 PHY就會(huì)在相應(yīng)時(shí)間里丟棄發(fā)送幀里的無效數(shù)據(jù)或SFD。
R_DV由物理層芯片產(chǎn)生,在接收時(shí)鐘R_CLK的同步下,數(shù)據(jù) RD[3..0]發(fā)送到 MAC層。接收有效信號(hào)R_DV從幀的第一個(gè)解碼后直到最后一個(gè)之后一直保持有效,在第一個(gè)時(shí)鐘的上升沿來到之前置為低電平。為保證在兩層之間正確接收幀,R_DV覆蓋整個(gè)幀時(shí)間。
筆者著力于設(shè)計(jì)一個(gè)完成公網(wǎng)接入,實(shí)現(xiàn)家庭高速網(wǎng)絡(luò)設(shè)備有線(以太網(wǎng))、無線(Wi-Fi)方式訪問 Internet,低速家居設(shè)備 ZigBee無線組網(wǎng),遠(yuǎn)程 Web方式訪問監(jiān)控家居設(shè)備的專用型家庭異構(gòu)網(wǎng)關(guān)。Internet的接入需要 PPP、PPPOE模塊的支持;高速局域網(wǎng)的組建需要 DHCP、NAT、防火墻、路由、Wi-Fi模塊的支持;智能家電無線傳感器網(wǎng)絡(luò)組網(wǎng)需要ZigBee模塊的支持;智能家居網(wǎng)絡(luò)設(shè)備的遠(yuǎn)程控制則需要Web服務(wù)器、數(shù)據(jù)庫(kù)、Web交互界面、串口交互程序的支持。為了節(jié)省系統(tǒng)開發(fā)時(shí)間,可以通過移植一些基于嵌入式Linux的開發(fā)包,為系統(tǒng)提供服務(wù)支持。家庭異構(gòu)網(wǎng)關(guān)的軟件架構(gòu)如圖4所示。在嵌入式數(shù)據(jù)的建立中,采用“通信類型+區(qū)域+設(shè)備標(biāo)識(shí)”三層管理模式實(shí)現(xiàn)對(duì)不同戶型。
不同設(shè)備的通用管理。把室內(nèi)的設(shè)備按通信速度不同分為高速網(wǎng)絡(luò)和低速網(wǎng)絡(luò)兩大類,再按客廳、主臥等不同功能分成若干區(qū)域,最后在各區(qū)域內(nèi)對(duì)設(shè)備進(jìn)行標(biāo)識(shí)來建立數(shù)據(jù)庫(kù),減少設(shè)備標(biāo)識(shí)的數(shù)據(jù)位,提高數(shù)據(jù)傳輸?shù)挠行?,降低設(shè)計(jì)難度。
本文對(duì)智能家居網(wǎng)絡(luò)結(jié)構(gòu)、智能家居異構(gòu)網(wǎng)關(guān)硬件電路、軟件架構(gòu)進(jìn)行了詳細(xì)的闡述,完成了異構(gòu)網(wǎng)關(guān)軟硬件設(shè)計(jì)。系統(tǒng)工作安全可靠,對(duì)推動(dòng)物聯(lián)技術(shù)在智能家居的應(yīng)用具有重要的意義。
文章創(chuàng)新點(diǎn):1)提出一種基于ARM+FPGA的異構(gòu)網(wǎng)關(guān)設(shè)計(jì),利用FPGA強(qiáng)大數(shù)據(jù)處理能力,完成多種通信協(xié)議間不同數(shù)據(jù)格式間的兼容,有效減輕CPU的負(fù)擔(dān),降低對(duì)CPU主頻的要求,降低硬件系統(tǒng)開發(fā)難度。2)采用“通信類型+區(qū)域+設(shè)備標(biāo)識(shí)”三層管理模式實(shí)現(xiàn)對(duì)不同戶型不同設(shè)備的通用管理。把室內(nèi)的設(shè)備按通信速度不同分為高速網(wǎng)絡(luò)和低速網(wǎng)絡(luò)兩大類,再按客廳、主臥等不同功能分成若干區(qū)域,最后在各區(qū)域內(nèi)對(duì)設(shè)備進(jìn)行標(biāo)識(shí)來建立數(shù)據(jù)庫(kù),有效壓縮設(shè)備標(biāo)識(shí)的數(shù)據(jù)長(zhǎng)度,降低軟件設(shè)計(jì)難度。
[1]Huang Y H,Li G Y.Descriptive models for internet of things[C]//InternationalConference on IntelligentControland Infor-mation Processing,2010:483-486.
[2]朱洪波,楊龍祥,于全.物聯(lián)網(wǎng)的技術(shù)思想與應(yīng)用策略研究[J].通信學(xué)報(bào),2010,31(6):2-9.
[3]錢志鴻,王義君.物聯(lián)網(wǎng)技術(shù)與應(yīng)用研究[J].電子學(xué)報(bào),2012,40(5):1024-1028.
[4]楊嘯宇,孫杰,熊瑛.基于STM32的無線傳感器網(wǎng)關(guān)設(shè)計(jì)[J].天津理工大學(xué)學(xué)報(bào),2011,27(2):21-26.
[5]ZHOU Wei-long,ZOU Bin,NEI Hui.Research of Intelligent Home Heterageneous Gateway[C]//International Conference on Computer Sciences and Applications,2013:187-189.
[6]Hwang Kwangil,Jeongsik In,et al A design and implementaion of wireless sensor gateway for efficient querying and managing through world wide web[J].IEEE Transactions on Consumer Electronics,2003,49(4):1090-1097.
[7]陳琦,韓冰,秦偉俊,等.基于ZigBee/GPRS物聯(lián)網(wǎng)網(wǎng)關(guān)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)研究與發(fā)展,2011(S2):367-372.
[8]杜強(qiáng),羅銘,胡方明.基于FPGA的嵌入式ZigBee網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2012(7):41-44.
[9]龍?jiān)俅?,趙凱生,洪明堅(jiān),等.ARM系統(tǒng)中DMA方式在數(shù)據(jù)采集中的應(yīng)用[J].國(guó)外電子元器件,2007(2):66-69.
[10]曹云鵬.以太網(wǎng) MAC層協(xié)議研究與 FPGA實(shí)現(xiàn)[D].蘇州大學(xué),2011.