logo资料库

zigbee的MAC层协议规范.doc

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
MAC 层处于 NWK 层和 PHY 层之间。其中非信标(non-beacon-enabled)、非 安全(non-security-enabled)的 ZigBee 协议栈主要功能如下: ①处理 MPDU 数据: ②利用 CSMA-CA 机制共享物理信道; ③数据应答重传机制; ④ED, ACTIVE 和 ORPHAN 三种扫描机制; 3. 2. 1 MPDU 数据单元处理(通用 MAC 层帧结构,即 MAC 层协议数据单元) MAC 层负责分解接收到的 MPDU 包,并对来自 NWK 层数据包进行 MPDU 封装。 MAC 层含数据帧、命令帧、信标帧、应答帧,本小节主要讲述帧格式及不同类型帧的格式 特点。 (MHR)MAC 帧头,包括帧控制、序列号和地址信息 (MAC payload)可变长度的 MAC 载荷,不同的帧类型有不同的载荷。确认帧没有荷载 (MFR)MAC 帧尾,包括帧校验序列(FCS) ①Frame type 定义了四种帧类型:信标帧、数据帧、ACK 帧、命令帧; ②Frame pending 定义发送端是否还有数据给接收端; ③Ack request 定义是否要求接收端应答(反馈 ACK 帧); ④IntraPAN 定义是否省略发送端设备网络号(PAN ID);(指定将该 MAC 帧是在内部个 域网传输,还是传输到另外一个个域网。) ⑤Dest addressing mode(接收端设备地址模式)、Source addressing mode (发送端设备地址模式)定义以下三种模式之一: 不包含地址; 16 位网络地址; 64 位 IEEE 地址; ⑥源地址模式子域与目的地址模式子域一样,为 2 个比特位。若该子域为 0,且在帧 类型子域中未指明该帧为确认帧,目的地址模式不为 0,则意味着产生该帧的协调器标识符 为目的 PAN 标识符。 四种 MAC 帧格式说明
MAC 帧含数据帧、信标帧、ACK 帧、命令帧四种帧类型。 数据帧的帧数据单元对应于 NWK 层帧 NPDU (NWK Protocol Data Unit); 信标帧、ACK 帧、命令帧均由 MAC 层处理或构造; 信标帧:具有父节点功能的节点通过发送信标帧,告知自己的相关信息,如 是否允许新节点加入。 ACK 帧:只含帧头中的帧控制域和序列号域,及帧尾的 FCS 校验码域,由接 收方反馈给发送方,告知某条帧正确接收。 命令帧:MAC 层的命令帧,其负荷域由命令 ID 和具体的命令参数组成。
服务原语是由一些具体参数组成的,这些参数用来传递业务行为所需要的信息。 原语有四个基本类型: 请求原语:当一个业务初始化时,从 N-user 向 N-layer 发送请求原语。 指示原语:从 N-layer 向 N-user 发送,指示是否有对 N-user 有意义的内部 N-layer 事 件。这个事件可能是与远端设备逻辑相关的,也有可能是由另一个内部 N-layer 事件 引发的。 响应原语:从 N-user 向 N-layer 发送,完成由指示原语调用的进程。 确认原语:从 N-layer 向 N-user 发送,传递一个或多个设备请求的结果信息。 MAC 层数据传输机制 MAC 层使用 CSMA-CA (carrier sense multiple access with collision avoidance)机制和应答重传机制分别实现了信道的共享及数据帧的可靠传输。 (1) CSMA-CA 传输机制 基于 IEEE 802. 15. 4 标准,MAC 子层发送数据帧和命令帧须使用 CSMA-CA 机 制访问信道,以减少由于帧发送冲突而带来的不必要的能量损耗。CSMA-CA 包括 载波检测机制和随机退避规则,即等待一段随机时间,随后通过检测物理信道能 量来判断当前信道是否空闲,若当前信道空闲,则占用信道并立即发送帧,否则, 再次重复上述过程。 Nb 是在执行当前发送任务时,执行 CSMA-CA 算法所需要进行退避的次数;在每次执行新 的发送之前,这个值初始化为 0.
Be 是退避指数,与设备在试图访问信道之前,需要等待的退避周期有关 (2) 应答重传机制 为了保证传输的可靠性,工标准在层使用了帧应答重传机制"发送端发送数据帧或命令帧 时,可以通过置位帧控制域的子域,实现层的帧应答重传" 当确认请求子域为 0 时,不需要接收端反馈帧,发送端默认接收端正确收到数据帧,通讯流程 如图所示的消息时序图,描述了发送设备发送一个不需要确认的数据帧给接收设备的情况。 在这种情况下,发送设备所发送数据帧的确认请求子域 AR 等于 0 当确认请求子域为时 1,(接收设备将对发送帧进行确认,如果目标接收设备正确地接收到 该帧,将产生并发送一个确认帧,在该确认帧中的数据顺序标号(DSN)与所确认的数据帧 或 MAC 命令帧相同。)发送端将帧发送出去后,开启定时器,等待接收来自接收端的应答帧帧 "接收端接收到该帧后,立即向发送端反馈应答帧,并将该接收帧传给上层"若发送端在定时器 超时之前接收到该应答帧,确认其序列号与原帧相同后,停止该定时器计数,并向上层反馈一
成功确认"否则,若发送端没有在有效时间内接收到正确的帧,可尝试最多次重传,若都以失败 告终,则认为此次通讯失败,并向上层发送失败确认"成功的有应答数据传输如图所示" 图中的消息时序图,描述了在具有确认的情况下,从发送设备向设备发送一个数据帧的流 程图,这是发送设备将发送数据帧的确认请求(AR)子域设置为 1,向接收设备表明要求 得到确认。 MAC 层向上层提供了三种扫描机制: ①ED (Energy Detect)扫描:用于 PAN 建立前选择合适信道的信道; ②Active 扫描:用于获取物理通讯范围内所有父节点信标帧的信道; ③Orphan 扫描:用于与父节点失去联系的节点重新建立关联; (1) ED 扫描(能量检测扫描使完整功能设备能获得每一个所扫描信道的峰值能量,未来 的 PAN 协调器可以利用这个信息,在选择使用信道之后,才能启动一个新的 PAN。在能量 检测扫描期间,MAC 层丢弃所有物理层数据服务传来的帧信息。) ED 信道扫描,即对目标信道中接收信号的功率强度测量,以得出指定信道 现存网络的活跃程度。NWK 层使用 MLME-SCAN. request 原语向 MAC 层发起扫描请 求,MAC 层接收到该原语,并确认其扫描类型为 ED 扫描后,根据原语所提供的 phyChannelsSupported 这一通道列表属性值,对所有指定的通道进行逐一扫描。 每个信道的扫描,如图 3. 4 所示,先设置信道号,然后对该信道进行多次 ED 坝}J 试,直到耗尽最长时间 aBaseSuperframeDuration *(2n+1) MLME-SCAN. request 原语中 ScanDuration),然后将此次所有测试的最大 ED 值记 录下来,作为该信道的 ED 测量值。如此,一个信道测量完毕,随后切换到下一 信道进行新一轮的 ED 测试。 ( n 是
待 phyChannelsSupported 中的所有信道全部测试完毕,MAC 层向上层反馈 一 MLME-SCAN. confirm 原语,告知此次 ED 扫描状态结果。 (2) Active 扫描(主动信道扫描,完整功能设备使用主动扫描,对于在它的个域工作范围 (POS)内任何协调器发射的信标帧进行锁定。在启动一个新的 PAN 或者设备在接入之前, 未来的 PAN 协调器或者设备可以主动扫描,选择 PAN 标识符。主动扫描期间,MAC 层将 丢弃所有物理层数据服务发来的非信标帧信息) Active 信道扫描使得设备获取在其物理通讯范围内所有潜在父节点的信标 帧。主要用于起动网络时避免 PANID 冲突,及设备加入网络选择一最佳父节点加 入。 Active 信道扫描过程,即节点向外发送一信标请求(beacon request)命 令帧,周边的所有具有父节点功能的节点听到该命令帧后,各自组建一信标帧反 馈给该节点,该节点等待最多 aBaseSuperframeDuration *(2}十 1)时间,n 为 scanDuration。在这段等待时间内,设备只处理信标帧,且将信标帧上的相关信 息记录到网络描述符列表中(PAN Descriptor List)中,同时还写入邻接表中。 (3) Orphan 扫描(孤立信道扫描,鼓励扫描允许设备在失去同步以后重新锁定协调器。 在孤立扫描期间,MAC 层丢弃所有物理层数据服务传说的非协调器重新链接的 MAC 命令 帧的帧。) 当节点与自己的父节点失去联系,它就需要使用 orphan 扫描尝试重新建立 与原关联父节点的联系。在 orphan 扫描期间,该节点 MAC 层只处理接收到的 coordinator realignment 命令帧。 Orphan 信道扫描过程,节点首先发送。rphan notification 命令帧,只有 原父节点听到该帧后才会反馈 coordinator realignment 命令帧,这一过程只允 许在 aResponseWaitTime 时间内完成。一般情况下,若 orphan 扫描没有成功, 则该设备可重新尝试。rphan 扫描或是寻找新的父节点加入。
分享到:
收藏