Zigbee中的GTS-01

GTS的分配和管理


      保证时隙(GTS)允许设备独享超帧中的部分时隙,作为专用信道使用。GTS是由PAN的协调器负责分配,只能用于协调器和设备之间的通信。一个GTS可占用一个或多个超帧时隙,只要超帧结构中有足够的时间资源,PAN协调器最多可以同时分配7个GTS。


      设备使用GTS遵循先分配后使用的原则。PAN协调器根据设备的GTS请求以及当前超帧的容量来决定是否分配GTS给设备。PAN协调器分配GTS遵循先到先服务的原则,所有GTS都连续排列在超帧的末端,跟随在CAP之后,每个GTS不再使用时就被撤销,PAN协调器可以随时撤销一个GTS,申请使用GTS的设备也可以撤销GTS,分配了GTS的设备也可以工作再CAP,在GTS发送的数据帧只能使用短地址。



GTS的管理只能有协调器来负责,为了方便管理GTS,PAN协调器应能够存储管理7个GTS所必须信息,这些信息包括每个GTS的开始时隙,长度,方向和关联设备的地址。


GTS的方向是发送和接收,它的定义是相对于GTS管理设备发送数据流的方向而言的。每个设备可以申请一个发送时隙或一个接收时隙,所以用设备地址和方向就可以唯一确定一个GTS,当设备得到一个GTS时,就保存下它的开始时隙,长度和方向信息,如果设备分配到了一个接收GTS,则在整个GTS内设备都开启接收机,如果设备废品到了一个发送GTS,则在整个GTS内PAN协调器都开启接收机,如果设备在接收GTS内收到一个要确认的数据帧,则设备以正常方式发送确认帧;同样,设备也可以再发送GTS内接收确认帧。


  只有跟踪信标的设备才能请求和使用GTS,上层向MLME发出TrackBeacon参数为TRUE的同步请求原语MLME-SYNC.request来指令设备跟踪信标,如果设备与PAN协调器之间失去同步,则它分到的GTS都丢失,RFD可选支持GTS使用。



(1) CAP维护


PAN 协调器应保证CAP长度至少为aMinCAPLength 如果CAP不满足最小长度,就要采取防范措施,唯一例外是,当执行GTS维护需要临时增加信标帧长度时,允许CAP的长度小于aMinCAPlength;如果必须采取预防措施保证CAP长度时,则根据需要可以采用下面的一种或多种方法。

1 限制信标帧地址列表中的地址的个数

2 信标中不带有有效载荷

3 撤销一个或多个GTS


 (2)GTS分配


设备使用MLME-GTS.reuqest原语请求分配一个新的GTS,原语中GTS特征集根据应用要求来设定。收到GTS请求原语后,MLME向PAN协调器发送GTS请求命令。GTS请求命令帧中GTS特征字段的GTS类型子域应设为1(表示分配GTS),长度和方向子域按照应用要求设定。正确接收GTS请求命令后。PAN协调器返回一个ACK帧。


PAN协调器收到要求分配GTS请求命令后,首先根据CAP的剩余长度和请求的GTS长度 判断当前超帧是否有足够的容量,只要PAN协调器有足够的可用带宽,它就以先到先服务的原则分配多个GTS,PAN协调器要在aGTSDescPersistenceTime个超帧内做出能否分配GTS的决定。


设备收到GTS请求命令确认后,继续跟踪信标。最多等待aGTSDescPersistenceTime个超帧,如果在这段时间内信标中没有出现该设备的GTS描述符,设备的MLME 就通知上层请求GTS失败。这个通知由MLME发送状态为NO_ACK的证实原语MLME-GTS.confirm来实现。


PAN协调器在判断是否有足够的容量满足GTS请求的同时产生一个GTS描述符,描述符中包含GTS的请求配置和请求设备的短地址。如果GTS分配成功,PAN协调器把GTS描述符中的开始时隙设置为GTS开始的超帧时隙,把长度设为GTS的长度。此外,PAN协调器还使用MLME-GTS.indication只是原语把新的GTS的特征告诉上层。如果当前超帧没有足够的容量用来分配请求的GTS,则PAN协调器把GTS描述符的开始时隙设置为0,把长度设置为当前可分配的最大GTS长度,然后PAN协调器把产生的GTS描述符放入信标中,跟心信标帧配置字段。另外PAN协调器还要根据分配GTS的结果,更新信标帧的超帧配置字段中的CAP最后时隙子域,GTS描述符在信标中驻留aGTSDescPersistenceTime个超帧,然后自动删除,当GTS描述符要临时增加信标帧的长度时,PAN协调器允许超帧中的CAP长度小于aMinCAPLength。


 当接收的信标中包含有macShortAddress对应GTS描述符时,设备就对GTS描述符进行处理,设备的MLME也发送MLME-GTS.confirm向上层报告GTS分配请求的结果,如果GTS描述符的开始时隙大于0,则证实原语的状态为SUCCESS,如果GTS描述符的开始时隙等于0或者程度与请求的GTS程度不一致,则证实原语为DENIED.


 (3)GTS使用


