新闻  |   论坛  |   博客  |   在线研讨会
ZigBee 简介:架构、网络和 AT 命令
IC先生网 | 2023-05-26 11:26:06    阅读:805   发布文章

通常很多人对XBee 和 ZigBee 这两个术语感到困惑,他们中的大多数人将其互换使用。但实际上并非如此;ZigBee是无线网络的标准协议。XBee是一款支持各种无线通信协议的产品,包括ZigBee、Wi-Fi(Wi-Fly模块)、802.15.4、868 MHz模块等。这里我们主要关注Xbee/Xbee-PRO ZB射频模块,它包括ZigBee 固件。

试想一下计算机中的计算器,它可以通过用户友好的界面执行复杂的计算。如果只有硬件可用,这项任务将是非常困难和乏味的。因此,在最高级别上,软件的可用性使解决问题的过程变得更加容易。整个过程被上层调用的实际硬件划分为软件层。

我们甚至在日常生活中使用图层的概念。例如,将快递/信件发送到您朋友的家中,将电子邮件从世界的一个点发送到另一个点。同样,大多数现代网络协议甚至采用层的概念将不同的软件组件分离成可以以不同方式组装的独立模块。为了深入了解 Xbee 架构,您可能需要亲力亲为,但我们会让事情变得非常简单。

让我们从一些基本术语开始,例如路由、冲突避免和确认。  为了理解第一个术语,只需看它的名字,“路线”,意思是跟踪或识别路径。在网络中,路由意味着为数据提供从源节点到目的节点的方向。当网络中的两个节点试图同时传输时,会产生一种称为冲突的情况。因此,通常使用带冲突避免的载波侦听多路访问 (CSMA/CA) 技术来避免冲突,您可以使用此链接了解有关 CSMA 的更多信息。基本上在其中,节点以与人类交谈相同的方式交谈;在开始发送数据之前,他们会简单地检查一下,看看没有人在说话。

每当接收器成功接收到传输的数据时,它都会确认发送器。不得让数据流淹没接收器无线电。任何接收无线电的处理输入数据的速度都是有限的,存储输入数据的内存也是有限的。

ZigBee 架构:

ZigBee 堆栈中主要有四层可用,即物理层、媒体访问层、网络层和应用层。

ZigBee 架构

应用层 定义了各种寻址对象,包括配置文件、集群和端点。您可以在上图中看到 ZigBee 堆栈层。

网络层:它增加了路由功能,允许 RF 数据包遍历多个设备(多个“跃点”)以将数据从源路由到目的地(对等)。

MAC 层 管理相邻设备(点对点)之间的 RF 数据事务。MAC 包括传输重试和确认管理以及冲突避免技术等服务。

物理层:它定义了设备如何连接以形成网络;它定义了输出功率、通道数和传输速率。大多数 ZigBee 应用程序以 250kbps 的数据速率在 2.4 GHz ISM 频段上运行。  

大多数 XBee 系列都内置了流量控制、I/O、A/D 和指示器线,可以使用适当的命令进行配置。模拟样本作为 10 位值返回。模拟读数按比例缩放,因此 0x0000 代表 0V,0x3FF = 1.2V。(模块上的模拟输入不能读取超过 1.2V)

要将 A/D 读数转换为 mV,请执行以下操作:

AD (mV) = (A/D reading * 1200mV) / 1023
ZigBee 中的数据传输

您可以将网络称为能够将数据从一个位置发送到另一个位置的软件和硬件的组合。硬件负责将信号从网络的一个点传送到另一个点。软件由指令集组成,可以按照我们的预期工作。

ZigBee 数据包传输数据一般有两种方式:单播和广播。

广播传输:

简单来说,广播是指通过无线电或电视传输的信息/节目。换句话说,广播传输被发送到网络中的许多或所有设备。使用ZigBee 协议的广播传输在整个网络中传播,以便所有节点都接收到传输。为此,协调器和所有接收到广播传输的路由器将重传该数据包 3 次。

ZigBee中的广播数据传输

单播传输:

