譚立志,周維龍,歐陽洪波
(1.湖南汽車工程職業學院 湖南 株洲 412001;2.湖南工業大學 湖南 株洲 412007)
智能家居作為物聯網技術的一種重要應用[1],具有廣泛的應用前景。據國際專家不完全統計,在未來十年內智能家居產品銷售額將達到328億美元[2-3]。我國在2011年5月正式頒布的“十二五”規劃中明確提出了將智能家居作為戰略性新型產業進行培育發展,在大力發展物聯網技術的時代,智能家居控制系統必將迎來一種熱潮。嵌入式網關作為智能家居控制器的核心,已成為當今世界研究的一大熱點[4-5]。Hwang Kwangil,Jeongsik In.etal[6]設計了基于Web訪問式的網關設備,用戶可通過Web方式訪問和控制傳感器網絡,但不能提供其它的數據采集接口;文獻[7]中,論述了一種基于GPRS的嵌入式智能家庭控制器的設計,作者采用嵌入式系統、GPRS通信技術和RS485總線技術相結合,搭建了一個家庭智能管理平臺。但系統沒涉及當前應用非常廣泛的ZigBee無線通信網絡;文獻[8]中提出基于FPGA的嵌入式ZigBee網關設計與實現,作者通過構建可編程片上系統 (SOPC),并利用Nios II嵌入式系統通過串口通信來實現對多個ZigBee網絡的數據采集,同時結合以太網通信實現數據傳輸和上位機實時監控功能。但是它沒有提供輸入輸出管理,文件系統,網絡的額外服務。
針對以上問題,本文提出一種低成本,高效率的智能家庭異構網關的設計,通過 Internet、無線局域網(Wi-Fi)、家庭設備無線傳感控制網絡等多種異構網絡的相互融合,真正實現公網接入,無線Wi-Fi覆蓋,家電設備、家居環境無線組網(ZigBee)及遠程監控家居設備、家居環境的智能家居,實現家庭的網絡化控制,提高人類的生活質量,推動物聯網技術在智能家居中的應用。
智能家居指的是:家庭內的各種電器設備(冰箱、空調、電視機等)、室內的環境參數(溫度、光照度、濕度、甲醛濃度等)、室內照明系統、自動門窗和窗簾、監控視頻探頭和傳感器設備等都通過各種類型的網絡接入外部互聯網絡。家庭成員可通過終端設備(遙控設備、電腦或智能手機等)對各種家用電器進行控制,其網絡結構可用圖1表示。由圖1可以總結出智能家庭異構網關的功能和接口,主要體現在以下幾個方面:1)外網(Internet)的接入功能。作為一個家庭關網,必需要具有 Internet網絡的接入功能。本系統采用ADSL技術,實現家庭異構網關的撥號上網功能;2)多種通信方式的兼融功能,為家庭高速網絡設備提供以太網、Wi-Fi方式共享的Internet服務,支持 DHCP、NAT、防火墻、路由等功能;3)無線傳感網絡(ZigBee)的接入功能。為家庭內的低速率設備提供信息交互服務,實現對信息家電的監測與控制。低速控制網絡的通信數據較少,網關設備可通過串口(UART)與 ZigBee節點相連,實現數據的接收和轉發;4)家庭控制網絡的管理功能。提供數據庫的支持,對種類繁多的家居設備進行統一管理,應對家庭設備的可變性(添加或移除),向用戶提供一種靈活的管理模式;5)遠程管理服務。通過在家庭異構網關上構建Web服務器和嵌入式數據庫,為授權用戶提供遠程管理和監視功能,應對各種意外情況的發生。

