ZigBEERF4CE规范基本概念及配对详细讲解.docx

上传人:b****5 文档编号:7255658 上传时间:2023-01-22 格式:DOCX 页数:15 大小:225.48KB
下载 相关 举报
ZigBEERF4CE规范基本概念及配对详细讲解.docx_第1页
第1页 / 共15页
ZigBEERF4CE规范基本概念及配对详细讲解.docx_第2页
第2页 / 共15页
ZigBEERF4CE规范基本概念及配对详细讲解.docx_第3页
第3页 / 共15页
ZigBEERF4CE规范基本概念及配对详细讲解.docx_第4页
第4页 / 共15页
ZigBEERF4CE规范基本概念及配对详细讲解.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

ZigBEERF4CE规范基本概念及配对详细讲解.docx

《ZigBEERF4CE规范基本概念及配对详细讲解.docx》由会员分享,可在线阅读,更多相关《ZigBEERF4CE规范基本概念及配对详细讲解.docx(15页珍藏版)》请在冰豆网上搜索。

ZigBEERF4CE规范基本概念及配对详细讲解.docx

ZigBEERF4CE规范基本概念及配对详细讲解

一.节点的安装初始化

1.1建立网络的过程

(1)目标节点:

首先,扫描信道,对各个信道进行能量检测,选择可允许能量水平的信道进行操作。

然后,发送执行活动的扫描操作,识别其他在工作在所选信道上的属于其他PAN网络的identifiers,允许一个统一的PANidentifier接入它的网络。

最后,目标节点运行常规功能。

(2)控制节点:

接入网络之后,运行常规功能。

二.网络帧结构

Framecontrol:

控制信息

Framecounter:

技术,防止重复和延时攻击

Profileidentifier:

应用帧的传输格式

Vendoridentifier:

供应商标识符,允许商家进行扩展

Framepayload:

传输的应用层数据

Messageintegritycode:

进行认证(安全)

三.传输选项

四.发现(Discovery)

发现服务必须是在非节能模式下才能进行。

节点通过执行发现服务,来寻找能够进行配对的节点;发现服务会在一个固定的期间在三个PAN网络中重复的进行,直到收到所有的应答。

在此期间,设备之间会交换如下信息:

Nodecapabilities:

节点的类型(目标节点或控制节点),节点的供电类型,是否支持安全性。

Vendorinformation:

ZigBeeRF4CE提供一个Vendoridentifier或者venderstring来制定一个特定的供应商标识。

Applicationinformation:

用户自定义一个字符串用来描述节点的应用功能(例如LoungeTV),一个设备类型列表可以制定哪些类型的设备室被支持的(例如一个综合性设备可能同时支持TV和DVD的功能),profileidentifier列表制定该节点支持哪些类型的profiles。

Requesteddevicetype:

discovery期间可以被请求的设备类型(比如一个多功能遥控器可能寻找TV的功能)。

五、频率捷变

(1)目标节点可以根据3个信道的变化,更换信道。

(2)控制节点会记录目标节点的信道,当目标节点信道发生改变时,控制节点会尝试从其他信道发送给目标节点,直到目标节点发送确认信息;之后,控制节点会记录上新的信道。

六、配对

在发现期间,当节点确定在它的通信围有其他能够提供稳定服务的节点时,可以通过建立配对从而进行通信。

在RC网络中在存在配对的发送端和接收端之间只能直接通信。

配对连接可以建立在应用层的要求上,通过交换类似于discovery期间交换的消息。

目标节点可以选择是否接受配对并发送请求配对信息给源节点。

配对成功后,源节点和目标节点会在它们各自的配对表中存储配对。

这个使得源节点可以和目标节点通信,目标节点也可以和源节点通信。

在配对表中的实体包含网络层传输信息给目标节点的所有信息。

这消除了寻址的负担,要实现和相应设备的通信,应用层可以简单的提供一个配对表的index。

配对表中的每个实体包含的信息如下:

Pairingreference

Sourcenetworkaddress

Destinationlogicalchannel

DestinationIEEEaddress

DestinationPANidentifier

Destinationnetworkaddress

Recipientnodcapabilities

Recipientframecounter

Secutitylinkkey

七.ZigBeeRF4CE应用层

两部分组成:

profilecomponent(CERC标准,远程控制)和application-specificcomponent

八.ZigBee中原语(primitive)的概念

Zigbee设备在工作时,各种不同的任务在不同的层次上执行,通过层的服务,完成所要执行的任务。