ZigBee 中的单播传输将数据从一个源设备路由到另一个目标设备。目标设备可以是源设备的直接邻居,或者它可以在路径之间有几个跃点。下图显示了一个示例,解释了用于识别双向链路可靠性的机制。

ZigBee 中的单播数据传输

 Xbee 路由器和协调器的网络基础知识

去你朋友家,你需要什么?你只需要他的地址。同样,为了将数据从一个 Xbee 模块发送到另一个,您需要它的唯一地址。就像人一样,Xbee 甚至有多个地址,每个地址在网络中都有特定的作用。  地址有静态地址(64位地址)和动态地址(16位地址)两种

地址:

64位地址全球唯一;它由制造商固定在 Xbee 模块内部。地球上没有其他 ZigBee 无线电具有相同的静态地址,在每个 xbee 模块的背面,您可以看到该地址,如下所示,尤其是地址“0013A200”的较高部分对于每个 xbee 模块都是相同的。

Xbee模块

当设备加入 ZigBee 网络时,它会收到一个本地唯一的16 位地址。16 位地址 0x0000 为协调器保留。所有其他设备从允许加入的路由器或协调器设备接收随机生成的地址。当发现两个设备具有相同的 16 位地址或一个设备离开网络并稍后加入(它可以接收不同的地址)时,16 位地址可能会发生变化。

节点标识符:

我们的大脑总是更容易记住字符串而不是数字。因此,网络中的每个 Xbee 模块都可以分配一个节点标识符。  节点标识符是一组字符,即字符串,可以更人性化地寻址网络中的节点。

个人区域网络:

由这些 Xbee 模块开发的网络称为个域网或 PAN每个网络都定义有一个唯一的 PAN 标识符 (PAN ID)。此标识符在同一网络的所有设备中通用。ZigBee 支持 64 位和 16 位 PAN ID。两个 PAN 地址都用于唯一标识一个网络。同一 ZigBee 网络上的设备必须共享相同的 64 位和 16 位 PAN ID。如果多个 ZigBee 网络在彼此的范围内运行,则每个网络都应具有唯一的 PAN ID。

16 位 PAN ID 用于在网络中设备之间的所有 RF 数据传输中寻址 MAC 层。但是,由于 16 位 PAN ID 的寻址空间有限(65,535 种可能性),多个 ZigBee 网络(在彼此的范围内)可能有相同的 16 位 PAN ID。为了解决这些冲突,ZigBee 联盟创建了一个 64 位 PAN ID。ZigBee 定义了三种不同的设备类型:协调器、路由器和终端设备。

每个网络总是需要一个协调器来负责建立网络。所以,它永远也睡不着。它还负责选择通道和 PAN ID(64 位和 16 位)以启动网络。它可以允许路由器和终端设备加入网络。它可以帮助在网络中路由数据。

一个网络中可以有多个路由器一个路由器可以从其他路由器/EP(端点)获取信号。它也可以永远不睡觉。它必须先加入 Zigbee PAN,然后才能传输、接收或路由数据。加入后,它可以允许路由器和终端设备加入网络。加入后还可以辅助路由数据。它可以为睡眠终端设备缓冲射频数据包。

也可以有多个端点。它可以进入睡眠模式以节省电量。它必须先加入 ZigBee PAN,然后才能传输或接收数据,甚至不允许设备加入网络。它依赖于父节点来传输/接收数据。

由于终端设备可以进入睡眠模式,父设备必须缓冲或保留传入的数据包,直到终端设备醒来并接收数据包。                     

 ZigBee 中的不同网络拓扑

网络拓扑是指设计网络的方式。在这里,拓扑是所有链路和链接设备(协调器、路由器和终端设备)相互关系的几何表示。

这里我们有四种基本的拓扑结构 mesh , star , hybrid 和 tree

ZigBee 中的网络拓扑类型

Mesh Topology中,每个节点都与其他节点相连,但终端设备除外,因为终端设备无法直接通信。要在两个 ZB 无线电之间实现简单通信,您需要使用协调器固件配置一个,另一个使用路由器或端点固件进行配置。Mesh 网络的主要优点是,如果其中一个链路变得不可用,它不会使整个系统失效。

