IEEE 802.15.4协议——时序、帧间间隔 IFS及CSMA/CA 算法

5.1.1.2 接收超帧和发送超帧的时序

  在信标模式的 PAN 网络中,普通的协调器(非 PAN 协调器)会维护两个超帧时序:接收到的从其它协调器发送的超帧;自己发出的超帧。两者的相对时序由原语 MLME-START.request (参考 5.1.2.4 节)中的参数 StartTime 指定。图 9 描述了普通协调器发出和收到的超帧之间的关系。

图 9. 接收超帧和发送超帧的关系

图 9. 接收超帧和发送超帧的关系

如果一个设备从它的协调器接收到一个协调器重组命令帧,且该帧的内容表示协调器将使用一个新的超帧配置,那么该设备必须确保它自己发出的信标不要把协调器发出的信标覆盖了。如果新的超帧配置导致接收到的超帧和发送出去的超帧被相互覆盖了,那么设备应当立即停止发送信标,并通过原语 MLME-SYNC-LOSS.indication (参考 6.2.13.2 节)向上层发出通知,且将该原语的参数 LossReason 设置为 SUPERFRAME_OVERLAP。

  在一个 PAN 网络中,信标命令和超帧命令是相同的。所有的设备只在超帧的活跃部分跟 PAN 互相作用。

5.1.1.3 帧间间隔 IFS

  MAC 子层需要一定的时间来处理由物理层接收到的数据。因此,如果一个设备向连续发送两帧数据,则在这两帧之间必须留有一个帧间间隔(IFS)。如果前一帧需要确认,则确认帧和后一帧之间也必须要有一个帧间间隔。帧间间隔的长度依赖于被传输的帧的长度。如果帧(即 MPDU)的长度小于等于 aMaxSIFSFrameSize,则帧间间隔为持续时间为 macSIFSPeriod 的短帧间间隔(SIFS);如果帧(即 MPDU)的长度大于 aMaxSIFSFrameSize,则帧间间隔为持续时间为 macLIFSPeriod 的长帧间间隔(LIFS)。如图 10 所示。

图 10. 帧间间隔

图 10. 帧间间隔

 在 CAP 中, CSMA-CA 算法应该将这些传输的具体要求考虑在内。确认帧(tack)的传输时序在 5.1.6.3 节和 5.1.6.4.2 节中定义。

本节专有名词

简写 英文全称 中文全称
IFS interframe spacing 帧间间隔

 

5.1.1.4 CSMA/CA 算法

  在竞争接入时期内,设备想要传输数据帧或者 MAC 命令帧(确认帧后面可以被快速传输的帧除外,参考 5.1.6.3 的时序需求),需要使用 CSMA/CA 算法访问信道。确认帧、免竞争阶段的数据帧、信标模式 PAN 网络中的信标帧都不需要使用 CSMA/CA 算法。

  在一个 PAN 网络中,MAC 子层在竞争接入时期访问信道有两种 CSMA/CA 算法:时隙版 CSMA/CA 和非时隙版 CSMA/CA。如果 PAN 中使用周期性信标,则采用时序版 CSMA/CA 算法;相反,如果 PAN 中没有使用周期性信标或者周期性信标不能被定位,则采用非时隙版的 CSMA/CA 算法。这两种算法都使用一个叫做退避周期的时间单位实现。一个退避周期等于 aUnitBackoffPeriod。

  在时隙版 CSMA/CA 中,退避周期的边界应该与 PAN 协调器的超帧时隙边界对齐,即退避时间的开始时间与信标帧的开始时间对齐。在时隙版 CSMA/CA 中,MAC 子层必须确保物理层在退避时间的起始边界开始传输数据。在非时隙版 CSMA/CA 中,设备的退避周期与该 PAN 网络中的其它设备的退避周期不相关。

  设备在进行传输时会维护三个变量:NB(Number of Backoff),CW(Content Window)和 BE(BAckoff Exponent)。NB 表示的是当前退避的次数,首次调用 CSMA/CA 机制发送报文时,该值会初始化为 0,随着信道接入的失败,该值会增 1 后重试接入信道发送报文。在超过系统预定义的门限 macMaxCSMABackoffs 时, CSMA/CA 机制宣告报文发送失败并丢弃此报文。CW 定义的是竞争窗口大小,表示 CSMA/CA 机制要求接入信道发送报文前需要信道连续空闲的检测次数。CW 初始化为 2,当信道忙闲检测为忙时,CW 将被重新初始化为2,当信道忙闲检测为闲时,该值自减 1, 直至为 0 时,开始报文发送。CW 只用于时隙版 CSMA/CA 算法。BE 定义的是退避指数,表征着节点竞争信道时随机退避范围的上限值。在非时隙系统、或者 BLE 字段被置为 0 的时隙系统中,该值被初始化为 2 和 macMinBE 中的最小值。如果 macMinBE 被设为 0,CSMA/CA 算法在进行第一次迭代时就不使用冲突避免。

  尽管在 CSMA/CA 算法进行信道忙闲检测时, 设备的接收器是打开的, 但是设备会丢弃这段时间内接收的所有帧。

  图 11 描述了 CSMA/CA 算法的流程。如果该算法的最终结果是“Success”,那么 MAC 层就可以开始传输帧。否则,该算法认为访问信道失败。

图 11. CSMA/CA 算法

图 11. CSMA/CA 算法

原文链接: https://www.gitbook.com/book/tidyjiang8/ieee-802-15-4/details