(1) 请求关联设备的上一层向MAC层发送命令
(2) MAC层向协调器发送关联请求命令
(3) 协调器向请求设备MAC层发送关联请求ACK
(4) 请求设备在等待aResponseWaitTime后就向协调器发送数据请求
(5) 协调器在收到数据请求后向请求设备发送ACK
(6) 协调器继续给请求设备发送关联响应命令
(7) 请求设备收到关联响应命令向协调器发送ACK
(8) 结束
(1) A(H)发接关联通知的上层告诉A(L) 即MLME
(2) A(L) MLME 给B(L)发送解关联通知
(3) B(L)接收到接关联通知后给A(L)发送确认
(4) B(L)给上层B(H)发送解关联指示
(5) A(L)向上层A(H)发送解关联证实原语
(6) 结束
(1) 孤立设备A向协调器B发送孤立通知命令
(2) B 向上层发送孤立指示原语
(3) B上层向B下层发送孤立响应命令
(4) B下层向孤立设备A发送重排列命令
(5) B下层向上层发送通信状态指示
(6) 结束
(1) 复位原语有上层产生,向MLME申请对MAC层作复位操作
(2) 一种方法为把MAC层所有属性设为缺省值
(3) 一种方法为把MAC层所有属性保持不变
(4) 收到复位请求原语后,MLME调用物理层管理服务原语,把收发信机设置为TRX_OFF状态。收到收发信机设置确认原语后,MAC层恢复到初始化条件。
(5) 如果收到收发信机状态设置成功的证实原语,MLME向上层发出状态为SUCCESS的复位证实原语。否则复位证实原语的状态为关闭收发信机始发。
定义设备如何在指定的时间段内使能和关闭。
暂时设备不支持
MLME通过通信状态指示原语和上层交互传输状态信息
由上层发送给MLME,请求把指定的PIB属性设置为指定的值。设置成功后,MLME就向上层发送属性设置状态
定义一个FFD如何请求启用新的超帧配置来实现PAN初始化,信标产生,设备发现,停止发送信标等。更新超帧配置原语对RFD是可选的。
更新超帧配置请求原语的语法如下:
Request(PANId,LogicalChannel,BeaconOrder,SuperframeOrder,PANCoordinator,BatteryLifeExtension,CoordRealignment,SecurityEable)
其中参数BeaconOrder(BO) 跟发送信标的频率有关,BO为0-14时,信标间隔(BI)为(aBaseSuperframeDuration*(2 的BO次方))个符号周期,取值为15时,协调器不发送信标,超帧结构不存在,SuperframeOrder参数无效;
同步原语定义设备和协调器获得同步的过程以及如何向上层报告失步信息。MLME的同步原语包括同步请求原语MLME-SYNC.request和失步指示原语MLME-SYNC-LOSS.indication各种类型设备都应该支持这两种同步原语。
同步请求原语MLME-SYNC.request的语法为:MLME-SYNC.request(LogicalChannel,TrackBeacon) 参数TrackBeacon是布尔量,取TRUE表示MLME将同步到下一个信标并跟踪后续的所有信标,取FALSE表示只同步到下一个信标。
同步请求原语由发送信标的PAN网中设备的上层产生并发送给MLME,以便设备和协调器同步。带信标的PAN中设备收到MLME-SYNC.request的原语后,MLME首先调用苏里层管理原语PLME-SET.requset把物理层属性phyCurrentChannel设置为LogicalChannel参数的值,然后时能接收机搜索当前网络中的信标。如果TrackBeacon参数为TRUE,MLME将跟踪信标,记在每个信标出现之前置接收机为使能状态,以便对信标进行处理,如果TrackBeacon参数为FALSE,MLME则定位下一个信标而不跟踪后续的信标帧。
如果接收到同步请求原语时,MLME正在跟踪信标帧,MLME并不丢弃该原语,而是当做一个新的同步请求。如果在初始捕获或跟踪过程中不能定位信标,则MLME上层发出失步原因为BEACON_LOST的失步指示原语。
失步指示原语在设备与协调器失步时由MLME产生并向上层报告失步原因。失步指示原语也可以由PAN协调器的MLME产生,向其上层报告发送了PAN标识码冲突(PAN_ID_CONFLICT)
如果设备检测到PAN标识码冲突并告知协调器,设备MLME向上层发出失步原因为PAN_ID_CONFLICT的失步指示原语;同样地,PAN协调器在收到PAN ID冲突通知命令后,其MLME也向上层发出失步原因为PAN_ID_CONFLICT的失步指示原语。
如果设备没有执行孤立设备扫描而收到了管理协调器的重排列命令,MLME向上层发出失步原因为REALIGNMENT的失步指示原语。
在收到同步请求原语后,如果设备在连续aMaxLostBeacons个超帧周期内都没听到信标,MLME就向上层发出状态为失步原语为BEACON_LOST的失步指示原语。
设备同步流程。
(1) 第一种情况(I):AH向AL发送MLME-SYNC.request(TrackBeacon=FALSE)
(2) 协调器向AL发送信标帧(含数据指示)
(3) AL向协调器发送数据请求
(4) 第二种情况(II):AL向AL发送MLME-SYNC.request(TrackBeacon=TRUE)
(5) AL定时器设定为下一个信标出现之前
(6) 协调器向AL发送信标帧
上面步骤为设备和协调器同步的流程。其中I是同步单个信标的情况,设备找到信标后判断协调器中是否有需要传送给自己的数据,如果有,就请求获取数据。
II是跟踪信标的情况,设备在找到一个信标后,设置定时器刚好技术到下一个信标预期出现的时间之前以跟踪信标,在收到信标后,设备同样检查协调器上是否要递交给自己的数据。
定义设备向协调器请求数据的过程。各种类型设备都应该支持轮询原语。轮询原语包括轮询请求和轮询证实。
轮询请求原语由设备上层发送给MLME,用以向协调器请求数据。语法为
MLME-POLL.request(CoordAddrMode,CoordPANId,CoordAddress,SecurityEnable)
接收到MLME-POLL,request原语,MLME产生并发送一个数据请求命令。如果是向PAN协调器请求数据,则数据请求命令中不含任何目的地址信息;否则数据请求命令携带参数CoordPANId和CoordAddress中的目的地址信息。
如果CSMA算法失败而不能发送数据请求命令,MLME就向上层发出状态为CHANNEL_ACCESS_FAILURE的轮询证实原语MLME-POLL.confirm
设备向协调器请求数据流程步骤:
I
(1) AH 向AL发送MLME-POLL.request
(2) AL向协调器发送数据请求
(3) 协调器向AL发送ACK(无数据)
(4) AL向AH发送MLME-POLL.confirm
II
(5) AH 向AL发送MLME-POLL.request
(6) AL向协调器发送数据请求
(7) 协调器向AL发送ACK(有数据)
(8) 协调器向AL发送数据帧
(9) AL向协调器发送ACK
(10) AL向AH发送MLME-POLL.confirm
功率受限的设备可能要求由设备来传输事务而不是协调器。换句话说,要么当协调器中有数据传输等待设备接收时就在信标中指示。要么需要设备自身轮询协调器以探测是否有数据要接收。这两种方式称作“间接传输”;
当协调器收到数据请求原语或收到来自MLME的发送MAC命令请求,如关联响应原语,就开始处理接收间接传输请求的事务,事务处理完成后,MAC层要向其高层指示一个状态值,如果是请求原语启动的间接传输,则相应的证实原语用来传递状态信息,相反,如果是相应原语启动的间接传输,则用通信状态指示原语MLME-COMM-STATUS.indication来传递状态信息。
包含在间接传输请求中的信息构成一个事物,协调器至少能够存储一个事物。当接收到间接传输请求时,如果协调器没有足够的空间来存储事物,则MAC层向上层发出状态为TRANSACTION-OVERFLOW(事务溢出)的MLME-COMM-STATUS.indication原语。
如果协调器能够存储多个事物,则同一个设备的多个事物应该按照他们到达MAC层先后顺序发送,每发送一个事物,如果列表中还有同一个色还不的其他事物,则MAC层置待处理帧子域为1,表示协调器中还有数据等待该设备接收。
每个事物在协调器中驻留的时间最多为macTransactionPersistenceTime。如果事务在这个时间内没有被响应的设备取走,则事务信息将被废弃,并且MAC层向其上层发出状态为TRANSACTION_EXPIRED(事务过期)的MLME-COMM-STATUS.indication原语
如果协调器发送信标。它就把每个事务关联的地址存放在信标帧的地址列表字段中,把总的地址数存放在待处理地址配置字段中。如果协调器能够存储7个以上的事务,则它以先到先服务的原则在信标中指示这些事务,以保证信标帧地址列表最多只有7个地址。对要求GTS的事务,PAN协调器不应该把它的地址加入信标帧地址列表中,而是在分配给相应设备的GTS上传输这些事务。
在支持信标的PAN中。当设备接收到的信标帧的地址列表中有该设备的地址时,设备将向协调器索取数据,在不支持信标的PAN中,当接收到轮询请求原语时,设备就尝试向协调器索取数据。
事务处理完成后,从协调器存储空间中删除事务相关信息,并向MAC上层报告数据传输的结果。如果事务要求确认但还没收到确认,则MAC层指示状态为NO_ACK;如果事务传输成功,则MAC层指示状态为SUCCESS;