俞 清,金 婕,李 佳,敬文昊,严 伟
(上海工程技术大学电子电气工程学院,上海 201600)
ZigBee无线传感器网络技术具有低功耗、低成本、数据传输可靠性强等特点,能够满足工业通讯等多领域数据通信服务需求[1]。ZigBee无线传感器网络物理层和数据链路层均是基于IEEE802.15.4标准协议提出的,此外网络层和应用层服务由ZigBee联盟制定,如图1[2]所示。
图1 IEEE802.15.4基础上ZigBee协议
伴随着工业控制、自动驾驶等技术的快速发展,对通信数据传输过程中低抖动、低延时以及高可靠性要求越来越高[3]。据此提出了一种基于时钟同步的新型工业以太网络技术时间敏感型网络(TSN)。网络层次结构如图2所示。
图2 TSN以太网在OSI模型中的位置
针对无线传感器网络与有线以太网络之间的融合,目前已经提出了许多解决方案[4-5]。杨之乐等[6]提出了一种基于OPC应用层的协议转换方法。在OSI模型的应用层之上设置OPC服务器,无线协议和以太网协议在OPC服务器中完成协议数据的转换。但这种协议转换方式过分依赖上位机程序,数据传输的实时性得不到保障。朱莹等[7]和张小娟等[8]均提出一种基于嵌入式微处理器的网关协议转换方式。将无线传感器网络和以太网络协议在OSI模型中通过应用层程序完成协议的转换。这种协议转换方式设计复杂,并且通过中断方式实现数据收发和协议转换,影响协议转换实时性。文献[9]利用FPGA的方式完成协议转换。使用不同协议接口芯片,将无线协议和以太网协议数据转换成FPGA可以接收的协议数据,在FPGA中完成协议之间的转换。但协议之间的转换过程延时较大,并且对FPGA资源消耗过大。
据此本文提出了一种面向ZigBee与TSN融合的确定性协议转换器设计方案。本协议转换方法的优点在于使用数字电路纯硬件的方式完成协议转换器的设计,并仅通过OSI模型的物理层和数据链路层实现协议的转换,提高了协议转换速率;同时创新性地提出将ZigBee无线技术与TSN确定性以太网络进行融合,保证了数据传输的实时性和确定性[10-11]。
无线传感器网络ZigBee和确定性以太网络TSN通过ZigBee-TSN协议转换器(Protocol Converter IP)完成互联互通。ZigBee-TSN协议转换器内部主要由ZigBee无线网络收发模块、VID映射模块、TSN数据封包解包模块组成,此外还包括部分接口单元,如:无线网络UART串口、以太网GMII接口以及APB总线接口,它的内部结构图如图3所示。
图3 协议转换器内部硬件结构
主要功能设计分为上行、下行数据传输以及CPU配置功能3部分。
(1)上行数据。协议转换器通过无线网络串口,接收来自ZigBee无线传感器网络发送的数据报文,发送到协议转换器内部ZigBee无线网络收发模块进行数据报文处理,处理后的数据输入到VID映射模块添加对应协议的识别标签,并发往TSN数据封包解包模块进行封包,最终通过GMII以太网接口将报文帧发送到TSN交换机中。
(2)下行数据。协议转换器通过以太网接口GMII接收来自TSN交换机的报文帧,通过TSN数据封包解包模块,将报文帧解包成带有协议标签的报文帧格式,输入VID映射模块中去掉协议标签,发往ZigBee无线网络的收发模块对数据报文进行处理,并通过无线网络串口将数据发送到ZigBee无线传感器网络模块中。
(3)CPU主要通过APB总线对不同类型的寄存器进行配置。涉及的寄存器主要包括:与参数配置相关的寄存器以及与中断相关的寄存器。
ZigBee无线网络收发模块内部的数据处理模块均通过硬件电路的方式实现,其数据处理过程主要分为上行和下行。内部模块如图4所示。
图4 ZigBee无线网络收发模块
(1)上行数据处理过程。ZigBee_uart_rx模块接收到来自ZigBee无线传感器网络物理层发送的数据流后,对数据进行串并转换,并将接收的数据分为2路,一路经过ZigBee_rx_fsm模块将无线传感器网络物理层数据解包成无线传感器网络数据链路层的数据帧格式,之后存入ZigBee_fifo_rx模块中并等待上层VID映射模块以及TSN以太网封包解包模块的读取,在封包成TSN以太网数据链路层报文帧之后输出到TSN交换机中;另一路数据存入到ZigBee_rx_crc模块进行CRC的校验,校验后的校验值若为0说明接收的数据无误,若为1则清除此次接收数据报文帧。
(2)下行数据处理过程。ZigBee_fifo_tx模块读取上层模块的数据报文帧,将接收的报文帧输出到ZigBee_tx_fsm模块(默认接收的来自上层模块的报文帧里包括ZigBee CRC字段),经过该模块将ZigBee无线传感网路数据链路层的数据帧封装成ZigBee无线传感器网络协议物理层数据帧格式,最终经过ZigBee_uart_tx模块并串转换后,通过无线串口单元发送到ZigBee无线传感物理层模块。
VID映射模块和TSN封包解包模块数据处理过程主要也分为2个方向:上行和下行。VID映射模块和TSN封包解包模块的原理框图如图5所示。
图5 VID映射和TSN封包解包模块
(1)下行数据处理过程。通过GMII以太网接口从TSN交换机接收TSN以太网格式的数据报文帧,经过TSN数据封包解包模块解包之后保留带有VLAN标签(以太网识别标签)的数据报文帧,并根据CPU配置的优先级映射表(多种协议转换时,通过CPU配置不同的优先级映射表进行流量管控),按照优先级顺序将数据帧发往VID映射模块,VID映射模块通过其内部的多路选择器(存在多种协议之间的转换时,对协议进行识别选择),并结合对应的VID映射表(多种协议之间的转换时,由CPU对每个协议进行不同的VID参数配置),对ZigBee无线传感器网络的标签进行识别和选择,同时将对应标签的数据报文帧发送到相应的VID编码模块(不同的协议对应不同的VID编码模块),经该模块丢弃报文帧中的VLAN标签,将符合ZigBee无线传感器网络数据链路层的数据报文帧发送到ZigBee无线网络收发模块。
(2)上行数据处理过程。VID映射模块接收来自ZigBee无线网络收发模块的链路层数据帧,输入到VID编码模块给ZigBee无线传感器网络数据添加对应的VLAN标签,通过多路选择器传输给TSN封包解包模块,根据CPU配置的优先级映射表按照优先级顺序对数据帧进行封包处理,并将符合TSN以太网协议的数据链路层报文帧发往上层模块。
本实验从多个角度对协议转换器的功能和性能进行测试:
(1)多块ZigBee无线传感器物理层模块之间数据互传的功能验证;
(2)基于modelsim协议转换逻辑功能验证;
(3)基于Xilinx zynq7000系列FPGA开发板协议转换功能板级验证;
(4)协议转换器性能的验证。
分析4种实验的结果,判定本协议转换器是否符合设计要求。
为了完成协议转换器功能的验证,需要保证用于搭建实验环境的ZigBee无线传感器物理层模块功能正常。
本实验将2块ZigBee无线传感器模块互连,采用的ZigBee模块型号为DL-20,内部集成CC2530 无线收发芯片,它支持2.4 GHz的IEEE 802.15.4/ZigBee协议[12],能够满足本设计的需求。实验将一个DL-20模块配置成主模式,另一个DL-20模块配置为从模式,验证是否能互传数据。实验环境搭建如图6所示。
图6 实验环境搭建
实验步骤如下:
(1)配置2个DL-20无线模块波特率、信道以及主从模式;
(2)将配置为主模式的无线模块通过USB转TTL转接线,连接到PC端;
(3)另一个从模式的无线模块,使用干电池供电,并将它的TX和RX端口短接。
实验步骤如下:
(1)给设计一个符合TSN以太网报文帧格式的激励,充当下行数据输入到协议转换器中;
(2)通过协议转换器解析出ZigBee无线传感器网络数据帧,从无线网络串口的TX端输出;
(3)TX端与RX端短接,将输出数据反向输入到协议转换器;
(4)经过协议转换器封装成TSN以太网报文帧格式输出,完成整个实验。实验原理图如图7所示。
图7 modelsim验证原理图
实验步骤如下:
(1)将上位机中生成的比特流数据以及Debug ILA核的数据,加载到FPGA开发板中(此时FPGA开发板模拟协议转换器的功能);
(2)通过FPGA开发板将数据从协议转换器的无线网络串口TX端,发送到主模式DL-20 ZigBee无线模块的RX端口;
(3)主模式DL-20 ZigBee无线模块,通过无线的方式将数据传输到从模式的DL-20 ZigBee无线模块中;
(4)将从模式DL-20 ZigBee无线模块的TX和RX端口短接,数据会从TX端传输到RX端口,使用2节五号电池为其持续供电;
(5)从模式DL-20 ZigBee无线模块,通过无线的方式再将数据传到主模式的DL-20 ZigBee无线模块中;
(6)将主模式DL-20 ZigBee无线模块的TX端口连接到协议转换器的无线网络串口RX端口,将数据传到FPGA开发板中,完成整个实验。FPGA板级验证原理如图8所示。
图8 FPGA验证原理图
本设计采用zynq7000系列FPGA开发板进行模拟协议转换器的功能,并且结合EDA软件Vivado中自带的ILA逻辑分析工具,对数据进行分析与比较。该款开发板将双核ARM Cortex-A9和FPGA可编程逻辑集成在一颗芯片上,同时具有丰富的外围接口。能够满足不同速率的数据交换以及数据存储,符合本设计的验证需求,实验环境搭建如图9[13]所示。
图9 实验环境搭建
协议转换器的传输距离是决定其实用性以及覆盖范围的重要指标,因此在本设计中,在考虑到实际应用的前提下,分别采取无障碍传输距离测试和有障碍距离传输测试,来验证协议转换器的性能。
2.4.1 无障碍传输距离测试
测试环境选在行人较少的空旷广场上,以防止一些外在电磁等信号对协议转换器的干扰。测试要求如下:将从模式的DL-20 ZigBee无线模块放置于接有主模式的DL-20 ZigBee无线模块的协议转换器(此时FPGA开发板充当协议转换器的功能)10、10~30、30~50、50~100、100~130、130~200 m处分别查看连接状态和ILA捕捉到的数据显示。
2.4.2 有障碍传输距离测试
测试环境选择在2个空旷的房间内。测试要求如下:
(1)将从模式的DL-20 ZigBee无线模块与接有主模式的DL-20 ZigBee无线模块的协议转换器(此时FPGA开发板充当协议转换器的功能)分别放在2个房间内;
(2)将从模式的DL-20 ZigBee无线模块和协议转换器放在同一个房间内。查看连接状态和ILA捕捉的数据显示。
打开串口调试助手,在发送区输入待发送的数据,在接收区可以查看到和发送区一致的数据,说明2个无线DL-20模块完成了一次数据的回环测试,测试结果如图10所示。实验结果表明2块ZigBee无线传感器模块能够实现数据的互传功能。
图10 ZigBee无线传感网络模块互传
tsn_data_in信号表示设计一个符合TSN以太网帧格式的下行激励信号,该激励信号中包含ZigBee无线传感器网络数据链路层的数值,为十六进制,共18字节的数据。
8’h54/8’h24/8’h01/8’h02/8’h03/8’h04/8’h05/
8’h06/8’h07/8’h08/8’h09/8’h0f/8’hf0/
8’haa/8’h55/8’hea/8’h25/8’h41;
下行数据仿真波形图如图11所示,其中tx_ZigBee信号表示ZigBee无线传感器网络数据链路层数据,可以看出经过解包和去标签后得到的数据和激励数据中载有的ZigBee无线传感器网络数据链路层数据一致,表明数据解析无误。
图11 下行数据仿真波形图
rx_ZigBee信号表示将无线串口单元的TX端连接到RX端,并且丢弃物理层数据帧帧头后得到的ZigBee无线传感器网络数据链路层数据,数值为十六进制,共18字节。
8’h54/8’h24//8’h01/8’h02/8’h03/8’h04/
8’h05/8’h06/8’h07/8’h08/8’h09/8’h0f/
8’hf0/8’haa/8’h55/8’hea/8’h25/8’h41;
上行数据仿真波形图如图12所示,与tx_ZigBee数据一致表明数据接收无误;其中tsn_data_out信号表示经过协议转换器封包后得到的符合TSN以太网协议报文数据,经过比较与tsn_data_in激励数据一致。
图12 上行数据仿真波形图
结合上述逻辑仿真结果可以得出,TSN交换机端接收和发送的数据一致。说明本设计的协议转换器在逻辑功能上能够完成TSN以太网数据帧和ZigBee无线传感器网络协议数据帧的相互转换。
实验具体步骤分析如下:
(1)保证从TSN交换机发送的数据和无线网络串口TX端接收的数据一致;
(2)保证从模式DL-20 ZigBee无线模块接收的数据与主模式DL-20 ZigBee无线模块发送的数据一致;
(3)保证ILA逻辑分析工具捕捉到的TSN交换机接收的数据和TSN交换机发送的数据一致。
步骤(1)使用ILA工具捕捉的数据类型包括:TSN交换机端发送的数据;无线网络串口TX端口接收的数据。
TSN交换机将ZigBee无线传感器网络数据链路层的数据,封装在TSN数据帧的负载字段发送出去,数值为十六进制,共18字节。
8’h54/8’h24/8’h01/8’h02/8’h03/8’h04/8’h05/8’h06/8’h07/8’h08/8’h09/8’h0f/8’hf0/8’haa/8’h55/8’hea/8’h25/8’h41
波形如图13所示。
图13 TSN交换机发送的数据
无线网络串口TX端接收来自ZigBee无线传感器网络收发模块封包之后的物理层数据,数值为十六进制:
8’h00/8’ha7/8’h24/8’h54/8’h24//8’h01/8’h02/8’h03/8’h04/8’h05/8’h06/8’h07/8’h08/8’h09/8’h0f/8’hf0/8’haa/8’h55/8’hea/8’h25/8’h41;
该数据分别为用十六进制表示的4字节的物理层同步头8’h00、1字节8’hA7、1字节的物理层头8’h24,其余为ZigBee无线传感器网络数据链路层的数据,如图14所示。
图14 无线网络串口TX端接收的数据
经比较,除物理层数据帧的同步头和层头外的数据一致,说明从TSN交换机端发送的数据和无线网络串口TX端接收的数据一致。
步骤(2)使用ILA工具以及串口调试助手捕捉的数据类型为从模式的DL-20 ZigBee无线模块接收的数据,其中包含了物理层的数据帧头,如图15所示。
图15 从模式DL-20无线模块接收的数据
经比较,从模式DL-20 ZigBee无线模块接收的数据和主模式DL-20 ZigBee无线模块发送的数据一致(发送的数据同步骤(1)无线网络串口TX端接收的数据),从模式的DL-20 ZigBee无线模块的接收数据无误。
步骤(3)使用ILA工具捕捉ZigBee无线传感器网络数据链路层的数据,此数据经过协议转换器封装成TSN数据帧格式数据后发往TSN交换机端,即为TSN交换机接收的数据。波形如图16所示。
图16 TSN交换机接收的数据
经比较可知TSN交换机端接收的数据和发送的数据一致(发送的数据同步骤(1)中TSN交换机发送的数据)。通过对以上多种信号端口的数据进行分析比较,可知整个测试过程中数据的传输无误。表明在实际应用过程中,该协议转换器能够正常工作。
3.4.1 无障碍传输距离测试
无线收发模块DL-20之间的连接状态和ILA捕捉到的数据显示、传输状况如表1所示。
根据表1的测试结果可知,在100 m以内数据传输信号稳定,在100 m以外数据传输不稳定甚至无法接收到数据。后续通过加装一块功放芯片,可以增加传播的距离。
表1 无障碍传输距离测试
3.4.2 有障碍传输距离测试
无线收发模块DL-20之间的连接状态和ILA捕捉到的数据显示、传输状况如表2所示。
表2 有障碍传输距离测试
根据表2的测试结果可知,将从模式的DL-20 ZigBee无线模块和接有主模式的DL-20 ZigBee无线模块的协议转换器分别放在不同房间内很难接收到信号。导致这种现象的原因可能在于本设计使用的ZigBee无线传感器网络工作在2.4 GHz的频段,频率高导致穿透障碍物的能力较差。后续可以根据实际的现场环境,增添多个路由节点增加无线传感网路的覆盖范围。
最后,结合这4种实验的结果可知本协议转换器能够完成ZigBee无线传感器网络和确定性以太网络TSN之间的协议转换。
本设计使用纯硬件数字电路设计的方式,完成了一种面向ZigBee与TSN融合的确定性协议转换器设计,经验证可知该协议转换器可以实现ZigBee无线传感器网络和有线TSN以太网络之间协议的转换。实现了工业现场以太网向无线工业网络的扩展,解决了工业现场现有的异构融合技术存在的运营成本高、数据传输时延大以及安全可靠性差等问题。后续的实验工作中,计划增加实验节点数量,扩大网络覆盖范围。同时,丰富网络协议的类型,以满足多种工业现场应用的需求。