圖1 智能家居網絡結構Fig.1 Intelligent home furnishing network structure
綜上所述,整個家庭異構網關的性能要求可歸納如下:1)硬件功能。RJ45接口,以實現ADSL接入與Internet接入;AP模塊,完成Wi-Fi覆蓋功能;串口通信,實現網關設備與ZigBee模塊的數據交互。2)軟件功能。支持數據庫、Web服務器、防火墻、路由、NAT、DHCP、PPP、PPPOE 等功能。
作為一個智能家庭網關設備,需要完成家庭內部網絡設備各種數據信息的交互,大量路由信息對CPU的處理速率提出了極高的要求。FPGA具有高速的數據運算與處理能力,用來實現主要的交換路由,可大大減少 CPU的負荷。因此,本系統采用一種基于ARM+FPGA的雙核組合架構,以S3C2440A作為主控 CPU,采用串口通信方式與ZigBee模塊相連;DMA接口與FPGA模塊進行數據交互。對于家庭內部高速數據網絡設備的數據交換,則通過一個專用交換模塊來實現,利用FPGA實現主要的交換路由控制,整體方案如圖2所示。

圖2 網關硬件整體框圖Fig.2 The hardware block diagram of gateway
為減小數據存儲與傳輸的時間開銷,保證數據傳輸的實時性,需設計高效的數據通信鏈路。DMA(Direct Memory Access)具有數據傳輸速率高 、I/O響應速度快與 CPU額外開銷小等優點。因此,本文采用DMA的傳輸模式完成FPGA與ARM間的數據傳輸。S3C2440A支持多種DMA實現方式,當ARM接收到FPGA控制器發出的數據傳送中斷請求后,開啟DMA傳輸方式,將FPGA處理后的數據存儲到主控器的寄存器中,便于數據與其他設備之間進行各種通信。系統以Altera公司的EP3C25E1448CN作為FPGA芯片,其與ARM的接口電路如圖3所示[9]。
FPGA內部采用LPM_FIFO定制方式生成16位異步FIFO,解決FPGA數據傳輸與ARM對數據讀寫頻率不匹配的問題,其中Data[15..0]為數據輸入端口;Q[15..0]為數據輸出端口;Wrreq為數據寫入請求信號,高電平有效;Rdreq為數據讀出請求信號,高電低有效;Aclr為異步清零端;Full為溢出指示信號,當存儲器溢出時輸出高電平;FIFO輸出數據經由nGCS2為片選信號的16位緩沖器(SN74LVTH16244A)后發送到ARM的數據總線上。

圖3 FPGA邏輯接口圖Fig.3 FPGA logic interface map
FIFO的寫請求信號由S3C2440A與FIFO的Full信號共同決定,當ARM發出的Start信號為高電平,且FIFO的Full為低電平時,寫請求信號Wrreq有效,數據被寫入到FIFO中,當Start=0或Full=1時,停止寫操作;對FIFO的讀操作則需與ARM的DMA操作協同進行。本系統以單服務命令模式對DMA進行操作,每次傳輸一個字節數據位。當DREQ0=0時DMA操作開始,每傳輸一個字節便產生一個應答信號,直到 DMA控制寄存器中的計數器為 0,產生DMA中斷。根據上述時序特點,將FIFO的空信號作為DMA的請求信號 DREQ0,當 MII接口輸出的數據寫進FIFO中時,空信號跳變為低電平啟動 DMA操作,同時以DACK0作為FIFO的讀請求信號。每一次 DMA傳輸完成后應答信號使FIFO的讀指針移動一位,以實現數據的快速準確的傳輸。
由圖2可知,Internet網絡、Wi-Fi網絡、Bluetooth網絡及PC終端等室內高速數據網絡之間通過交換模塊實現各異構網絡的融合,采用MII(Media Independent Interface)接口將數據傳輸到FPGA中,MII接口信號包括 MII數據接口和 MII管理接口[10]。MII數據接口的標準輸入/輸出信號包括: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,各信號的功能與管腳分配如表1所示。

