詹治国,林少波,郭 栋,李天杰,展敬宇,张 弛
(北京中电飞华通信有限公司,北京 100700)
在十二·五基建规划中,智慧楼宇项目的建设为一个重要部分,智慧楼宇结合了自动化控制和信息网络技术,自动化控制系统需要负责管理和监控整个建筑的情况,保证楼宇中设备能够正常高效地运行[1]。智能设备的控制需要依靠实时可靠的通信环境,由于楼宇内部各个场景的通信网络特征不同,当前智慧楼宇的通信需要一定的灵活性满足复杂的应用场景[2]。
为满足智慧楼宇中的通信需求,文献[3]方法中提出一种多路访问机制和时分多址机制结合的方式,在低流量负载条件下具有较好地灵活性,能够支持高吞吐率,在访问信道时没有信道竞争。文献[4]方法中采用了自适应时隙分配机制,采用自适应算法避免时隙空间重用的问题,网络信息速率不受工作周期长短的影响。文献[5]方法中提出精密定时协议,将单个检测器时钟的相位和频率锁定到一个主时钟,通过硬件设备将节点同步到交换机中,减少通信过程中的缓冲延迟。文献[6]方法提出CAN总线与以太网互联的方法,通过软件系统和硬件设备的结合实现现场的通信,提高了吞吐量。在智慧楼宇的无线网络环境中,网络节点需要降低能耗保持低工作周期,当前研究中提高吞吐量的同时可能会带来额外的延迟,接收远程数据节点发送的消息时,通信模型的层数过高导致累积开销较大。
智慧楼宇内部管道和走廊中安装有多种类型的传感器用来采集环境参数,包括烟雾报警传感器、室内入侵传感器和温度湿度传感器。在楼宇内的通信网络中,需要将设备节点采集到的数据汇聚在一起再上传到控制中心。根据楼宇内部的不同场景的通信需求可将通信网络分为3种结构:线性结构、环形结构和树形结构,线性结构中只有一个控制器,其他节点数据节点为传感器和执行器等设备,进行通信传输时首先由控制节点发送控制命令,首先对其他所有的数据节点进行初始化,接收到上传来的数据后在对数据节点进行管理和监测[7]。环形结构中控制节点和多个数据节点形成一个闭环,发送控制命令后由最后一个数据节点将数据返回,再进行监测和管理[8]。树形结构中数据节点为多层结构,发送控制命令后由第一个数据节点接收后,在将数据包发送到下一层的数据节点中,发送到最后一层后再将上传的监测数据自底向上传输。楼宇中通信网络需要进行大量且频繁的网络数据传输,并建立与多个数据节点的网络连接,为控制系统提供网络服务,需要保证数据交互和传输具有即时性,节点转发时延不受主机处理器的影响,在一定时间内处理多个IO设备或多个节点传输[9]。智慧楼宇通信技术架构如图1所示。
图1 智慧楼宇通信技术架构
智慧楼宇从整体上可分为三层:应用层、数据层和通信层,通过这种方式实现智慧楼宇通信物联交互,提高了数据物联应用能力。
更具体而言,应用层主要为智慧楼宇提供智能服务,对环境和智能设备间监控,对各个场景进行视频监控和入侵检测。在应用层中设置监控摄像头、温湿度传感器、红外监控、人脸识别模块、消防联动等不同的物联网设备,这些数据信息通过路由节点实现底层不同设备数据局信息的交互与传递,将见到的数据信息通过不同的数据信息节点传递到上层管理。
数据层应用了文件服务器、数据库服务器和管理服务器,用来存储和管理智慧楼宇产生的实时数据,与其他系统数据共享完成其他部分的联动,提供统一的数据交换标准支持整个数据层的运行[10]。在具体设计中,其内的文件服务器是指档案伺服器,该硬件设备能够在计算机网络中(尤其是错综复杂的文件信息数据信息内),将计算机网络不同数据节点内的所有用户,在不同时间,不同位置能够获取其内存储的文件存储设备,该技术能够将智慧楼宇数据信息通过网络数据节点或者网络存储部件检索或者存储文件。为了提高应用能力,还可以在节点接入边缘计算。边缘计算技术是在云计算基础上延伸的一种技术平台,具备云计算的各种能力,包括计算、存储和网络通讯,是一种开放式平台,遵循就近原则,满足客户需求,能够对用户数据进行数字化处理,提高通讯能力和数据安全能力。数据库服务器是建立在数据库系统基础上,具有数据库系统的特性,数据特征应用效果好,在该技术原理中,能够实现系统配置与管理、数据存取与更新等。具有不错的数据完整性管理和数据安全性管理能力。在管理服务器中,可以在其内安装不同的数据软件,设置、配置不同干的服务器,进而实现楼宇数据信息管理,提高了用户应用能力和维护能力。
通信层中具有多个路由节点完成消息的转发,智慧楼宇各层中的智能设备作为数据节点,完成数据采集后汇聚到路由节点再发送到数据层。通信层使用BACnet通信网络标准协议满足不同的应用程序的通信需求,在数据传输方面提供最高速的性能。BACnet通信网络提供端到端的服务,包括流量控制和差错校正,将应用层的抽象数据转换成字节序列从而适合下层传输,无线链路使用基于IEEE 802.15.4的ZigBee标准,使通信网络能够满足大量传感器设备和智能设备的连接,支持自组织、多跳和可靠的网状网络[11]。
上述提到在通信层中设置边缘服务器实现边缘计算能力。边缘服务器通常设置在不同网络节点的终端附近,终端数据信息无需直接上传远端中心即可实现数据信息交互,通过不同的网络节点能够实现不同数据信息的交互,数据可以直接传递到云端服务器,最大程度地减轻数据信息计算量,大幅度提高数据处理能力。通过设置不同的边缘网络节点以及边缘服务器,最终实现远端云计算中心的信息交互与计算。为了进一步避免数据信息叠加和累计,这些数据信息之间可以动态交互,提高了数据处理和计算能力。
智慧楼宇的通信层中通信网关是实现RS-485接口设备、CAN接口设备和传感器、总线设备之间数据传输的重要组成部分,保证控制中心能够及时对各楼层的智能设备进行控制,是数据正常安全传输的保障。在对通信网关进行设计中,在简化电路设计的同时需要选择内部具有丰富资源的核心器件,在保证功能性的同时简化外围电路,本研究使用ARM处理器 STM32F103ZET6 作为控制单元,保证高性能的同时具有较低的功耗[12]。通信网关的通信板卡使用D013板卡,有利于提高网关的集成度并减小占用的空间。通信网关总体硬件结构如图2所示。
图2 通信网关总体硬件结构
主控单元连接有外部时钟电路,为主控单元的供电引脚VBAT提供安全稳定的电压输入,充分发挥主控单元低功耗和高精度的特点。为保证网关后备寄存器中的内容完整,由两个二极管、电容和电池组成供电电路,在没有外部接入电源的情况下,二极管D1不导通、D2导通,由内部电池供电[13]。在有3.3 V外部供电的情况下,二极管D1导通、D2不导通,由3.3 V电源供电。为满足用户的多种需求,丰富多协议网关的功能,在主控单元上增加了启动模式电路、按键电路和复位电路。在主控单元中,采用主控芯片是STM32F103ZFT6ARM 芯片,改芯片为MCU微控制单元,该控制单元全称为STM32 Family STM32F1 Series Microcontrollers, 采用ARM控制系列,其为M3, 32位单片机控制系统,具体输出为72 MHz, 768 kB,更具体而言,作为XL密度性能的STM32系列32位微控制器,其具有的能力比较强,比如内核具有高达72 MHz的高性能ARM Cortex-M3 RISC内核,运转速度比较快,采用高速嵌入式存储器实现楼宇数据信息的存储,比如是闪存数据信息为 768 kB, 内存为96 kB SRAM等多种存储模块,其中该模块还设置多种外设设备和数据通信I/O接口,提高了数据交互能力。该模块在应用过程中,采用的器件还设置了3个不同的12位A/D转换模块、在该基础上还设置 10个通用型的16位定时器和1个PWM定时器,大大提高控制能力,在数据控制中心,比如不同型号的标准通信接口, 2个I2C, 3个SPI, 2个I2S, 1个SDIO, 5个USART, 1个USB, 1个CAN等,通过接入丰富多样的数据信息接口,提高了楼宇通信能力,使本研究能够通过不同的方式与外界实现数据信息交互。
电源模块中使用了AMS1117稳压芯片,为主控单元和其他外围电路提供稳定的电压输入,能够将5 V的输入电压转换为稳定的3.3 V输出电压。为何采用这种形式?这是因为AMS1117作为电源模块工作过程中能够实现正向低压降的电源稳压器,能够在工作电流为1 A的情况下,将电路中的电流下压降为1.2 V,并且最小压差保证不超过1.3 V,当电路中的负载比较大时,电路中的负载电流能够随着负载流入量的减少而减少,输出的电压可以为1.5 V、1.8 V、2.5 V、2.85 V、3.0 V、3.3 V、5.0 V等,整体输出电压具有1%的精度,最终的输出精度可以为2%,大大提高了数据抗干扰能力。网关与传感器设备和智能控制设备进行通信时,RS-485接口和CAN接口的波特率需要与设备相匹配,为了在网关上显示数据传输过程设备接口通信的波特率,加入了LCD接口电路。网关的控制单元内置了CAN控制器[14],支持CAN协议的2.0A和2.0B,在网关中加入了CAN收发器,使用TJA1050芯片作为接口控制器。网关的收发模块如图3所示。
图3 网关的收发模块
其中RS-485接口电路使用了SP3485芯片,P5为接口电路的选择接口,USART2_RX和USART2_TX连接在控制单元的PA3和PA2上,RS485_TX和RS485_RX连接在SP3485芯片的RO和DI引脚。当USART2的1和3、2和4短接时,RS-485接口连接在控制单元的串口上,完成与接口模块的通信连接。接口芯片的控制引脚为RS485_RE,直接连接在控制单元的IO(PD7)口。采用SP3485芯片的目在于还能够实现RS-422收发,在具体工作过程中,该芯片的数据传递速度可以高达10 Mbps。能够承受-7.0~+12.0 V共模范围内的任何短路情况,保护IC不受到损坏。
在智慧楼宇的监控管理过程中,网络的负载实时变化,当楼宇中有报警器报警时,网络中产生突发负载,为保证通信网络中的路由节点采集完数据后顺利向下一个路由节点传输,避免发生时间同步问题。本研究提出基于队列的MAC(medium access control)协议的通信网络,对网络负载情况进行分类,根据低负载和高负载的情况采用不同的传输机制,满足智慧楼宇多跳和负载变化的网络[15]。
在智慧楼宇的应用场景中,网络负载较低的情况下,使用低工作周期模式传输数据,当网络负载不断增加时,路由节点会收集其对应的数据节点的队列长度指示符,进行时隙分配时使用TDMA机制。智慧楼宇的传输网络拓扑结构如图4所示。
图4 传输网络拓扑结构
在现有技术中的楼宇传输网络中,信道交互时,尤其是存在共同信道时,如何提高通信能力,解决数据信道拥堵问题,就成为亟待解决的技术难题,MAC通信协议能够解决传输网络拓扑结构中在存在共用信道时,通信信道拥堵问题,通过该技术能够实现信道的合理分配,在实现数据通信时,其中局域网内的数据链路层主要包括逻辑链路层LLC和介质访问控制MAC等。在局域网具体应用过程中,局域网内的通信介质通常设置很多交互节点,数据传输过程中可以协调不同的节点实现数据信息通信以及节点介质的访问。传输网络中包括数据节点、路由节点和Sink节点,所有节点都采用半双工无线的工作模式。一个路由节点和周围其他多个数据节点形成簇,在同一个簇中,路由节点与数据节点进行关联并同步本地数据。在基于队列MAC协议的通信网络中,不同的簇之间使用异步工作模式,整个通信网络不需要进行全局同步[16]。数据节点在向路由节点发送数据包时,将队列长度信息映射在数据包上,明确地显示出该数据节点的通信需求量,通知路由节点自身的负载。
路由节点中有两个列表,序号列表IDlist和时隙分配列表SlotAlllist,IDlist用于记录数据节点的序号,SlotAlllist用于记录分配的时隙数目。接收到数据节点发送的数据包后,路由节点更新IDlist和SlotAlllist,当队列长度指示符指示为零时,从IDlist中删除该数据节点的序号[17],不为零时,在SlotAlllist中更新数据节点的时隙数。
当多个数据节点N1、N2、N4都有要上传的数据包时,首先需要获取路由节点的信标,数据节点接收到信标之后将其超帧持续时间计数器重置为0,与路由节点进行本地同步。当数据节点自身的序号是在信标帧的序号列表中时,路由节点为其分配TDMA时隙,并在信标帧中得到序号的顺序SID(i)和分配时隙数Nslots(i)。获取到分配的时隙数后,数据节点通过预先累积已分配给该数据节点的时隙数知道时隙周期的开始时间。当数据节点N4发现SID(4)在序号列表中的值为3时,数据节点N4时隙周期的开始时间为前两个数据节点的总时隙数的结束时间,数据节点N4的时隙起始时间为:
(1)
式(1)中,Tslot为TDMA时隙的持续时间,Nslots(i)为SlotAlllist中第i个数据节点的时隙数[18]。当网络负载增加时,传输协议使用动态时隙分配的方法,路由节点解析数据节点发送的数据包,将本地的IDlist和SlotAlllist更新。通过上述方法特别是一种动态时隙分配TDMA实现装置,为解决现有编码系统效率低的问题。
在TDMA通信系统内,该研究有效地应用了动态时隙调度方法,在通信系统内的主端处,将楼宇数据信息发送给从端终端设备,大大提高了数据交互能力。该数据信息在通信协议的作用下,在主端处能够根据各从端设备需要,将采集到的楼宇数据信息传送到另外一个终端,有效地避免了数据拥堵问题,提高了数据交互和数据通信能力。
为验证本研究智慧楼宇通信技术的性能,搭建应用测试环境进行实验,本研究应用测试在Linux系统中进行,操作系统的版本为Ubuntu16.04,实验计算机使用8核16线程的CPU,应用测试环境中路由节点使用H3CMER3220路由器,同时也可以对实验过程中的网络流量进行精细化管理和控制,并支持Ethernet,Ethernet II,VLAN,端口镜像。假设在某一楼宇进行数据信息交互,应用测试环境架构如图5所示。
图5 应用测试环境架构
应用测试环境中使用的硬件和软件配置参数如表1所示。
表1 配置参数
为使网络通信协议在在单信道环境和多信道环境下都可以正常运行,基于工作周期进行调整,在多个发送节点时能够获得较高的吞吐量,根据流量负载动态地调整其数据收集周期。网络通信协议主要参数设置如表2所示。
表2 网络通信协议主要参数
为了验证通信网络对智慧楼宇中负载变化的应对情况,每个数据节点中随机生成500个数据包,路由节点将数据节点采集到的数据汇聚并传输到Sink节点。通过改变数据包生成的速率,记录通信网络在不同流量负载下的平均数据包延迟,文献[3]系统和文献[4]系统作为对比实验,实验时间设定为30 min,在不同系统下的数据包延迟时间如图6所示。
图6 数据包延迟时间
由图6可知,实验初期阶段,数据包生成速率较小,通信网络中存在的数据量较小,3种系统的延迟都较短。当数据速率超过4 packet/s时,文献[3]系统和文献[4]系统的数据包延迟时间开始明显增加。数据速率增加到6 packet/s时,文献[3]系统的数据传输时延为712 ms,文献[4]系统的数据包延迟时间为425 ms。数据速率增加到7 packet/s后继续增大时,文献[3]系统和文献[4]系统的数据包延迟时间不再出现增长趋势,文献[3]系统的最大延迟时间高达834 ms,其中数据包在发送队列中等待的时间占延迟时间的一大部分。
本研究系统中数据包从数据节点到路由节点的平均延迟时间最短,数据速率低于8 packet/s的情况下,数据包延迟时间低于200 ms,与文献[3]系统的最大相差时延可达到713 ms,本研究系统数据节点的时延时间最短,具有更好的通信效率。
在实验过程中模拟智慧楼宇中发生的紧急事件,在实验的100 s、300 s处引入数据负载突发时段,持续时间为30 s,突发时段内所有的数据节点的数据生成速率增加到10 packet/s,在其他时间段内以1 packet/s的低数据速率生成数据包。在数据负载突发的情况下,系统的平均数据包延迟时间如图7所示。
图7 数据负载突发的数据包延迟时间
图7中显示了3种系统在应对突发负载时的平均数据包延迟,由图中延迟时间数据可知,本研究系统的平均数据包延迟时间更低,在整个实验过程中,数据包延迟时间在500 ms以下,最高达到408 ms。当通信网络中发生突发事件时,文献[3]系统和文献[4]系统的数据包延迟时间增加到1 500 ms以上,300 s处发生的突发负载时,文献[3]系统的最高延迟时间高达2 000 ms以上,文献[4]系统的延迟时间最高为1 822 ms,文献[3]系统和文献[4]系统在处理缓冲队列中的数据所需要的时间更多。
本研究针对智慧楼宇各应用场景的通信需求,设计出通信网络架构使满足各场景中智能设备的数据传输,设有多个路由节点,通过动态时隙分配来提高网络传输效率,降低网络的平均延时。本研究的创新点在于:
1)设计出多协议通信网关,实现RS-485接口设备、CAN接口设备和总线接口设备的之间的数据传输,控制器和收发器具有冗余双线机制,收发模块具有RS-485收发器和CAN收发器,完成控制单元与外界网络的通信。
2)提出基于队的MAC协议的传输机制,在高负载的情况下能够有效缓解数据的冲突,路由节点进行动态时隙分配,根据数据节点发送的数据包更新序号列表和时隙分配列表。
在智慧楼宇的实际应用中,实际的数据与仿真数据肯定会存在一定的差距,以后研究中需要根据实际情况设计出更合理的数据传输机制,考虑数据节点规模较大的应用场景。