微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于ZigBee Mesh网络的无线串口设计

基于ZigBee Mesh网络的无线串口设计

时间:05-24 来源:互联网 点击:

摘要:利用ZigBee技术,组成具有可“自愈”能力的Mesh网络,实现无线串口通信。ZigBee技术的Mesh网络,单个模块的传输距离在10~100 m之间,加功放在1 km以上。传输速率为250 kb·s-1,完全能满足一般用户的要求。
关键词:ZigBee技术;Mesh网络;“自愈”能力;无线串口

RS-232串行通信是异步通信中应用最广的标准总线,在没有Modem的情况下,一般传输距离限制在15 m内,使得远距离串口通信受到较大限制。无线技术是当今设备通信中取代有线技术的必然趋势。
本文利用ZigBee无线技术组成Mesh网络实施串口通信,网络中任意两个模块的传输距离可达100 m,如果模块有功放,传输距离可上升至1.5 km。因为Mesh网络的多跳性,数据能够多跳传输,所以数据的传输距离取决于跳数的多少,如图1所示S4经过3跳把数据传送到S1,如果每一跳距离是1 km,则传输距离达3 km,这有效地解决了有线串口传送的距离限制问题。同时,ZigBee网络中最大的数传速率为250 kb·s-1,完全能满足一般用户的要求。

1 ZigBee无线串口设计原理
1.1 节点入网后的初始化
根据ZigBee技术的要求,ZigBee网络中存在3种角色,协调器、路由和终端设备,协调器负责建立网络,路由器负责路由,终端设备只能收发数据。协调器和路由统称为全功能设备(FFD)。
在此,所有的设备都统称为节点(node),只是所扮演的角色不一样,每个节点都人为地在程序里给它们取名,如:01、02、03表示节点1、节点2、节点3,00保留给协调器。
协调器(00)加电后组建网络,各节点自动发现并加入网络,根据本文的设计,节点在加入网络后都会自动地向网络中的其他节点广播其16位网络地址和名字,网络中的其他节点接收到这广播数据后将该数据储存在数组NodeAddress[]中,然后以单播的方式向新加入节点反馈自己的网络地址和名字,新节点也将该数据保存在数组NodeAddress[]中,从而保证网络中的每个节点都知道其他节点的网络地址和名字。具体流程如图2所示。

1.2 串口数据的格式
当节点串口有数据要发送的时候,必须要指明,数据的发送目的地,所以从串口输入的数据必须满足一定的格式,本设计规定该格式为:××……;××为要发送的目的节点名字,……为要发送的数据。譬如向节点01发送数据“ZigBee”,格式为:01 ZigBee。因为节点在加入网络的时候,已经建立了名字和网络地址的对应表,所以发送节点会自动将01解释为网络地址0x0023,从而将数据准确地发送到节点01上。

2 无线串口硬件设计
2.1 系统框图

串口接收、发送系统可以是PC或者其他嵌入式系统,ZigBee控制系统负责组网和接收发送数据。这里主要研究ZigBee控制系统。
2.2 芯片选择
选择TI公司的2.4 GHz片上系统解决方案CC2530。CC2530是用于IEEES02.15.4、ZigBee和RF4CE应用的一个片上系统解决方案。它能以较低的总材料成本建立强大的网络节点。CC2530结合了领先的RF收发器的优良性能,业界标准的增强型8051CPU,使操作更容易,具备不同的运行模式,尤其适应超低功耗要求的系统。
2.3 无线串口电路设计
CC2530中的P0_1和P0_2为TTL电平的串口接收发送管脚,可直接与TTL电平的串口系统相连,如果与PC机连,要加上MAX232模块。可见该无线串口与其他系统的兼容性很强,而且连接方便。

3 软件设计
3.1 ZigBee协议栈简介
ZigBee协议栈以IEEE 802.15.4标准为基础,IEEES02.15.4工作组主要负责制定物理层(PHY)、媒体访问控制层(MAC)。ZigBee联盟提供了网络层和应用层(APL)框架的设计。其中,应用层的框架包括了应用支持子层(APS)、ZigBee设备对象(ZDO)及由制造商制定的应用对象。如图5所示。

采用TI公司的Z—Stack 07协议栈实现ZigBee协议。Z—Stack 07协议栈,对之前几个版本的协议进行了改进,使得网络稳定性更强,组网更灵活。
3.2 主体程序流程与任务
TI的Z—Stack 07/PRO协议栈,对应的开发环境为IAR 7.51A。在安装完Z—Stack 07协议栈之后,用IAR打开工程文件GenericApp,GenericApp是TI公司专门为开发者提供的开发模板,在此借助该模板实现无线串口。
打开GenericApp后,如图6所示,App文件夹即为应用层代码文件夹。利用模板只需在GenericApp.c中加入实现代码,就可以实现无线串口。


Z—Stack采用操作系统的思想来构建,采用任务轮循机制,当各层初始化之后,系统进入低功耗模式,当任务有事件发生时,唤醒系统,开始进入中断处理任务事件,结束后继续进入低功耗模式。如果同时有几个事件发生,判断优先级,逐次处理事件。Z—Stack的工作流程如图7所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top