一种aos的虚拟信道动态调度方法

文档序号:7860004阅读:268来源:国知局
专利名称:一种aos的虚拟信道动态调度方法
技术领域
本发明涉及一种虚拟信道动态调度方法,具体涉及一种高级在轨系统(AOS)的虚拟信道动态调度方法,属于通信技术领域。
背景技术
虚拟信道(VC)是建立在一个物理信道上的多个并行的“虚拟”通路,利用虚拟信道机制,一个物理信道可以被多个不同业务的用户共享。各个虚拟信道中的数据单元被封装到高级在轨系统(AOS)传输帧的数据域。利用差错控制处理将AOS上多个虚拟信道的传输帧同步地装入一个信道存取数据单元(CADU)中,形成连续并邻接的CADU数据流,通过物理信道传输出去。在对AOS上多个虚拟信道的传输帧进行调度的过程中,最简单的调度策略是静态 周期轮转的调度策略。同传统的时分制非常类似,它的主要特点是各虚拟信道的传输帧输出具有等时性,其优点是星上实现简单,但这种方法对突发数据的传输效率较低,不能适应星上数据源的动态变化,比如当星上突发故障而产生大量诊断数据时,这些数据是地面关心的,占用某个或某些虚拟信道传输,地面通常希望能尽快而且完整地传回,此时静态周期轮转的调度策略对这些虚拟信道仍采用原先不紧不慢的步调传输,就不能适应这种突发数据的要求。为了保证AOS信道合路器能够高效、有序地完成合路调度的任务,因此需要设计一种虚拟信道动态调度策略,使其可以很好的解决静态周期轮转调度策略效率低、实时性差的问题。

发明内容
本发明的目的是为了解决静态周期轮转调度策略不能适应星上数据源的动态变化的问题,提出了一种AOS的虚拟信道动态调度方法。本发明的目的是通过以下技术方案实现的一种AOS的虚拟信道动态调度方法,具体步骤为步骤一、在FPGA中设置多个缓存器,其中每一缓存器对应一个虚拟信道,初始时将每一缓存器的传送紧迫度设置为O ;步骤二、确定每一虚拟信道接收外部输入数据的类型,根据其接收数据的重要性和实时性要求,为其对应的缓存器定义一个优先级,且各缓存器所定义的优先级各不相同;步骤三、周期性地对FPGA上各缓存器进行判断,当判定至少存在一个缓存器存有数据需要参与调度,则对FPGA上的数据调度模块提出申请;步骤四、判断各缓存器对应的紧迫度,若存在唯一一个最高紧迫度时,则将该最高紧迫度对应的缓存器定义为优先缓存器,并进入步骤五,若存在的最高紧迫度为多个时,则将该多个最高紧迫度对应的缓存器定义为优先缓存器,并进入步骤六;
步骤五、数据调度模块调度优先缓存器中的数据,当调度完毕后将该优先缓存器对应的紧迫度设置为0,同时进入步骤七;步骤六、判断多个优先缓存器所对应的优先级,数据调度模块调度优先级最高的优先缓存器中存储的数据,当调度完毕后将该被调度数据的缓存器对应的紧迫度设置为O ;同时进入步骤七;步骤七、在步骤四中提出调度申请,但是得不到调度,且得不到调度的时间达到数据调度模块调度I帧数据的时间时,则将该缓存器对应的紧迫度加I;同时判断数据调度模块是否接收到外部输入的停止调度的指令,若是则结束,否则数据调度模块将采集的数据输出,并返回步骤三。有益效果本发明灵活的根据星上数据的重要性为其设计优先级,同时根据缓存器存储数据的时间对其设置紧迫度,基于对紧迫度和优先级的判断,实现对多个缓存器中存储数据 的调度,这样可以很好的应对星上数据源动态变化的问题,使得该方法调度效率高、实时性好。