每一层的服务主要完成两种功能:

根据下层服务要求,为上层提供相应的服务;根据上层的服务要求,对下层提供相应的服务。

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

每个事件由服务原句组成,它将在一个用户的某一层,通过该层的服务接入点(SAP)与建立对等连接的用户的相同层之间通信。

服务原语通过提供一种特定的服务来传输必要的信息,原语是一个抽象的概念,它们仅仅指出提供的服务容,而没有指出具体由谁来提供这些服务。

由代表其特点的服务原语和参数的描述来制定一种服务。

一种服务可能有一个或者多个相关的原语,这些原语构成了具体服务相关的执行命令。

原语通常分为如下:

Request:

请求原语,从I1用户发送到它的第N层,请求服务开始;

Indicate:

指示原语,从I1用户的第N层向I2用户发送,指出对于第I2用户有重要意义的部N层的事件。

Response:

响应原语,从I2用户向它的第N层发送,用来表示用户执行上一条原语调用过程的响应。

Confirm:

确认原语,由第N层向第I1用户发送,用来传递一个或者多个前面服务请求原语的执行结果。

9.网络层规

9.1NWK层服务规

NLDE网络数据实体,NLME网络管理实体

9.1.1NWK层数据服务

数据服务中包含的原语如下表所示:

1.NLDE-DATA.request

PairingRef,用这个参数来区分各个服务

ProfileId,

VendorId,

nsduLength,

nsdu,

TxOptions

2.NLDE-DATA.indication

PairingRef,

ProfileId,

VendorId,

nsduLength,

nsdu,

RxLinkQuality,

RxFlags

3.NLDE-DATA.confirm确认原语是在响应请求原语时产生的

Status(SUCCESS,INVALID_PARAMETER,NO_PAIRING,NO_RESPONSE,FRAME_COUNTER_EXPIRED)

PairingRef

节点间原语发送情况:

9.1.2NWK层管理服务

NLME-SAP支持的原语,如下面列表所示:

1.NLME-AUTO-DISCOVER.request

该原语由NLME层生成,允许应用请求NLME自动的处理接收到的discovery请求命令帧。

注意:

在自动discovery响应模式下,NLME不会通过NLME-DISCOVERY.indication原语通知应用层dciscovery请求命令帧到达。

1.1语义

NLME-AUTO-DISCOVERY.request

RecAppCapabilities,节点的应用能力

RecDevTypeList,节点支持的设备类型

RecProfileIdList,节点支持的profile标识

AutoDiscDurationNLME自动响应发现模式的时间

1.2产生时刻

该原语产生于本地应用实体,使得NLME进入自动响应发现模式。

该模式下,NLME根据原语中包含的信息决定是否响应或接受发现原语命令帧的请求。

如果节点收到的命令帧不是discoveryrequest,将会被丢弃。

1.3接收端影响

(1)收到NLME-AUTO-DISCOVERY.request请求之后,节点匹配原语中的设备类型列表,profile列表,如果找到一个匹配项,则继续等待来自同一个节点的下一个发现请求命令帧。

(2)如果第二个发现请求命令帧也匹配,NLME层产生一个发现应答命令帧,NLME层通过发送一个MSPS-DATA.request给MAC子层,来实现发现应答命令帧的发送(MSPS-DATA.request包含了NLME产生的发现应答命令帧)。

(3)NLME层收到MAC子层的MSPS-DATA.confirm之后,发送NLME-AUTO-DISCOVERY.confirm原语(状态为MSPS-DATA.request原语返回的状态)给对方的NLME层。

(4)如果收到的第二个发现请求命令是来自另外的节点,发送NLME-AUTO-DISCOVERY.confirm原语(状态为DISCOVERY_ERROR);

(5)如果匹配不成功,则丢弃这个请求信息,并做记录。

(6)如果在AutoDiscDuration时间围都没有发现有匹配的项,则NLME-AUTO-DISCOVERY.confirm原语(状态为DISCOVERY_TIMEOUT);

2、NLME-COMM-STATUS.indication

该原语由NLME层生成,NLME层通过该原语告知应用层通信的状态。

2.1语义

NLME-COMM-STATUS.indication(

Status,(SUCCESS,SECURITY_TIMEOUT,SECURITY_FAILUREoranythingfromtheMCPS-DATA.confirmprimitive)

PairingRef,

DstPANId,

DstAddrMode,

DstAddr)

2.2产生时刻

