摘要 在FREESCALE公司SMAC协议构架的基础上提出一种组建ZigBee星形网络的有效方法。本文给出了网络节点的硬件构成,详细分析了网络组建的软件设计思想;并将该无线网络应用于某纺织车间线路改造的项目中,解决了原车间布局下的多台设备之间不易走线的问题,大大降低了成本。
引言
ZigBee技术是最近发展起来的一种近距离无线通信技术,功耗低、成本低、易应用,工作在2.4 GHz频段,采用扩频技术。ZigBee被业界认为是最有可能应用在工业监控、传感器网络、家庭监控、安全系统等领域的无线技术。目前市场上已经有多家公司提供ZigBee产品,可是大多功能齐全的ZigBee无线通信系统(含协议栈)的价格却比较昂贵,单独的ZigBee模块又不具有组网通信、节点自主加入的功能,这在很大程度上限制了ZigBee产品应用的灵活性和广泛性。本文在FREESCALE公司的SMAC协议包的软件构架的基础上,采用MC13192 RF收发器成功组建了一个ZigBee星形网络。在该网络中,多个通信节点能够自由入网,在网络中实现数据包的可靠传输。并且各个节点在软件和硬件上有着良好的可扩展性,能够接入多路传感器信号组网通信。
1 星形网络的结构体系
星形网络结构如图1所示,所有终端设备都与唯一的中央控制设备(PAN协调器)通信,终端设备之间的通信通过PAN协调器的转发来实现。网络终端设备要么是数据传输的起点,要么是数据传输的终点。
网络中必须有一个PAN协调器,它在网络建立之前先对网络的各个属性初始化并建立协调器的描述符表,然后等待终端设备入网。星形网络由于没有路由器,最多只能允许255个终端设备加入网络。终端设备进行数据发送时,必须先把数据包发送给PAN协调器,PAN协调器根据数据包中的源地址字段查询近邻设备列表,判断该终端设备是否已在网络中。当近邻设备列表中存在该设备时,就说明该终端设备已经处在网络中,然后PAN协调器对数据包进行分析。若数据包的目的地址字段为PAN协调器,则PAN协调器接收数据包并处理其信息字段;若数据包的目的地址字段为其他终端设备,则PAN协调器根据数据包中的目的地址字段是否为终端设备进行数据包的转发。在星形网络中,PAN协调器使用不间断电源(UPS)供电,而其他设备采用电池供电。
2 网络节点的硬件设计
不论是协调器还是终端设备,硬件设计上大体是一致的,只是外围电路根据不同环境需要稍作改动。在工作模式下,网络节点的传输数据量很小,因此信号的收/发时间极短;而在非工作模式时,网络节点又处于休眠模式。而且设备的搜索、休眠激活和信道接入时延(分别为30 ms、15 ms、15 ms)都很短,使得网络节点功耗极低,非常省电。图2为硬件设计的基本框图。
2.1 中央处理单元
MCU选用FREESCALE公司的8位微控制器MC9S08GT60,内部总线频率高达20 MHz,完全能够支持高实时性的射频模块。60 KB的FLASH足够容纳ZigBee协议栈。10位的A/D转换模块用于对传感器信号的数据采集。2个串行通信接口(SCI)用于和上位机进行通信。串行外设接口(SPI)用于MCU和射频模块之间的数据传递。每个功能模块动作完成后都能向MCU申请中断,因此很少需要CPU干预。
2.2 射频通信模块
射频通信模块选用FREESCALE公司的MC13192 RF收发器,它内部包含了完整的IEEE 802.15.4标准的物理层(PHY)调制解调器,用于支持IEEE 802.15.4标准所规定的点对点、星状和网状网络通信。通信中,该收发器的包差错率在1.0%时,输出功率小于-92 dBm(典型值),远远低于IEEE 802.15.4标准所规定的-85 dBm。
2.3 MCU与射频模块的接口
MC13192的控制和数据传送依靠4线串行外设接口(SPI)完成,其4个接口信号分别是MOSI、MISO、CE、SPICLK。主控MCU通过控制信号ATTN退出睡眠模式或休眠模式,通过RST来复位收发器,通过RXTXEN来控制数据的发送和接收,或者强制收发器进入空闲模式。接口示意图如图3所示。
3 网络节点的软件设计
3.1 SMAC协议包简介
FREESCALE公司提供足够的软件支持MC13192硬件,SMAC是MC13192射频模块产品随机附带的软件协议包,用于简单的个人无线连接。SMAC协议包源程序是C语言,该协议包可以应用在基于MC13192集成电路的RF收发器中。协议包包含一个SMAC应用模版以及几个应用示例程序(Wireless UART、Packet Error Rate等),可以直接应用于FREESCALE公司的2.4 GHz无线收发器*估板(MC13192EVB)。SMAC协议包虽是建立于HCS08系列的MCU和其串行接口SPI组成的硬件电路,但是具有很好的可移植性,能够移植到大多数处理器内核中使用。