表1 信號功能與腳管分配Tab.1 The signal function&distribution of legs
T_EN信號由MAC產生,與發送幀的第一個前導碼同步置為高電平(要求延遲不超過 4bits),且保持到所有發送數據結束,用來激活物理層芯片發送邏輯。T_EN的下降沿要在最后一個數據傳送完后的第一個T_CLK上升沿之前產生。T_ER則在T_CLK同步下發送,如果T_ER信號保持一個或多個時鐘周期而此時T_EN依然為高電平,在此情況下 PHY就會在相應時間里丟棄發送幀里的無效數據或SFD。
R_DV由物理層芯片產生,在接收時鐘R_CLK的同步下,數據 RD[3..0]發送到 MAC層。接收有效信號R_DV從幀的第一個解碼后直到最后一個之后一直保持有效,在第一個時鐘的上升沿來到之前置為低電平。為保證在兩層之間正確接收幀,R_DV覆蓋整個幀時間。
筆者著力于設計一個完成公網接入,實現家庭高速網絡設備有線(以太網)、無線(Wi-Fi)方式訪問 Internet,低速家居設備 ZigBee無線組網,遠程 Web方式訪問監控家居設備的專用型家庭異構網關。Internet的接入需要 PPP、PPPOE模塊的支持;高速局域網的組建需要 DHCP、NAT、防火墻、路由、Wi-Fi模塊的支持;智能家電無線傳感器網絡組網需要ZigBee模塊的支持;智能家居網絡設備的遠程控制則需要Web服務器、數據庫、Web交互界面、串口交互程序的支持。為了節省系統開發時間,可以通過移植一些基于嵌入式Linux的開發包,為系統提供服務支持。家庭異構網關的軟件架構如圖4所示。在嵌入式數據的建立中,采用“通信類型+區域+設備標識”三層管理模式實現對不同戶型。
不同設備的通用管理。把室內的設備按通信速度不同分為高速網絡和低速網絡兩大類,再按客廳、主臥等不同功能分成若干區域,最后在各區域內對設備進行標識來建立數據庫,減少設備標識的數據位,提高數據傳輸的有效性,降低設計難度。
本文對智能家居網絡結構、智能家居異構網關硬件電路、軟件架構進行了詳細的闡述,完成了異構網關軟硬件設計。系統工作安全可靠,對推動物聯技術在智能家居的應用具有重要的意義。
文章創新點:1)提出一種基于ARM+FPGA的異構網關設計,利用FPGA強大數據處理能力,完成多種通信協議間不同數據格式間的兼容,有效減輕CPU的負擔,降低對CPU主頻的要求,降低硬件系統開發難度。2)采用“通信類型+區域+設備標識”三層管理模式實現對不同戶型不同設備的通用管理。把室內的設備按通信速度不同分為高速網絡和低速網絡兩大類,再按客廳、主臥等不同功能分成若干區域,最后在各區域內對設備進行標識來建立數據庫,有效壓縮設備標識的數據長度,降低軟件設計難度。
[1]Huang Y H,Li G Y.Descriptive models for internet of things[C]//InternationalConference on IntelligentControland Infor-mation Processing,2010:483-486.
[2]朱洪波,楊龍祥,于全.物聯網的技術思想與應用策略研究[J].通信學報,2010,31(6):2-9.
[3]錢志鴻,王義君.物聯網技術與應用研究[J].電子學報,2012,40(5):1024-1028.
[4]楊嘯宇,孫杰,熊瑛.基于STM32的無線傳感器網關設計[J].天津理工大學學報,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物聯網網關系統的設計與實現[J].計算機研究與發展,2011(S2):367-372.
[8]杜強,羅銘,胡方明.基于FPGA的嵌入式ZigBee網關的設計與實現[J].物聯網技術,2012(7):41-44.
[9]龍再川,趙凱生,洪明堅,等.ARM系統中DMA方式在數據采集中的應用[J].國外電子元器件,2007(2):66-69.
[10]曹云鵬.以太網 MAC層協議研究與 FPGA實現[D].蘇州大學,2011.