组建SMAC协议构架的ZigBee星形网络

发布时间:2010-5-17 14:37    发布者:李宽
关键词: MC13192 , zigbee , 协议 , 星形网络SMAC
引言

ZigBee 技术是最近发展起来的一种近距离无线通信技术,功耗低、成本低、易应用,工作在2.4 GHz 频段,采用扩频技术。ZigBee 被业界认为是最有可能应用在工业监控、传感器网络、家庭监控、安全系统等领域的无线技术。目前市场上已经有多家公司提供ZigBee产品,可是大多功能齐全的ZigBee 无线通信系统(含协议栈)的价格却比较昂贵,单独的ZigBee 模块又不具有组网通信、节点自主加入的功能,这在很大程度上限制了ZigBee 产品应用的灵活性和广泛性。本文在Freescale 公司的SMAC 协议包的软件构架的基础上,采用MC13192 RF 收发器成功组建了一个ZigBee 星形网络。在该网络中,多个通信节点能够自由入网,在网络中实现数据包的可靠传输。并且各个节点在软件和硬件上有着良好的可扩展性,能够接入多路传感器信号组网通信。

1 星形网络的结构体系

1.gif
图1 星形网络结构框图

星形网络结构如图1 所示,所有终端设备都与唯一的中央控制设备(PAN 协调器)通信,终端设备之间的通信通过PAN 协调器的转发来实现。网络终端设备要么是数据传输的起点,要么是数据传输的终点。

网络中必须有一个PAN 协调器,它在网络建立之前先对网络的各个属性初始化并建立协调器的描述符表,然后等待终端设备入网。星形网络由于没有路由器,最多只能允许255个终端设备加入网络。终端设备进行数据发送时,必须先把数据包发送给PAN 协调器,PAN协调器根据数据包中的源地址字段查询近邻设备列表,判断该终端设备是否已在网络中。当近邻设备列表中存在该设备时,就说明该终端设备已经处在网络中,然后PAN 协调器对数据包进行分析。若数据包的目的地址字段为PAN 协调器,则PAN 协调器接收数据包并处理其信息字段;若数据包的目的地址字段为其他终端设备,则PAN 协调器根据数据包中的目的地址字段是否为终端设备进行数据包的转发。在星形网络中,PAN 协调器使用不间断电源(UPS)供电,而其他设备采用电池供电。

2 网络节点的硬件设计

不论是协调器还是终端设备,硬件设计上大体是一致的,只是外围电路根据不同环境需要稍作改动。在工作模式下,网络节点的传输数据量很小,因此信号的收/发时间极短;而在非工作模式时,网络节点又处于休眠模式。而且设备的搜索、休眠激活和信道接入时延(分别为30 ms、15 ms、15 ms)都很短,使得网络节点功耗极低,非常省电。图2 为硬件设计的基本框图。

2.gif
图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 收发器,它内部包含了完整的IEEE802.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.gif
图3 MC9S08GT60 与MC13192 的接口

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 组成的硬件电路,但是具有很好的可移植性,能够移植到大多数处理器内核中使用。

3.2 软件设计构架

当MC13192 射频模块搭配了适合的MCU 时,用户首先要在SMAC 协议包的基础上弄明白收发器各个工作状态的基本特征,以及各个工作状态之间的转换机制。然后更改SMAC协议包中硬件接口部分的程序,在主程序中调用相应功能服务函数进行组合。整个SMAC协议构架采用状态转换的思想,清楚地将MC13192 收发器的休眠、睡眠、空闲、发送、接收等状态抽象并分解出来,收发器对接收到数据的有效信息的相应字段进行判断之后,依据协议改变收发器的工作状态。

SMAC 协议包是不包含ZigBee 规范的网络层的,也就是说该协议包中不具有组网通信、节点自主加入的功能程序,使用SMAC 协议包只能够实现无线模块之间进行无目的的广播方式的无线通信。要使用MC13192 收发器组建一个有效的无线传感器网络,并且能够与其他的ZigBee 产品相兼容,软件设计必须严格遵守IEEE 802.15.4 协议,在SMAC 协议包构架的基础上进一步对协议进行扩展。本文成功实现了非超帧结构的星形网络,具体软件流程如图4 所示。

4.gif
图4 软件流程

3.3 组网的基本过程

PAN 协调器选定创建网络的信道后,首先要初始化网络的各种属性,建立协调器的PAN信息数据库,分配网络ID 号和16 位的网络短地址,设定允许设备入网机制并初始化设备近邻表,然后进入接收模式等待其他节点加入。网络节点上电后,也要初始化内部资源并建立其自身节点的PAN 信息数据库之后,发送扫描信号进而准备通过MAC 层关联过程加入网络。