图I为基于AOS的虚拟信道动态调度方法流程框图。
具体实施例方式下面结合附图和具体实施方式
对本发明的动态调度方法作进一步说明。AOS的虚拟信道动态调度方法的实现采用VHDL硬件描述语言编程实现,并下载到可编程逻辑器件FPGA中,由FPGA和FIFO等硬件实现对虚拟信道动态调度的技术方案。如图I所示,本发明AOS的虚拟信道动态调度方法,具体步骤如下步骤一、在FPGA中设置多个缓存器,其中每一缓存器对应一个虚拟信道,初始时将每一缓存器的传送紧迫度设置为κ=0。根据CCSDS AOS标准协议要求,虚拟信道标识符采用6个比特位来标识,因此,在实际应用中,虚拟信道数量最多为26=64个,其中空闲帧占一个信道,因此实际的业务数据通道最多为63个。因为紧迫度与数据在缓存器中存储的时间有关,因此在初始时刻,每一缓存器中还未存储数据,因此将其紧迫度设置为O。步骤二、确定每一虚拟信道接收外部输入数据的类型,根据其接收数据的重要性和实时性要求,为其对应的缓存器定义一个优先级,且各缓存器所定义的优先级各不相同。在本实施例中,共有7种数据参与调度,7种数据分别是工程遥测数据、GPS定位数据、终端数据源高速模拟数据、激光跟瞄数据、大容量存储器数据、终端数据源1394Α数据和空闲帧数据。步骤一中的初始化时,将7路数据的传送紧迫度均分配为O ;7路数据的优先级定义如下由于工程遥测数据关系到整星的工作状态及寿命,地面用户需要及时了解,因此将其优先级设为最高为7级;GPS定位数据用于对整个卫星的位置进行定位,地面用户对该类数据的需求也较高,但其重要性要低于工程遥测数据,因此将其优先级定为6级;大容量存储器数据为卫星在境外工作时采集的数据,卫星到达境内后,需要回放下来,其重要性比GPS定位数据要低,将其优先级定为5级;激光跟瞄数据用于反映激光跟瞄的状态,由于激光跟瞄为试验项目,因此重要性要求不高,但其反映的是状态信息,其重要性要比终端数据源高速模拟数据和终端数据源1394A数据高,因此,将其优先级定为4级;终端数据源高速模拟数据及终端数据源1394A数据,均为激光通信份系统试验提供模拟源,属于试验项目,该两类数据的重要性相同,因此在实际优先级分配时根据其工作速率进行分配,若终端数据源高速模拟数据的速率高于终端数据源1394A数据的速率,则将终端数据源高速模拟数据定为3级,终端数据源1394A数据定为2级,否则将终端数据源高速模拟数据定为2级,终端数据源1394A数据定为3级;为保持物理信道链路的连续性,在上述数据均未参与数据调度时,则通过物理信道链路发送空闲数据,因此其优先级较以上数据优先级最低,定为I级。步骤三、对FPGA上各缓存器进行判断,当判定至少存在一个缓存器存有数据需要参与调度,则对FPGA上的数据调度模块提出申请。本步骤中的判断可以为在FPGA上为各缓存器对应的设计一个判断模块,当判断 模块判断出其管辖的缓存器内存储有数据时(通常数据都是以帧为单元进行存储的),则此时该判断模块对数据调度模块提出调度申请,希望数据调度模块对其管辖的缓存器内存储的数据进行调度,同时该判断是按照一定的周期进行的,该周期可以为数据调度模块调度一帧数据所需的时间。步骤四、判断各缓存器对应的紧迫度,若存在唯一一个最高紧迫度时,则将该最高紧迫度对应的缓存器定义为优先缓存器,并进入步骤五,若存在的最高紧迫度为多个时,则将该多个最高紧迫度对应的缓存器定义为优先缓存器,并进入步骤六。在任何情况下,首先为传送紧迫度高的信道提供服务,如果出现最高的传送紧迫度相同时的情况,这时需要判断每个信道的优先级,传送优先级高的信道。因此本步骤中若各缓存器对应的紧迫度互不相同,则肯定存在一个最高的紧迫度,此时只需要进入步骤五对最高紧迫度对应的缓存器中存储的数据进行调度。本步骤中若存在最高紧迫度为多个时,则仅根据紧迫度无法判断出应该先调哪一缓存器中的数据,此时进入步骤六,对各缓存器的优先级进行判断,因此在步骤二中对设置各缓存器的优先级各不相同,因此可以根据优先级的高低进行调度。步骤五、数据调度模块调度优先缓存器中的数据,当调度完毕后将该优先缓存器对应的紧迫度设置为零,同时进入步骤七。步骤六、判断多个优先缓存器所对应的优先级,数据调度模块调度优先级最高的优先缓存器中存储的数据,当调度完毕后将该被调度数据的缓存器对应的紧迫度设置为零;同时进入步骤七。本发明数据调度模块每执行一次调度,其调度的数据量为一帧。例如,此时只有三个缓存器中存储有数据,分别是工程遥测数据(3帧)、GPS定位数据(2帧)和激光跟瞄数据(2帧);因为只有提出调度申请而得不到调度时,此时缓存器对应的紧迫度才发生变化;假定三个缓存器皆第一次对数据调度模块提出调度申请,则三个缓存器的紧迫度皆为0,此时进入步骤六对其优先级进行判断,由于工程遥测数据的优先级是最高的,数据调度模块调度一帧工程遥测数据,同时保持工程遥测数据的紧迫度为O。
步骤七、在步骤四中提出调度申请,但是得不到调度,且得不到调度的时间达到数据调度模块调度η帧数据的时间时,则将该缓存器对应的紧迫度加η ;同时判断数据调度模块是否接收到外部输入的停止调度的指令,若是则结束,否则数据调度模块将采集的数据输出,并返回步骤三。为防止某一 VC超时垄断信道,就要在VC调度方案中考虑到各待传VC被延迟的时间,以一帧传送时间为单位,把一个虚拟信道从申请传送开始到虚拟信道调度时刻的延迟定义为传送紧迫度,若信道提出申请传输而得不到传输,每延迟一帧的时间,该信道的传送紧迫度加1,当一个VC被服务过后,传送紧迫度自动降为初始值κ=ο。因此本步骤中对提出申请而得不到调度的缓存器的紧迫度进行更新,当返回步骤四后,各缓存器中存在紧迫度的变换,因此在下次调度的过程中就调度紧迫度高的缓存器中存储的数据。与传统的静态周期轮转调度相比,本发明可以避免数据调度模块对无需调度的缓存器进行访问,从而节约了时间,大大提高了数据调度模块调度数据的效率。同时本发明依据紧迫度和优先级对数据进行调度,可以很好的避免星上出现的紧急情况,使得某一缓存其中存在大量数据而得不到及时调度的情况。 同时优先级也可以通过遥控命令来改变。根据各个信源的数据量的不同和对时间的要求不同,改变各个VC的不同优先级和优先级基数,调整虚拟信道调度方法,使调度方法与星上的实际情况实时匹配。表I给出了存在4类数据需要调度的情况,其中判断的周期与数据调度模块调度一帧数据的周期相同。表I各数据调度情况
权利要求
1.一种AOS的虚拟信道动态调度方法,其特征在于,具体步骤为 步骤一、在FPGA中设置多个缓存器,其中每一缓存器对应一个虚拟信道,初始时将每一缓存器的传送紧迫度设置为O ; 步骤二、确定每一虚拟信道接收外部输入数据的类型,根据其接收数据的重要性和实时性要求,为其对应的缓存器定义一个优先级,且各缓存器所定义的优先级各不相同; 步骤三、周期性地对FPGA上各缓存器进行判断,当判定至少存在一个缓存器存有数据需要参与调度,则对FPGA上的数据调度模块提出申请; 步骤四、判断各缓存器对应的紧迫度,若存在唯一一个最高紧迫度时,则将该最高紧迫度对应的缓存器定义为优先缓存器,并进入步骤五,若存在的最高紧迫度为多个时,则将该多个最高紧迫度对应的缓存器定义为优先缓存器,并进入步骤六; 步骤五、数据调度模块调度优先缓存器中的数据,当调度完毕后将该优先缓存器对应的紧迫度设置为0,同时进入步骤七; 步骤六、判断多个优先缓存器所对应的优先级,数据调度模块调度优先级最高的优先缓存器中存储的数据,当调度完毕后将该被调度数据的缓存器对应的紧迫度设置为O ;同时进入步骤七; 步骤七、在步骤四中提出调度申请,但是得不到调度,且得不到调度的时间达到数据调度模块调度I帧数据的时间时,则将该缓存器对应的紧迫度加I ;同时判断数据调度模块是否接收到外部输入的停止调度的指令,若是则结束,否则数据调度模块将采集的数据输出,并返回步骤三。
2.根据权利要求I所述AOS的虚拟信道动态调度方法,其特征在于,所述步骤三中对FPGA上各缓存器进行判断,其中相邻两次判断的间隔时间为数据调度模块调度一帧数据所需的时间。
3.根据权利要求I所述AOS的虚拟信道动态调度方法,其特征在于,所述在FPGA中设置的多个缓存器为7个,所述调度的7种数据分别是工程遥测数据、GPS定位数据、终端数据源高速模拟数据、激光跟瞄数据、大容量存储器数据、终端数据源1394A数据和空闲帧数据;其中 将工程遥测数据的优先级设为最高为7级^fGPS定位数据的优先级定为6级;将大容量存储器数据的优先级定为5级;将激光跟瞄数据的优先级定为4级;若终端数据源高速模拟数据的速率高于终端数据源1394A数据的速率,则将终端数据源高速模拟数据的优先级定为3级,终端数据源1394A数据优先级定为2级,否则将终端数据源高速模拟数据的优先级定为2级,终端数据源1394A数据的优先级定为3级;将空闲数据的优先级定为I级。
全文摘要
本发明提供一种AOS的虚拟信道动态调度方法,该方法的具体步骤为设置多个缓存器,其中每一缓存器对应一个虚拟信道,初始时将每一缓存器的传送紧迫度设置为0;确定每一虚拟信道接收外部输入数据的类型,根据其接收数据的重要性和实时性要求,为其对应的缓存器定义一个优先级,且各缓存器所定义的优先级各不相同;根据星上数据的重要性为其设计优先级,同时根据缓存器存储数据的时间对其设置紧迫度,基于对紧迫度和优先级的判断,实现对多个缓存器中存储数据的调度,这样可以很好的应对星上数据源动态变化的问题,使得该方法调度效率高、实时性好。
文档编号H04L12/46GK102833170SQ201210331288
公开日2012年12月19日 申请日期2012年9月10日 优先权日2012年9月10日
发明者邵飞, 申景诗, 张长帅, 王凤阳 申请人:中国航天科技集团公司第五研究院第五一三研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1