谭立志,周维龙,欧阳洪波
(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.