为了给传感器配备一个通用的软硬件接口,使其方便地接入各种现场总线以及Internet和Intranet,从1993年开始,美国国家标准技术研究所和IEEE仪器与测量协会的传感技术委员会联合制定了智能传感器通用通信接口标准,即IEEE1451的智能变送器标准接口。针对变送器工业各个领域的要求,多个工作组先后建立并开发了接口标准的不同部分。
1 IEEE1451标准族介绍
IEEE1451是一个智能传感器接口的标准族,它定义了一系列为使智能传感器连接到微处理器、仪表系统和现场控制网络的开放、通用、独立于网络的标准[1],提供了一系列基于监测和控制应用的有线或无线的协议。IEEE1451接口标准结构如图1所示[2]。
在IEEE1451标准族中,IEEE1451.0标准定义了传感器和执行器多种通用配置命令集,如点对点、分布多点和无线的配置,以适应各种应用的需要。而且还规定了通用变送器电子表(TEDS)的格式,目的在于提高IEEE1451系列标准之间的互操作性,简化针对网络适配器(NCAP)和智能变送器接口模块(STIM)使用不同物理层传输介质连接相关标准制定的工作难度和工作量。
IEEE1451.1:主要定义了NCAP的信息模型,这一标准为NCAP规定了一个公共的上层对象模型,网络结构和变送器模块类型不同,其对象模型就有不同的版本。一个简单的编程模型封装了传感器硬件实现的细节,规定了不同NCAP与STIM物理层版本在具体实现时的软件接口规范。
IEEE1451.4:主要针对于传感器和变送器的混合模式通信协议及传感器电子数据表格式。混合模式接口的智能型传感器定义了一种为传统模拟模式的传感器和变送器增加自我识别技术的机制。
IEEE1451.5:定义了无线传感器通信以及TEDS格式,定义了无线变送器模块WTIM(Wireless Transducer Interface Module)与NCAP之间通过无线方法建立连接的有关事项。
2 系统概述
本系统的设计背景为远程环境检测。考虑到设备主要应用在野外,地形比较复杂, IEEE1451.2-4标准都是基于有线连接的,连线困难。而IEEE1451.5标准是基于无线传输技术的,也就是NCAP和WTIM之间的通信是基于无线传输技术,可以节省成本,而且还方便今后对系统的升级改造。但本系统的TIM部分和WTIM部分采用的是IEEE1451.4标准的MMI接口。因为MMI允许TEDS的数字信号和传感器的模拟信号隔离传输,可以很方便地将传统传感器改造为符合标准的智能传感器。系统框图如图2所示。
本系统包括三个部分:(1)变送器接口模块(TIM)。该部分的主要功能是采集传感器的模拟信号,并与TEDS的数字信号通过IEEE1451.4的标准MMI接口传送到控制器;(2)无线变送器接口模块(WTIM)。该部分包含一个控制器、一个无线收发器和MMI(Mixed-Mode Interface)接口。MMI接口接收TIM传来的信息并对其进行处理,将处理完的信息传给无线发送设备,由后者发送出去;(3)网络适配器NCAP。该部分主要由无线收发设备、控制器和DTU设备组成。无线收发设备收到WTIM发送的信息后传送给处理器,处理器做相应处理后通过相应的网络协议将数据发送到远程终端。
2.1 硬件设计
本设计选用STM32系列单片机作为各部分的主控制器。STM32 是意法半导体基于ARM CortexTM-M3 的32 bit嵌入式处理器,具有运算速度快、外设资源丰富等特点,而且其价格仅与8 bit单片机相当,性价比极高。因此本设计选用该芯片。
IEEE1451.5标准的目标是为使用不同通信技术的无线传感器提供一个统一的接口,采用已经成熟的无线通信技术作为接口标准,并不是开发一种新的无线通信技术,而是基于该标准的无线传感网络接口在WTIM和 NCAP之间定义了多种无线通信方式。目前,其主要的通信协议有三种:IEEE 802.11协议、Bluetooth协议和ZigBee协议。从三者的开发成本、传输距离、速度等各个方面比较,本系统选用了由ZigBee技术来构建无线传感器网络[3-4]。
本设计选用TI公司生产的符合ZigBee技术的CC2530射频模块。该芯片是一款真正的系统芯片(SoC)CMOS 解决方案,这种解决方案能够提高性能并满足以ZigBee为基础的2.4 GHz IAM波段应用对低成本、低功耗的要求。
2.2 操作系统
由于本系统的各部分任务比较多,所以软件需要使用嵌入式操作系统。应用比较广泛的有以VxWorks、?滋C/OS等为代表的国外开发的操作系统,也有以RT-Thread为代表的国内开发的操作系统。国外的操作系统虽然应用比较广泛,但费用也比较高,使成本加大。
而国内开发的RT-Thread是一个开放源代码的实时操作系统,并且商业许可证是非常宽松的实时操作系统。采用面向对象风格的设计是RT-Thread一个很大的特点,但它又不像eCOS操作系统那样纯粹使用C++来实现,而是采用了一种C编码的面向对象编程。面向对象设计更适合于人类思考问题的特点(例如继承),可以让具备相同父类的子类共享使用父类的方法,这样可以很方便地创造更多的函数。对象的好处在于封装,因为当一个对象封装好了并测试完成后,基本上就代表这个类是健全的,从这个类派生的子类不需要过多考虑父类的不稳定性[5]。
3 TIM设计
IEEE1451.4标准的核心是TEDS,TEDS包含了传感器的相关信息,其信息有:厂商信息、模块编号、版本信息、产品序列号、灵敏度、测量范围、物理单位、传输功能、输出范围、校准信息以及用户数据等[6-7]。TEDS被存储在EEPROM中,系统一旦上电或接受了请求,TEDS 就上载到系统。TEDS简化了传感器的安装,一个被损坏的传感器可以直接被替换而不需要更改任何设置。
TEDS包含一个64 bit的信息,称为“Basic TEDS”,每一个传感器必须包含一个Basic TEDS。表1为Basic TEDS包含的内容。
由于TEDS存储器大小的限制,Basic TEDS的信息应该被压缩到符合存储器的要求。典型的系统存储器存储信息的单位为8 bit或者16 bit。但是TEDS可以做到按1 bit来存储有效信息。这就要求谨慎小心地解析数据来获得所需要的信息,给编程提出了更高的要求。此外,还可以根据不同的传感器类型,选择不同的模板来设计标准模板TEDS。最后可以根据用户需要添加一些用户自定义信息。本系统所使用的温度传感器的TEDS如表2所示。
4 WTIM 设计
WTIM 部分可以通过MMI 接口将传感器的TEDS 读出, 并将其通过无线设备发送给NCAP, 并且通过IEEE1451.0 标准定义的通用API 函数来控制可读取传感器和执行器的运行状态。WTIM 状态图如图3 所示。
在WTIM一上电时即进入初始化状态,随后马上进入PREREG状态。在PREREG状态中TIM要通过完成向NCAPREG的任务,之后进入NCAPREG状态。进入NCAPREG状态意味着WTIM已经与一个NCAP进行了连接,但是并没有被设置与TIM完成数据交互。当NCAP设置WTIM与TIM进行数据交互时,它就会发送一个开放命令和一个或多个写命令,然后WTIM进入OPEN状态。在OPEN状态中,WTIM就可以和NCAP、TIM进行数据交互了。OPEN状态可以被关闭命令终止。如果多次通信失败,则表明TIM当前没有通道可用,WTIM将由OPEN状态转为NCAPREG状态。如果TIM没有被注册,则WTIM状态由NCAPREG状态转为PREREG状态,进行TIM注册。
5 NCAP设计
符合IEEE1451.5标准的NCAP支持接入多个同一技术标准的WTIM。当首次上电NCAP进入初始化状态时,马上进入UNREGDOT5状态。根据设计要求,NCAP应该包含一个符合ZigBee技术标准的协调器,在UNREGDOT5状态意味着协调器并没有建立一个有效的ZigBee网络。之后NCAP将进行网络的注册和建立,这时NCAP就会进入DOT5REG状态。DOT5REG状态说明NCAP已经建立了一个网络,但是并没有和WTIM建立连接,因此也就不存在与TIM进行数据交互。NCAP网络注册状态图如图4所示。
当一个NCAP 建立的网络有一个或多个WTIM 注册时, 它就会进入TIMREG 状态。在这一状态NCAP 会完成对所有TIM 的注册。为了完成与TIM 的数据交互,NCAP 会发送一条开放命令和一条或多条写命令, 随后NCAP 进入OPEN 状态。在OPEN 状态, 即可以和WTIM进行数据交互。OPEN 状态可以被关闭命令结束。因为NCAP 维持各个WTIM 相互独立, 所以NCAP 可以在任
何时刻发现和连接节点。NCAP 运行状态图和顺序图分别如图5、图6 所示。
在国外对于智能传感器的研究起步比较早,到目前为止已有相当一部分投入到应用中,如在远程监控和控制、分布测量和控制系统中的应用和在协作式测量和控制中的应用。而国内对于IEEE1451标准族的研究还处于起步状态,一些高等院校也在进行针对IEEE1451标准族的研究,但是目前绝大部分的研究工作还是停留在对标准本身的解释和阐述,并没有将其应用在实际的工程中。而且主要集中于对IEEE1451协议中较早版本的研究,明显落后于国外的研究现状。
本文将IEEE145标准族中的四种标准通过组合使用,设计完成了一套完整的环境监测系统,这对于IEEE1451标准的推广有一定的现实意义。
STM32/STM8
意法半导体/ST/STM