时隙调度的方法与装置的制作方法

文档序号:7764643阅读:178来源:国知局
专利名称:时隙调度的方法与装置的制作方法
技术领域
本发明涉及无线传感网络技术领域,更具体的说,是涉及一种传感网中时隙调度的方法与装置。
背景技术
传感网是一种无线网络,通常是由低功耗的小型传感器以自组织的方式构成的无线网络,其具有实现信息采集和实时感知等功能。在使用传感网的过程中为了降低功耗并 提高信道利用率,现有技术中一般采用TDMA (Time Division Multiple Access,时分多址)MAC (Medium Access Control,介质访问控制层)协议。在实现TDMA MAC协议时,通常在网络时间同步的基础上,按照预先定义的时隙配置进行时隙调度。由于传感网作为新兴技术,对于时隙调度的实现,采用的仍然是直接在各时隙的处理过程中直接调用定时器,定时启动针对下一时隙的处理方式,并且该时隙的调度方式依赖所要实现的协议而设计。但是,在传感网中各种TDMA MAC协议都存在简单或复杂的超帧结构的配置,当在实现TDMA MAC协议过程中更改协议超帧设计后,在时隙调度的过程中需要对所有的时隙的处理方式进行修改和重新配置,造成增加系统内存的消耗量,以及增加系统调试时间的问题。