网络节点先以广播方式发送一个扫描信号,查看当前信道是否存在PAN。协调器收到广播信号后会发送一个确认帧。网络节点若没有收到确认帧就代表当前信道还没有协调器,则继续处于接收模式,等待协调器发现该节点后直接将其加入网络;若收到确认帧,即存在PAN,该节点就可以尝试加入网络。网络节点首先向PAN 协调器发送信标请求命令,收到协调器的信标帧后,根据信标帧更新自身节点的信息数据库中的PAN 标识等相关属性,并判断当前PAN 协调器是否未饱和以及是否允许设备入网。若协调器允许设备入网,网络节点就要向协调器发送关联请求命令,尝试通过关联方式加入网络。协调器收到后把该节点信息(如64 位扩展地址等)写入设备近邻表并向该节点分配16 位的网络短地址。该节点收到协调器的关联响应命令后,把短地址写入其数据信息库,即成功入网。然后网络节点按照功能设定使用此短地址向协调器发送信息。网络节点一般为电池供电,在空闲状态时就会进入休眠节能状态。外围电路的控制主要是针对传感器、开关、LED 等器件的控制,可随时根据
不同需求对软件进行相应修改。

3.4 调试及运行

MC13192 包括4 种主动模式:空闲模式、TX 模式、RX 模式和CCA/能量检测模式。空闲模式是退出低功耗模式后的缺省模式,每次各个模式间转换的起点必须是空闲模式,从该模式起才能转化到其他主动模式。

MC13192 发送片上事件给主控MCU 通过中断(IRQ)来完成,作为主机的外部中断源,主机通过读MC13192 的中断标志寄存器IRQ_status 的相应标志位来判别各个片上事件的发生。然而IRQ 的中断优先级在MCU 中仅次于复位信号,比计数器中断、键盘中断等优先级都要高,因此当程序中涉及其他中断时,用户须先屏蔽MCU 的外部中断源(IRQ),再单独打开要使用的中断源。

4 应用

目前,本设计已被应用于某纺织车间线路改造的项目中。该车间有200 台纺机,每台纺机独立工作。现在工厂要对车间实行统一控制,需要在每台纺机上安装监控器,把纺机数据实时上传给中央控制器。中央控制器通过控制每台纺机的停车状态、车速、打纬次数、加时产量等信息,进而控制整个车间的运行状态。这样既可提高车间的生产效率,又使车间易于管理。若采用CAN 总线等有线网络进行控制,由于车间各台纺机布线通道已经固定,且车间的空间较小,这些因素给车间的线路设计造成了不便,而且走线的过于密集会给车间增加安全隐患。

ZigBee 无线网络的引入,解决了该车间布局下的多台设备之间不易走线的问题。中央控制器相当于PAN 协调器,而每台纺机的监控器相当于终端设备。网络中只有这两种角色,不需要增加PAN 协调器。每台纺机每0.5 s 上传一次数据,而且最远的纺机距离区域控制器也在80 m 之内,这些因素ZigBee 星形网络都能够满足。网络中的应答机制和数据校验机制能够保证纺机数据的可靠传输,而且网络节点功耗极低。测试表明,MC13192 工作在停止、休眠、睡眠、空闲各模式时的工作电流依次为0.2 μA、1 μA、35 μA、200 μA。采用了低功耗的ZigBee 无线技术之后,车间节约了大量成本。

5 结论

本文利用Freescale 公司的8 位微处理器MC9S08GT60 和射频模块MC13192 在硬件上实现了网络节点的设计。通过对协议包SMAC 进行分析,在原有协议框架的基础上对其进行扩展,在软件上实现了ZigBee 星形网络的组建。该网络实现了多个节点的自动入网、网间可靠通信等功能,并且成功应用于纺织车间线路改造的项目中。

参考文献

[1] 瞿雷,刘盛德,胡咸斌. ZigBee 技术及应用[M].北京:北京航空航天大学出版社,2007.
[2] 黎连业,郭春芳,向东明.无线网络及应用技术[M].北京:清华大学出版社,2004.
[3] 方旭明,何蓉.短距离无线与移动通信网络[M].北京:人民邮电出版社,2004.
[4] Freescale.MC13192SARDUG.pdf. Rev.1.5,200507.
[5] Freescale.SMACRM.pdf. Rev.1.2,200504.

作者: 天津工业大学 刘奇 尤一鸣

刘奇(硕士研究生),主要研究方向为微机控制、工业自动化; 尤一鸣(教授),主要研究方向为工业自动化。
来源:单片机嵌入式系统应用 2008(11)
本文地址:https://www.eechina.com/thread-11303-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表