引言
随着计算机技术和通信技术的发展,基于各种现场标准的分布式测量和控制系统得到广泛应用。这些系统采用了多种控制总线,如CAN、LONWORKS、FROFIBUS、HATR、FF等。这些不同的总线标准都有自己的协议格式,相互之间不兼容,给系统的扩展带来很多不便。
鉴于此,国际电子电气工程师协会(IEEE)和美国国家标准技术研究院(NIST)联合推出IEEE1451标准,解决了各种不同标准的总线接口兼容性问题,提高了各个不同厂家产品的互换性和互操作性。
1 IEEE1451协议
IEEE和NIST推出的IEEE1451标准,通过定义一整套通用的通信接口来解决不同网之间的兼容性问题,并最终实现各个厂家的产品的互换和互操作。其协议簇体系结构和关系如图1所示。根据IEEE1451标准,网络智能传感器分成两大模块。
图1 IEEE1451协议整体架构
(1) NCAP(网络应用处理器)模块
该模块主要执行网络通信、TIM通信、数据转换等功能。IEEE1451.1标准定义了它的实体模型。NCAP是标准变送器总线与专用网络总线之间的接口。这一部分与微处理器集成在一起,在网络化传感器中起“大脑”的作用。NCAP还支持热插拔功能。
(2) TIM(智能变送器)模块
根据和NCAP之间连接的方式,可以有多种不同功能的TIM。一个TIM可以支持单个或多个不同的通道,它既可以与传感器连接,也可以与执行器连接。
① IEEE1451.0:该层标准包括通用功能、通信协议以及电子数据表格(TEDS FORMATS)。IEEE1451.0通过定义基本命令设置和通信协议接口,为不同的物理层提供通用、简单的标准,从而加强这些标准之间的互操作性。
② IEEE1451.1:针对现有的各种网络技术,定义了从智能变送器到网络的标准连接的方法,使用面向对象的思想为网络化的智能变送器定义了一个标准的对象模型,并且为该模型的每一个类定义了软件接口。
③ IEEE1451.2:定义了传感器和微处理器之间的连接的数字接口TII。其定义了电子数据表格以及数据格式,还定义了一系列的读写命令,包括读写电子数据表格、读取传感器数据和设置执行器数据等。
④ IEEE1451.3:包括分布式多点系统数字通信与TEDS格式的定义,主要用于点对多点分布式智能传感器系统的同步数据采集与通信。
⑤ IEEE1451.4:包含混合模式通信协议与TEDS格式的定义。其主要针对已存在的模拟量变送器通信协议,一方面支持数字接口对TEDS数据的读写,另一方面支持模拟接口对现场仪器的测量。
⑥ IEEE1451.5:定义智能传感器的无线通信接口,通过指定的无线通信协议在无线变送器接口模块(WTIM)和NCAP进行通信。目前支持WiFi、蓝牙、ZigBee协议。IEEE1451.5也定义与无线通信协议相关的TEDS。
2 无线通信协议
IEEE1451.5标准为使用不同通信协议的无线传感器提供一个统一的接口,不是开发一种新的无线通信技术,而是采用已经成熟的无线通信技术作为接口标准。IEEE 1451.1标准提议了3种无线通信方式:WiFi、蓝牙和ZigBee。本论文中采用的是ZigBee协议,其主要包括IEEE 802.15.4的PHY层和MAC层,以及ZigBee的NWK层和APS层。
2.1 IEEE 802.15.4的PHY层
PHY层采用DSSS技术,不同的载波行道提供不同的传输速率,2.4 GHz提供250 kbps传输速率。PHY层用来在两个设备之间提供透明的比特流传输。其主要功能包括:信道选择和信道能量检测、空闲信道*估、无线信道数据收发、接收包链路质量。
2.2 IEEE 802.15.4的 MAC层
MAC层负责将NWK层发送来的数据包进行封装,并向下发送给PHY层,并对PHY层发送上来的帧进行分解,将分解后的数据包向上发送给NWK层。
MAC层提供了信标和非信标两种传输模式。其中,信标传输模式通过网络协调器以一定的时间间隔向网络广播信标帧,网络内的所有节点以该信标帧作为同步信号,实现整个网络的同步。非信标传输模式采用CSMA/CA机制避免传输碰撞。
MAC层的主要功能为MPDU数据处理。其帧格式包括帧头、MAC净荷和帧尾3个部分。 帧头中的帧控制域提供了帧类型、安全使能、目标地址模式、源地址模式等相关控制信息。MAC净荷域为MAC层的有效数据,即NWK数据包。帧尾为帧头和MAC帧净荷域的16位CRC校验序列。
2.3 ZigBee协议的NWK层
图2 NWK帧格式
ZigBee联盟在IEEE 802.15.4标准的PHY层基础上制定了NWK层协议。其主要功能包括:网络层协议数据单元处理、组网管理和路由功能。NWK帧格式如图2所示。
2.4 ZigBee协议的APS层
应用层包括应用支持层(APS)、应用框架(AF)和ZigBee设备对象。
支持层(APS):主要包括APS层协议数据单元APDU的处理、APS数据传输机制和节点间的应用对象绑定。
应用框架(AF):为各个用户自定义的应用对象提供了模板式的活动空间,为每个应用对象提供了键值对服务和报文服务供数据传输使用。
ZigBee设备对象:主要包括设备服务发现。
3 系统设计
本文设计了WTIM模块。该模块用于采集和处理数据,并通过SPZB260模块将数据发送给NCAP,同时实现了TEDS(Transducer Electronic Data Sheet)、IEEE1451.5标准。SPZB260是专门用于嵌入式开发的低功耗ZigBee模块。
3.1 WTIM模块
WTIM模块主要包括STM32F103C微控制器、SPZB260模块、信号调理器和传感器。其架构图如图3所示。其中,SPZB260模块是与NCAP通信的模块。
图3 WTIM模块架构图
ADC在数据采样中,使用了一阶滤波算法:Y(n)=αX(n) (1-α)+Y(n-1)。式中:α为滤波系数;X(n)为本次采样值;Y(n-1)为上次滤波输出值;Y(n)为本次滤波输出值。
3.2 TEDS
IEEE1451每一层中都有与之对应的TEDS。本文实现了PHYTEDS、MetaTEDS和TransducerChannel TEDS。其通用格式为:
structXXX_TEDS {
UInt32 TEDSLength;
TLV;
……
TLV;
UInt16Checksum;
}
TEDSlength:XXX_TEDS结构体中除了TEDSlength之外所有字段的长度和。
TLV:一种包含类型(Type)、长度(Length)、值(Value)三个字段的结构体。
Type:XXX_TEDS各个TLV的ID。对于不同的TEDS,即使TLV的ID相同,代表的实际意义也不同。
Length:表示TLV结构体中Value字段的长度。
Value:该字段填充的是具体的TEDS信息。
Checkum:提供了对XXX_TEDS中之前字段(包括TEDSlength和所有TLV字段)的校验和。
校验和计算公式如下:Checksum=0xFFFF-∑TEDSlength+2i=1TEDSOctet(i)
3.3 IEEE1451.5标准的实现
IEEE1451支持3类无线通信协议,本文中实现的是ZigBee协议。IEEE1451.5标准中的ZigBee协议定义了模块功能、接口函数,以及NCAP和WTIM之间的无线通信协议。其定义的协议栈如图4所示。
图4 IEEE1451.5标准的协议栈
PHY层、MAC层、NWK层由SPZB260提供。本文中需要实现APS层和IEEE1451.5会聚层。
APS层采用的是EZSP协议,可通过SPI接口实现。在WTIM模块中,STM32F103C与SPZB260之间通过SPI进行通信,其中STM32F103C配置为SPI主设备,SPZB260配置为从设备。EZSP作为IEEE14515会聚层的应用支持层(APS),以NCAP为协调器的星型网络结构实现,如图5所示。
图5 IEEE1451.5的网络拓扑结构
IEEE14515会聚层定义了IEEE14515和IEEE14510之间的模块通信接口。其中,一部分接口由IEEE1451.5系统提供,被IEEE1451.0调用;另一部分由IEEE1451.0提供。
4 测试与结论
在测试中,针对的是温度传感器和湿度传感器。测试WTIM节点分为两个,每个节点上都有一个温度传感器和湿度传感器。其中,WTIM1放在正常环境下,另一个节点WTIM2放置于一个装满水的容器上方。NCAP通过ZigBee与两个节点进行通信,并可以通过主机监控。测试时以10 Hz的频率进行采样,其结果如图6所示。
图6 WTIM1的温湿度数据
测试结果表明,WTIM节点能正常获取数据,并发送给NCAP,使得NCAP能够正确地获得各节点与响应通道的信息,实现了无线变送器的功能。