该原语伴随着NLME-DISCOVERY.response原语或者NLME-PAIR.response原语生成.如果是伴随NLME-DISCOVERY.response,则PairingRef应设置为oxff;如果是伴随NLME-PAIR.response,则PairingRef应根据NLME-PAIR.response的ProvPairingRef参数来设定。

2.3接收端影响

theapplicationisnotifiedofthestatusofatransmissionfollowinga.responseprimitive.

3、NLME-DISCOVERY.request

用于请求NLME向特定的感兴趣的设备发送discovery请求。

3.1语义

NLME-DISCOVERY.request

DstPANId,发现请求的目标的PAN标识符,这个值可以设置为0xffff来表示一个通配符(wildchild)。

DstNwkAddr,发现请求的目标的网络地址,这个值可以设置为0xffff来表示一个通配符。

OrgAppCapabilities,源节点的应用能力

OrgDevTypeList,源节点包含的设备类型列表

OrgProfileIdList,源节点包含的profile类型列表

SearchDevType,要发现的设备类型

DiscProfileIdListSize,DisProfileList参数中包含的profile标识符的数量

DiscProfileIdList,ZigBee联盟定义的一些profile列表

DiscDuration每个信道中潜在目标节点等待发现应答返回的最大MAC标志数量

3.2产生时刻

该原语由本地的应用层实体产生,发送给NLME层,用去请求一个发现操作。

3.3接收端影响

1)收到该原语,NLME产生一个发现请求命令帧,NLMe在每个信道上发送该帧,通过发送MCPS-DATA.request原语给MAC子层,请求MAC子层发送该帧。

2)如果MAC子层成功的传输该帧,NLME在DiscDuration参数时间等待接受发现应答命令。

如果收到的应答帧的设备类型匹配SearchDevType参数、且其中一个profile标识符匹配DiscProfileIDList参数中的至少一个,NLME将根据收到的这个应答命令创建一个新的节点描述记录(记录的容如下表)。

DiscDuration到期之后,NLME切换到另一个信道,重复相同的操作。

3)如果MAC子层传输信息失败(MCPS-DATA.request返回的status不是SUCCESS),NLME切换至下一个信道。

4)在所有可用的信道中传输的发现请求命令被称作“发现审查”,每一个发现审查最多执行nwkMaxDiscoveryRepetitions次,重复的间隔为nwkDiscoveryRepetionInterval.

5)如果在所有发现功能结束时存储的节点描述符的数量正好等于nwkMaxDiscoveryNodeDescriptors参数。

NLME发送NLME-DISCOVERY.confirm原语,该原语中的NodeDescList参数包含了所有节点描述的信息。

6)如果在所有发现功能结束时存储的节点描述符的数量超过了nwkMaxDiscoveryNodeDescriptors参数,NLME发送NLME-DISCOVERY.confirm原语,该原语中将status参数设为DISCOVERY_ERROR。

7)在发现进程的期间,如果存储的节点描述福的数量等于nwkcMaxNodeDescListSize,NLME发送NLME-DISCOVER.confirm原语,该原语中的NodeDescList参数包含了所有节点描述的信息。

8)如果在nwkMaxDiscoveryRepetitions结束时,没有节点描述符被存储,NLME发送NLME-DISCOVER.confirm原语,该原语中将status参数设为DISCOVERY_TIMEOUT.

4、NLME-DISCOVERY.indication

允许NLME告知应用层有发现请求命令被接收。

4.1语义

NLME-DISCOVERY.indication

Status,表明配对表是否能够存储潜在配对信息

SrcIEEEAddr,

OrgNodeCapabilities

OrgVendorId,

OrgVendorString,

OrgAppCapabilities,

OrgUserString,

OrgDevTypeList,

OrgProfileIdList,

SearchDevType,

RxLinkQuality通过MAC子层发送的发现请求命令帧的LQI值

4.2产生时刻

由NLME产生,发送给应用层,用于指示有发现请求命令被接收;如果NLME的配对表中有为该设备存储潜在配对连接的空间,该原语的status设为SUCCESS.

4.3接收端影响

接收到该原语时,应用层根据原语中的信息决定是否应答。

不管发现请否匹配节点的功能,应答的决定都要遵守这个规。

如果应用层决定应答,则根据发现请求帧中的IEEE地址和LQI发送发送NLME-DISCOVERY.response原语,该原语中包含了自身的设备类型以及接收到的NLME-DISCOVERY.indication原语中的状态信息。

如果应用层决定不应答,则不发送任何原语。

5、NLME-DISCOVERY.response

