CN102958180A - 时隙调度的方法与装置 - Google Patents
时隙调度的方法与装置 Download PDFInfo
- Publication number
- CN102958180A CN102958180A CN2011102490016A CN201110249001A CN102958180A CN 102958180 A CN102958180 A CN 102958180A CN 2011102490016 A CN2011102490016 A CN 2011102490016A CN 201110249001 A CN201110249001 A CN 201110249001A CN 102958180 A CN102958180 A CN 102958180A
- Authority
- CN
- China
- Prior art keywords
- time slot
- slots
- time
- sub
- superframe
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Time-Division Multiplex Systems (AREA)
Abstract
本发明公开了一种时隙调度的方法与装置,本发明公开了一种时隙调度的方法与装置,通过通用时隙结构建立对应的分层结构的时隙描述表,并预先利用该时隙描述表表征超帧配置,并基于针对该时隙描述表中折叠重复的多维时隙的处理,能够自动实现时隙的调度,即便是协议进行更改之后,也可以通过所述时隙的内部数据结构,以及对应该时隙描述表中的位置,调用预设的时隙处理方法,从而实现时隙调度,不需要重新进行重新的配置,能够降低系统内存的消耗量和系统进行调试的时间。
Description
技术领域
本发明涉及无线传感网络技术领域,更具体的说,是涉及一种传感网中时隙调度的方法与装置。
背景技术
传感网是一种无线网络,通常是由低功耗的小型传感器以自组织的方式构成的无线网络,其具有实现信息采集和实时感知等功能。在使用传感网的过程中为了降低功耗并提高信道利用率,现有技术中一般采用TDMA(Time Division Multiple Access,时分多址)MAC(Medium Access Control,介质访问控制层)协议。
在实现TDMA MAC协议时,通常在网络时间同步的基础上,按照预先定义的时隙配置进行时隙调度。由于传感网作为新兴技术,对于时隙调度的实现,采用的仍然是直接在各时隙的处理过程中直接调用定时器,定时启动针对下一时隙的处理方式,并且该时隙的调度方式依赖所要实现的协议而设计。
但是,在传感网中各种TDMA MAC协议都存在简单或复杂的超帧结构的配置,当在实现TDMA MAC协议过程中更改协议超帧设计后,在时隙调度的过程中需要对所有的时隙的处理方式进行修改和重新配置,造成增加系统内存的消耗量,以及增加系统调试时间的问题。
发明内容
有鉴于此,本发明提供了一种时隙调度的方法与装置,以克服现有技术中在更改协议超帧设计后进行时隙调度时,需要对所有时隙的处理方式进行修改和重新配置,从而造成的增加系统内存的消耗量和调试时间的问题。
为实现上述目的,本发明提供如下技术方案:
一种时隙调度的方法,包括:
依据通用时隙结构,建立具有分层结构的时隙描述表;
接收按照所述时隙描述表进行配置的超帧,所述超帧具有分层数据结构;
当预设时间到达时,查找所述超帧中设定启动调度的定时时间与所述预设时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置;
从所述起始位置启动,依据分层的数据结构按层执行时隙调度。
优选地,所述预设时间包括:未来时间或过去时间;
当预设时间为未来时间,且所述未来时间到达时,查找所述超帧中设定启动调度的定时时间与所述未来时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置;
当预设时间为过去时间时,启动虚拟起振,以所述过去时间为起点,查找所述超帧中设定启动调度的定时时间为下一个到来时间的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置。
优选地,从所述起始位置启动,依据分层的数据结构按层执行时隙调度的具体过程包括:
调用所述起始位置对应的时隙,获取所述时隙位于具有分层数据结构的所述超帧中的所在层数;
调用预设的时隙处理方法对所述时隙进行处理;
判断所述时隙中是否还包含子时隙;
当包含时,确定起始子时隙为当前处理时隙,保存所述当前处理时隙的信息所在的层数至时隙跟踪器数组,所述当前处理时隙位于包含其的时隙或子时隙所在层数的下一层;
进入所述当前处理时隙所在层数;
判断所述当前处理时隙中是否包含下个子时隙,如果是,在所述当前处理时隙的起始时间到来时发送系统消息,并返回执行确定起始子时隙为当前处理时隙这一步骤;如果否,则执行判断所述时隙是否循环这一步骤;
当不存在时,判断所述时隙是否循环,如果是,则在该时隙循环开始时发送系统消息;如果否,则结束时隙调度。
优选地,从所述起始位置启动,依据分层的数据结构按层执行时隙调度的过程中,还包括:
当所述起始位置对应的为分层的数据结构的所述超帧中任意一个时隙或子时隙时,获取所述超帧的起始时间;
设置初始运行标志位和初始定时标志位为真;
调用所述时隙或所述子时隙的开始函数,确定位于最顶层的时隙为当前进行处理的时隙。
优选地,当所述时隙中包含子时隙时,确定起始子时隙的过程包括:
判断是否存在初始运行标记;
如果是,则依据所述初始运行标记从具有分层数据结构的所述超帧中获取起始子时隙;
如果否,则设置所述子时隙数组中的第一个子时隙为起始子时隙。
优选地,发送系统消息后,还包括:
获取所述系统消息中时隙跟踪信息所处具有分层数据结构的所述超帧的层数;
当所述系统消息的类型为重复时隙开始,则在当前所述重复时隙对应的重复序列号上加1,将所述时隙跟踪信息更新为当前的时隙;
返回执行调用预设的时隙处理方法这一步骤,对所述重复时隙进行处理;
当所述系统消息的类型为子时隙开始,则将所述时隙跟踪信息更新为当前的子时隙;
返回执行调用预设的时隙处理方法这一步骤,对所述子时隙进行处理。
优选地,所述时隙跟踪器数组与所述时隙描述表每层的时隙跟踪信息对应;
所述时隙跟踪器数组的长度大于所述时隙描述表所嵌套的时隙最高层数。
优选地,还包括:
执行时隙调度的时间尺度为预设的本地时间或时分多址网络的全网时间。
一种时隙调度的装置,包括:
建立模块,用于依据通用时隙结构,建立具有分层结构的时隙描述表;
时隙调度模块,用于接收按照所述时隙描述表进行配置的超帧,所述超帧具有分层数据结构;当预设时间到达时,查找所述超帧中设定启动调度的 定时时间与所述预设时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置;从所述起始位置启动,依据分层的数据结构按层执行时隙调度。
优选地,所述时隙调度模块中包括:
调度模块,用于在执行时隙调度过程中,调用预设的时隙处理方法对当处理时隙进行处理,并判断其内部是否包含子时隙,当包含子时隙时,确定起始子时隙为当前处理时隙,保存所述当前处理时隙的信息所在的层数至时隙跟踪器数组,并在所述当前处理时隙的起始时间到来时发送系统消息,以及对当前处理时隙执行上述判断其内部是否包含子时隙的处理;当不包含子时隙时,则在该时隙循环开始时发送的系统消息;
定时器,用于设置每个时隙或者子时隙的起始时间;
传输模块,用于在所述定时器指定的起始时间到来时,读取所述超帧中当前处理时隙的初始状态,启动时隙调度;
时隙跟踪器,用于记录或存储所述超帧中每层时隙或子时隙的信息,以及时隙或子时隙中包含的子时隙的信息。
经由上述的技术方案可知,与现有技术相比,本发明公开了一种时隙调度的方法与装置,通过通用时隙结构建立对应的分层结构的时隙描述表,并预先利用该时隙描述表表征超帧配置,并基于针对该时隙描述表中折叠重复的多维时隙的处理,能够自动实现时隙的调度,即便是协议进行更改之后,也可以通过所述时隙的内部数据结构,以及对应该时隙描述表中的位置,调用预设的时隙处理方法,从而实现时隙调度,不需要重新进行重新的配置,能够降低系统内存的消耗量和系统进行调试的时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例一公开的一种时隙调度的方法流程图;
图2为本发明实施例一公开的含N个子时隙,整体重复m次的通用时隙结构示意图;
图3为本发明实施例一公开的进行时隙调度处理的流程图;
图4为本发明实施例一公开的时隙调度启动函数m_slot_run(start_time)的工作流程图;
图5为本发明实施例一公开的接收到系统消息的处理函数的过程流程图;
图6为本发明实施例公开的一种时隙调度的装置结构示意图;
图7为本发明实施例公开的系统消息内部结构示意图;
图8为本发明实施例公开的基本跟踪其数据结构示意图;
图9为本发明一示例公开的DSME多帧时隙结构示意图。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:
TDMA:Time Division Multiple Access,时分多址;
MAC:Medium Access Control,介质访问控制层;
SSS:SubSlot Start,子时隙开始;
RSS:Repeated Slot Start,重复时隙开始。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由背景技术可知,在传感网中各种TDMA MAC协议都存在简单或复杂的超帧结构的配置,当在实现TDMA MAC协议过程中更改协议超帧设计后,在时隙调度的过程中需要对所有的时隙的处理方式进行修改和重新配置,造成增加系统内存的消耗量,以及增加系统调试时间的问题。
因此,本发明公开了一种时隙调度的方法与装置,通过分层结构的时隙描述表预先表征超帧配置;并基于针对该时隙描述表中折叠重复的多维时隙 的处理;以及所述时隙的内部数据结构和对应该时隙描述表中的位置,依据预先设置的定时器调用机制调用预设的时隙处理方法,实现时隙调度,从而降低系统内存的消耗量和系统进行调试的时间。具体过程通过以下实施例进行说明。
实施例一
请参阅附图1,为本发明实施例一公开的一种时隙调度的方法流程图,主要包括以下步骤:
步骤S1,依据通用时隙结构,建立具有分层结构的时隙描述表。
步骤S2,接收按照所述时隙描述表进行配置的超帧,所述超帧具有分层数据结构。
步骤S3,当预设时间到达时,查找所述超帧中设定启动调度的定时时间与所述预设时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置。
在步骤S3中,所述预设时间包括:未来时间或过去时间。在具体执行步骤S3的过程中,当预设时间为未来时间,且所述未来时间到达时,查找所述超帧中设定启动调度的定时时间与所述未来时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置。
当预设时间为过去时间时,启动虚拟起振,以所述过去时间为起点,查找所述超帧中设定启动调度的定时时间为下一个到来时间的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置。
步骤S4,从所述起始位置启动,依据分层的数据结构按层执行时隙调度。
在执行步骤S4的过程中,主要为:从所述起始位置开始启动时隙调度,依据时隙跟踪器记录的每层时隙信息,以及依据定时器预设的每个时隙的起始时间循环执行对各层时隙信息的调度。
需要具体说明的是,在步骤S1中,分层结构的时隙描述表是通过通用时隙结构的分层嵌套定义实现的。
通用时隙结构主要包括:子时隙定义、重复次数和到期处理函数。而对于通用时隙结构中的时隙的数据结构,需要对以下变量进行定义:时隙类型、 基本时隙重复次数、基本时隙长度、重复周期的序列号、此时隙包含的子时隙数量、子时隙描述表(数组)的首地址(子时隙描述表通过分层嵌套定义)和子时隙的序号。在时隙调度的过程中,每次时隙开始进行调度的时都对应调用上述参数,并反馈当前时隙序号,进而实现调用预设的时隙处理方法。
对于上述变量的定义如下所示:
其中,各变量定义如下:
slot_type:用户定义的时隙类型,可以为Beacon、CAP、CFP、发送、接收、休眠等;
slot_repeats:基本时隙重复次数;0为无限次重复,一般只用于最顶层的超帧结构;
slot_duration:基本的时隙长度(不包含重复);
slot_seq:当前重复周期的序列号,取之范围(0,slot_repeats-1);
subslot_num:此时隙包含的子时隙数量;
subslot_dsc:子时隙描述表(数组)的首地址,通过分层嵌套定义;
subslot_cur:当前进行处理的子时隙序号,取之范围(0,subslot_num-1);
func:时隙开始回调函数,执行预设的时隙处理方式,当处理的时隙重复时,在每次时隙开始重复时调用定义中的函数func,并反馈当前进行处理的时隙序号至slot_seq处进行区分。
如图2所示为含N个子时隙,整体重复m次的通用时隙结构。
需要说明的是,在通用时隙结构所包含的子时隙结构,该子时隙结构采用上述同样的方式进行定义,即通过分层嵌套定义。此外,也可以利用树状形式完成对任意层次的超帧时序配置的描述,即通过时隙结构嵌套定义超帧配置。
在上述进行时隙调度的基础上,启动时隙调度进行处理的具体过程如图3所示,主要包括以下步骤:
步骤S101,调用所述起始位置对应的时隙,获取所述时隙位于具有分层数据结构的所述超帧中的所在层数Level。
步骤S102,调用预设的时隙处理方法对所述时隙进行处理。
主要是,通过获取所述时隙当前重复循环的序列号、所述时隙内包含的子时隙数据及所述子时隙数组的首地址和范围以便于在执行下述过程中能够明确的查找或确定当前处理时隙的位置和状态。
步骤S103,获取当前子时隙在所述范围内的子时隙序号。
步骤S104,判断所述时隙中是否还包含子时隙,如果是,则执行步骤S105;如果否则执行步骤S109。
步骤S105,确定起始子时隙为当前处理时隙,保存当前处理时隙的信息所在的层数至时隙跟踪器数组,且所述当前处理时隙位于包含其的时隙或子时隙所在层数的下一层。
在执行步骤S105的过程中,当前处理的超帧的分层数据结构是依据建立的时隙配置表进行配置而成的,因此,步骤S105在确定起始子时隙为当前处理时隙之后,也可以是说保存所述起始子时隙信息至对应所述时隙描述表Level层的时隙跟踪器数组中。
步骤S106,进入所述当前处理时隙所在层数。
步骤S107,判断所述当前处理时隙中是否包含下个子时隙,如果是,则返回执行步骤S108;如果否,则执行步骤S109。
步骤S108,在所述当前处理时隙的起始时间到来时发送系统消息,并返回执行步骤S105。
步骤S109,判断所述时隙是否循环,如果是,则执行步骤S110;如果否则结束时隙调度。
步骤S110,在该时隙循环开始时发送系统消息。
需要说明的是,在调用当前进行处理的时隙中,当当前调用的时隙为所述时隙描述表中的任意一个子时隙时,即当所述起始位置对应的为分层的数据结构的所述超帧中任意一个时隙或子时隙时,通过初始运行标志位first_run和初始定时标志位first_timer进行区分。主要过程如图4所示:
步骤S401,获取所述超帧的起始时间。
步骤S402,设置初始运行标志位first_run为真。
步骤S403,设置初始定时标志位first_timer为真。
步骤S404,调用所述子时隙的开始函数sub_slot_sart(0)。
其中,在开始函数中取数值0指确定位于最顶层的时隙为当前进行处理的时隙。
需要说明的是,在上述执行步骤S104中确定当前进行处理的所述时隙中包含子时隙时,确定起始子时隙的过程主要包括如图3所示:
步骤S111,判断是否存在初始运行标记,如果是,则执行步骤S112;如果否,则执行步骤S113。
步骤S112,则依据所述初始运行标记从具有分层数据结构的所述超帧中获取起始子时隙。
步骤S113,设置所述子时隙数组中的第一个子时隙为起始子时隙。
依据上述过程实现获取确定的起始子时隙之后,继续执行步骤S105。
此外,在上述实现时隙调度的过程中,执行步骤S108和步骤S110发送所述系统消息后,如图5所示,还包括以下步骤:
步骤S501,获取所述系统消息中时隙跟踪信息所处所述时隙描述表的层数Level。
步骤S502,判断所述系统消息的类型,如果是RSS,则执行步骤S503;如果是SSS,则执行步骤S505。
步骤S503,当所述系统消息的类型为RSS,则在当前所述重复时隙对应的重复序列号上加1,将所述时隙跟踪信息更新为当前的时隙。
步骤S504,进入时隙处理流程,调用预设的时隙处理方法。
步骤S505,当所述系统消息的类型为SSS,则将所述时隙跟踪信息更新为当前的子时隙。
步骤S506,进入子时隙处理流程,调用预设的子时隙处理方法。
步骤S507,判断是否存在下个子时隙,如果是,则执行步骤S508;如果否,则结束时隙调度。
步骤S508,设置定时器在下个子时隙循环开始时发送系统消息,循环执行上述步骤。
在上述本发明实施例公开的时隙调度的基础上可知,通用时隙结构建立对应的分层结构的时隙描述表,并预先利用该时隙描述表表征超帧配置,并基于针对该时隙描述表中折叠重复的多维时隙的处理,能够自动实现时隙的调度,即便是协议进行更改之后,也可以通过所述时隙的内部数据结构,以及对应该时隙描述表中的位置,调用预设的时隙处理方法,从而实现时隙调度,不需要重新进行重新的配置,减少因协议修改带来的代码修改量,能够降低系统内存的消耗量和系统进行调试的时间。
上述本发明公开的实施例中详细描述了一种时隙调度的方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种对应上述时隙调度方法的装置,下面给出具体的实施例进行详细说明。
请参阅附图6,为本发明实施例公开的一种时隙调度的装置,主要包括:建立模块1和时隙调度模块2。
建立模块1,用于依据通用时隙结构,建立具有分层结构的时隙描述表。
时隙调度模块2,用于接收按照所述时隙描述表进行配置的超帧,所述超帧具有分层数据结构;当预设时间到达时,查找所述超帧中设定启动调度的定时时间与所述预设时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置;从所述起始位置启动,依据分层的数据结构按层执行时隙调度。
其中,时隙调度模块2中包括:调度模块101、定时器102、传输模块103和时隙跟踪器104。
时隙模块101,用于在执行时隙调度过程中,调用预设的时隙处理方法对当处理时隙进行处理,并判断其内部是否包含子时隙,当包含子时隙时,确定起始子时隙为当前处理时隙,保存所述当前处理时隙的信息所在的层数至时隙跟踪器数组,并在所述当前处理时隙的起始时间到来时发送系统消息, 以及对当前处理时隙执行上述判断其内部是否包含子时隙的处理;当不包含子时隙时,则在该时隙循环开始时发送的系统消息。
定时器102,用于设置每个时隙或者子时隙的起始时间。
传输模块103,用于在所述定时器指定的起始时间到来时,读取所述超帧中当前处理时隙的初始状态,启动时隙调度。
时隙跟踪器104,用于记录或存储所述超帧中每层时隙或子时隙的信息,以及时隙或子时隙中包含的子时隙的信息。即用于记录或存储所述时隙描述表中每层时隙的时隙信息,以及时隙中包含的子时隙的子时隙信息。
需要说明的是,时隙模块101通过定时器102设置每个时隙的起始时间,当定时器102的定时到期时,时隙模块101将接收到被发送的系统消息,该所发送的系统消息中包括两个信息:一个信息是消息类型m_type;另一个是所处时隙描述表的深度(层数)level。其中,m_type包括两种类型,一是子时隙开始SSS,另一个是重复时隙开始RSS。如图7所示,其中,T1为第一层子时隙开始消息:m_type=SSS、level=1;T2为第二层重复时隙开始消息:m_type=RSS、level=2;T3为第二层重复时隙开始消息:m_type=RSS、level=2;T4为第一层子时隙开始消息:m_type=SSS、level=1;T5为第一层重复时隙开始消息:m_type=RSS、level=1;T6为第二层重复时隙开始消息:m_type=RSS、level=2.
此外,在所述时隙模块101接收到系统消息后,获取所述系统消息中对应时隙跟踪器104中的时隙跟踪信息,确定其所处所述时隙描述表的层数Level;并判断接收到的系统消息的类型。
当所述系统消息的类型为RSS时,则在位于当前层数Lev处的时隙的序列号加1,将所述时隙跟踪信息更新为当前的时隙;调用预设的时隙处理方法。
当所述系统消息的类型为SSS时,则将所述时隙跟踪信息更新为当前的子时隙;调用预设的子时隙处理方法;然后再判断是否存在下个子时隙,如果是,则设置定时器102在下个子时隙循环开始时发送系统消息;如果否,则结束时隙调度。
对于时隙跟踪器104,时隙模块101内部定义时隙跟踪器104(slot_tracker)结构,用于跟踪当前所处的时隙在整个时隙描述表中的位置。并在各类定时 器到期时,由slot_tracker指向下一个时隙,并通过定时器设置下下个时隙的起始时间,时时隙模块可以往复循环的进行运转。
由于,时隙描述表是分层嵌套结构,当前时隙信息包括了每一层所处的子时隙信息,以及当前时隙最底层子时隙的层数。因此,整个时隙跟踪器104也是由记录每层时隙信息的基本跟踪器结构叠加而成。当处于如图7所示的B2状态时,基本跟踪其数据结构如图8所示,slot_start为本层时隙起始时间;subslot_start为本层当前所处子时隙的起始时间。其基本跟踪其数据结构可以表示为:
其中,thislot_dsc为本层当前所处的子时隙的时隙描述表的指针。由时隙模块101内部定义slot_tracker数组,即定义时隙跟踪器数组,使其与所述时隙描述表每层的时隙跟踪信息对应;并且使时隙跟踪器数组的长度大于所述时隙描述表所嵌套的时隙最高层数(最深层数)。
此外,在进行上述时隙调度之前,时隙模块101通过注册时隙描述表并配置超帧起始时间启动超帧调度,即时隙调度。
对于时隙模块101的起振过程。首先,通过m_slot_run(slot_cfg_t scfg)接口,向时隙模块101反馈超帧配置的信息;然后,在接收到反馈之后,依据接口的数据结构,传输模块103在start_time指定的时间内,进入时隙描述表,即时隙描述树,读取所述时隙描述表的初始状态;最后,启动时隙调度。
其中,接口slot_cfg_t的数据结构如下:
其中,各变量的定义为:
superframe_cfg:用户定义的超帧时序结构以及其初始状态;
gtol:注册全网同步提供的全局时间转本地时间的函数,可以为空;
start_time:初始状态的起始时间,如gtol为空,则使用表明本时间为本地时间,否则为全网时间;
一般情况下,起始时间start_time都是未来的时间。但是,在本发明所公开的时隙调度的装置中,时隙模块101同样支持过去时间虚拟起振。也就是说,如果start_time为已经过去的时间,则时隙模块会按照此时间为起点,往后找到未来时间的第一个时隙,并从此时隙开始调度。
此外,在TDMA网络中,其对应节点可以使用本地时间作为时隙调度的时间尺度,也可以配置与全网同步模块结合的选项,实现基于全局时间的超帧调度,即时隙调度。而在全网同步的TDMA网络中,一般情况下则采用直接用全局时间作为时隙调度的时间尺度,因此,只需要向时隙模块101注册时间转换函数,即可实现基于全网时间尺度的时隙调度功能。
另外,时隙模块101还支持关于各种起始时间和剩余时间的查询。在时隙模块101运行正常时,可以通过uint32_t m_slot_get_remain_time(uint8_t lev)接口,得到从当前时间开始到本时隙结束的剩余时间。由于时隙描述表为分层结构,因此,用lev(Level)参数指示时隙的层次解析度。Level=0,表示最顶层时隙结构,返回时间表示当前时间距离最顶层时隙结束的剩余时间;如果Level=0xFF则返回到目前所处最底层隙的剩余时间。
同样,也可以通过uint32_t m_slot_get_start_time(uint8_t lev)接口得到时隙起始时间,其中lev的设置与上述一致。
为了更清楚表述本发明实施例所公开的时隙调度的方法与装置,以DSME多帧时隙结构为一示例进行详细说明。
如图9所述,为DSME多帧时隙的结构。其主要包括四层。
最顶层是Beacon_Interval的重复;
第二层(位于一个Beacon_Interval内)是两个Multi-Superframe的重复;
第三层(位于一个Multi-Superframe内)是四个Superframe的重复;
第四层(位于一个Superframe内)是三个子时隙Beacon、CAP和CFP的重复,其中CFP时隙重复八次。
在该示例这里只有一个Beacon_Interval的前提下,其起始状态是在Beacon_Interval中第一个Multi-Superframe中,第一个Multi-Superframe中的第四个Superframe中的第一个Beacon时隙。依据上述本发明实施例公开的时隙调度的方法与装置,实现对超帧描述表的配置,即实现建立分层结构的时隙描述表。
配置的过程为:
首先进行变量函数的声明:
slot_describe_t beacon_interval;
slot_describe_t multisuperframe;
slot_describe_t superframe;
slot_describe_t superframe_subslot[3];
void bi_handler(uint8_t slot_seq);
void mf_handler(uint8_t slot_seq);
void sf_handler(uint8_t slot_seq);
void beacon_handler(uint8_t slot_seq);
void cap_handler(uint8_t slot_seq);
void cfp_handler(uint8_t slot_seq);
然后,依次从第一层开始进行配置直至第四层结束。如第一层的配置为:
beacon_interval.slot_type=BEACON_INTERVAL;//第一层;
beacon_interval.subslot_num=1;//只包含一个子时隙;
beacon_interval.subslot_cur=0;
beacon_interval.subslot_dsc=&multisuperframe;
beacon_interval.slot_repeats=0;//顶层时隙无限次重复;
beacon_interval.slot_seq=0;
beacon_interval.slot_duration=0;//时隙长度由时隙模块自动求和;
beacon_interval.func=bi_handler;//预设的时隙起始处理函数。
同样,第二层至第四层,以及第四层中的子时隙也采用类似的方式进行配置。
在配置好时隙描述表之后,通知时隙模块开始进行时隙调度,调度的过程可表示为:
slot_cfg_t dsme_slot_cfg;//时隙参数配置结构;
dsme_slot_cfg.superframe_cfg=&beacon_interval;//最顶层时隙描述表;
dsme_slot_cfg.start_time=SLOT_START_TIME;//初始状态起始时间(全局时间);
dsme_slot_cfg.gtol=m_sync_gtol;//全局时间转本地时间函数;
m_slot_run(dsme_slot_cfg);//通知时隙模块依据上述配置开始时隙调度。
由此,可依据上述本发明实施例所公开的时隙调度的方法与装置对多帧时隙结构进行调度,上述仅仅为一个具体的示例,本发明并不仅限于该DSME多超帧时隙结构,还适用于其他多超帧时隙结构。
综上所述:
本发明实施例所公开的时隙调度的方法与装置,通用时隙结构建立对应的分层结构的时隙描述表,并预先利用该时隙描述表表征超帧配置,并基于针对该时隙描述表中折叠重复的多维时隙的处理,能够自动实现时隙的调度,即便是对协议进行更改之后,只需要对应的调整所述时隙描述表的相关参数,更新对应该时隙描述表中的位置,调用预设的时隙处理方法,从而实现时隙调度,不需要重新进行超帧编码,减少因协议修改带来的代码修改量,能够降低系统内存的消耗量和系统进行调试的时间。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种时隙调度的方法,其特征在于,包括:
依据通用时隙结构,建立具有分层结构的时隙描述表;
接收按照所述时隙描述表进行配置的超帧,所述超帧具有分层数据结构;
当预设时间到达时,查找所述超帧中设定启动调度的定时时间与所述预设时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置;
从所述起始位置启动,依据分层的数据结构按层执行时隙调度。
2.根据权利要求1所述的方法,其特征在于,所述预设时间包括:未来时间或过去时间;
当预设时间为未来时间,且所述未来时间到达时,查找所述超帧中设定启动调度的定时时间与所述未来时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置;
当预设时间为过去时间时,启动虚拟起振,以所述过去时间为起点,查找所述超帧中设定启动调度的定时时间为下一个到来时间的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置。
3.根据权利要求1或2所述的方法,其特征在于,从所述起始位置启动,依据分层的数据结构按层执行时隙调度的具体过程包括:
调用所述起始位置对应的时隙,获取所述时隙位于具有分层数据结构的所述超帧中的所在层数;
调用预设的时隙处理方法对所述时隙进行处理;
判断所述时隙中是否还包含子时隙;
当包含时,确定起始子时隙为当前处理时隙,保存所述当前处理时隙的信息所在的层数至时隙跟踪器数组,所述当前处理时隙位于包含其的时隙或子时隙所在层数的下一层;
进入所述当前处理时隙所在层数;
判断所述当前处理时隙中是否包含下个子时隙,如果是,在所述当前处理时隙的起始时间到来时发送系统消息,并返回执行确定起始子时隙为当前处理时隙这一步骤;如果否,则执行判断所述时隙是否循环这一步骤;
当不存在时,判断所述时隙是否循环,如果是,则在该时隙循环开始时发送系统消息;如果否,则结束时隙调度。
4.根据权利要求1或2所述的方法,其特征在于,从所述起始位置启动,依据分层的数据结构按层执行时隙调度的过程中,还包括:
当所述起始位置对应的为分层的数据结构的所述超帧中任意一个时隙或子时隙时,获取所述超帧的起始时间;
设置初始运行标志位和初始定时标志位为真;
调用所述时隙或所述子时隙的开始函数,确定位于最顶层的时隙为当前进行处理的时隙。
5.根据权利要求3所述的方法,其特征在于,当所述时隙中包含子时隙时,确定起始子时隙的过程包括:
判断是否存在初始运行标记;
如果是,则依据所述初始运行标记从具有分层数据结构的所述超帧中获取起始子时隙;
如果否,则设置所述子时隙数组中的第一个子时隙为起始子时隙。
6.根据权利要求3所述的方法,其特征在于,发送系统消息后,还包括:
获取所述系统消息中时隙跟踪信息所处具有分层数据结构的所述超帧的层数;
当所述系统消息的类型为重复时隙开始,则在当前所述重复时隙对应的重复序列号上加1,将所述时隙跟踪信息更新为当前的时隙;
返回执行调用预设的时隙处理方法这一步骤,对所述重复时隙进行处理;
当所述系统消息的类型为子时隙开始,则将所述时隙跟踪信息更新为当前的子时隙;
返回执行调用预设的时隙处理方法这一步骤,对所述子时隙进行处理。
7.根据权利要求3中所述的方法,其特征在于,所述时隙跟踪器数组与所述时隙描述表每层的时隙跟踪信息对应;
所述时隙跟踪器数组的长度大于所述时隙描述表所嵌套的时隙最高层数。
8.根据权利要求1、2、5、6或7中所述的方法,其特征在于,还包括:
执行时隙调度的时间尺度为预设的本地时间或时分多址网络的全网时间。
9.一种时隙调度的装置,其特征在于,包括:
建立模块,用于依据通用时隙结构,建立具有分层结构的时隙描述表;
时隙调度模块,用于接收按照所述时隙描述表进行配置的超帧,所述超帧具有分层数据结构;当预设时间到达时,查找所述超帧中设定启动调度的定时时间与所述预设时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置;从所述起始位置启动,依据分层的数据结构按层执行时隙调度。
10.根据权利要求9所述的装置,其特征在于,所述时隙调度模块中包括:
调度模块,用于在执行时隙调度过程中,调用预设的时隙处理方法对当处理时隙进行处理,并判断其内部是否包含子时隙,当包含子时隙时,确定起始子时隙为当前处理时隙,保存所述当前处理时隙的信息所在的层数至时隙跟踪器数组,并在所述当前处理时隙的起始时间到来时发送系统消息,以及对当前处理时隙执行上述判断其内部是否包含子时隙的处理;当不包含子时隙时,则在该时隙循环开始时发送的系统消息;
定时器,用于设置每个时隙或者子时隙的起始时间;
传输模块,用于在所述定时器指定的起始时间到来时,读取所述超帧中当前处理时隙的初始状态,启动时隙调度;
时隙跟踪器,用于记录或存储所述超帧中每层时隙或子时隙的信息,以及时隙或子时隙中包含的子时隙的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110249001.6A CN102958180B (zh) | 2011-08-24 | 2011-08-24 | 时隙调度的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110249001.6A CN102958180B (zh) | 2011-08-24 | 2011-08-24 | 时隙调度的方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102958180A true CN102958180A (zh) | 2013-03-06 |
CN102958180B CN102958180B (zh) | 2015-04-01 |
Family
ID=47766223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110249001.6A Active CN102958180B (zh) | 2011-08-24 | 2011-08-24 | 时隙调度的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102958180B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106488549A (zh) * | 2016-12-02 | 2017-03-08 | 中国船舶重工集团公司第七二四研究所 | 一种异型无线通信系统异步时隙对准方法 |
CN109547143A (zh) * | 2018-12-13 | 2019-03-29 | 上海美亦健健康管理有限公司 | 物联网终端中主从机器的调度实现方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050141547A1 (en) * | 2003-12-31 | 2005-06-30 | Samsung Electronics Co., Ltd. | Wireless communication method adapting priority for transmitting packets in WPAN |
CN1798371A (zh) * | 2004-12-28 | 2006-07-05 | 中兴通讯股份有限公司 | 一种分层无线接入网结构和实现方法 |
CN101610594A (zh) * | 2009-07-24 | 2009-12-23 | 西安电子科技大学 | 基于TD-OFDMA的动态分层PMP/Mesh混合网络系统及其超帧结构 |
CN101682535A (zh) * | 2007-04-13 | 2010-03-24 | Hart通信基金会 | 无线网络中的自适应调度 |
-
2011
- 2011-08-24 CN CN201110249001.6A patent/CN102958180B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050141547A1 (en) * | 2003-12-31 | 2005-06-30 | Samsung Electronics Co., Ltd. | Wireless communication method adapting priority for transmitting packets in WPAN |
CN1798371A (zh) * | 2004-12-28 | 2006-07-05 | 中兴通讯股份有限公司 | 一种分层无线接入网结构和实现方法 |
CN101682535A (zh) * | 2007-04-13 | 2010-03-24 | Hart通信基金会 | 无线网络中的自适应调度 |
CN101610594A (zh) * | 2009-07-24 | 2009-12-23 | 西安电子科技大学 | 基于TD-OFDMA的动态分层PMP/Mesh混合网络系统及其超帧结构 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106488549A (zh) * | 2016-12-02 | 2017-03-08 | 中国船舶重工集团公司第七二四研究所 | 一种异型无线通信系统异步时隙对准方法 |
CN106488549B (zh) * | 2016-12-02 | 2020-01-24 | 中国船舶重工集团公司第七二四研究所 | 一种异型无线通信系统异步时隙对准方法 |
CN109547143A (zh) * | 2018-12-13 | 2019-03-29 | 上海美亦健健康管理有限公司 | 物联网终端中主从机器的调度实现方法和装置 |
CN109547143B (zh) * | 2018-12-13 | 2020-07-14 | 上海美亦健健康管理有限公司 | 物联网终端中主从机器的调度实现方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102958180B (zh) | 2015-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113922936B (zh) | 一种ai技术信道状态信息反馈方法和设备 | |
CN101932104B (zh) | 多载波通信系统下的载波配置方法 | |
Gandham et al. | Distributed minimal time convergecast scheduling in wireless sensor networks | |
US8693495B2 (en) | Wireless network medium access control protocol | |
CN104936273B (zh) | 一种Mesh自组织无线传感网同步休眠及低功耗通讯方法 | |
CN103442426B (zh) | 一种基站及基站间空口同步的方法和系统 | |
CN102238697B (zh) | 一种加入无线传感网络的方法和装置 | |
CN103036663A (zh) | 一种lte系统中分配srs资源的方法、装置和基站 | |
CN101814946B (zh) | 无线通信装置、无线通信系统和无线通信方法 | |
KR100969963B1 (ko) | 공간 검색을 위한 그리드 기반의 트리 구성 방법 | |
JPWO2007052709A1 (ja) | 時刻同期方法及びそれに用いる通信装置及びノード | |
JP5626349B2 (ja) | 無線通信装置、無線通信システムおよび無線通信方法 | |
CN102958180B (zh) | 时隙调度的方法与装置 | |
KR20090057684A (ko) | 무선 센서 네트워크 시스템의 비콘 모드에서의 센서노드의방송장치, 방송방법, 방송응답장치 및 방송응답방법 | |
WO2020036683A1 (en) | Tiered unassisted discovery in directional rf networks | |
CN111953441B (zh) | 一种同步方法及设备 | |
CN102142954A (zh) | 一种机架内的时间同步方法及设备 | |
Alsboui et al. | Information extraction from wireless sensor networks: System and approaches | |
CN102232274A (zh) | 同步装置、接收装置、同步方法以及接收方法 | |
CN103796277A (zh) | 一种指示信标帧发送和发送信标帧的方法、系统和装置 | |
WO2021244548A1 (zh) | 即时消息处理方法和装置 | |
CN108668239A (zh) | 低功耗并支持一对多交互的无线通信系统及其通信方法 | |
US6108344A (en) | Method, means and system for communicating on a shared transmission medium | |
KR102120435B1 (ko) | 무선 센서 네트워크의 스케줄링 방법 및 이를 수행하는 무선 센서 네트워크의 제어 장치 | |
CN101674657B (zh) | 同频点的蜂窝网与其它无线接入网的融合方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220316 Address after: 214000 room 1001, floor 10, building a, Gemini, No. 18, Zhenze Road, Xinwu District, Wuxi City, Jiangsu Province Patentee after: Wuxi Gaoke Internet of things Technology Development Co.,Ltd. Address before: 214135 room 1003, building a, Gemini, Wuxi (National) software park, No. 18, Zhenze Road, New District, Wuxi City, Jiangsu Province Patentee before: WUXI RONGGE INTERNET OF THINGS TECHNOLOGY Co.,Ltd. |