首页 > 其他分享 >6. MAC功能描述(I)

6. MAC功能描述(I)

时间:2024-08-22 20:38:32浏览次数:8  
标签:功能 信标 超帧 CAP 信道 MAC 设备 退避 描述

6. MAC功能描述

6.1. 设备类型和约定

6.1.1. 设备类型

有两种设备类型:

  • 全功能设备FFD(full-function device)可以作为个人区域网PAN(personal area network)协调器、协调器、设备、RFD-TX设备、RFD-RX设备或其任何组合来操作。
    5.8. - 精简功能设备RFD(reduced-function device)不得作为PAN协调器或协调器运行,但可以作为设备、RFD-TX设备或RFD-RX设备运行。

6.1.2. 约定

由MAC子层或PHY层指定和维护的常量和PAN信息库PIB(PAN information base)属性以斜体书写在文本中。

  • 常数的通用前缀为“a”,例如aBaseSlotDuration,MAC常数列于表8-91,而PHY常数列于表11-1。
  • MAC PIB属性的通用前缀为“MAC”,例如macExtendedAddress,如表8-94所示,而安全属性如表9-8所示。
  • PHY PIB属性的通用前缀为 “phy”,例如phyCurrentChannel,如表11-2所示。

MAC层(媒体接入控制层)的一些定时参数确实是以PHY(物理层)符号为单位来定义的。对于具有多个符号周期的PHY,MAC参数所使用的持续时间会在相应的PHY条款中明确。

广播短地址被定义为0xffff。广播PAN ID被定义为0xffff。术语广播地址是指广播短地址或64位广播MAC地址,在IEEE Std 802-2014中定义为0xffff ffff ffff ffff

确认帧和计时器不会显示在消息序列图中,除非它们影响该过程的行为。

6.2. 信道访问(Channel access)

6.2.1. 超帧(Superframe structure)

6.2.1.1. General

Superframe是无线通信网络中由网络协调器定义并管理的一种时间结构,用于限定设备对信道的访问时间,实现设备间的有序通信和节能管理。 Superframe结构通常由以下几个部分组成:

  1. 信标帧(Beacon Frame)

    • 信标帧是每个Superframe的开始,由网络协调器(通常是主协调器)发送。
    • 信标帧中包含了Superframe的持续时间、对这段时间的分配信息等重要参数。
    • 信标帧的主要作用是使从设备与主协调器同步,识别PAN(个人局域网),并了解Superframe的结构。
  2. 活跃期(Active Period)

    • 活跃期是Superframe中设备可以进行通信的时间段。
    • 它被进一步划分为信标帧发送时段(Beacon)、竞争访问时段(CAP, Contention access period)和非竞争访问时段(CFP, Contention-free period)。
    • 在CAP期间,设备使用CSMA-CA(带冲突避免的载波侦听多路访问)机制竞争信道使用权。6. - 在CFP期间,协调器根据设备申请为它们分配保护时隙(GTS),设备在GTS内可以直接进行数据传输,无需竞争信道。
  3. 非活跃期(Inactive Period):6.1. - 非活跃期是Superframe中设备不进行通信的时间段。

    • 在此期间,协调器和设备可以进入低功耗模式(如睡眠模式),以节省能量。
      6.1.1. 时隙划分
  • Superframe的活跃部分(由Beacon, CAP, CFP组成)通常被划分为多个(aNumSuperframeSlots)等长的时槽(Timeslot),持续时间为\(2^{macSuperframeOrder} × aBaseSlotDuration\);每个时槽的长度由协调器设定,并通过信标帧广播到整个网络。例如,在某些实现中,Superframe可能被划分为16个等长的时槽。

  • 信标应在时隙0开始时传输,不使用CSMA,CAP应在信标后立即开始。时隙0的开始被定义为信标PPDU的第一个符号被发送的点。CFP(如果存在)紧随CAP之后,并延伸到超帧的活动部分的末尾。任何分配的GTS应位于CFP内。

功能特点

  1. 时间同步与资源管理:6.1.2. - Superframe结构实现了设备间的时间同步,使得设备能够有序地访问信道,避免了通信冲突。

    • 通过为设备分配GTS,Superframe结构还实现了对信道资源的有效管理,提高了信道的利用率。
  2. 节能管理

    • 在非活跃期,设备可以进入低功耗模式,从而节省能量。
    • 通过合理安排Superframe的活跃期和非活跃期,可以实现网络的整体节能。
  3. 灵活性与可扩展性

    • Superframe结构允许根据实际需求调整活跃期和非活跃期的长度以及时槽的划分方式。
    • 这种灵活性使得Superframe结构能够适应不同规模和需求的无线通信网络。

文中提到的图6-1展示了一个超帧结构的示例,其中信标间隔(BI)是活跃期(SD)的两倍,CFP包含两个GTS。

image

信标帧和超帧参数6.2.

  • macBeaconOrder:决定了信标帧的传输间隔(BI, Beacon interval)。

    • \(BI = aBaseSuperframeDuration \times 2^{macBeaconOrder}\),其中 $0 \leq macBeaconOrder \leq 14$6.2.1.
    • macBeaconOrder为15时, 则超帧不应存在(macSuperframeOrder的值应被忽略),并且macRxOnWhenMiddle应定义在收发器不活动期间是否启用接收器; 协调器仅在收到信标请求命令时才传输信标帧,否则不得传输信标帧。
  • macSuperframeOrder:决定了超帧活跃期的长度(SD, superframe duration),其中包括信标帧。

    • \(SD = aBaseSuperframeDuration \times 2^{macSuperframeOrder}\),其中 \(0\leq macSuperframeOrder \leq macBeaconOrder \leq 14\)

    • macSuperframeOrder为15时,超帧在信标帧之后不会保持活跃。

PAN类型

  • beacon-enabled PANs:使用超帧结构,macBeaconOrdermacSuperframeOrder设置在0到14之间,包括0和14,并将macSuperframeOrder设置为在0和macBeaconOrder的值之间的值。

  • nonbeacon-enabled PANs:不使用超帧结构,macBeaconOrdermacSuperframeOrder均设置为15。此时,协调器不自动传输信标帧,除非收到信标请求命令; 除确认帧和任何在数据请求命令确认后快速传输的数据帧(如6.7.3所述)外,所有传输都应使用无时隙CSMA-CA机制来访问信道。此外,不允许使用GTS。

TMCTP模式下的超帧

  • 当作为TMCTP(可能是指某种特定类型的通信协议或模式)操作时,超帧还包括BOP(可能是指某种特定的操作期或阶段,如6.2.1.4所述),其结构在6.2.8中描述。
6.2.1.2. 竞争访问时段(CAP,Contention access period)

在无线网络的通信协议中,CAP(竞争访问期)是一个关键的时间段,用于设备在发送数据之前竞争访问无线信道。根据描述,CAP的运作规则和一些关键点可以总结如下:

  1. 开始与结束时间:CAP紧接在信标(Beacon)之后开始,并在下一个超帧(superframe)的CFP(竞争自由期)开始之前结束。如果CFP的长度为零,则CAP在超帧的活跃部分结束时完成。这意味着CAP的持续时间会根据CFP的长度动态调整。

  2. 最小长度:CAP的持续时间至少应达到aMinCapLength所规定的最小值,除非需要额外的空间来临时容纳由于执行GTS(保证时隙)维护而增加的Beacon帧长度(如7.3.1.5节所述)。这意味着CAP的长度会根据网络的具体需求动态变化。

  3. 访问机制:在CAP期间传输的所有帧(除了Ack帧和紧随Data Request命令确认后的任何Data帧,如6.7.3节所述)都应使用时隙CSMA-CA(载波侦听多路访问/冲突避免)机制来访问信道。这是一种确保多个设备在共享信道上高效且公平地传输数据的机制。

  4. 事务完整性:在CAP期间传输的设备应确保其事务(包括接收最小长度的确认)在一个帧间隔(IFS, interframe spacing)周期内完成,如6.2.4节所述,并且这个完成时间应在CAP结束之前。如果无法在CAP结束前完成事务,设备应推迟其传输,直到下一个超帧的CAP开始。

  5. 灵活性:CAP的长度和存在是灵活的,可以根据网络中的需求进行调整。例如,如果网络中的设备数量增加,或者需要传输更多数据,CAP可能会变长以容纳更多的数据传输。相反,如果网络负载较低,CAP可能会缩短以节省资源。

总的来说,CAP是无线网络中用于设备竞争访问信道以传输数据的重要机制。它通过动态调整长度和使用有效的访问机制来确保网络的高效和公平运行。

6.2.1.3. 无竞争时段(CFP,Contention-free period)

关于CFP(无竞争期)的行为和要求,我们可以进一步解释如下:

  1. CFP的开始与结束

    • CFP紧随CAP之后,在一个时隙边界上开始。这意味着,在CAP期间进行了信道竞争和必要的数据传输后,网络会无缝过渡到CFP。
    • CFP必须在超帧的活动部分结束之前完成。超帧的活动部分包括了CAP和CFP,而不包括用于网络同步的超帧前缀或超帧尾部。
  2. GTS(保证时隙)的分配

    • 如果PAN(个人区域网络)协调器分配了任何GTS,这些GTS将被放置在CFP内部,并且会占用连续的时隙。
    • GTS是一种保证通信设备可以在无竞争的情况下传输数据的机制,有助于提高通信的可靠性和效率。
  3. CFP的持续时间

    • CFP的持续时间会根据所有分配的GTS的总持续时间而变化。如果分配了更多的GTS,CFP就会相应地变长。
    • 这意味着,网络的性能和资源分配效率会在一定程度上受到GTS分配策略的影响。
  4. CFP内的传输机制

    • 在CFP期间,不允许使用CSMA-CA(载波侦听多路访问/冲突避免)机制来访问信道。这是因为CFP是为了保证设备可以在无竞争的环境中传输数据而设计的。
    • 在CFP中传输的设备必须确保其在GTS结束前完成所有传输,包括一个IFS(帧间间隔)周期,如6.2.4节所述。这是为了确保下一个GTS或CFP的剩余部分可以顺利开始,而不会受到前一次传输的干扰。