当设备MAC层收到数据请求源于MCPS-DATA.request的TxOptions参数指示为GTS发送时,设备首先要判断是否有有效的GTS,如果设备是PAN协调器,则它要判断数据发送请求的目的地址对应的设备是否有接收GTS,如果设备不是PAN协调器,则他要判断自己是否有发送的GTS,如果存在则为有效的GTS,则MAC在GTS内发送数据,如果请求事务能够在GTS结束前完成,则MAC马上发送MPDU,不使用CSMA-CA;如果请求事务不能在当前GTS结束前完成,则MAC层推迟到下一个超帧相同的GTS发送数据。


如果设备有接收GTS,则设备MAC层要保证在GTS期间开启接收机,PAN协调器将在GTS内发送所有帧,帧控制字段中确认请求子域为1.


当PAN协调器MAC层收到数据请求原语MCPS-DATA.request的TxOptions参数指示为GTS发送时,它等到目的接收设备的接收GTS开始后才开始发送数据,这种要求GTS发送的设备的地址不要添加到信标帧的地址列表中,PAN协调器MAC层必须确保它的接收机在每个设备的发送GTS期间都处于开启状态。


每个设备在GTS内开始发送之前,应确保数据发送,确认,IFS都能够在GTS结束前完成,如果错过了超帧开始的信标帧,则它需要捕获下一个超帧信标才能使用GTS。如果设备因丢失信标而失步,那么它就认为分配给它的信标被撤销了。

 

(4)GTS撤销

 

设备请求撤销现存的GTS也是使用MLME-GTS.request原语。设备就不再使用将要撤销的GTS,并且复位有关该GTS的特征信息,设备请求撤销现存的GTS时,MLME向PAN协调器发送GTS请求命令。GTS请求命令帧中GTS特征字段的GTS类型子域应设为0(表示撤销GTS),长度和方向子域按照要撤销的GTS的特征设定。PAN协调器正确接收到撤销命令后就向请求设备发送一个确认帧;设备接收到确认帧后,MLME就用用MLME-GTS.confirm原语把撤销的GTS告知其上层。如果PAN协调器不能争取接收到撤销GTS请求命令,则需要按照下面“GTS空闲判断”中介绍的方法,来判断设备是否停止使用GTS.

 

PAN协调器接收到撤销GTS的请求命令后,就着手撤销GTS.如果没有一个现存的GTS与撤销GTS的请求命令中的GTS特征相符,则PAN协调器忽略GTS请求命令;如果有一个GTS与请求命令中要撤销的GTS特征相符,则PAN协调器的MLME撤销该GTS,并把GTS改变结果通知给上层。撤销GTS后,超帧中CAP长度增加,所以PAN协调器也要相应地更新信标帧中超帧配置字段的CAP最后时隙子域的值。设备请求撤销GTS时,不需要把GTS描述符添加到信标中。

 

当撤销GTS的过程中由PAN协调器启动时,PAN协调器首先使用GTS指示原语MLME-GTS.indication把要撤销的GTS通知给MAC上层,然后撤销指定的GTS并把该GTS描述符添加到信标中,撤销的GTS描述符的开始时隙值为0,该描述符在信标中驻留aGTSDescPersistenceTime个超帧,当GTS描述符要临时增加信标帧长度时,PAN协调器允许超帧中的CAP长度小于aMinCAPLength。

 

当设备接收到信标中含有macShortAddree对应的GTS描述符,并且描述符的开始时隙等于0时,设备立即停止使用GTS,并使用MLME-GTS.indication原语把撤销的GTS通知给设备的MAC上层。

 

 

 

 

 

你可能感兴趣的:(Zigbee中的GTS-01)