本发明属于卫星通信领域,涉及一种卫星网络时间同步方法,能够实现复杂空间环境下的卫星组网时间同步,适用于各类星群的星间时间同步应用。
背景技术:
星间网络互联能够最大限度地提升网络的服务能力,扩充网络的服务范围,有效地弥补单星在轨运行存在的各种不足,从而构建一个功能完善、性能稳定的空间服务系统。
编队星群相比于以往的星座来说,要求参与编队飞行的各个卫星平台之间的相互位置测量更为精确,编队构形更加稳定,同时由于各个卫星平台之间要发生信息交换,因此要求各个卫星平台之间的时钟严格统一,单个卫星平台的自主能力更强。同时,由于卫星编队一体化传输的需要,卫星节点之间需通过精确测距获得相对距离信息,并以此为基础决定传输功率和帧结构中保护段的长度。因此获得高精度的时频同步结果对适应时空大跨度的空间卫星组网具有重要意义。
理论上,只有同时实现两钟的频率和钟面时刻一致,才能称之为时间同步。但是由于频率可调的频率源存在一定的不稳定性,因此实际工作中两钟的时刻差不可能保持为一个常数,允许两钟的频标存在一定的误差,只要不断的调整两钟的钟面差,使得钟面差的绝对值保持在一个可以容忍的范围内,就可以认为两钟达到了某种精度的时间同步。
在采用TDMA体制的无线自组织网络中,各子节点与主节点的同步过程通常分为开环同步和闭环同步两个步骤。主节点周期性的广播同步信标,各子节点检测到同步信标后就立即重新启动定时,这就是开环同步。由于传播时延的影响,网内各子节点的定时起始时该是各不相同的。如果各子节点只接收主节点的广播而不向主节点发送数据时,显然开环同步是足够的。对于链路的传播时延,采用闭环同步的方式进行校准:同步节点在固定时隙内向基准节点周期性地发送ECHO(回声,用于测时延使用的一种往返测量帧)分组,并且通过本地的时钟计数器开始计数,基准节点在接收到ECHO分组后要立即返回该分组,同步节点收到回复的ECHO时,时钟计数器停止计数,根据该计数值就可以估算出同步节点与基准节点的链路时延,这样节点就可以实时刷新链路传播时延,修正开环同步。考虑到并非每个子节点与主节点都是可见的,因此每个子节点首先选择一个时钟级别较高的节点作为同步基准,每个节点在其所在的同步时隙内都会发送同步码,当节点收到该码后对本地时钟计数器进行校准,从而扩大基准时钟的覆盖面积。
采用TDMA体制的星间组网传输方案,簇内各卫星间通过主从同步方式进行精确的时间同步,传统的同步方式通过MAC层的帧交互,完成主从节点间的开环同步和闭环同步。快响星簇卫星组网项目中,典型星间距离为10~1300km,传输速率为128kbps~1kbps,通过MAC层的帧交互进行节点间时间同步,在如此低的传输速率下同步精度会变得很差,约为10us-1000us,这远远无法满足TDMA精确时间同步的需求。
技术实现要素:
本发明解决的技术问题是:克服现有技术的不足,提供了一种基于跨层设计的星群网络时间同步方法,在MAC层进行星簇节点间的同步拓扑管理,在物理层采用扩频的信号体制,通过半双向时间比对测距方式计算节点间钟差,实现节点间的同步。在不同的传输速率下,物理层的扩频码速率保持不变,不会因为传输速率的降低而带来时间同步精度的恶化。通过将MAC层的同步拓扑管理与物理层扩频测距相结合,可实现全网时间的同步,为采用TDMA体制的星群网络提供了稳定的、高精度的星间同步方案。
本发明的技术解决方案是:一种基于跨层设计的星群网络时间同步方法,包括:
(1)各卫星节点开机后启动时间同步功能;
(2)各卫星节点在轨侦听其它卫星节点广播的网络同步状态信息,若卫星节点在设定长度的时间内未侦听到其它卫星节点广播的网络同步状态信息,则将自已的角色确定为时间基准节点;若卫星节点在设定长度的时间内收集到了周围节点广播的网络同步状态信息,则根据收集的同步状态信息将时钟级别最高的节点选定为本卫星时间同步的父节点,同时确定自己为子节点;
(3)对于时间基准节点,在MAC层接收新入网节点上报的同步请求,并在物理层响应新入网子节点的时间同步过程;向子节点分配同步时隙与广播时隙,并在各节点的同步时隙响应子节点的同步请求,完成全网时间的同步,并对各子节点进行同步管理;
(4)对于非时间基准节点,在MAC层将选定的父节点下发至物理层,并在物理层发起与父节点的时间同步过程;时间同步过程完成后,子节点向基准节点申请同步时隙与广播时隙,并在同步时隙与父节点进行交互,完成与父节点的同步维持,实现全网时间的同步;
(5)各卫星节点的时间同步过程完成后,广播卫星节点自身的同步状态信息,进行同步时间的扩散,并对各子节点进行同步管理和各父节点进行同步维持。
所述的网络同步状态信息包括节点ID、基准节点ID、时钟级别、同步时隙占用状态,其中节点ID指本星自身的识别号,基准节点ID指全网时间基准所在卫星的识别号,时钟级别是指本星在时间传递中所处的位置,基准节点时钟级别为0级,与他一跳连接的卫星节点的时钟级别为1,依次类推,与基准节点越远,时钟级别越低,同步时隙占用状态是指整个超帧周期内哪些同步时隙已被占用,哪些未被占用。
所述的时间同步过程,包括:
第一步:子节点将本地钟面时tson_send填入同步帧后,向父节点发送同步帧,父节点利用接收到的子节点发送前沿的钟面时tson_send与接收到同步帧前沿的时间tfather_arrive计算本地伪距tα:
tα=tfather_arrive-tson_send;
第二步:父节点将本地钟面时tfather_send与本地伪距tα填写到反馈帧发送回子节点,子节点利用接收到的父节点发送前沿的钟面时tfather_send与接收到同步帧前沿的时间tson_arrive计算本地伪距tβ:
tβ=tson_arrive-tfather_send;
第三步:子节点根据测得的本地伪距tβ及接收到父节点的本地伪距tα计算得到两节点间的钟差Δt:
Δt=(tα-tβ)/2;
第四步:子节点的时间加上Δt,完成子节点与父节点的时间同步。
所述的子节点进行同步管理,包括:
第一步:等待子节点的广播时隙,检测是否收到子节点的广播帧;如果收到子节点的广播帧则继续;如果未收到子节点的广播帧则计数器加1进入第二步;
第二步:判断计数器的值,如果计数器小于等于最大退网门限MAX_exit则继续等待子节点的广播时隙检测子节点的广播帧;如果计数器大于MAX_exit则将此节点标记为退网节点;
第三步:在业务帧中向父节点发送退网子节点的ID号。
所述的父节点进行同步维持,包括:
第一步:等待父节点的广播时隙,检测是否收到父节点的广播帧;如果收到父节点的广播帧将计数器清零并继续;如果未收到父节点的广播帧则计数器加1进入第二步;
第二步:判断计数器的值,如果计数器小于等于最大非同步门限MAX_asyn则继续等待子节点的广播时隙检测子节点的广播帧;如果计数器大于MAX_asyn则将本节点标记为非同步节点,并重新启动入网同步过程。
本发明与现有技术相比的优点在于:
(1)本发明方法中,节点间采用基于半双向的扩频测量时间同步体制,能在尽量少的交互回合下,提供很高的同步精度,节省星上稀缺的通信资源。
(2)本发明方法通过跨层设计,由MAC层进行同步拓扑管理,便于在星上用处理器运行复杂度高的管理算法以优化拓扑管理性能;
(3)本发明方法在物理层采用扩频的调制方式进行测距,基于硬件电路提供较高的测量精度,避免空间传输速率变化对测量精度的影响,最终完成全网时间同步;
(4)本发明方法为各节点分配专属的同步时隙,由子节点发起,对父节点进行半双向扩频测量,以时分多址的方式,为网络内多个节点提供独立的时间同步信道,避免同步信号冲突,有效解决多节点同步问题。
附图说明
图1为本发明方法的流程框图;
图2为本发明的帧结构示意图;
图3为本发明广播帧结构示意图;
图4为本发明同步帧结构示意图;
图5为本发明反馈帧结构示意图;
图6为本发明节点初始化及信息收集过程示意图;
图7为本发明时间基准节点选取过程示意图;
图8为本发明节点同步和广播时隙获取过程示意图;
图9为本发明测距模块的时间同步过程示意图;
图10为本发明时间基准节点的处理流程图;
图11为本发明非时间基准节点(入网)的处理流程图;
图12为本发明子节点同步管理流程图;
图13为本发明父节点同步维持流程图。
具体实施方式
如图1所示,为本发明跨层星群网络时间同步方法的处理流程,具体包括如下步骤:
(1)各卫星节点开机后启动时间同步功能;
(2)在轨侦听其它卫星节点广播的网络同步状态信息,网络同步状态信息包括:节点ID、基准节点ID、时钟级别、同步时隙占用状态等;
其中,节点ID指本星自身的识别号,基准节点ID指全网时间基准所在卫星的识别号,时钟级别是指本星在时间传递中所处的位置,即基准节点时钟级别为0级,与他一跳连接的卫星节点的时钟级别为1,依次类推,与基准节点越远,其时钟级别越低,同步时隙占用状态是指整个超帧周期内哪些同步时隙已被占用,哪些未被占用。
(3)若卫星节点在充分长的时间内未侦听到其它卫星节点广播的网络同步状态信息,则将自已的角色确定为时间基准节点;若卫星节点在充分长的时间内收集到了周围节点广播的网络同步状态信息,则根据各节点的同步状态信息将时钟级别最高的节点选定为本星时间同步的父节点,确定自己为子节点;
(4)对于非时间基准节点:MAC层的时间同步拓扑管理模块将选定的父节点下发至物理层;对于时间基准节点:时间同步拓扑管理模块接收新入网节点上报的同步请求;
(5)对于非时间基准节点:物理层发起与父节点的时间同步过程;对于时间基准节点:由物理层响应子节点的时间同步过程;
(6)对于非时间基准节点:向基准节点申请同步时隙与广播时隙;对于时间基准节点:向子节点分配同步时隙与广播时隙;
(7)对于非时间基准节点:依次类推,各卫星节点按上述方法,分别在各自的同步时隙与各自的父节点进行交互,完成与父节点的同步维持流程,实现全网时间的高精度同步。卫星节点的时间同步过程完成后,广播卫星节点自身的同步状态信息,用于同步时间的扩散,及对各子节点进行同步管理。对于时间基准节点:依次类推,基准卫星节点按上述方法,分别在各节点的同步时隙响应子节点的同步请求,完成全网时间的高精度同步,并对各子节点进行同步管理。
下面对其中的关键环节进行详细的说明。
要建立一个TDMA系统,首先要进行系统帧格式的设计,系统内所有的时隙分配都是基于这个系统帧格式的,以时间为单位,超帧时间最长,在超帧下划分了M个复帧(为保证每个节点都有独占的同步时隙,所以M的取值应大于卫星编队中的总卫星节点个数),每个复帧由一个同步时隙和N个业务帧组成(为使得每个节点都有充裕的业务帧资源使用,N的取值应远大于卫星节点个数,如,当节点数为8时,N的取值可为256或512)。
本发明设计的系统帧格式如图2所示,系统一个超帧中含有M个复帧;一个复帧包含一个同步时隙和N个业务帧;同步时隙用于半双向扩频测距;业务帧内设置广播帧,用于各节点的同步状态信息的广播。
本发明中共涉及三种帧结构
a)广播帧结构
广播帧用于发送节点时钟等级、基准节点等信息,用于子节点对父节点的选择;子节点可以在广播帧中发送未分配时隙向基准节点请求时隙号,广播帧结构如图3所示。
广播地址:标识广播帧(5比特)
发送地址:发送节点ID(5比特)
时钟等级:发送广播帧节点的时钟等级(3比特)
基准节点:表示同步主节点ID(5比特)
复帧计数:发送广播的节点的复帧计数(5比特)
CRC:校验位。
b)同步帧结构
同步帧用于子节点发起同步流程,其结构如图4所示。
目的地址:接收节点的ID,填写该同步帧的接收节点ID;
发送地址:发送节点的ID;填写该同步帧的发出节点ID;
P/F:同步帧与反馈帧区分标识,同步帧该位为0;
本地钟面时:本地同步帧前沿发出时刻,用于计算到达同步帧历元;
CRC:校验位。
c)反馈帧结构
反馈帧用于父节点应答子节点的同步请求,并反馈时间信息,其结构如图5所示。
目的地址:接收节点的ID,填写该反馈帧的接收节点ID;
发送地址:发送节点的ID,填写该反馈帧的发出节点ID;
P/F:同步帧与反馈帧区分标识,反馈帧该位为1;
本地钟面时:本地反馈帧前沿发出时刻,用于计算到达反馈帧历元;
本地伪距值:通过本地扩频捕获,获得其它节点发出的同步帧到达历元时,计算其它节点对应的本地伪距,并装帧向对应节点发送;
CRC:校验位。
1)节点初始化及信息收集过程
节点的初始化及信息收集过程如图6所示,节点开机后将同步状态设置为非同步状态,侦听周围节点发出的同步广播帧,可侦听若干个超帧周期,根据是否收到广播帧判断周围是否有同步网络。如果有同步网络,则将选取的父节点信息发送给测距模块,由测距模块完成与父节点间的时间同步过程;如果周围没有同步网络,则进入时钟基准节点选取阶段。
卫星群进入工作轨道后,星群内各节点无需按照特定的顺序开机,可自由安排开机时间;节点开机后,将其同步状态设置为非同步状态,并启动时间同步功能。
2)时间基准节点选取过程
时间基准节点选取过程如图7所示,主要包括以下几个步骤:
第一步:随机退避T个超帧周期(首先是要侦听足够长的时间,以确保能听到已存在的网络,另外,各节点的T值是随机确定的,各不相同,可保证总有某个节点会先结束侦听,开始建立基准),并侦听信道有无广播帧。若有广播帧则选取父节点,并将获取的父节点ID发送给测距模块,随后完成同步时隙获取过程;若未收到广播帧则进入第二步过程。
第二步:在第1个复帧的第1个业务时隙上发送广播帧,设置测距模块的同步时隙为第1个复帧的起始提前一个同步时隙的长度,并将本节点标识为时间基准节点(每个节点都会侦听T个超帧周期,每个节点的T是自身产生的一个随机值,互不相等,因此总有个T最小的节点会先侦听完毕,将自已设为基准,一旦有一个节点确认为基准后,其它节点就会同步到这个基准上)。然后启动定时器(定时器长度设为1个超帧周期)侦听测距模块上报的请求入网节点的ID号,若收到请求节点ID后则为该节点分配广播时隙和测距模块同步时隙(分配结果信息将在业务时隙内以单播方式发送)。
3)节点同步和广播时隙获取过程
节点同步和广播时隙获取是向父节点发送入网申请,由基准节点分配同步时隙和广播时隙,完成整个入网过程。具体过程如图8所示,由以下几步组成:
第一步:接收到父节点的广播帧后将本节点标识为子节点,将要同步的父节点ID作为参数发送给测距模块并设置时间同步定时器,若测距模块未在定时器时间内返回同步状态则重新进行第一步;如果测距模块返回同步状态则进入第二步。
第二步:获取到测距模块的同步状态后,等待父节点发送的时隙分配结果帧,记录基准节点分配给本节点的广播时隙和同步时隙,将同步时隙作为参数发送给测距模块
4)测距模块的时间同步过程
MAC层的时间同步拓扑管理模块将选定的父节点下发至物理层,物理层发起半双向的扩频测距流程如图9所示:
第一步:节点间的主从同步流程在76ms的同步帧中进行,子节点将本地钟面时tson_send填入同步帧后,向上级时钟节点发送同步帧,主节点利用接收到的子节点发送前沿的钟面时tson_send与接收到同步帧前沿的时间tfather_arrive计算本地伪距tα:
tα=tfather_arrive-tson_send
第二步:父节点将本地钟面时tfather_send与本地伪距tα填写到反馈帧发送回子节点。子节点利用接收到的父节点发送前沿的钟面时tfather_send与接收到同步帧前沿的时间tson_arrive计算本地伪距tβ:
tβ=tson_arrive-tfather_send
第三步:子节点根据测得的本地伪距tβ及接收到主节点的本地伪距tα可计算得到两节点间钟差Δt:
Δt=(tα-tβ)/2
第四步:并据此对时钟进行调整,子节点的时间加上Δt即可实现子节点与上级时钟父节点的时间同步。
5)时间基准节点的处理流程
时间基准节点主要完成广播时隙和同步时隙的分配,以及维持与一跳节点时间同步功能,其处理流程如图10所示,主要包括以下几个步骤:
第一步:判断是否为本节点所在的复帧头,如果是,则由测距模块在偶数同步时隙响应新入网节点的同步过程,并将新入网节点的ID号上报给CPU。CPU在广播时隙发送广播帧。如果非本节点所在复帧则进入第二步。
第二步:时间基准节点的测距模块在子节点的同步时隙响应子节点的同步维持过程。
第三步:接收各子节点上报的时隙回收信息,CPU为新入网节点分配时隙并记录。
第四步:CPU在业务帧中发送新的时隙分配结果。
6)非时间基准节点(入网)的处理流程
非时间基准节点广播时隙和同步时隙的请求和分配流程如图11所示,包括以下几个步骤:
第一步:判断是否为本节点所在的复帧头,如果是,测距模块在奇数帧的同步时隙完成与父节点间的时间同步;在偶数帧的同步时隙完成与新入网节点的时间同步,并将入网节点的ID号上报给CPU。在广播时隙发送广播帧。如果非本节点所在复帧则进入第二步。
第二步:测距模块在同步时隙完成与子节点的时间同步维持过程,CPU接收其他节点的广播帧。
第三步:接收子节点上报的时隙回收信息,并向父节点上报时隙回收信息。
第四步:CPU在业务时隙中下发新的时隙分配结果。
7)子节点同步管理流程
子节点的同步管理流程如图12所示,包含以下几个过程:
第一步:等待子节点的广播时隙,检测是否收到子节点的广播帧;如果收到子节点的广播帧则继续;如果未收到子节点的广播帧则计数器加1进入第二步。
第二步:判断计数器的值,如果计数器小于等于最大退网门限MAX_exit则继续等待子节点的广播时隙检测子节点的广播帧;如果计数器大于MAX_exit则将此节点标记为退网节点。
第三步:在业务帧中向父节点发送退网子节点的ID号
8)父节点同步维持流程
父节点的同步维持流程如图13所示,主要包含以下几个步骤:
第一步:等待父节点的广播时隙,检测是否收到父节点的广播帧;如果收到父节点的广播帧将计数器清零并继续;如果未收到父节点的广播帧则计数器加1进入第二步。
第二步:判断计数器的值,如果计数器小于等于最大非同步门限MAX_asyn则继续等待子节点的广播时隙检测子节点的广播帧;如果计数器大于MAX_asyn则将本节点标记为非同步节点,并重新启动入网同步过程。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。