星形拓扑中,每个设备都有一个专用的点对点连接到中央控制器(协调器)。所有设备都没有直接相互链接。与网状拓扑不同,在星形拓扑中,一个设备不能将任何东西直接发送到另一个设备。协调器或集线器用于交换:如果一个设备要向另一个设备发送数据,它将数据发送到协调器,协调器进一步将数据发送到目标设备。

混合网络是那些包含两种或多种通信标准的网络。这里,混合网络是星型和树型网络的结合,很少有终端设备直接连接到协调器节点,其他终端设备需要借助父节点来接收数据。

树形 网络中,路由器构成主干,终端设备通常聚集在每个路由器周围。它与网状配置没有太大区别,只是路由器没有互连,您可以使用上图显示这些网络。

Xbee固件

XBee 可编程模块配备了一个 Free scale 应用处理器。该应用程序处理器随附提供的引导加载程序。此 XBee ZV 固件基于 Embernet 3.xx ZigBee-PRO 堆栈,XBee-Znet 2.5 模块可升级至此功能。您可以使用我们将在本章后面讨论的 ATVR 命令检查固件。XBee 版本号将有 4 位有效数字。也可以使用 ATVR 命令查看版本号。响应返回 3 或 4 个数字。所有数字均为十六进制,范围为 0-0xF。版本报告为“ABCD”。数字 ABC 是主版本号,D 是主版本的修订号。第 4 章中讨论的 API 和 AT 命令对于 Znet 2.5 和 ZB 固件几乎相同。

在电信领域,整个 Hayes 命令是为 Hayes 调制解调器智能调制解调器开发的特定语言命令,1981 年它们是一系列用于控制调制解调器的短词,使调制解调器的通信和设置在当时变得简单。

XBee 也可以在命令模式下工作,并触发了代表 ATTENTION 的 AT 命令,这些命令可以通过终端发送到 XBee XBee 和 AT 配置的 XBee 无线电有两种通信模式

透明:无线电仅将其接收到的信息传递给已配置的远程无线电地址。通过串口发送的数据被XBee原样接收。

命令:此模式用于与无线电通话并配置一些预配置的模式,我们在此模式下与模块通信并更改配置。

您可以键入 +++ 并等待一秒钟而不按任何其他按钮,然后消息 OK 应该显示为刚刚启动的终端图像。通过 OK,XBee 告诉我们他已进入 COMMAND 模式并准备好接收配置消息。

如果您等待超过 10 秒而没有按下按钮,XBee 将返回透明模式。然后您必须重新键入 +++ 以返回到 COMMAND 模式。

XBee AT 命令:

AT(测试):这是测试命令,用于检查模块是否响应 OK,因为回复确认相同。

ATDH:目标地址高位。配置 64 位目标地址的高 32 位 DL 和 DH 组合为您提供 64 位目标地址。

ATDL:目标地址低。这再次用于配置 64 位目标地址的低 32 位。

ATID:这个命令改变PAN ID(PersID是4个字节的十六进制,范围可以从0000到FFFF

ATWR:写。将参数值写入非易失性存储器,以便参数修改在随后的重置中持续存在。

注意:一旦发出 WR,则不应向模块发送其他字符,直到

收到“OK\r”响应后。

ATRE (Restore Defaults):恢复模块的出厂设置,在模块没有响应时非常有用。

要在进入命令模式(即按+++)后使用 AT 命令配置您的模块,您需要在终端 AT(XY) 中键入例如 ATID 1001(此值可以是从 0 到 FFFF 的任何值,XBee 命令始终使用十六进制值) .press enter 如果它返回 OK 然后你可以快速输入终端 ATID 查看值是否已更改 这将最终写入 只有在会话中使用 ATWR 之后写入的值会在模块断电时消失 如果 ATWR 是不曾用过。

本文由IC先生网www.mrchip.cn编辑整理发布,未经授权,请勿转载。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
IC先生网(https://www.mrchip.cn/)是中国知名的电子元器件采购平台,商城所售原装元器件主要有电阻、电容、ic芯片、半导体等,先进的大数据技术为用户提供BOM快速配单服务,交易有保障。
推荐文章
最近访客