引言
在许多领域,无线技术比有线技术拥有更多无可比拟的优势。网络及无线通信技术的飞速发展,出现了多种新的短距离无线通信技术。对于用于监测和控制的无线网络,系统的数据传输量、传输速率和系统终端设备采用的供电方式正在成为关注的焦点。本文采用ZigBee无线技术,设计了基于IPLINK12212033的ZigBee数据采集卡。在接入有线控制网络的无线局域网中,由ZigBee数据采集卡采集各种现场设备的数据,然后通过无线方式传送给ZigBee接入点。ZigBee接入点将接收到的数据上传到有线网络,由与有线控制网络相连的上位机进行监控和处理。
1 ZigBee技术简介
ZigBee就是依据IEEE 802.15.4标准的一种短距离、低复杂度、低功耗、低数据速率、低成本的无线网络技术,主要应用在短距离范围之内且数据传输速率不高的各种电子设备之中,在数千个微小的传感器之间相互协调实现通信。ZigBee采用了2003年发布的IEEE 802.15.4协议标准作为其物理层和MAC层的标准协议。ZigBee技术联盟的诞生则是为不同厂家生产出的设备之间提供统一的解决方案,解决其相互间的兼容性问题。ZigBee技术的网络层由ZigBee技术联盟制定,应用层的开发根据用户自己的应用需要对其开发利用。
2 工作原理
本ZigBee数据采集卡能在短距离内,以低速率进行数据传输和无线收发,它能实现短程无线组网功能,以实现PC机和各现场设备之间的数据传输与数据交换。ZigBee数据采集卡的工作原理是:晶振电路产生ZigBee模块所需要的时钟信号和基准频率,为微处理器提供外部时钟;微处理器通过对ZigBee模块的操作控制其工作状态,如发射、接收及休眠。ZigBee数据采集卡的工作分为两个过程:接收来自ZigBee接入点的命令(即数据接收过程),以及采集现场设备的数据发送给ZigBee接入点(即数据发送过程)。
① 数据接收过程:对ZigBee数据采集卡来说,当它处于接收状态时,ZigBee模块的射频电路接收到从与ZigBee接入点相连的ZigBee模块发出的射频信号,经过处理和变换后得到数据信息,通过数据缓冲区输出到微处理器中。微处理器对接收到的数据进行判断,根据数据执行相应的命令,例如对所接的现场设备进行读或写的操作。
② 数据发送过程:当处于发射状态时,数据经接口电路传输给微处理器,微处理器根据ZigBee模块设定的数据传输模式对接收到的数据进行打包处理后传给射频电路。射频电路对接收到的数据经过处理和变换,变成射频信号输出给发送天线,由发射天线将数据发送给ZigBee接入点上的ZigBee射频模块。
3 ZigBee数据采集卡的设计
在工业现场,将ZigBee数据采集卡与各种工业现场设备连接起来,形成多个ZigBee终端节点设备,以实现对其数据的采集和控制。在ZigBee数据采集卡中,微控制器与ZigBee模块通过串口连接,它将接收到的各种现场设备的数据通过ZigBee模块传送给ZigBee接入点上的目标ZigBee模块,通过与接入点相连的有线网络上的上位机进行显示。图1为ZigBee数据采集卡的硬件框图。
图1 ZigBee数据采集卡硬件框图
3.1 硬件设计
3.1.1 中央处理单元
MCU选用新华龙公司代理的C8051F020。C8051F020系列的MCU内部有两个增强型的全双工UART、SPI总线和SMBus/IC。每种串行总线都完全用硬件实现,都能向CIP51产生中断,因此需要很少的CPU干预。MCU通过两个全双工串口分别与现场设备和ZigBee模块相连,主要实现数据的读取、处理和传送功能。微处理器与ZigBee模块采用串行通信模式,实现微处理器对ZigBee模块的初始化和与它之间的数据交换功能。
3.1.2 ZigBee模块
ZigBee模块选用Helicomm公司的IPLINK12212033模块。IPLINK12212033模块集成了符合IEEE802.15.4标准的射频收发器(2.4 GHz)和Silicon Labs的8051微处理器;具有多种天线连接方式,可选择多种通信距离,且支持ZigBee协议和ZigBeeReady IPNet网络软件。IPLINK12212033模块可以快速搭建出包括星状、树状或网状网络的模型。模块内嵌的ZigBeeReady IPNet软件协议包含通过网络进行串行通信的功能,使RS232/RS485数据流可以通过多跳进行透明传输,从而提高数据可靠性和增大传输范围。IPLINK12212033模块可以通过适合该系列产品的IPLINK12212X33简易配置工具对其基本参数进行配置,以及对网状或星状拓扑结构、二进制或透明两种传输模式的配置。IPLINK12212033模块在使用前先进行的参数配置包括对 UART的波特率、模块的网络节点、节点号等参数进行设置,配置结果保存于模块内部非易失性存储器中,然后模块进入数据状态,准备数据的传输。无线模块在使用中先处于休眠状态,在外部命令作用下进入活动模式,数据传输成功后又回到休眠状态,保持其低功耗的特性。IPLINK12212033模块采用新华龙公司C8051F133单片机作为模块的微处理器,TI公司的CC2420芯片作为模块的射频芯片,对外开放UART、I/O、SPI等多种接口,内部结构框图如图2所示。
图2 IPLINK12212033模块内部结构框图
本设计采用IPLINK12212033模块的UART串口与C8051F020单片机的串口1相连,通过ZigBee模块向ZigBee接入点传送采集到的数据。
3.1.3 存储器
选用ISSI公司的IS61LV2568静态存储器作为存储器模块存放临时数据和程序代码。IS61LV2568是一个256K×8位的SRAM芯片。在不掉电的情况下,数据可以一直保存,不需要刷新,静态功耗低,读写周期为12 ns。
3.1.4 电源部分
电源采用的是以太网有线供电,供电设备输出标准的+24 V。采用两级降压电路,经过LM25765和AS11173.3电源芯片进行电平转换,为ZigBee数据采集卡上的MCU、存储器、ZigBee模块提供所需的3.3 V电源。
3.2 软件设计
在ZigBee数据采集卡开始工作之前,使用IPLINK12212X33简易配置工具对ZigBee模块进行设置。在本方案中,把与ZigBee接入点相连的ZigBee模块设置为主节点,与各种现场设备相连的ZigBee数据采集卡上的ZigBee模块设置为从节点,数据传输模式设置为透明(transparent)模式。透明模式是一种与数据包格式无关的通信方式,用户只需要直接将数据发送到串口,模块就会自行对数据进行处理并按照预先设定的目标节点地址将数据传送至目标模块,目标节点的串口会将源信息原样送出。ZigBee数据采集卡的工作过程分为两部分:数据采集处理和数据传送。当数据采集卡与现场设备建立连接后,根据接入点上主节点的命令,MCU通过串口0向现场设备发送读/写指令。当指令为读指令时,MCU将接收到的数据根据一定的格式通过ZigBee模块发送给主节点。通信流程如图3所示。
图3 ZigBee数据采集卡的通信流程
在实际应用中,数据容易受到噪声干扰导致数据出错。为了防止无线传输中可能出现的数据错误,采用循环冗余校验方法(CRC),它能有效地检测出传输数据的错误,在数据包最后加一个校验码,这样就可以根据应用需要选择丢掉该包或是要求重发。
4 ZigBee数据采集卡的应用实例
4.1 ZigBee温度监控系统
工业控制领域中的现场设备种类繁多,本文选用温度变送器作为工业现场的典型应用之一来说明ZigBee数据采集卡的工作过程。如图4所示,搭建一个ZigBee温度监控系统,将ZigBee数据采集卡与温度变送器配合使用,采集温度变送器的温度值。ZigBee数据采集卡在接收到ZigBee接入点发送的命令后,将串口0采集到的温度值通过与串口1相连的MCU传送给与ZigBee接入点相连的IPLINK12212033模块。然后,数据经过接入点作相应的处理后,由PC机显示出温度值。
图4 ZigBee温度监控系统
在ZigBee温度监控系统中,完成串口0与串口1的驱动后, 需要在PC上再编写一个对温度变送器进行温度采集的应用程序,功能包括:读数据、写数据、初始连接,将编写的程序调试成功后下载到ZigBee数据采集卡中。ZigBee数据采集卡采用主从通信技术,MCU作为主设备,温度变送器作为从设备。主设备可以对温度变送器从设备进行初始化,并发出查询指令;温度变送器根据主设备查询指令执行相应的功能。MCU处理器模块查询的格式包括功能代码、所有要发送的数据、CRC校验域;温度变送器从设备回应消息也包括相应的功能代码、任何要返回的数据和CRC校验域。如果在消息接收过程中发生错误,从设备将构造一个错误帧并将其作为应答回应。ZigBee温度监控系统中,数据采集部分的核心是无线收发模块,它负责接收无线指令数据和发送节点信息。要实现ZigBee温度变送器与ZigBee接入点间的通信,ZigBee数据采集卡上的无线模块IPLINK12212033需要实现的功能包括命令读取和数据发送:
◆ 命令读取——无线模块接收来自MCU微处理器的全部是命令帧;
◆ 数据发送——无线模块在收到命令后会把现场的温度数据发送给接入点。
4.2 温度值采集测试
4.2.1 OPC监控
OPC(Object linking and embedding for Process Control)是微软公司的对象链接和嵌入技术在过程控制方面的应用。OPC为工业自动化软件面向对象的开发提供了统一的标准,这个标准定义了应用Microsoft操作系统在基于PC的客户机之间交换自动化实时数据的方法。硬件开发商为自己的硬件产品提供了统一的OPC接口,提高了产品的开放性和可操作性。借助于硬件上统一的OPC接口,OPC实现了应用程序和工业控制设备之间高效、灵活的数据读写,可以编制符合标准OPC接口的客户端应用软件完成数据的采集任务。
OPC作为连接件,按照一套标准的方法和属性,为现场设备和监控系统之间提供了方便的信息流通和交换。
4.2.2 测试结果
在ZigBee温度监控系统中,PC机与ZigBee接入点是通过集线器有线连接的。为了验证温度值的可靠性,采用OPC监控软件来测试采集到的温度数据。OPC接口可用于通过网络把最下层的控制设备的原始数据提供给数据的使用者,所以在本应用案例中,OPC服务器通过数据转换把接入点接收到的数据转化为十进制数据显示在OPC界面上,IP值用来表示不同的现场设备。采集到的数据测试结果如图5所示。
图5 温度值采集测试结果
结语
基于IPLINK12212033的ZigBee数据采集卡作为ZigBee技术的一种实现,它可以采集到与之相连的各种现场设备的数据,然后上传到有线网络并进行显示监控。本文介绍了温度变送器的数据采集过程,并给出了相应的测试结果,实现了无线局域网的数据采集;采用无线局域网与有线控制网络结合的通信方式,极大地方便了工业现场中数据的采集。