总的来说,CFP是IEEE 802.15.4网络中的一个重要特性,它通过提供无竞争的传输环境来提高网络的可靠性和效率。通过精心规划GTS的分配和CFP的持续时间,网络管理员可以优化网络的性能以满足特定应用的需求。

6.2.1.4. 仅信标发送时段(BOP,Beacon only period )

在IEEE 802.15.4无线个域网(WPAN)的超帧结构中,仅信标发送期(BOP, Beacon Only Period)是一个用于专门发送信标的时段。下面是对BOP行为的详细解释:

  1. BOP的开始

    • 如果存在CFP(无竞争期),BOP将在CFP之后的第一个时隙边界上开始。这意味着在CFP期间的所有数据传输完成后,网络将无缝过渡到BOP以进行信标传输。
    • 如果不存在CFP,BOP将在CAP(竞争访问期)之后的第一个时隙边界上开始。这确保了即使在没有CFP的情况下,网络也能及时进入BOP以发送信标。
    • 这意味着BOP的开始时间取决于CAP和CFP是否存在以及它们的持续时间。
  2. BOP的结束:6.2.1.1. - BOP必须在超帧的活动部分结束之前完成。 活动部分包括CAP(如果存在的话)、CFP(如果存在的话)和BOP本身。这确保了超帧的剩余部分(如超帧前缀和可能的超帧尾部)有足够的时间来执行其他必要的网络功能。

  3. BOP的持续时间

    • BOP的持续时间取决于DBS(dedicated beacon slot, 专用信标时隙)的数量。每个DBS都被分配给一个TMCTP-child PAN协调器(注意:TMCTP可能是特定应用或协议中的术语,而不是IEEE 802.15.4标准直接定义的)。
    • 所有DBS都位于BOP内部,并占用连续的时隙。因此,随着分配给不同协调器的DBS总长度的增加或减少,BOP也会相应地增长或缩短。
  4. BOP中的DBS分配

    • 在BOP中,可以根据TMCTP-child协调器要发送的信标长度,将一个或多个基本时隙分配给同一个DBS。这种灵活性允许网络根据需要调整信标传输的时间和资源,以适应不同的网络负载和条件。
  5. CSMA-CA在BOP中的使用

    • 在BOP中,不使用载波侦听多路访问/冲突避免(CSMA-CA)机制来发送信标。这是因为BOP是专门为信标传输设计的,需要保证信标的可靠和及时传输,以避免网络同步问题。
  6. 信标传输的完成时间

    • 在BOP中传输信标的TMCTP-child PAN协调器必须确保其在DBS结束前的一个帧间间隔(IFS)周期内完成信标传输。这是为了确保下一个DBS或BOP的剩余部分可以顺利开始,而不会受到前一次信标传输的干扰。IFS周期的具体定义和要求在IEEE 802.15.4标准的6.2.4节中描述。这一要求确保了信标传输的及时性和网络同步的稳定性。

综上所述,BOP是IEEE 802.15.4网络超帧结构中的一个重要部分,它专门用于信标的可靠和及时传输。通过合理的DBS分配和信标传输管理,网络可以维持良好的同步和通信效率。

6.2.2. 入栈和出栈超帧的定时(Incoming and outgoing superframe timing)

在支持信标的个域网(PAN)中,非PAN协调器(即子协调器或终端设备)需要维护两个超帧的定时: 一个是其协调器发送信标的超帧(称为“入站超帧”),另一个是它自己发送信标的超帧(称为“出站超帧”)。

  1. 入站超帧(Incoming Superframe)

    • 入站超帧是指由PAN协调器(PAN Coordinator)发送信标的超帧。对于网络中的非PAN协调器(如子协调器或终端设备),它们需要接收并同步到这个信标帧,以确定自己的通信时机。
    • 在入站超帧中,设备可以根据信标帧中的信息(如超帧描述字段、GTS分配字段等)来安排自己的数据传输或接收。
  2. 出站超帧(Outgoing Superframe)

    • 出站超帧是指由非PAN协调器(如子协调器或具有信标发送能力的终端设备)发送信标的超帧。这些设备在维护自己与PAN同步的同时,也通过发送信标来协调其下属设备或对等设备的通信。
    • 出站超帧的定时由MLME-START.request原语的StartTime参数定义,该参数指定了子协调器或终端设备开始其出站超帧的时间,相对于其接收到协调器信标的时间。

相对定时和同步

  • StartTime参数:StartTime参数是确保入站和出站超帧之间正确同步的关键。它允许非PAN协调器根据PAN协调器的信标来调整自己的信标发送时间,从而避免信标重叠和通信冲突。 该参数在IEEE 802.15.4标准的8.2.12.2和6.3.4节中有所描述。 图6-2展示了入站和出站超帧之间的关系。它帮助理解设备如何根据协调器的信标来调整自己的超帧定时。
  • 协调器重新对齐命令:如果PAN协调器决定更改超帧配置(如信标顺序或超帧顺序),它会通过发送Coordinator Realignment命令来通知网络中的设备。设备在接收到此命令后,需要相应地调整自己的超帧定时,以确保与新的超帧配置同步,并且确保自己的信标不会与协调器发送的信标重叠。
  • 同步丢失处理:如果由于某种原因(如新的超帧配置导致入站和出站超帧重叠),设备无法维持与PAN的同步,设备应立即停止发送自己的信标,并通过MLME-SYNC-LOSS.indication原语通知其上一层,如8.2.13.3节所述。此时,LossReason参数应设置为SUPERFRAME_OVERLAP,以指示超帧重叠导致的同步丢失,设备可能会进入低功耗模式或尝试重新与PAN建立同步。

信标顺序和超帧顺序

  • 在一个PAN中的所有超帧中,信标顺序(Beacon Order, BO)和超帧顺序(Superframe Order, SO)必须相等。这两个参数共同决定了超帧的长度和活跃期的持续时间。这意味着所有设备都按照相同的规则来安排它们的信标发送和接收。
  • 信标顺序决定了信标帧的发送周期(即信标间隔BI),而超帧顺序则决定了超帧中活跃期的长度(即超帧持续时间SD)。通过调整这两个参数,网络管理员可以根据实际需求来优化网络的通信效率和能耗。
  • 所有设备都只能在超帧的活跃部分与个域网进行交互。这是为了确保网络通信的同步和有序性,避免不同设备之间的信号冲突和数据丢失。
    6.2.1.3. 综上所述,入站和出站超帧的定时是IEEE 802.15.4网络中实现设备同步和有序通信的重要机制。通过精心设计的超帧结构和灵活的定时参数调整,网络可以高效地支持各种无线通信应用。

image

6.2.3. 多协议共存的增强信标帧定时(Enhanced Beacon frame timing for MPM procedure)

