Z-Stack协议中几个重要概念的理解

Z-Stack协议中几个重要概念的理解


2024年3月15日发(作者:)

Z-Stack协议中几个重要概念的理解

1. 原语

ZigBee设备在工作时,各种不同的任务在不同的层次上执行,通过层的服

务,完成所要执行的任务。每一层的服务主要完成两种功能:根据它的下层服务

要求,为上层提供相应的服务;另一咱是根据上层的服务要求,对它的下层提供

相应的服务。各项服务通过服务原语来实现。

可以把原语看作是API函数 是ZigBee中最基本的操作, 一般协议都有对

原语进行程序实现 在自己开发系统时,只需要调用,设定参数就好了 。如果要

自己实现底层的细节那就必须在开源的协议栈中,深入到原语的级别。也就是说,

对于原语我们只需要了解就行,真正开发程序只知道我们给系统哪些参数就行

了。

原语通常分为下面4种类型:

(1)Request:请求原语是从第N1用户发送到它的第M层,请求服务开始。

(2)Indication:指示原语是从第N1用户的第M层向第N2用户发送,指出对

于第N2用户有重要意义的内部M层的事件,该事件可能与一个遥远的服务请求

有关,或者可以是由一个M层的内部事件引起

(3)Respons:响应原语是从第N2用户向它第M层发送,用来表示对用户执行

上一条原语调用过程的响应

(4)Confirm:确认原语是由第M层向第N1用户发送,用来传送一个或多个前

面服务请求原语的执行结果。

2. 绑定

绑定涉及到两个网络节点,在绑定表中,它包含如下信息: IEEE地址、

EndpointID。其中Endpoint描述信息中的ClusterID必须值相等,而且属性方向

相反。节点间的绑定,通常是通过Endpoint的绑定来实现的。例如节点A 的

Endpoint可以和节点B 中的一个或多个Endpoint实现绑定,节点A的Endpoint

也可以和多个节点中的Endpoint进行绑定。

绑定是一种两个(或者多个)应用设备之间信息流的控制机制。绑定允许应

用程序发送一个数据包而不需要知道目标地址,APS层从它的绑定表中确定目

标地址,然后将数据继续向目标应用或者目标组发送。

绑定有间接绑定、直接绑定(OTA) 和直接绑定(通过串口) 3种方法

[6]

。通常

前两种使用较多。

① 间接绑定:间接绑定方法比较简单,它通过按键来发送绑定信息。需要绑定的

两个节点在一定的时间内发送绑定命令,当协调器在设定的时间内收到这样的两

条绑定信息时,它就会建立对应的绑定表

[7]

。建立了绑定关系的两个节点之间就

可以通过Endpoint来相互通信;

② 直接绑定(OTA) :直接绑定需要用户自己编写相应的绑定程序, ZigBee协议

栈中含有绑定API,这就要求用户通过适当的方法调用来实现绑定功能。这种方

法通常是使用一个节点直接向协调器发送两条绑定信息,这两条信息中的目标地

址和源地址相反

[8]

。 这种方法需要用户对协议栈有一定的了解,熟悉相关的API

函数。使用这种方法有许多好处,我们可以通过第三方节点来配置网络来是任意

两个节点之间建立绑定 关系,使网络通信方式更加灵活。而且第三方节点可以通

过与上位机互联,在上位机上我们可以建立一个界面,通过串口向第三方节点传

递配置信息,这样我们的配 置会更加方便;

③ 直接绑定(通过串口):这种方法是使用上位机通过串口向协调器发送绑定信

息,但这种方法需用户对串口API比较熟悉,这种方法一般使用的比较少,因为通

常我们的协调器需要与上位机通信,要把网络的信息传到上位机,一般不适合在

同一个上位软件再做网络的配置部分。通常直接绑定(OTA)方法比较适用,可以

专 门做一个网络的配置软件,来配置网络,当然间接绑定最简单,在项目中我们可

以综合考虑选择适当的绑定方式。

3.配置文件

Profile的书面意思是框架、轮廓,在这里它的意思是应用程序框架。它

是由ZigBee技术开发商提供,应用于特定的应用场合,它是用户进行 ZigBee技

术开发的基础。当然用户也可以使用专用工具建立自己的Profile。Profiles

是这样一种规范,它规定不同设备对消息帧的处理行 为,使不同的设备之间可以

通过发送命令、数据请求来实现互操作。

4. Endpoint

Endpoint是一种网络通信中的数据通道,它是无线通信节点的一个通信部

件,如果选择“绑定”方式实现节点间的通信,那么可以直接面对 Endpoint操

作,而不需要知道绑定的两个节点的地址信息。每个ZigBee设备支持多达240

个这样的Endpoints。Endpoint的值和 IEEE长地址、16位短地址一样,

是唯一确定的网络地址,通常结合绑定功能一起使用。它是ZigBee无线通信的一

个重要参数。

5.簇

在了解簇之前,首先要理解什么是间接通信和直接通信,即ZigBee技术可

以通过使用IEEE地址或短地址来通信,也可以通过绑定在各个节点间建立联系,

然后通过Endpoint和Cluster信息来进行通信。

间接通信:是指各个节点通过Endpoint的绑定建立通信关系,这种通信方式

不需要知道目标节点的地址信息,包括IEEE 地址或网络短地址

[5]

。 绑定关系表

通常被建立在网络协调器中,这样网络中的节点就可以通过Endpoint来访问与

之建立绑定关系的节点。这种通信方式离不开网络的协调器,因为绑定表放在这

个节点中, 每次的通信源节点把信息发送到Coordinator,由Coordinator将接

收信息中的Endpoint信息作为参数,查表找到对应的目标地址并转发。

直接通信:不需要节点之间通过绑定建立联系,它使用网络短地址作为参数

调用适当的API来实现通信,这种方法也需要通过协调器转发

[9]

。 直接通信部分

关键点在于节点网络短地址的获得。在发送信息帧之间,必须知道要发送的目标

短地址。由于网络协调器的短地址是固定的0x0000,因此人们可容易地把消息帧

发送到协调器。其它网络节点的网络短地址是它们在加入到网络中时由协调器动

态分配的,与网络深度、最大路由数、最大节点数等参数有关,没有一个固定的值。

所以,要想知道目标节点的网络短地址还需通过其它手段,可以采用通过目标节

点的IEEE地址来查询短地址的方法。 通常, ZigBee节点的IEEE地址是由用户

自己定义的,它们被写在节点的EEPROM中,这个作为ZigBee节点的参数一般会被

标示在节点上。所以,要得 到IEEE地址还是能够实现的。有了IEEE地址以后,

可以通过部分网络API的调用,得到与之对应的网络短地址

[。

当人们着手建立Profile时会遇到这个概念,它是一簇网络变量

( attributes)的集合,当然如果将通信帧属性选择为“Message”时,它也可以


发布者:admin,转转请注明出处:http://www.yc00.com/news/1710461843a1760827.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信