发明内容
有鉴于此,本发明提供了一种时隙调度的方法与装置,以克服现有技术中在更改协议超帧设计后进行时隙调度时,需要对所有时隙的处理方式进行修改和重新配置,从而造成的增加系统内存的消耗量和调试时间的问题。为实现上述目的,本发明提供如下技术方案一种时隙调度的方法,包括依据通用时隙结构,建立具有分层结构的时隙描述表;接收按照所述时隙描述表进行配置的超帧,所述超帧具有分层数据结构;当预设时间到达时,查找所述超帧中设定启动调度的定时时间与所述预设时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置;从所述起始位置启动,依据分层的数据结构按层执行时隙调度。优选地,所述预设时间包括未来时间或过去时间;当预设时间为未来时间,且所述未来时间到达时,查找所述超帧中设定启动调度的定时时间与所述未来时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置;当预设时间为过去时间时,启动虚拟起振,以所述过去时间为起点,查找所述超帧中设定启动调度的定时时间为下一个到来时间的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置。优选地,从所述起始位置启动,依据分层的数据结构按层执行时隙调度的具体过程包括调用所述起始位置对应的时隙,获取所述时隙位于具有分层数据结构的所述超帧中的所在层数;调用预设的时隙处理方法对所述时隙进行处理;判断所述时隙中是否还包含子时隙;当包含时,确定起始子时隙为当前处理时隙,保存所述当前处理时隙的信息所在的层数至时隙跟踪器数组,所述当前处理时隙位于包含其的时隙或子时隙 所在层数的下一层;进入所述当前处理时隙所在层数;判断所述当前处理时隙中是否包含下个子时隙,如果是,在所述当前处理时隙的起始时间到来时发送系统消息,并返回执行确定起始子时隙为当前处理时隙这一步骤;如果否,则执行判断所述时隙是否循环这一步骤;当不存在时,判断所述时隙是否循环,如果是,则在该时隙循环开始时发送系统消息;如果否,则结束时隙调度。优选地,从所述起始位置启动,依据分层的数据结构按层执行时隙调度的过程中,还包括当所述起始位置对应的为分层的数据结构的所述超帧中任意一个时隙或子时隙时,获取所述超帧的起始时间;设置初始运行标志位和初始定时标志位为真;调用所述时隙或所述子时隙的开始函数,确定位于最顶层的时隙为当前进行处理的时隙。优选地,当所述时隙中包含子时隙时,确定起始子时隙的过程包括判断是否存在初始运行标记;如果是,则依据所述初始运行标记从具有分层数据结构的所述超帧中获取起始子时隙;如果否,则设置所述子时隙数组中的第一个子时隙为起始子时隙。优选地,发送系统消息后,还包括获取所述系统消息中时隙跟踪信息所处具有分层数据结构的所述超帧的层数;当所述系统消息的类型为重复时隙开始,则在当前所述重复时隙对应的重复序列号上加1,将所述时隙跟踪信息更新为当前的时隙;返回执行调用预设的时隙处理方法这一步骤,对所述重复时隙进行处理;当所述系统消息的类型为子时隙开始,则将所述时隙跟踪信息更新为当前的子时隙;返回执行调用预设的时隙处理方法这一步骤,对所述子时隙进行处理。优选地,所述时隙跟踪器数组与所述时隙描述表每层的时隙跟踪信息对应;所述时隙跟踪器数组的长度大于所述时隙描述表所嵌套的时隙最高层数。优选地,还包括
执行时隙调度的时间尺度为预设的本地时间或时分多址网络的全网时间。一种时隙调度的装置,包括建立模块,用于依据通用时隙结构,建立具有分层结构的时隙描述表;时隙调度模块,用于接收按照所述时隙描述表进行配置的超帧,所述超帧具有分层数据结构;当预设时间到达时,查找所述超帧中设定启动调度的定时时间与所述预设时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置;从所述起始位置启动,依据分层的数据结构按层执行时隙调度。优选地,所述时隙调度模块中包括
调度模块,用于在执行时隙调度过程中,调用预设的时隙处理方法对当处理时隙进行处理,并判断其内部是否包含子时隙,当包含子时隙时,确定起始子时隙为当前处理时隙,保存所述当前处理时隙的信息所在的层数至时隙跟踪器数组,并在所述当前处理时隙的起始时间到来时发送系统消息,以及对当前处理时隙执行上述判断其内部是否包含子时隙的处理;当不包含子时隙时,则在该时隙循环开始时发送的系统消息;定时器,用于设置每个时隙或者子时隙的起始时间;传输模块,用于在所述定时器指定的起始时间到来时,读取所述超帧中当前处理时隙的初始状态,启动时隙调度;时隙跟踪器,用于记录或存储所述超帧中每层时隙或子时隙的信息,以及时隙或子时隙中包含的子时隙的信息。经由上述的技术方案可知,与现有技术相比,本发明公开了一种时隙调度的方法与装置,通过通用时隙结构建立对应的分层结构的时隙描述表,并预先利用该时隙描述表表征超帧配置,并基于针对该时隙描述表中折叠重复的多维时隙的处理,能够自动实现时隙的调度,即便是协议进行更改之后,也可以通过所述时隙的内部数据结构,以及对应该时隙描述表中的位置,调用预设的时隙处理方法,从而实现时隙调度,不需要重新进行重新的配置,能够降低系统内存的消耗量和系统进行调试的时间。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图I为本发明实施例一公开的一种时隙调度的方法流程图;图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,为本发明实施例一公开的一种时隙调度的方法流程图,主要包括以下步骤步骤SI,依据通用时隙结构,建立具有分层结构的时隙描述表。步骤S2,接收按照所述时隙描述表进行配置的超帧,所述超帧具有分层数据结构。步骤S3,当预设时间到达时,查找所述超帧中设定启动调度的定时时间与所述预设时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置。在步骤S3中,所述预设时间包括未来时间或过去时间。在具体执行步骤S3的过程中,当预设时间为未来时间,且所述未来时间到达时,查找所述超帧中设定启动调度的定时时间与所述未来时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置。当预设时间为过去时间时,启动虚拟起振,以所述过去时间为起点,查找所述超帧中设定启动调度的定时时间为下一个到来时间的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置。步骤S4,从所述起始位置启动,依据分层的数据结构按层执行时隙调度。在执行步骤S4的过程中,主要为从所述起始位置开始启动时隙调度,依据时隙跟踪器记录的每层时隙信息,以及依据定时器预设的每个时隙的起始时间循环执行对各层时隙信息的调度。需要具体说明的是,在步骤SI中,分层结构的时隙描述表是通过通用时隙结构的分层嵌套定义实现的。通用时隙结构主要包括子时隙定义、重复次数和到期处理函数。而对于通用时隙结构中的时隙的数据结构,需要对以下变量进行定义时隙类型、基本时隙重复次数、基本时隙长度、重复周期的序列号、此时隙包含的子时隙数量、子时隙描述表(数组)的首地址(子时隙描述表通过分层嵌套定义)和子时隙的序号。在时隙调度的过程中,每次时隙开始进行调度的时都对应调用上述参数,并反馈当前时隙序号,进而实现调用预设的时隙处理方法。对于上述变量的定义如下所示
typedef struct —slot—describe—t{
uint8_t slot—type;
uint8_t slot—repeats;
uint32_t slot—duration;
uint8_t slot—seq;
uint8_t subslot—num;
struct —slot—describe—t *subslot_dsc;
uint8_t subslot—cur;
void (*func) (uint8_t slot—seq);
} slot—describe—t;其中,各变量定义如下slot_type :用户定义的时隙类型,可以为Beacon、CAP、CFP、发送、接收、休眠等;slot_repeats :基本时隙重复次数;0为无限次重复,一般只用于最顶层的超帧结构;slot_duration :基本的时隙长度(不包含重复);slot_seq :当前重复周期的序列号,取之范围(O, slot_repeats_l);subslot_num :此时隙包含的子时隙数量;subslot_dsc :子时隙描述表(数组)的首地址,通过分层嵌套定义;subslot_cur :当前进行处理的子时隙序号,取之范围(O, subslot_num_l);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,判断所述时隙是否循环,如果是,则执行步骤SllO ;如果否则结束时隙调度。步骤S110,在该时隙循环开始时发送系统消息。需要说明的是,在调用当前进行处理的时隙中,当当前调用的时隙为所述时隙描述表中的任意一个子时隙时,即当所述起始位置对应的为分层的数据结构的所述超帧中任意一个时隙或子时隙时,通过初始运行标志位first_run和初始定时标志位first_timer进行区分。主要过程如图4所示步骤S401,获取所述超帧的起始时间。步骤S402,设置初始运行标志位first_run为真。步骤S403,设置初始定时标志位first_timer为真。步骤S404,调用所述子时隙的开始函数sub_slot_sart (O)。其中,在开始函数中取数值O指确定位于最顶层的时隙为当前进行处理的时隙。需要说明的是,在上述执行步骤S104中确定当前进行处理的所述时隙中包含子时隙时,确定起始子时隙的过程主要包括如图3所示
步骤SI 11,判断是否存在初始运彳了标记,如果是,则执彳了步骤SI 12 ;如果否,则执行步骤SI 13。步骤S112,则依据所述初始运行标记从具有分层数据结构的所述超帧中获取起始子时隙。步骤S113,设置所述子时隙数组中的第一个子时隙为起始子时隙。依据上述过程实现获取确定的起始子时隙之后,继续执行步骤S105。此外,在上述实现时隙调度的过程中,执行步骤S108和步骤SllO发送所述系统消息后,如图5所示,还包括以下步骤步骤S501,获取所述系统消息中时隙跟踪信息所处所述时隙描述表的层数 Level ο步骤S502,判断所述系统消息的类型,如果是RSS,则执行步骤S503 ;如果是SSS,则执行步骤S505。步骤S503,当所述系统消息的类型为RSS,则在当前所述重复时隙对应的重复序列号上加1,将所述时隙跟踪信息更新为当前的时隙。步骤S504,进入时隙处理流程,调用预设的时隙处理方法。步骤S505,当所述系统消息的类型为SSS,则将所述时隙跟踪信息更新为当前的子时隙。步骤S506,进入子时隙处理流程,调用预设的子时隙处理方法。步骤S507,判断是否存在下个子时隙,如果是,则执行步骤S508 ;如果否,则结束时隙调度。步骤S508,设置定时器在下个子时隙循环开始时发送系统消息,循环执行上述步骤。在上述本发明实施例公开的时隙调度的基础上可知,通用时隙结构建立对应的分层结构的时隙描述表,并预先利用该时隙描述表表征超巾贞配置,并基于针对该时隙描述表中折叠重复的多维时隙的处理,能够自动实现时隙的调度,即便是协议进行更改之后,也可以通过所述时隙的内部数据结构,以及对应该时隙描述表中的位置,调用预设的时隙处理方法,从而实现时隙调度,不需要重新进行重新的配置,减少因协议修改带来的代码修改量,能够降低系统内存的消耗量和系统进行调试的时间。上述本发明公开的实施例中详细描述了一种时隙调度的方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种对应上述时隙调度方法的装置,下面给出具体的实施例进行详细说明。请参阅附图6,为本发明实施例公开的一种时隙调度的装置,主要包括建立模块I和时隙调度模块2。建立模块1,用于依据通用时隙结构,建立具有分层结构的时隙描述表。时隙调度模块2,用于接收按照所述时隙描述表进行配置的超帧,所述超帧具有分层数据结构;当预设时间到达时,查找所述超帧中设定启动调度的定时时间与所述预设时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置;从所述起始位置启动,依据分层的数据结构按层执行时隙调度。其中,时隙调度模块2中包括调度模块101、定时器102、传输模块103和时隙跟踪器104。时隙模块101,用于在执行时隙调度过程中,调用预设的时隙处理方法对当处理时隙进行处理,并判断其内部是否包含子时隙,当包含子时隙时,确定起始子时隙为当前处理时隙,保存所述当前处理时隙的信息所在的层数至时隙跟踪器数组,并在所述当前处理时隙的起始时间到来时发送系统消息,以及对当前处理时隙执行上述判断其内部是否包含子时隙的处理;当不包含子时隙时,则在该时隙循环开始时发送的系统消息。定时器102,用于设置每个时隙或者子时隙的起始时间。传输模块103,用于在所述定时器指定的起始时间到来时,读取所述超帧中当前处理时隙的初始状态,启动时隙调度。时隙跟踪器104,用于记录或存储所述超帧中每层时隙或子时隙的信息,以及时隙或子时隙中包含的子时隙的信息。即用于记录或存储所述时隙描述表中每层时隙的时隙信 息,以及时隙中包含的子时隙的子时隙信息。需要说明的是,时隙模块101通过定时器102设置每个时隙的起始时间,当定时器102的定时到期时,时隙模块101将接收到被发送的系统消息,该所发送的系统消息中包括两个信息一个信息是消息类型m_type ;另一个是所处时隙描述表的深度(层数)level。其中,m_type包括两种类型,一是子时隙开始SSS,另一个是重复时隙开始RSS。如图7所示,其中,Tl为第一层子时隙开始消息m_type = SSSUevel = I ;T2为第二层重复时隙开始消息m_type = RSS、level = 2 ;T3为第二层重复时隙开始消息m_type = RSS、level=2 ;T4为第一层子时隙开始消息m_type = SSS、level = I ;T5为第一层重复时隙开始消息m_type = RSS、level = I ;T6 为第二层重复时隙开始消息m_type = RSS、level = 2.此外,在所述时隙模块101接收到系统消息后,获取所述系统消息中对应时隙跟踪器104中的时隙跟踪信息,确定其所处所述时隙描述表的层数Level ;并判断接收到的系统消息的类型。当所述系统消息的类型为RSS时,则在位于当前层数Lev处的时隙的序列号加1,将所述时隙跟踪信息更新为当前的时隙;调用预设的时隙处理方法。当所述系统消息的类型为SSS时,则将所述时隙跟踪信息更新为当前的子时隙;调用预设的子时隙处理方法;然后再判断是否存在下个子时隙,如果是,则设置定时器102在下个子时隙循环开始时发送系统消息;如果否,则结束时隙调度。对于时隙跟踪器104,时隙模块101内部定义时隙跟踪器104 (slotjracker)结构,用于跟踪当前所处的时隙在整个时隙描述表中的位置。并在各类定时器到期时,由slot_tracker指向下一个时隙,并通过定时器设置下下个时隙的起始时间,时时隙模块可以往复循环的进行运转。由于,时隙描述表是分层嵌套结构,当前时隙信息包括了每一层所处的子时隙信息,以及当前时隙最底层子时隙的层数。因此,整个时隙跟踪器104也是由记录每层时隙信息的基本跟踪器结构叠加而成。当处于如图7所示的B2状态时,基本跟踪其数据结构如图8所示,slot_start为本层时隙起始时间;subslot_start为本层当前所处子时隙的起始时
间。其基本跟踪其数据结构可以表示为typedef struct —slot—tracker—t {
slot—describe—t *thislot_dsc; time t slot—start; time t subslot—start;
} slot—tracker—t;其中,thislot_dsc为本层当前所处的子时隙的时隙描述表的指针。由时隙模块101内部定义slotjracker数组,即定义时隙跟踪器数组,使其与所述时隙描述表每层的时隙跟踪信息对应;并且使时隙跟踪器数组的长度大于所述时隙描述表所嵌套的时隙最高层数(最深层数)。
此外,在进行上述时隙调度之前,时隙模块101通过注册时隙描述表并配置超帧起始时间启动超帧调度,即时隙调度。对于时隙模块101的起振过程。首先,通过m_slot_run(slot_cfg_t scfg)接口,向时隙模块101反馈超帧配置的信息;然后,在接收到反馈之后,依据接口的数据结构,传输模块103在Startjime指定的时间内,进入时隙描述表,即时隙描述树,读取所述时隙描述表的初始状态;最后,启动时隙调度。其中,接口 slot_cfg_t的数据结构如下
typedef struct {
slot—describe—t * superframe cfg;time t start time;bool—t (*gtol)(time_t* gtime);
} 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)接口,得到从当前时间开始到本时隙结束的剩余时间。由于时隙描述表为分层结构,因此,用Iev(Level)参数指示时隙的层次解析度。Level =0,表示最顶层时隙结构,返回时间表示当前时间距离最顶层时隙结束的剩余时间;如果Level = OxFF则返回到目前所处最底层隙的剩余时间。同样,也可以通过 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 = I ;// 只包含一个子时隙;beacon_interval. subslot_cur = 0 ;beacon_interval. subslot_dsc = &multisuperframe ;
beacon_interval. slot_repeats = 0 -J/ 顶层时隙无限次重复;beacon_interval. slot_seq = 0 ;beacon_interval. slot_duration = 0;// 时隙长度由时隙模块自动求和;beacon_interval. func = bi_handler -J/ 预设的时隙起始处理函数。同样,第二层至第四层,以及第四层中的子时隙也采用类似的方式进行配置。在配置好时隙描述表之后,通知时隙模块开始进行时隙调度,调度的过程可表示为
slot_cfg_t dsme_slot_cfg -J/ 时隙参数配置结构;dsme_slot_cfg. superframe_cfg = &beacon_interval -J/ 最顶层时隙描述表;dsme_slot_cfg. start_time = SL0T_START_TIME ;// 初始状态起始时间(全局时间);dsme_slot_cfg. gtol = m_sync_gtol -J/ 全局时间转本地时间函数;m_slot_run(dsme_slot_cfg) ;//通知时隙模块依据上述配置开始时隙调度。由此,可依据上述本发明实施例所公开的时隙调度的方法与装置对多帧时隙结构进行调度,上述仅仅为一个具体的示例,本发明并不仅限于该DSME多超帧时隙结构,还适用于其他多超帧时隙结构。综上所述本发明实施例所公开的时隙调度的方法与装置,通用时隙结构建立对应的分层结构的时隙描述表,并预先利用该时隙描述表表征超帧配置,并基于针对该时隙描述表中折叠重复的多维时隙的处理,能够自动实现时隙的调度,即便是对协议进行更改之后,只需要对应的调整所述时隙描述表的相关参数,更新对应该时隙描述表中的位置,调用预设的时隙处理方法,从而实现时隙调度,不需要重新进行超帧编码,减少因协议修改带来的代码修改量,能够降低系统内存的消耗量和系统进行调试的时间。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
权利要求
1.一种时隙调度的方法,其特征在于,包括 依据通用时隙结构,建立具有分层结构的时隙描述表; 接收按照所述时隙描述表进行配置的超帧,所述超帧具有分层数据结构; 当预设时间到达时,查找所述超帧中设定启动调度的定时时间与所述预设时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置;从所述起始位置启动,依据分层的数据结构按层执行时隙调度。
2.根据权利要求I所述的方法,其特征在于,所述预设时间包括未来时间或过去时间; 当预设时间为未来时间,且所述未来时间到达时,查找所述超帧中设定启动调度的定时时间与所述未来时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置; 当预设时间为过去时间时,启动虚拟起振,以所述过去时间为起点,查找所述超帧中设定启动调度的定时时间为下一个到来时间的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置。
3.根据权利要求I或2所述的方法,其特征在于,从所述起始位置启动,依据分层的数据结构按层执行时隙调度的具体过程包括 调用所述起始位置对应的时隙,获取所述时隙位于具有分层数据结构的所述超帧中的所在层数; 调用预设的时隙处理方法对所述时隙进行处理; 判断所述时隙中是否还包含子时隙; 当包含时,确定起始子时隙为当前处理时隙,保存所述当前处理时隙的信息所在的层数至时隙跟踪器数组,所述当前处理时隙位于包含其的时隙或子时隙所在层数的下一层;进入所述当前处理时隙所在层数; 判断所述当前处理时隙中是否包含下个子时隙,如果是,在所述当前处理时隙的起始时间到来时发送系统消息,并返回执行确定起始子时隙为当前处理时隙这一步骤;如果否,则执行判断所述时隙是否循环这一步骤; 当不存在时,判断所述时隙是否循环,如果是,则在该时隙循环开始时发送系统消息;如果否,则结束时隙调度。
4.根据权利要求I或2所述的方法,其特征在于,从所述起始位置启动,依据分层的数据结构按层执行时隙调度的过程中,还包括 当所述起始位置对应的为分层的数据结构的所述超帧中任意一个时隙或子时隙时,获取所述超帧的起始时间; 设置初始运行标志位和初始定时标志位为真; 调用所述时隙或所述子时隙的开始函数,确定位于最顶层的时隙为当前进行处理的时隙。
5.根据权利要求3所述的方法,其特征在于,当所述时隙中包含子时隙时,确定起始子时隙的过程包括 判断是否存在初始运行标记; 如果是,则依据所述初始运行标记从具有分层数据结构的所述超帧中获取起始子时隙; 如果否,则设置所述子时隙数组中的第一个子时隙为起始子时隙。
6.根据权利要求3所述的方法,其特征在于,发送系统消息后,还包括 获取所述系统消息中时隙跟踪信息所处具有分层数据结构的所述超帧的层数; 当所述系统消息的类型为重复时隙开始,则在当前所述重复时隙对应的重复序列号上加1,将所述时隙跟踪信息更新为当前的时隙; 返回执行调用预设的时隙处理方法这一步骤,对所述重复时隙进行处理; 当所述系统消息的类型为子时隙开始,则将所述时隙跟踪信息更新为当前的子时隙; 返回执行调用预设的时隙处理方法这一步骤,对所述子时隙进行处理。
7.根据权利要求3中所述的方法,其特征在于,所述时隙跟踪器数组与所述时隙描述表每层的时隙跟踪信息对应; 所述时隙跟踪器数组的长度大于所述时隙描述表所嵌套的时隙最高层数。
8.根据权利要求1、2、5、6或7中所述的方法,其特征在于,还包括 执行时隙调度的时间尺度为预设的本地时间或时分多址网络的全网时间。
9.一种时隙调度的装置,其特征在于,包括 建立模块,用于依据通用时隙结构,建立具有分层结构的时隙描述表; 时隙调度模块,用于接收按照所述时隙描述表进行配置的超帧,所述超帧具有分层数据结构;当预设时间到达时,查找所述超帧中设定启动调度的定时时间与所述预设时间相同的时隙,确定所述时隙为起始时隙,所述时隙在所述超帧中的位置为时隙调度的起始位置;从所述起始位置启动,依据分层的数据结构按层执行时隙调度。
10.根据权利要求9所述的装置,其特征在于,所述时隙调度模块中包括 调度模块,用于在执行时隙调度过程中,调用预设的时隙处理方法对当处理时隙进行处理,并判断其内部是否包含子时隙,当包含子时隙时,确定起始子时隙为当前处理时隙,保存所述当前处理时隙的信息所在的层数至时隙跟踪器数组,并在所述当前处理时隙的起始时间到来时发送系统消息,以及对当前处理时隙执行上述判断其内部是否包含子时隙的处理;当不包含子时隙时,则在该时隙循环开始时发送的系统消息; 定时器,用于设置每个时隙或者子时隙的起始时间; 传输模块,用于在所述定时器指定的起始时间到来时,读取所述超帧中当前处理时隙的初始状态,启动时隙调度; 时隙跟踪器,用于记录或存储所述超帧中每层时隙或子时隙的信息,以及时隙或子时隙中包含的子时隙的信息。
全文摘要
本发明公开了一种时隙调度的方法与装置,本发明公开了一种时隙调度的方法与装置,通过通用时隙结构建立对应的分层结构的时隙描述表,并预先利用该时隙描述表表征超帧配置,并基于针对该时隙描述表中折叠重复的多维时隙的处理,能够自动实现时隙的调度,即便是协议进行更改之后,也可以通过所述时隙的内部数据结构,以及对应该时隙描述表中的位置,调用预设的时隙处理方法,从而实现时隙调度,不需要重新进行重新的配置,能够降低系统内存的消耗量和系统进行调试的时间。
文档编号H04W72/12GK102958180SQ20111024900
公开日2013年3月6日 申请日期2011年8月24日 优先权日2011年8月24日
发明者道远, 黄河清, 张亮, 王刚, 沈杰, 刘海涛 申请人:无锡融格物联网科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1