在无线个人区域网络(PAN)中,特别是在使用信标(Beacon)帧的环境中,增强型信标帧(Enhanced Beacon frame)的定时机制对于多协议共存(MPM)过程至关重要。这些信标帧不仅包含网络的基本信息,还可以包含额外的共存规范信息元素(Coexistence Specification IE),以帮助不同协议或设备在网络中共存。这里详细解释了如何根据给定的参数计算增强型信标帧的传输间隔和时间偏移。

  1. 增强型信标帧的传输间隔(EBI, Enhanced beacon interval)

    在信标使能的PAN中,协调器设备(SUN设备)除了发送常规周期性信标帧外,还会在固定间隔内发送包含共存规范信息元素(Coexistence Specification IE)的增强型信标帧。这个间隔由macEnhancedBeaconOrder参数定义,与增强型信标帧间隔(EBI)的关系如下:

    \[EBI = aBaseSuperframeDuration \times 2^{macEnhancedBeaconOrder} \]

    • aBaseSuperframeDuration:基础超帧持续时间,是网络中定义的一个固定时间单位。
    • macEnhancedBeaconOrder:一个整数,决定了增强型信标帧的发送频率。
      注意,macEnhancedBeaconOrder的值不应大于macBeaconOrder的值,后者定义了常规信标帧的发送频率。
  2. 周期性信标帧与增强型信标帧之间的时间偏移(OTD,Offset time duration)

    周期性信标帧传输开始与随后的增强型信标帧传输开始之间的时间偏移由macOffsetTimeSlot参数描述。这个时间偏移的持续时间(OTD)与macOffsetTimeSlot的关系如下:

    \[OTD = aBaseSlotDuration \times macOffsetTimeSlot \]

    • aBaseSlotDuration:基础时隙持续时间,是网络中定义的最小时间单位。
    • macOffsetTimeSlot:一个整数,指定了从周期性信标帧开始到增强型信标帧开始之间的时隙数。

    这个参数允许网络设计者调整增强型信标帧与周期性信标帧之间的相对位置。

  3. 非信标使能PAN中的增强型信标帧间隔(EBINBPAN
    6.2.2. 在非信标使能的PAN中,两个连续增强型信标帧之间的时间间隔由macNbPanEnhancedBeaconOrder参数定义。这个时间间隔(EBINBPAN)与macNbPanEnhancedBeaconOrder的关系如下:

    \[EBI_{NBPAN} = aBaseSlotDuration \times macNbPanEnhancedBeaconOrder \]

    • macNbPanEnhancedBeaconOrder:一个整数,决定了非信标使能PAN中增强型信标帧的发送频率。
      这里,时间分辨率仍然是aBaseSlotDuration

通过这些参数和公式,网络设计者可以精确地控制增强型信标帧的传输间隔和相对于周期性信标帧的时间偏移,从而优化网络性能和不同协议之间的共存。这对于需要高效利用无线资源并支持多种通信协议的环境尤为重要。

image

6.2.4. 帧间间隔(IFS,Inter-Frame spaces)

这段描述解释了无线通信系统中关于帧传输间隔的要求,特别是在IEEE 802.15.4标准或类似标准的背景下。这里详细解释一下各个概念和关系:

  1. IFS (Inter-Frame Space): 当一个设备连续发送两个帧时,这两个帧之间需要有一个最小的间隔时间,称为IFS。这个间隔是为了给介质访问控制(MAC)子层提供足够的时间来处理接收到的数据。

  2. 确认帧间间隔(AIFS, Acknowledgment Interframe Space):如果第一个帧传输需要确认(ACK),那么确认帧与第二个帧之间的间隔应当至少是AIFS。AIFS的目的是确保物理层(PHY)有足够的转换时间,即从发送模式(TX)转换到接收模式(RX)或从接收模式转换到发送模式。

    • AIFS用于需要确认的传输中,特别是在Ack帧和后续传输之间。
    • 尽管通常AIFS ≤ SIFS在逻辑上可能不常见(因为SIFS是最短的IFS),但这里的描述可能是为了强调AIFS在需要确认的场景中的特定用途,并且在实际应用中,AIFS可能会根据网络条件(如内容访问点CAP中的CSMA-CA算法)进行调整。
    • 重要的是要理解,在标准中,AIFS通常与DIFS(分布式帧间间隔)相关联,并且可能包括额外的退避时间。
  3. 短帧间间隔(SIFS, Short Interframe Space)

    • 当一个帧(MPDU,即MAC协议数据单元)的长度不超过aMaxSifsFrameSize时,其后应跟随一个至少为max(macSifsPeriod, aTurnaroundTime)的SIFS。
    • aTurnaroundTime是PHY层从发送(TX)转换到接收(RX)或从RX转换到TX所需的时间。
    • SIFS是最短的IFS类型,通常用于需要快速响应的场景,如发送确认帧(ACK)时。
  4. 长帧间间隔(LIFS, Long Interframe Space)

    • LIFS用于长度大于aMaxSifsFrameSize的帧之后,以提供更长的时间供设备处理数据或进行状态转换。6.2.3. - 这些帧后应跟随一个至少为max(macLifsPeriod, aTurnaroundTime)的LIFS周期。
    • 需要注意的是,在实际标准中,通常不会直接提到“LIFS”这个术语,而是使用更具体的IFS类型(如DIFS、EIFS等),这些类型在特定情况下(如分布式协调功能DCF)有定义。但在这里,我们可以将“LIFS”视为一个概念上的长IFS。

IFS 关系

为了确保PHY层有足够的时间进行状态转换,IFS之间的关系通常遵循以下规则:

\[AIFS \leq SIFS < LIFS \]

这意味着AIFS是最短的IFS,其次是SIFS,而LIFS是最长的IFS。

然而,需要注意的是,这个不等式在实际应用中可能需要根据具体的网络标准和协议进行调整。特别是,AIFS ≤ SIFS这部分在常规理解中可能不总是成立,因为AIFS通常会比SIFS长,以允许更多的退避时间和处理时间。

CSMA-CA 和 CAP:

  • CSMA-CA (Carrier Sense Multiple Access with Collision Avoidance): 这是一种介质访问控制算法,用于避免多个设备同时发送数据而导致的碰撞。在竞争访问期(CAP, Contention Access Period)内,CSMA-CA算法应当考虑到上述IFS的要求,以确保在发送帧之前信道是空闲的,并且帧之间的间隔符合IFS的规定。

  • Ack 帧的传输定时: Ack帧的传输定时应当遵循AIFS的要求,具体定义在文档的6.7.4.3节中。对于需要确认的传输,CSMA-CA算法还会处理Ack帧的发送和接收,以及相应的AIFS间隔。

IFS在MAC子层中起着至关重要的作用,它们确保了设备在发送和接收帧之间有足够的时间来处理数据和进行状态转换。通过精心设计的IFS间隔,网络可以更加高效地运行,并减少冲突和干扰的可能性。

image

6.2.5. 随机访问方法(Random access methods)

6.2.5.1. 载波侦听多路访问-冲突避免算法(CSMA-CA algorithm)

CSMA-CA 是一种介质访问控制协议,用于在共享无线介质上避免碰撞的发生。它确保只有当介质空闲时才发送数据,从而减少数据包的碰撞。

CSMA-CA(载波侦听多路访问/冲突避免)算法在IEEE 802.15.4标准中用于在无线个人区域网络(WPAN)中管理媒体访问控制(MAC)层的通信。这个算法在CAP(竞争访问期)内传输数据或MAC命令之前使用,除非在接收到数据请求命令( 6.7.3节定义)的确认后可以快速传输帧。CSMA-CA算法不用于在信标使能的PAN中传输信标帧、Imm-Ack帧、Enh-Ack帧或在CFP(竞争自由期)中传输的数据帧。

在无线个人区域网络(PAN)中,是否使用周期性信标(beacons)决定了MAC子层将采用哪种版本的CSMA-CA(载波侦听多路访问/冲突避免)算法来进行传输。这里的关键在于区分时隙化CSMA-CA和非时隙化CSMA-CA的使用场景。 这两种方式在设备如何管理其退避(backoff)周期以及这些周期如何与PAN协调器的超帧时隙边界对齐方面存在显著差异。 这两种机制各有优缺点,选择哪种机制取决于具体的应用场景和需求。

  • Slotted CSMA-CA:
    • 使用条件: 当网络中使用周期性信标 (periodic beacons) 时,MAC子层应采用时隙版本的CSMA-CA算法进行CAP (Contention Access Period) 内的传输。适用于需要高度同步和较低冲突率的场景。
    • 特点: 在时隙CSMA-CA中,所有设备的后退期 (backoff periods) 边界与PAN协调器的超帧 (superframe) 时隙边界对齐。具体来说,每个设备的第一个退避周期的开始与信标传输的开始对齐。
    • 目的: 通过将传输与信标对齐,MAC子层可以确保物理层(PHY)的所有传输都在退避周期的边界上开始。这种对齐有助于减少设备间的冲突,因为所有设备都遵循相同的时间框架来尝试访问信道。

信标是由PAN协调器定期发送的帧,用于同步网络中的设备并宣布网络参数。

  • Unslotted CSMA-CA:

    • 使用条件: 如果网络中没有使用周期性信标,或者在支持信标的PAN中无法定位到信标,MAC子层应使用无时隙版本的CSMA-CA算法进行传输。适用于对同步要求不高的场景。
    • 特点: 在无时隙CSMA-CA中,各个设备的后退期在时间上与其他设备无关。这意味着每个设备独立地管理其退避过程,而不考虑网络中的其他设备。
    • 目的: 无时隙CSMA-CA算法更灵活,适用于不需要严格同步的情况。因此它更加灵活,但也可能导致更高的冲突率和较低的信道利用率。
  • Backoff Periods:

    • 定义: 在这两种情况下,CSMA-CA算法使用时间单位称为后退期 (backoff periods) 来实施随机后退机制,其中每个后退期等于一个基本后退期 (aUnitBackoffPeriod)。
    • 作用: 后退期用于确定设备在尝试传输之前等待的时间,以减少碰撞的可能性。通过调整退避周期的长度和退避算法的具体实现,可以在不同的网络条件下实现最佳的信道访问性能。
    • 随机化: 通过随机选择一个后退期数目,设备可以避免与其他设备在同一时间传输,从而降低碰撞的概率。

在CSMA-CA(载波侦听多路访问/冲突避免)算法中,每个设备在每次传输尝试时都需要维护三个关键变量:NB、CW和BE。这些变量在算法的执行过程中起着至关重要的作用,以确保设备能够有效地访问信道并减少冲突。

  1. NB (Number of Backoffs):

    • NB表示在当前传输尝试中,CSMA-CA算法需要执行退避操作的次数。
    • 在每次新的传输尝试之前,NB的值应初始化为零。
    • 如果在尝试传输过程中信道被评估为忙,则NB的值会增加,直到满足某个条件(如达到最大退避次数)或成功完成传输。
  2. CW (Contention Window):

    • CW是竞争窗口长度,它定义了设备在开始传输之前需要等待多少个退避周期来确保信道空闲。
    • CW的初始值(CW0)通常为2,表示在首次尝试传输时,设备会随机选择一个介于0到1之间的退避周期数进行等待。
    • 在每次传输尝试之前,CW的值应初始化为CW0
    • 如果在评估信道时发现信道忙,则CW的值会根据某个算法(如二进制指数退避算法)增加,直到达到最大竞争窗口长度。
    • 值得注意的是,CW变量仅用于时隙化CSMA-CA算法。
  3. BE (Backoff Exponent):

    • BE是退避指数,它与设备在尝试评估信道之前需要等待的退避周期数相关。
    • 在非时隙化系统或时隙化系统中,如果接收到的电池寿命延长(BLE)字段(如图7-7所定义)被设置为0,则BE应初始化为macMinBe的值。
    • 在时隙化系统中,如果接收到的BLE字段被设置为1,则BE应初始化为2和macMinBe值中的较小者。
    • 如果macMinBe被设置为零,则在该算法的第一次迭代中,冲突避免将被禁用。这意味着设备将不会等待任何退避周期就直接尝试传输,这可能会增加冲突的风险。

在CSMA-CA算法中,尽管设备在CCA(信道空闲评估)分析期间会启用其接收器,但设备可能会丢弃在此期间接收到的任何帧。这是因为CCA的主要目的是评估信道是否空闲,以便设备可以安全地开始传输,而不是为了接收数据。

对于图6-5中所示的CSMA-CA算法步骤,如果算法以“成功”结束,那么MAC层被允许开始发送数据帧。如果算法以“失败”结束,则表示信道访问失败,可能需要重试或其他错误处理措施。

在基于时隙的CSMA-CA(Carrier Sense Multiple Access with Collision Avoidance,载波侦听多路访问/冲突避免)系统中,BLE(Bluetooth Low Energy,低功耗蓝牙)字段的设置会影响MAC(Media Access Control,媒体访问控制)子层的操作方式。以下是针对BLE字段分别设置为0和1时,MAC子层如何确保在CAP(Contention Access Period,竞争访问期)结束前完成整个传输过程的详细解释。

  • BLE字段设置为0的情况

    1. 随机退避:在随机退避后,MAC子层需要确保剩余的CSMA-CA操作可以在CAP结束前进行,并且整个事务可以完成传输。

    2. 退避周期判断

    • 如果退避周期数大于CAP中剩余的退避周期数,MAC子层将在CAP结束时暂停退避倒计时,并在下一个超帧的CAP开始时恢复它。
    • 如果退避周期数小于或等于CAP中剩余的退避周期数,MAC子层将应用其退避延迟,并评估是否可以继续进行。
    1. CSMA-CA算法步骤:MAC子层需要检查剩余的CSMA-CA算法步骤(即两次CCA分析,或对于需要监听前说(LBT)的监管域,如920MHz频段,进行至少phyCcaDuration的连续CCA分析)、帧传输和任何确认能否在CAP结束前完成。

    2. CCA请求:如果MAC子层可以继续,它将请求PHY在当前超帧中进行CCA。如果不能继续,它将等待下一个超帧的CAP开始,并应用进一步的随机退避延迟,然后再次评估是否可以继续。

  • BLE字段设置为1的情况

    1. 随机退避和特定退避周期:在随机退避后,MAC子层确保剩余的CSMA-CA操作可以在CAP结束前进行。但是,退避倒计时仅在紧随信标(beacon)后的IFS(Interframe Space,帧间间隔)周期结束后的第一个macBattLifeExtPeriods完整退避周期内发生。

    2. 帧传输开始时机:除了满足与BLE字段为0时相同的CSMA-CA算法步骤、帧传输和确认的完成条件外,帧传输还必须在紧随信标后的IFS周期结束后的第一个macBattLifeExtPeriods完整退避周期之一内开始。

    3. CCA请求和重试:与BLE字段为0时相同,如果MAC子层可以继续,它将请求PHY在当前超帧中进行CCA。如果不能继续,它将等待下一个超帧的CAP开始,并应用进一步的随机退避延迟,然后再次评估是否可以继续。

总结来说,BLE字段的设置影响了退避倒计时的发生时机和帧传输的开始时机,以确保在CAP结束前完成整个传输过程。

image

  • TSCH timeslotted channel hopping; 时隙频道跳变
6.2.5.2. TSCH CCA算法

在IEEE 802.15.4e标准中,TSCH(Time-Slotted Channel Hopping)模式被设计用于提高无线网络的可靠性和效率,特别是在工业物联网(IIoT)等复杂环境中。当设备在TSCH模式下运行时,如标准6.3.6节所述,CCA(Clear Channel Assessment,空闲信道评估)机制可以被用来促进与其他无线电频道使用者的共存。然而,在TSCH网络中,CCA的应用有其特殊性。

TSCH网络中的CCA特性

  1. 网络内碰撞避免的挑战

    • 在TSCH网络中,所有设备的传输开始时间(通过macTsTxOffset参数指定)是紧密同步的。这种同步性使得网络内部通过CCA来避免碰撞变得不那么有效,因为所有设备都可能在相同的时隙内尝试发送数据。
  2. 信道跳频

    • TSCH模式还引入了信道跳频机制,这增加了网络的抗干扰能力和安全性。当CCA检测到信道忙时,由于信道是动态变化的,TSCH设备并不会进入退避(backoff)状态等待信道空闲,而是会按照预定的信道跳频序列继续尝试发送。
  3. CCA的执行时机

    • 如图6-5所示,当TSCH设备有数据包要发送时,它会等待与目标设备建立链接。如果在MLME-TSCH-MODE.request原语中启用了TschCca(TschCca被设置为ON),则MAC层会在指定的时隙(通过macTsCcaOffset参数指定)请求PHY层执行CCA,且这一过程不会引入任何退避延迟。

简而言之,TSCH CCA算法是在TSCH网络中用于尝试在发送数据之前检查信道是否空闲的机制。但是,由于TSCH网络的特殊性质(如传输时间紧密对齐和信道跳频),传统的基于CCA的碰撞避免方法可能不够有效。因此,TSCH网络可能依赖于其他机制(如时间槽分配和严格的调度)来确保可靠的通信。

6.2.5.3. TSCH CSMA-CA 重传算法

TSCH(Time-Slotted Channel Hopping)模式下的CSMA-CA(Carrier Sense Multiple Access with Collision Avoidance)重传算法,特别是在处理共享链路(Shared Links)时的机制,可以详细解释如下:

  • 共享链路与传输冲突
    在TSCH网络中,共享链路被分配给多个设备用于传输,这可能导致数据包之间的碰撞,进而引发传输失败。当设备没有收到预期的确认帧(ACK)时,会检测到传输失败。

  • 重传算法的工作原理
    为了降低在重传过程中再次发生碰撞的概率,TSCH网络采用了如图6-6所示的一种基于退避(Backoff)算法的重传机制。 这里的BE(Backoff Exponent)和NB(Number of Backoffs)在6.2.5.1节中有详细描述,且图6-5中的NB值在图6-6中继续沿用。以下是该算法的关键点:

    1. 退避算法的触发

      • 当设备在共享链路上发送数据包后未收到ACK时,将触发TSCH重传程序,该过程包括退避算法。
      • 后续的重传可能发生在共享链路或专用链路上,具体取决于目的地的下一个链路。专用链路上的重传可以随时发生。
    2. 退避时间计算

      • 设备将使用指数退避机制,类似于6.2.5.1中描述的那样。
      • MAC子层将在一个随机的时间间隔内延迟重传,该时间间隔的范围是0到(2^BE - 1)个共享链路(在任何时隙帧上),其中BE(Backoff Exponent)是退避指数。
      • 基于退避算法的等待期仅适用于共享链路上的传输。专用链路上的传输无需等待。
    3. 退避指数的调整

      • 对于在共享链路上连续失败的传输,设备将增加退避指数BE,直到它达到最大值macMaxBe。
      • 一旦在共享链路上成功传输,退避指数将重置为最小值macMinBe。
      • 在专用链路上传输失败时,退避指数不会改变。
    4. 重传次数限制

      • 如果在macMaxFrameRetries次重传后仍未收到ACK,MAC子层将认为传输失败,并通知上层协议。
  • 特殊情况下的处理

    • PCA退避方法:在TSCH PAN(Personal Area Network)中,对于关键事件消息,设备还可以使用PCA(Priority-based Channel Access)退避方法,该方法在6.2.5.4中定义。

TSCH模式下的CSMA-CA重传算法通过引入指数退避机制,有效地减少了在共享链路上重传数据包时发生碰撞的概率。通过动态调整退避指数,并根据传输结果(成功或失败)来重置或增加退避时间,该算法确保了网络的稳定性和可靠性。同时,通过限制重传次数,避免了无限期地尝试传输可能导致的网络拥塞问题。

image

6.2.5.4. CSMA-CA with PCA

在IEEE 802.15.4标准中,CSMA-CA(Carrier Sense Multiple Access with Collision Avoidance,载波侦听多路访问与冲突避免)机制被用来控制无线传感器网络(WSN)中设备的访问共享无线信道。当处理需要高优先级传输的消息时,比如“critical event message”(关键事件消息),CSMA-CA与PCA(Priority Channel Access,优先信道访问)相结合使用,以确保这些消息能够及时、可靠地传输。

MAC服务数据单元 MSDU(MAC service data uinit)或MSDU片段在MCPS-DATA.request原语中CriticalEventMessage参数为TRUE时,被称为关键事件消息。 这意味着该数据具有较高的优先级或重要性,可能涉及到系统的紧急状态、关键决策或需要立即处理的情况。

这种消息在传输前会采用带有PCA(Priority Channel Access,优先信道访问)退避算法的CSMA-CA(Carrier Sense Multiple Access with Collision Avoidance,载波侦听多路访问/冲突避免)机制进行处理,以确保信道在传输前是空闲的,并减少与其他设备的冲突。

  • CSMA-CA with PCA 简述

    CSMA-CA with PCA 主要用于在CAP(Contention Access Period,竞争访问期)期间传输关键事件消息。当macPriorityChannelAccess属性被设置为TRUE时,PCA被启用,并且在每个beacon间隔内发送的增强beacon帧中会包含PCA Allocation IE(信息元素),用于在beacon-enabled PAN(个人区域网络)中指示PCA的分配情况。

    • Slotted vs Unslotted CSMA-CA:在beacon-enabled PAN中,使用基于时隙的CSMA-CA with PCA;而在非beacon-enabled PAN或无法定位beacon的beacon-enabled PAN中,则可能使用非时隙的CSMA-CA with PCA。

    • CCA Mode:CCA(Clear Channel Assessment,信道空闲评估)模式影响CSMA-CA的行为。对于PCA,CCA模式的不同会影响算法的具体实现,特别是当CCA模式等于4时,CSMA-CA with PCA的运作方式会有所不同。

      使用CCA模式不等于4的PCA的CSMA-CA如图6-7所示。 图6-8显示了使用CCA模式等于4的PCA的CSMA-CA。

      image
      image

  • PCA退避算法的关键点:

    1. 退避指数(BE)

      • 在首次传输尝试之前,退避指数(BE)被初始化为macMinBe – 1和1之间的较大值。这是为了确保即使macMinBe被设置为一个非常小的值(如0),BE也至少为1,从而避免退避时间太短。
      • 一旦BE被确定,它在后续的重传过程中将保持不变。这与某些其他退避算法(如指数退避)形成对比,后者在每次重传时都会增加退避时间。
    2. 退避时间(TB)

      • TB是MAC子层维护的一个变量,它表示自PCA退避算法开始以来剩余的退避周期数。
      • TB的初始值被设置为一个介于0和(2^BE - 1)之间的随机整数。这个范围确保了退避时间既不过短也不过长,从而平衡了信道访问的及时性和公平性。
    3. 持续CSMA机制(Persistent CSMA Mechanism)

      • PCA退避算法遵循持续CSMA(Carrier Sense Multiple Access)机制。这意味着设备会不断监测信道,并在每个退避周期内,只要信道被感知为空闲,就递减TB的值。通过这种方式,设备可以更加积极地尝试访问信道,并减少因信道繁忙而导致的延迟。
    • 工作流程:

      • 当设备需要发送一个优先级消息时,它会首先根据PCA退避算法计算BE和TB的值。
      • 然后,设备会进入一个退避周期,并持续监测信道。
      • 如果在退避周期内信道被感知为空闲,则TB会递减1。
      • 当TB减至0时,设备会尝试发送消息。
      • 如果消息在传输过程中发生冲突(尽管在CSMA-CA中通常会采取措施来减少冲突,如RTS/CTS握手),设备会根据PCA退避算法的规定进行重传,但BE值保持不变。
      • 在整个过程中,MAC子层负责跟踪TB的值,并根据需要调整它,以确保设备能够按照PCA退避算法的规定进行信道访问。

在采用PCA(优先级信道访问)退避算法的槽式CSMA-CA(载波侦听多路访问/冲突避免)中,MAC子层需要确保在持久性随机退避之后,剩余的CSMA-CA操作能够在CAP(竞争访问期)结束之前进行,并且整个事务能够被传输。这是为了确保无线网络的效率和公平性,特别是在处理优先级消息时。

关于TB(退避时间)和CAP之间的关系,MAC子层有以下行为:

  1. TB与CAP剩余时间的比较

    • 如果TB大于CAP中剩余的退避周期数,MAC子层会在CAP结束时暂停TB的倒计时,并在下一个超帧的CAP开始时恢复它。这样做是为了确保整个退避过程能够在CAP期间内完成,而不会跨越多个超帧。这允许设备在CAP之外的时间暂停其传输尝试,以便在CAP再次开始时继续其退避过程,从而不会干扰CAP期间可能进行的其他通信。
    • 如果TB小于或等于CAP中剩余的退避周期数,MAC子层会进行另一次CCA(空闲信道评估)尝试,并应用PCA退避算法。之后,它会再次评估是否有足够的时间来继续后续的CSMA-CA操作、帧传输以及任何必要的确认。
  2. 时间充足性的评估

    • 如果在CAP结束之前能够完成剩余的CSMA-CA算法步骤、帧传输以及任何必要的确认,MAC子层将继续进行。
    • 如果时间不足,MAC子层会等待直到下一个超帧的CAP开始时,再继续应用PCA退避算法。

对于在非信标使能的PAN(个人区域网络)中使用非槽式CSMA-CA的LECIM(低功耗、低成本、工业、医疗)PHY(物理层)来说,情况有所不同:

  • 非信标使能的PAN:在这种网络中,没有定期的信标来同步设备或指示CAP的开始和结束。

  • 非槽式CSMA-CA:与槽式CSMA-CA不同,非槽式CSMA-CA不依赖于固定的时间槽来管理信道访问。设备可以随时尝试访问信道,但需要根据CSMA-CA的规则(如CCA)来避免冲突。

  • 关键事件消息传输:在非槽式CSMA-CA中,由于没有固定的CAP或时间槽,关键事件消息的传输可以随时发起。这意味着设备需要更加频繁地监测信道,并在信道空闲时立即尝试发送消息。然而,这也增加了与其他设备发生冲突的风险,因此通常需要实现更复杂的冲突解决机制。

    image

在基于beacon的个人区域网络(PAN)中,PCA(Priority Channel Access,优先级信道访问)分配的长度至少应为880个符号周期。当macPriorityChannelAccess为TRUE时,一个超帧内的PCA分配的最小数量由MAC PIB(Personal Area Network Information Base,个人区域网络信息库)属性macPcaAllocationSuperRatemacPcaAllocationRatemacCritMsgDelayTol定义。这些参数之间的关系在表6-1中进行了说明。

  • 表6-1中的符号说明

    • ‌⌈ ⌉ 表示对参数取向下取整(即取小于或等于该参数的最大整数)。
    • ⌊ ⌋ 表示对参数取向上取整(即取大于或等于该参数的最小整数)。
  • macPcaAllocationSuperRate的作用

    • macPcaAllocationSuperRate为FALSE时,macPcaAllocationRate被解释为子速率,表示在多少个连续的超帧中只需要进行一次PCA分配。此时,PCA分配仅需要在macBsn(Beacon Sequence Number,beacon序列号)能被macPcaAllocationRate整除的超帧中进行。
    • SD(可能代表某种与延迟相关的参数)小于或等于macCritMsgDelayTol/3时,macPcaAllocationSuperRate应设置为FALSE;否则,应设置为TRUE。
    • macPcaAllocationSuperRate为TRUE时,macPcaAllocationRate表示每个超帧中所需的最小PCA分配数量。
  • PCA分配的分布

    • 如果一个超帧内有多个PCA分配,第一个分配发生在CAP(Contention Access Period,竞争访问期)的开始。
    • 其余的PCA分配分布在整个超帧中,但不应超出CAP的范围。
  • CSMA-CA的使用

    • 如果在CAP期间,但在非PCA分配时间启动了关键事件消息的传输,则可以使用6.2.5中定义的CSMA-CA(载波侦听多路访问/冲突避免)机制,并结合前面描述的PCA退避算法。
  • DSME(Deterministic and Synchronous Multi-channel Extension)的特殊情况

    • 如果启用了DSME且macCapReduction设置为TRUE,同时多超帧持续时间(MD)长于macCritMsgDelayTol,则应将macPriorityChannelAccess设置为FALSE。
  • CAP长度与PCA分配的关系

    • macPriorityChannelAccess为TRUE时,如果CAP的长度小于aMinCapLength加上单次PCA分配所需的时间,则不应进行PCA分配。

这些规则确保了基于beacon的PAN中关键消息的及时传输,同时优化了信道的利用率和系统的整体性能。

6.2.5.5. LECIM ALOHA PCA
  1. PCA与ALOHA模式下的CCA

    在ALOHA模式下,PCA的实现不是简单地使用标准的PCA退避算法,而是采用了一个修改版。这个修改主要体现在退避周期的定义上:传统的退避周期可能是一个固定的aUnitBackoffPeriod,但在这种情况下,它被替换为macLecimAlohaUnitBackoffPeriod。这意味着退避周期的长度是根据LECIM协议和ALOHA模式的具体需求来调整的。

  2. MPDU碎片化与退避周期

    • MPDU碎片化启用时:如果MPDU被分割成较小的片段进行传输,那么macLecimAlohaUnitBackoffPeriod的值需要足够长,以确保能够完整地传输一个MPDU片段,包括与之相关的IFS(帧间隔)周期和一个Frak帧(这可能是一个特定的控制或确认帧,尽管在标准术语中不太常见,可能是特定于LECIM协议的)。
    • MPDU碎片化未启用时:如果MPDU没有被分割,那么退避周期的长度应该足够长,以容纳一个最大尺寸的MPDU的完整传输,包括IFS和Ack帧(确认帧)。
  3. 优先级信道访问(macPriorityChannelAccess)

    macPriorityChannelAccess被设置为TRUE时,意味着信道访问具有优先级。在这种情况下,每个PCA分配必须至少持续四个连续的macLecimAlohaUnitBackoffPeriod。这是为了确保在具有优先级的信道上,PCA分配能够获得足够的时间来执行其任务,而不会被其他非优先级的通信打断。此外,第一个PCA分配应该从CAP(竞争访问期)的开始处立即开始。

  4. PCA分配的数量与限制

    每个超帧中的PCA分配数量是由Table 6-1具体描述的。这个表格可能根据LECIM协议的具体实现而有所不同,但通常它会基于超帧的总长度、CAP的长度以及其他可能的参数来确定PCA分配的数量。

    重要的是要注意,如果CAP的长度持续时间小于aMinCapLength加上单个PCA所需的时间,那么在该CAP期间将无法进行PCA分配。这是为了确保即使在最短的CAP期间,也能为PCA分配保留足够的时间,从而避免与其他通信活动的冲突。

6.2.6. TSCH slotframe structure

6.2.6.1. General

在无线通信系统中,特别是使用基于时隙的MAC(媒体访问控制)协议时,slotframe和timeslot是两个重要的概念。它们共同定义了设备间通信的时间安排和调度方式。

  • Slotframe

    Slotframe是一组重复出现的时间槽(timeslot)的集合。每个slotframe中的timeslot都提供了足够的时间供一对设备交换一个数据帧(frame)及其确认帧(Ack frame)。虽然可以定义时间不够长的timeslot来交换最大长度的帧和确认帧,但这通常是不希望的,因为这可能导致通信失败或数据丢失。

    slotframe的大小(即其中timeslot的数量)决定了每个timeslot重复的频率,从而设置了使用这些timeslot的节点的通信时间表。创建slotframe时,会为其分配一个slotframe句柄(macSlotframeHandle)用于标识。每个slotframe根据其长度在周期性地重复。

  • Timeslot

    Timeslot是slotframe中的一个单元,它提供了一个机会让设备发送或接收一个单独的数据帧,并可选地接收或发送对该帧的确认。Timeslot的配置由更高层(如网络层或应用层)进行,以确保设备之间的有效通信。

  • Link Scheduling

    根据macLinkTable的调度(如第8.4.3.3.3节所述),如果某个timeslot被指定了一个节点用于发送,另一个节点用于接收,那么这个timeslot就被视为有一个已调度的链接(scheduled link)。这种调度确保了通信的双方能够在预定的时间内进行数据的交换。如果缺少这些条件中的任何一个,则该timeslot就没有已调度的链接。

6.2.6.2. Absolute slot number (ASN)

在基于时间同步的信道跳变(TSCH)网络中,自网络开始或由PAN(个人区域网络)协调器确定的任意起始时间以来,已经流逝的总timeslot数量被称为绝对时隙号(Absolute Slot Number,ASN)。ASN在网络中全局递增,每次递增的间隔由macTsTimeslotLength定义,这个值通常可以在表8-99之类的文档中找到。ASN的存在允许网络中的设备保持时间同步,是TSCH网络时间管理的核心组成部分。

ASN的递增是由网络中的时钟机制控制的,每当一个timeslot结束时,ASN就会增加1。这个机制确保了网络中的所有设备都能共享一个统一的时间参考,这对于实现高效的通信调度和避免通信冲突至关重要。

此外,ASN还由网络中的设备(特别是已经加入TSCH PAN的设备)通过信标(beacon)广播出去,这允许新设备能够加入网络并与之同步。信标是网络中定期发送的包含网络同步信息和配置参数的广播消息,新设备可以通过监听这些信标来发现网络并获取加入网络所需的信息。

在TSCH网络中,ASN不仅用作全局的时间参考,还用于实现基于时间的安全机制。通过将ASN用作帧计数器,设备可以验证接收到的帧的新鲜度和完整性,从而防止重放攻击和其他类型的安全威胁。

最后,ASN还用于计算给定的一对设备之间通信所使用的信道。在TSCH网络中,信道是动态跳变的,这有助于减少干扰和提高通信的可靠性。ASN和设备的地址信息(如短地址或扩展地址)一起被用作一个算法(如哈希函数)的输入,以计算出下一个通信时隙所使用的信道。这种机制确保了通信的随机性和不可预测性,从而提高了网络的安全性。

在图6-9所展示的例子中,我们有一个包含三个timeslot的slotframe,用于节点之间的通信。在这个slotframe中,节点A和B在timeslot 0中通信,节点B和C在timeslot 1中通信,而timeslot 2则没有被任何通信占用。这个调度每三个timeslots重复一次,但ASN(绝对时隙号)是持续递增的,它提供了网络中的全局时间参考。

对于给定macSlotFrameHandle、特定timeslot和macChannelOffset的设备之间的有向通信,我们称之为一个“链接”(link)。这个链接的物理信道(CH)是通过一个特定的公式计算出来的,该公式依赖于当前的ASN、信道偏移量(macChannelOffset)以及信道跳变序列的长度和内容(macHoppingSequenceList)。

在链接中,物理信道(CH)的计算方式如下:

\[CH = macHoppingSequenceList[(macAsn + macChannelOffset) \% macHoppingSequenceLength] \]

这里,macHoppingSequenceList是一个包含可用信道序列的列表,macAsn是当前的全局时隙号,macChannelOffset是一个用于在给定的ASN时从信道序列中选择特定信道的偏移量。macHoppingSequenceLength是信道序列的长度,即macHoppingSequenceList中元素的数量。%是取模运算符,用于确保索引值在macHoppingSequenceList的有效范围内。

通过使用macChannelOffset,我们可以在给定的macAsnmacHoppingSequenceList下,为不同的通信对选择不同的信道。这意味着,即使两个通信对在同一ASN时尝试通信,只要它们的macChannelOffset不同,它们就可以使用不同的信道,从而减少了干扰的可能性。

macNumberOfChannels表示可用的信道总数,但实际上,对于给定的ASN和macHoppingSequenceList组合,可用的唯一信道数量取决于macHoppingSequenceList中不同元素的数量(即去重后的信道数量)。然而,在理想情况下,如果macHoppingSequenceList被设计为包含所有可能的信道,并且每个信道在序列中只出现一次,那么macNumberOfChannels将等于macHoppingSequenceList的长度,并且每个macAsnmacChannelOffset的组合都将映射到一个唯一的信道上。

image

6.2.6.4. Multiple slotframes

在基于时隙的访问网络中,可以同时存在多个不同大小的并发slotframes。这些多个slotframes可以用于为不同的节点组定义不同的通信计划,或者通过在某些设备的slotframe中分配许多活动时隙,而在其他设备的slotframe中分配很少或没有活动时隙,来以不同的占空比运行整个网络。

网络中的设备可以同时参与一个或多个slotframes,并且并非所有设备都需要参与所有slotframes。通过配置网络设备以参与多个重叠且大小不同的slotframes,可以建立不同的通信计划和连接矩阵,这些都可以同时工作。

在网络运行时,可以添加、删除和修改slotframes。尽管如此,所有slotframes都与时隙边界对齐,并且每个slotframe的第一个重复的时隙0都被投影回macAsn=0,这是由PAN协调器(或启动网络的其他网络设备)确定的。因此,尽管某个特定slotframe的重复开始和结束可能与图6-10所示不同,但不同slotframes中的时隙始终是对齐的。

对于任何给定的时隙,如果设备在多个slotframes中有链接,则传输优先于接收,且具有较低macSlotframeHandle值的slotframes优先于具有较高macSlotframeHandle值的slotframes。这种优先级机制有助于解决潜在的通信冲突,并确保网络中的设备能够按照预定的计划进行通信。

此外,网络中的设备需要能够处理来自不同slotframes的通信请求,并根据其参与的slotframes和优先级规则来调度其通信活动。这通常涉及到维护一个或多个时间表或调度表,以跟踪每个slotframe中的活动时隙和相关的通信任务。通过这种方式,网络设备可以在复杂的网络环境中有效地进行通信,同时满足不同的通信需求和占空比要求。

image

6.2.7. LE functional description

6.2.7.1. LE contention access period (LE CAP)

在IEEE 802.15.4-2006标准及其后续版本中,特别是针对低功耗(Low Energy, LE)操作的场景,LE竞争访问期(LE Contention Access Period, LE CAP)是一个重要的概念。它主要用于在无线个人区域网络(WPAN)中,特别是在Zigbee等协议中,以支持低功耗设备的通信。下面是对LE CAP及其相关参数和行为的详细解释:

  • LE CAP 概述

    LE CAP是超帧(Superframe)中的一个时间段,允许设备以竞争方式发送数据帧。在这个时间段内,设备需要通过CSMA/CA(载波侦听多路访问/冲突避免)机制来访问信道,以减少数据帧的冲突。

  • 相关参数和行为

    1. macCslPeriod(竞争时隙长度)

      • macCslPeriod非零时,表示在CAP中部署了竞争时隙(Contention Slot Length, CSL)。CSL的具体行为在标准的6.12.2节中定义。
    2. macRitPeriod(响应间隔期)

      • 在信标(Beacon)使能的PAN(Personal Area Network)中,macRitPeriod应被设置为零。这是因为信标网络通常使用不同的机制来管理响应,而不需要单独的响应间隔期。
    3. macLowEnergySuperframeSupported(低功耗超帧支持)

      • 当此参数为TRUE时,表示网络支持低功耗超帧。在此模式下,需要确保事务在一个IFS(帧间间隔)周期内完成,以避免进入不活动期(Inactive Period)。
      • 如果设备在CAP期间检测到一个帧,且该帧在CAP结束时仍未结束,但整个帧在不活动期结束前能完全接收,则设备可以继续接收该帧。
      • 为了避免帧超出CAP并进入竞争空闲期(CFP)造成的干扰,当macLowEnergySuperframeSupported为TRUE时,协调器不应分配GTS(保证时隙)。
      • 协调器应通过信标帧通知已关联或意图关联的设备macLowEnergySuperframeSupported的状态,以便这些设备可以相应地调整其通信行为。
  • 总结

    LE CAP是IEEE 802.15.4网络中用于低功耗设备通信的重要时间段。通过合理配置相关参数,如macCslPeriodmacRitPeriodmacLowEnergySuperframeSupported,可以在保证网络性能的同时,有效降低设备的能耗。这对于构建高效、节能的无线传感器网络和物联网(IoT)应用至关重要。

6.2.7.2. LE superframe structure

这段描述是关于在IEEE 802.15.4/Zigbee等低功耗无线通信技术中,关于协调器(Coordinator)如何根据macLowEnergySuperframeSupportedmacLowEnergySuperframeSyncInterval这两个参数来发送Beacon帧(信标帧)的规则。Beacon帧通常用于网络同步、设备发现和加入网络等过程。以下是这段描述的详细解释:

  1. macLowEnergySuperframeSupported为TRUE且macLowEnergySuperframeSyncInterval不为零时

    • 在这种情况下,协调器不会在每个信标间隔(beacon interval)都发送Beacon帧。
    • 相反,它会在每macLowEnergySuperframeSyncInterval个信标间隔时间后发送一次Beacon帧,除非被特别请求发送。
    • 这种机制有助于减少网络的功耗,因为Beacon帧的发送频率降低了,从而减少了网络中的通信量和设备的能耗。
  2. macLowEnergySuperframeSupported为TRUE且macLowEnergySuperframeSyncInterval为零时

    • 在这种情况下,协调器将仅在收到请求时才发送Beacon帧。
    • 这意味着如果没有设备需要同步或加入网络,或者没有特定的管理操作需要执行,协调器将不会主动发送Beacon帧。
    • 这也进一步降低了网络的功耗,因为只有在需要时才进行通信。

总的来说,这两个参数允许网络根据需要调整Beacon帧的发送频率,以平衡网络同步的需要和功耗的节省。在低功耗无线传感器网络(LPWAN)或IoT(物联网)应用中,这种机制尤为重要,因为它可以显著延长设备的电池寿命,减少维护成本,并提高网络的整体效率。

6.2.7.3. LE-incoming and outgoing superframe timing

在IEEE 802.15.4/Zigbee等低功耗无线通信标准中,如果设备支持macLowEnergySuperframeSupported特性,那么确实有可能在一个个域网(PAN, Personal Area Network)内的所有超帧(Superframe)中,信标顺序(Beacon Order)和超帧顺序(Superframe Order)被设置为相等。

信标顺序(Beacon Order)和超帧顺序(Superframe Order)是定义超帧结构的重要参数,它们共同决定了超帧中活动部分(Active Period)和非活动部分(Inactive Period)的长度比例。这些参数的设置对于网络中的能量管理、设备同步以及数据传输效率都有重要影响。

  • 信标顺序(Beacon Order, BO):决定了信标帧之间的非活动部分(即超帧中的非活动期)的长度。BO的值越大,非活动期就越长,这意味着协调器发送信标帧的频率就越低,有助于降低网络的整体功耗。

  • 超帧顺序(Superframe Order, SO):定义了超帧中活动部分(即协调器可以接收或发送数据的时段)的长度。SO的值越大,活动期就越长,设备有更多的时间来交换数据。

当设备支持macLowEnergySuperframeSupported时,网络设计者可能会选择将BO和SO设置为相同的值,以优化网络的性能和功耗。这种设置可能适用于某些特定的应用场景,比如网络中的设备对同步要求不高,或者数据传输量相对较小,同时需要尽可能降低功耗以延长设备的电池寿命。

然而,值得注意的是,BO和SO的具体值应该根据网络的实际需求来设置,而不是简单地设为相等。网络设计者需要权衡同步需求、数据传输量、设备功耗以及网络稳定性等多个因素,以选择最合适的BO和SO值。

此外,即使在一个PAN内,不同的超帧也可以有不同的BO和SO值,以适应不同的网络需求。因此,说“所有超帧中的信标顺序和超帧顺序可能相等”是一个可能性,而不是一个强制性的规则。

6.2.7.4. LE scan

在IEEE 802.15.4/Zigbee等低功耗无线通信标准中,当macCslPeriod(信道扫描列表周期)为非零时,表示在信道扫描过程中部署了信道扫描列表(Channel Scan List, CSL)功能。这一功能允许设备在特定的时间窗口内对一组预定义的信道进行扫描,而不是连续不断地扫描所有可能的信道,从而降低了设备的功耗。

同时,当macCslMaxPeriod(信道扫描列表最大周期)也为非零时,每个协调器(Coordinator)会在其广播的信标帧(Beacon frame)中包含唤醒帧序列(Wake-up Frame Sequence)。这个唤醒帧序列为网络中的设备提供了关于何时应该醒来并准备进行信道扫描的信息。通过这种方式,设备可以在大部分时间里保持休眠状态,仅在收到协调器发出的唤醒信号时才醒来并进行信道扫描,从而进一步降低了设备的功耗。

具体来说,CSL和唤醒帧序列的结合使用允许设备以非常低的占空比(Duty Cycle)执行信道扫描。占空比是指设备在给定时间内处于活动状态(即扫描信道或进行数据交换)的时间比例。通过优化CSL的配置和唤醒帧序列的调度,网络设计者可以确保设备在满足数据传输需求的同时,将功耗降至最低。

这种低功耗的信道扫描机制对于需要长时间运行且依赖电池供电的设备来说尤为重要。它使得这些设备能够在保持网络连接的同时,最大限度地延长电池寿命,从而减少了更换电池的频率和维护成本。

6.2.8. Superframe use for TMCTP operation

在描述TMCTP(Time-Multiplexed Channel Time Partitioning)超帧结构时,我们首先要理解它是基于6.2.1节中定义的基本超帧的一个扩展。TMCTP超帧的活跃部分由四个主要部分组成,这些部分在图5-6中有所展示,它们分别是:

  1. 信标帧(Beacon frame):如7.3.1节所述,Beacon帧用于设置时间分配和传达PAN(个人区域网络)的管理信息。它帮助网络中的设备同步并了解网络的状态。

  2. 竞争访问期(CAP):如6.2.1.2节所述,CAP用于传输命令和/或数据。在CAP期间,设备可以使用CSMA-CA(载波侦听多路访问/冲突避免)机制来访问信道。

  3. 无竞争期(CFP):如6.2.1.3节所述,CFP由GTSs(保证时隙)组成。在CFP期间,不允许使用CSMA-CA机制来访问信道,这是为了确保某些关键或实时数据的无冲突传输。

  4. Beacon传输期(BOP):如6.2.1.4节所述,BOP由一个或多个DBS(信标传输时隙)组成。DBS用于在TMCTP中的TMCTP-parent PAN协调器(包括SPC)和它的一个或多个TMCTP-child PAN协调器之间传输信标。

image

关于TMCTP超帧的SD(超帧持续时间)和BI(信标间隔),它们与基本超帧中的定义相同。但是,TMCTP超帧的活跃部分可以通过MAC PIB(物理层信息库)属性macTmctpExtendedOrder来扩展。这个属性的值与扩展持续时间(ED)的关系如下:

\[ED = aBaseSuperframeDuration \times 2^{macTmctpExtendedOrder} = aBaseSlotDuration \times aNumSuperframeSlots \times 2^{macTmctpExtendedOrder} \]

其中,aBaseSuperframeDuration是基础超帧的持续时间,aBaseSlotDuration是基础时隙的持续时间,aNumSuperframeSlots是一个超帧中的时隙数。macTmctpExtendedOrder的值受到macBeaconOrder(信标顺序)和macSuperframeOrder(超帧顺序)的限制,具体为:

\[0 \leq macTmctpExtendedOrder \leq (macBeaconOrder - macSuperframeOrder) \leq macBeaconOrder \leq 14 \]

每个TMCTP超帧的ED被划分为多个等间隔的时隙,这些时隙的总数为aNumSuperframeSlots × 2^{macTmctpExtendedOrder},每个时隙的持续时间为aBaseSlotDuration。这些时隙组成了BOP,而BOP又由多个DBS组成,每个DBS由一个或多个基础时隙组成。

每个TMCTP超帧的活跃部分总持续时间由SD和ED组成。图6-11展示了根据macBeaconOrder(BO)、macSuperframeOrder(SO)和macTmctpExtendedOrder(EO)的不同值,TMCTP超帧结构的一个示例。这个示例有助于理解如何通过调整这些参数来定制超帧以满足不同的网络需求。

image

6.2.9. 铁路通信和控制网络RCCN超帧结构

RCCN(Rail Communications and Control Network)超帧结构是用于铁路通信和控制网络的一种时间分片结构,它允许在预定的时间间隔内高效地进行数据传输和管理。以下是关于RCCN超帧结构的详细解释:

  • RCCN超帧结构概述

    • 支持性:RCCN超帧结构的支持对于RCC设备来说是可选的,但它在典型应用中非常重要。
    • 时间分片:RCCN超帧被划分为多个时间槽(slots),每个时间槽的长度由aRccnBaseSlotDuration(基础时间槽时长)和k(时间槽大小乘数,如7.4.2.14节所述)决定,具体为(k + 1) × aRccnBaseSlotDuration
  • RCCN超帧的组成部分,如图6-12所示:

    1. 增强型信标(Enhanced Beacon): 每个超帧的开始都是一个包含RCCN描述符信息元素(IE)的增强型信标。这个信标用于同步网络中的设备,并传递网络配置和管理信息。

    2. 管理下行链路时间槽(Management Downlink Slots): 这些时间槽被RCCN PAN(个人区域网络)协调器用来向RCCN端点发送帧。这是网络管理信息和控制命令传输的主要渠道。

    3. 管理上行链路时间槽(Management Uplink Slots): RCCN端点使用这些时间槽向RCCN PAN协调器发送帧。在上行链路时间槽中,使用时隙CSMA-CA(载波侦听多路访问/冲突避免)机制进行信道访问,以确保数据传输的效率和可靠性。

    4. 竞争访问期(CAP, Contention Access Period): 紧跟在管理上行链路时间槽之后的是CAP,它是网络中任何设备之间进行通信的时段。在CAP期间,设备使用时隙CSMA-CA(可选地结合PCA,即功率控制访问,如6.2.5.4节所述)来竞争信道访问权,以便进行数据传输。

    5. 无竞争访问期(CFP, Contention Free Period): CFP包含由RCCN PAN协调器分配的一个或多个保证时隙(GTSs)。这些GTSs被分配给需要保证数据传输质量的设备,如实时控制系统中的关键设备。在GTSs期间,设备可以无竞争地访问信道,以确保数据传输的实时性和可靠性。

  • 总结

    RCCN超帧结构通过精心设计的时间分片机制,为铁路通信和控制网络中的设备提供了高效、可靠的数据传输和管理方式。通过增强型信标、管理上下行链路时间槽、CAP和CFP等组成部分的协同工作,RCCN能够确保网络中的设备能够按需进行通信,同时保证数据传输的实时性、可靠性和安全性。

image

6.2.10. 信道调频(Channel hopping)

在无线网络中,支持信道跳频(Channel Hopping)的多信道物理层(PHY)允许设备在不同的信道间切换以提高通信的可靠性和效率。这种跳频可以在槽化模式(如TSCH或DSME)或非槽化模式下进行。

  • 槽化模式(Slotted Mode)
    在槽化模式下,网络内的设备通过超级帧(对于DSME)或时隙帧(对于TSCH)进行协调,使用一个共享的跳频序列来同步。这种模式下,每个设备都遵循相同的跳频序列,在特定的时间槽(slot)内停留在特定的信道上。由于跳频停留时间(hop dwell time)通常是一个时间槽的长度,因此网络同步满足了跳频和时间槽的需求。这种机制使得一个节点能够与一个或多个其他节点进行通信。

  • 非槽化模式(Unslotted Mode)
    与槽化模式不同,非槽化模式不使用网络同步来控制跳频。在这种模式下,网络可能包含多个跳频序列,且没有全局时钟来统一控制。为了与邻居设备通信,一个节点需要知道其他节点的跳频序列和时序。这增加了网络的复杂性和管理难度,但也提供了更高的灵活性和自适应性。

    在非槽化网络中,设备可能会通过增强型信标帧(Enhanced Beacon frames)中的信道跳频信息元素(Channel Hopping IE)和跳频时序信息元素(Hopping Timing IE)来广播它们的跳频序列和时序信息。这样,其他设备就可以根据这些信息来调整自己的跳频模式,以便与邻居设备进行通信。

这段描述详细解释了一个特定跳频序列(通过其跳频序列ID macHoppingSequenceId 指定)的生成机制,特别是当ID为0时,代表了一个特定物理层(PHY)的默认跳频序列(或者如果物理层支持多个信道列表,则指某一配置的默认跳频序列)。以下是对生成这个默认跳频序列步骤的详细解析:

  1. 初始化SHUFFLE数组

    • SHUFFLE 是一个大小为 macHoppingSequenceLength 的数组。这个数组的内容是9位线性反馈移位寄存器(LFSR)的前 macHoppingSequenceLength 个输出的结果。
    • LFSR使用多项式 x^9 + x^5 + 1,并从一个初始种子值255开始。
    • 每个LFSR的输出都要对 macHoppingSequenceLength 取模,以确保SHUFFLE数组中的每个元素都在0到 macHoppingSequenceLength - 1 的范围内(包括0和 macHoppingSequenceLength - 1)。
  2. 初始化CHANNELS数组

    • CHANNELS 同样是一个大小为 macHoppingSequenceLength 的数组,初始时这个数组包含了物理层可用的所有信道,且这些信道编号是单调递增的。
  3. 根据SHUFFLE数组对CHANNELS数组进行洗牌

    • 使用SHUFFLE数组中的值作为索引或指针,对CHANNELS数组进行洗牌。具体洗牌过程可能如图6-13所示,可能涉及多个步骤和元素的多次交换。
    • 这个过程确保CHANNELS数组中的元素(即信道)被打乱,从而生成一个伪随机的跳频序列。
  4. 确定默认跳频序列

    • 经过洗牌后的CHANNELS数组即代表了默认的跳频序列(即当 macHoppingSequenceId = 0 时的 macHoppingSequenceList)。
    • 这个序列将按照其内部元素的顺序指导通信设备在可用的信道之间进行跳频。

总的来说,这个机制通过伪随机地重新排列所有可用的信道来生成一个默认的跳频序列,从而增加通信的可靠性和安全性,通过在不同的信道上切换来减少干扰和碰撞的可能性。

在无线通信系统中,特别是使用跳频技术的系统中,macHoppingSequenceId(MAC层跳频序列标识符)是一个关键参数,用于定义设备在通信过程中如何切换使用的频率信道。当macHoppingSequenceId大于0时,表示设备将采用一个特定的跳频序列,这个序列可能由特定的跳频系统定义。

跳频技术通过动态切换通信频率来提高无线通信的可靠性和抗干扰能力。在使用自定义跳频序列时,设备之间的通信需要确保它们支持相同数量的信道,并且使用相同的跳频序列。这可以通过系统默认设置、算法生成、预定义列表、增强型信标帧或预配置等方式来实现。

  • 跳频序列的多样性

    • 默认跳频序列:通常,系统会定义一个默认的跳频序列,所有设备在默认情况下都会遵循这个序列进行通信。这个序列可能是为了最大化信道利用率、减少干扰或满足其他通信需求而设计的。

    • 自定义跳频序列:当macHoppingSequenceId大于0时,设备可以使用一个自定义的跳频序列。这个序列可能比默认序列更长或更短,具体取决于系统设计和通信需求。自定义序列可以通过算法动态生成,也可以作为预定义的信道列表进行设置。

  • 跳频设备的通信条件

    两个跳频设备要想成功通信,必须满足以下条件:

    1. 物理层(PHY)支持相同数量的信道:设备必须能够在相同的信道集合上进行通信。

    2. 使用相同的跳频序列:设备要么都使用默认的跳频序列,要么通过某种方式(如通过增强型信标帧(Enhanced Beacon frame)传输信息或预先配置)达成一致,使用相同的自定义跳频序列。

  • 跳频序列的协商与配置

    • 通过增强型信标帧:在一些系统中,设备可以通过发送包含跳频序列信息的增强型信标帧来通知其他设备它们将使用的跳频序列。这样,接收到信标帧的设备可以相应地调整自己的跳频序列,以确保双方能够成功通信。

    • 预配置:在另一些情况下,设备可能在出厂时就已经预配置了特定的跳频序列。在这种情况下,设备之间的通信将依赖于这些预配置的序列是否匹配。

在跳频通信系统中,macHoppingSequenceLength(MAC层跳频序列长度)与物理层(PHY)可用的信道数量之间的关系决定了跳频序列中如何选择和重复使用信道。

  • macHoppingSequenceLength大于PHY可用信道数量时: 这意味着在跳频序列中,某些信道会被多次包含。这是因为在有限的信道资源下,为了维持较长的跳频周期或满足特定的通信需求,系统必须重复使用某些信道。例如,如果PHY只有5个可用信道,但macHoppingSequenceLength设置为10,那么每个信道在跳频序列中至少会出现两次。

  • macHoppingSequenceLength小于或等于PHY可用信道数量时: 在这种情况下,跳频序列只会包含PHY可用信道的一个子集。这意味着虽然PHY可能支持更多的信道,但出于某种原因(如减少干扰、提高通信效率等),系统选择了一个较小的信道集合进行跳频。如果macHoppingSequenceLength恰好等于PHY的信道数量,那么每个信道在跳频序列中只会出现一次。

信道选择的具体实现

信道的选择(即选择哪些信道以及它们在跳频序列中出现的次数)是特定于实现的。不同的系统可能会根据不同的算法或策略来选择信道,以满足特定的通信需求。

跳频序列的计算

通常,设备可以通过以下方式计算当前应使用的信道:

# 假设
macHoppingSequenceList = [0, 1, 2, 0, 3, 4, 2, 1, 0, 4]  # 示例跳频序列
macHoppingSequenceLength = len(macHoppingSequenceList)  # 跳频序列长度
COUNTER = 0  # 初始计数器值,实际中应由系统动态更新

# 计算当前信道
CH = macHoppingSequenceList[COUNTER % macHoppingSequenceLength]

# 假设COUNTER随时间或某种事件递增
COUNTER += 1

print("当前信道:", CH)

在这个例子中,COUNTER是一个共享的计数器,它随着通信的进行而递增。通过对COUNTER进行模macHoppingSequenceLength运算,我们可以确保索引值始终在macHoppingSequenceList的有效范围内,从而允许设备按照跳频序列的顺序选择信道。

image

标签:功能,信标,超帧,CAP,信道,MAC,设备,退避,描述
From: https://www.cnblogs.com/qiyuexin/p/18374697

相关文章

  • 微信小程序实现定位功能
    分享两个微信小程序获取定位的办法,用的腾讯的地图,可根据自己的情况改动前情提示:提前在您的app.json上加上这些代码"permission":{"scope.userLocation":{"desc":"你的位置信息将用于地图中定位"}}这样才可以继续实现定位功能第一种:wx.getLocation......
  • 电脑录屏软件推荐:探索Win10与Mac系统最佳录屏工具
    随着科技的飞速发展,电脑录屏已成为了教育、商务演示、游戏直播等多个领域中不可或缺的功能。无论是Windows10用户还是Mac用户,寻找一款能够提供高质量录制体验的软件,都是提升工作和创作效率的关键。本文将带领您探索适用于Win10与Mac系统的顶级录屏工具,帮助您选择最适合自己......
  • CANoe_UDS-boorloader 自动化测试系列(六)基本功能:CAPL实现bin文件数据解析
    CANoe_UDS-booroader自动化测试系列(一)创建一个CANoe测试工程(测试节点的选选择)CANoe_UDS-booroader自动化测试系列(二)基本刷写流程CANoe_UDS-booroader自动化测试系列(三)基本功能:CAPL实现UDS协议下的CAN报文接收#解析#发送CANoe_UDS-booroader自动化测试系列(四)基本功能:CAPL实......
  • 机房动环监控系统的主要功能@卓振思众
    机房动环监控系统(DataCenterEnvironmentalandMonitoringSystem)是一种用于监测和管理数据中心或机房内部环境和设备状态的系统。其主要目的是确保机房设备在最佳环境条件下运行,从而提高系统的稳定性和安全性。以下是【卓振思众】机房动环监控系统的关键组成部分及功能:环......
  • 仿Muduo库实现高并发服务器——Server.hpp框架的简单描述
    EventLoop模块在本项目中的简单使用:        下面这张图是channel模块,poller模块,TimerWheel模块,EventLoop模块,LoopThreadPool模块进行组合。便于大家对这个项目的理解,因为代码看起来挺复杂的。下面这个图,加入了Connection模块,Buffer模块,socket模块,Acceptor模块,Tcpser......
  • Android 10.0 锁屏页面忘记锁屏密码情况下点击5次解锁图标弹出锁屏密码功能实现
    1.前言在10.0的系统ROM定制化开发中,在一些产品中带锁屏密码的功能中,系统默认是滑动解锁,但是客户会设置锁屏密码,在某些时候会忘掉锁屏密码,导致需要进入恢复出厂设置然后才能进入系统桌面,这样就导致系统的保存的资料都丢失了,所以需要要求在锁屏密码页面在忘记解锁密码的情况下......
  • Mac导出Mysql千万级表数据
    MysqlDumpmysqldump-h[服务器地址]-u[用户名]-p[密码]--single-transaction--quick[数据库名][表名]>[导出文件.sql]•--single-transaction保证了数据的一致性,并且不会在导出期间锁定表(只针对InnoDB有效)。•--quick选项进一步减少了内存使用,因为它逐行导出数......
  • [VS Code扩展]写一个代码片段管理插件(二):功能实现
    @目录创建和插入代码片段代码片段列表代码片段预览代码片段编辑自定义映射默认映射自动完成项目地址创建和插入代码片段VSCode扩展提供了数据存储,其中globalState是使用全局存储的Key-Value方式来保存用户状态,支持在不同计算机上保留某些用户状态,详情请参考官方文档若在编辑器......
  • 编写类A03,实现数组的复制功能copyArr,输入旧数组,返回一个新数组,元素和旧数组一样
    1publicclassHomework04{2//编写一个main方法3publicstaticvoidmain(String[]args){45int[]oldArr={10,30,50};6A03a03=newA03();7int[]newArr=a03.copyArr(oldArr);8//遍历newArr,验证9......
  • Mac安装Typora
    文章目录介绍软件功能下载安装1.下载完成后打开downloads双击进行安装2.将软件拖到应用程序中3.在程序坞中搜索打开4.提示安全问题就打开通用,安全隐私与设置5.打开成功小结介绍Typoraformac是一款简洁的轻量级的markdown编辑器、写作软件。它去除了预览窗口,模......