无线网络技术无非是功耗、距离、速率、组网等方面的较量,那么能否做到既能低功耗、远距离,又能快捷组网和部署呢?
标准zigbee网络协议包括协调器、路由器和终端节点,而建立一个zigbee网络除了必须要有协调器之外,仅需加上路由器或终端节点即可。
然而,不同的应用场景需要不同型态的组网结构:点对点、星型、中继路由、混合型等等。因此,快速、高效、稳定、便捷、灵活,是对组网协议所提出的更高要求。
图1 zigbee网络拓扑结构
一、Fastzigbee协议
换个思路,假若网络上的任意节点都具备对等的数据传输功能,且无须协调器管理网络,那么网络中的任何节点都可以主动传输数据,这样用户就无需理会具体的网络结构,显然会更加方便使用。
基于此,ZLG致远电子根据多年的实践经验积累,在zigbee协议栈的基础上开发了Fastzigbee透传对等网络协议。其特点如下:
启动零延时,无需等待入网
节点容量大,理论上节点容量高达65535
3线制串口全透明传输方式,可自定义数据格式
无需二次开发,可快速实现动态配置及自组网功能
快速添加路由,即放即用的智能路由算法,快速恢复通信。
图2 Fastzigbee协议特点
二、自组网实现
Fastzigbee协议已经很好的为组网提供了基础,那么能否在部署和施工方面也提供更好的支持呢?
当然,ZLG致远电子为简化无线产品复杂的开发过程,在Fastzigbee协议内增加自组网功能。下面以AW516x系列透传模块为例,为工程师提供两种实现途径。
模块在自组网模式下,主机模块会自动选择周围没有被使用的PANID和通道号形成一个独立的网络,并能自动递增方式分配一个唯一的本地网络地址给从机模块。从机模块使用时在使能了自组网功能后就不需要进行任何的配置操作,从机模块在加入网络后就能跟主机进行通讯。
1、硬件I/O控制
(1)主机模块有两个工作流程,分别通过JOIN管脚(IO1)和DETECT管脚(IO2)控制。
①当JOIN管脚为低电平时,主机模块工作在组网模式,此时主机模块允许从机模块加入网络,当JOIN管脚变为高电平时,主机模块进入正常工作流程,此时从机模块不能再加入网络。
②当模块检测到DETECT管脚有大于3S的低电平时,主机模块工作在重获取网络参数模式,此时主机模块会重新随机生成新的PANID(0x0000~0xFFFF)和通道号(11~26),并检测新生成的PANID和通道号是否已被其他网络使用,如果已经有网络在使用,则重新生成,主机模块在重新生成PANID和通道号后,需要把该主机下的所有从机都需要执行入网操作。
图3 主机模块组网工作流程
(2)从机模块有两个工作模式,一个是入网申请,一个是退网申请,通过JOIN管脚的电平状态决定工作模式。
①当JOIN管脚为低电平,低电平持续时间在3S以下(短低电平)时,从机模块工作在入网申请状态;
②当JOIN管脚为低电平,低电平持续时间在3S以上(长低电平)时,从机模块工作在退网申请状态;如果JOIN管脚为高电平,从机模块使用存储的PANID和通道号进入正常工作状态。
图4 从机模块入网流程
2、软件指令配置
主机模块除了可以使用IO口控制主机允许从机加入网络,也可以使用命令的方式使能主机允许从机加入网络。
表1 主机允许从机加入网络命令 1
允许加入网络开启的窗口时间为当给主机发送了允许加入网络命令后,主机开始接受从机的入网请求,到达这个窗口时间后,主机不再接受从机的入网请求,窗口时间结束后,主机进入正常的工作状态。
除此之外,指令还可查询主机模块存储的从机信息、查询主从机状态等等
三、测试实例
以下所有操作均基于广州致远电子有限公司的zigbee评估板:AW516x Demo Board
图5 zigbee评估套件
步骤:
(1)将评估板1做为主机模块,评估板2做为从机模块;
(2)将评估板1的JOIN管脚(IO2)拉为低电平,主机处于允许从机加入状态;
(3)将评估板2的JOIN管脚(IO2)短处碰为低电平,低电平持续时间在3S以下,从机模块工作在入网申请状态,若有多个从机板,可依次短接IO2,进行入网操作。
(4)入网完成,从机恢复正常高电平工作状态,将评估板1的JOIN管脚(IO2)拉回高电平,主机模块进入正常工作流程。
通讯测试:
连接PC,分别打开两个串口调试助手,进行透明数据发送。
图6 通讯测试