允许应用层请求NLME应答发现请求命令。

5.1语义

NLME-DISCOVERY.response

Status,

DstIEEEAddr,

RecAppCapabilities,

RecDevTypeList,

RecProfileIdList,

DiscReqLQINLME-DISCOVERY.indication中的LQI值

5.2产生时刻

由应用层生成,被发送至它的NLME层,用于响应NLME-DISCOVERY.indication原语

5.3接收端影响

接收到该原语,NLME生产一个发现响应命令帧,通过MAC子层在当前的信道中传递该信息。

当收到MCPS-DATA.confirm信息时,NLME发送NLME-COMM-STATUS.indication原语。

9.1.2.2配对

1.NLME-PAIR.request

应用层通过它请求NLME层与另外一个节点配对。

1.1语义

NLME-PAIR.request

LogicalChannel,

DstPANId,

DstIEEEAddr,

OrgAppCapabilities,

OrgDevTypeList,

OrgProfileIdList,

KeyExTransferCount

1.2产生时刻

由本地的应用层实体产生,发送至NLME层请求一个配对操作。

1.3接收端影响

收到该原语,NLME检查该项配对连接是否已经存在于实体的配对表当中。

如果存在,则更新配对表中的该项记录;如果不存在,NLME检查它是否有容量存储新的配对连接。

如果NLME没有空间,则发送的NLME-PAIR.confirm原语中,status设为NO_ORG_CAPACITY,不进行更多的处理。

NLME生成一个配对请求命令,在传输该帧之前,通过发送MLME-SET.request命令给MAC子层,将phyCurrentChannel交换到请求的信道。

最后发送MCPS-DATA.request原语将帧传送给MAC子层。

如果MAC子层传输失败,则更换到下一个信道,重复相同操作。

传输试图在每个可用的信道中进行,知道传输成功或者所有的信道都被尝试过。

如果传输任然不成功,NLME发送发送的NLME-PAIR.confirm原语中的status值为MAC子层返回的值。

如果MAC子层传输成功,NLME在nwkResponseWaitTime等待响应。

如果这段时间没有收到响应信息,NLME发送的NLME-PAIR.confirm中的status值为NO_RESPONSE,不进行更多的处理.

收到响应信息中status值不等于SUCCESS,则NLME发送的NLME-PAIR.confirm中的status值为收到的应答帧中的信息。

收到的响应星系中status值等于SUCCESS,则NLME创建一个新的实体记录或者更新已经存在的实体记录,并将其标记为零时的。

然后,NLME检测这个配对连接是否要求安全性:

如果不要求安全性,NLME将该配对连接从零时的变为活动的,并根据被创建或者更新的配对连接的配对表索引发送NLME-PAIR.confirm原语,status设为SUCCESS.

如果要求安全........待续

2NLME-PAIR.indication

允许NLME层通知应用层已接收到一个配对请求命令。

2.1语义

NLME-PAIR.indication

Status,

SrcPANId,

SrcIEEEAddr,

OrgNodeCapabilities,

OrgVendorId,

OrgVendorString,

OrgAppCapabilities,

OrgUserString,

OrgDevTypeList,

OrgProfileIdList,

KeyExTransferCount,被要求与这个配对发起者交换linkkey的发送者的编号。

ProvPairingRef,

2.2产生时刻

由NLME产生,并发送给应用层,指示有请求信息被接收到。

Status用于标识该设备网络层的配对表是否有容量。

2.3接收端影响

接收到该原语,应用层根据原语提供的信息决定怎样应答。

ProvPairingRef参数指示了这个配对连接将被创建的下一个空闲配对表实体。

如果这个参数等于0xff,则表示在配对表中没有空闲的实体,应用层发送的NLME-PAIR.response原语中status为NO_REC_CAPACITY.

如果应用层允许配对,则应答消息中status为SUCCESS;不允许配对,则应答消息中status为NOT_PERMITED.

3NLME-PAIR.response

允许应用层请求NLME响应一个配对请求命令

3.1语义

NLME-PAIR.response

Status,

DstPANId,

DstIEEEAddr,

RecAppCapabilities,

RecDevTypeList,

RecProfileIdList,

ProvPairingRef,

3.2产生时刻

由应用层产生,发送给他的NLME层。

用于响应NLME-PAIR.indication.

3.3接收端影响

收到该原语,如果Status参数等于SUCCESS,NLME通过指定该配对连接源端的网络地址,根据ProvPairingRef参数更新配对表中的实体。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 金融投资

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1