一种基于FPGA的星载干涉成像高度计的自守时系统和方法与流程

文档序号:16261154发布日期:2018-12-14 21:33阅读:258来源:国知局
一种基于FPGA的星载干涉成像高度计的自守时系统和方法与流程

本发明涉及星载宽刈幅干涉成像高度计领域,特别涉及一种基于fpga的星载干涉成像高度计的自守时系统和方法。

背景技术

星载干涉成像高度计能够实现对宽刈幅的海平面和陆表水体(较大的江河湖泊)高度的精确测量并定位。在进行星载干涉成像高度计数据处理时,需精确知道干涉成像高度计在每个脉冲发射时卫星平台所处的空间位置及速度、姿态等平台参数信息。

干涉成像高度计的卫星平台的精密定轨子系统一般都包括精密差分gps系统以接收gps信息(包括gps秒脉冲、gps时间码等),并以gps时间为时间基准对卫星平台所在空间位置和平台参数进行测量和记录。星载载荷获取卫星平台空间位置和平台参数的常规做法是将精密定轨子系统获取的gps时间码打入其数据包中,在数据处理时提取数据包中的时间码,然后在精密定轨子系统记录数据中找到相应时刻卫星平台所在的空间位置和平台参数。

通常,精密定轨子系统提供的gps时间码包含周值和整秒值,没有更小的时间单位。而且,gps时间码在从精密定轨子系统到载荷的传输链路上会存在不确定的延时,这样也会导致载荷打入数据包中的时间码与真实时刻存在一定偏差,而且是随机的,从而严重影响时间码的精度。对于星载干涉成像高度计而言,每秒钟会发射上千个脉冲。星载干涉成像高度计数据处理需要精确知道每个脉冲发射时刻卫星平台所处的空间位置和平台参数。这样,需要将干涉成像高度计的时间系统与精密定轨子系统接收的gps时间系统进行同步,准确记录每个脉冲的发射时刻。显然,直接将精密定轨的gps时间码打入干涉成像高度计数据包中的做法已不能满足干涉成像高度计的使用需求。因此,迫切需要一种新方法使星载干涉成像高度计的时间系统与gps时间系统精确同步。



技术实现要素:

本发明的目的在于解决星载干涉成像高度计的时间系统与gps时间系统存在一定偏差的问题。

为实现上述目的,本发明提供一种基于fpga的星载干涉成像高度计自守时系统和方法。

所述系统包括:精密定轨子系统、卫星平台总控计算机和自守时模块;所述精密定轨子系统,用于提供gps秒脉冲和gps时间码;所述卫星平台总控计算机,用于接收gps时间码,并转发给自守时模块;其特征在于,所述自守时模块,用于实现星载干涉成像高度计的时间与gps时间的精确同步;所述自守时模块包括:fpga、单片机和频率综合器;

所述单片机,用于转发卫星平台总控计算机接收到的gps时间码;

所述fpga,用于生成自守时时间码selftimecode;在检测收到有效gps秒脉冲和有效gps时间码后将所述自守时时间码selftimecode更新为收到的gps时间码,并记录所述干涉成像高度计的发射脉冲时刻;

所述频率综合器,用于为fpga提供工作时钟。

作为本发明所述技术方案的一种改进,所述自守时时间码selftimecode包括自守时周值self_week、自守时秒值self_sec、自守时毫秒值self_millisec、自守时微秒值self_microsec和自守时纳秒值self_nanosec。

作为本发明所述技术方案的一种改进,所述工作时钟为fpga的时钟基准,工作周期为clk=12.5ns。

本发明所述基于fpga的星载干涉成像高度计自守时的方法包括:

步骤1)所述精密定轨子系统将gps秒脉冲发送给fpga;然后将gps时间码发送给卫星平台总控计算机;所述卫星平台总控计算机接收gps时间码并通过单片机转发给fpga;

步骤2)所述fpga判断收到的gps秒脉冲是否为有效的gps秒脉冲;并判断gps时间码是否为有效的gps时间码;如果两者判断结果都为“是”,则根据gps时间码对自守时时间码进行更新,再执行步骤3);否则,直接执行步骤3);

步骤3)fpga对当前自守时时间码以工作时钟的工作周期clk为单位进行计时累加,形成自守时时间码的纳秒值,然后依次进位形成微秒值、毫秒值、秒值和周值。

作为本发明所述技术方案的一种改进,所述方法还包括:

步骤4)所述fpga根据内部产生的高度计发射脉冲触发信号将自守时时间码寄存,并形成数据包传输给卫星平台总控计算机,所述卫星平台总控计算机将数据包向地面下传。

作为本发明所述技术方案的一种改进,所述有效gps秒脉冲为所述fpga接收到的宽度大于n个clk的gps秒脉冲;其中,n=3。

作为本发明所述技术方案的一种改进,所述gps秒脉冲和gps时间码之间的时间间隔为t1;所述t1单位为ms,1ms≤t1≤600ms。

作为本发明所述技术方案的一种改进,所述两个gps秒脉冲之间的时间间隔为t2,所述t2单位为ms;1000ms≤t2≤1300ms。

作为本发明所述技术方案的一种改进,所述t1=512ms,所述t2=1250ms。

作为本发明所述技术方案的一种改进,所述步骤2)包括:

步骤2-1)所述fpga判断gps秒脉冲是否为有效的gps秒脉冲;如果判断结果为“否”,则执行步骤3);

如果判断结果为“是”,寄存收到gps秒脉冲时刻的第一gps时间码gpstimecode1,所述第一gps时间码包括第一gps周值gps_week1和第一gps整秒值表gps_sec1;

同时对计时器cnt1清零,然后所述计时器cnt1以fpga的工作时钟的工作周期clk为单位开始进行计时;

步骤2-2)当所述计时器cnt1计时到t1时,fpga寄存收到所述单片机发来的第二gps时间码gpstimecode2,其中,所述第二gps时间码包括第二gps周值gps_week2和第二gps整秒值gps_sec2;

步骤2-3)当所述计时器cnt1计时到t1+clk时,fpga对所述第一gps时间码gpstimecode1和第二gps时间码gpstimecode2进行判断是否满足以下两个条件:

a)gps_week2=gps_week1,gps_sec2=gps_sec1+1;

b)gps_week2=gps_week1+1,gps_sec2=0,gps_sec1=604799;

若gpstimecode1和gpstimecode2不满足以上条件a)和条件b)两个中的任何一个,则执行步骤3);

若第一gps时间码gpstimecode1和第二gps时间码gpstimecode2满足以上条件a)或条件b)两个中的任何一个,则执行步骤2-4);

步骤2-4)当cnt1计时到t1+2*clk时,使用第二gps时间码gpstimecode2对自守时时间码进行更新,即:

self_week=gps_week2;

self_sec=gps_sec2;

self_millisec=t1;

self_microsec=0us;

self_nanosec=3*clk;

步骤2-5)在cnt1计时到t1+3*clk时,自守时时间码生效,执行步骤3)。

本发明的优势在于:

1、本发明的基于fpga的星载干涉成像高度计自守时方法能够将星载干涉成像高度计的时间系统与gps时间系统进行精确同步,并准确记录每个脉冲的发射时刻;进而,在数据处理时可以得知星载干涉成像高度计每个脉冲发射时刻卫星平台所处的空间位置以及对应时刻的平台参数;

2、本发明的方法具有可移植性高的特点,方便移植到其它星载载荷中。

附图说明

图1为本发明的基于fpga的星载干涉成像高度计的自守时系统图;

图2为本发明的生成自守时时间码的流程图;

图3为本发明的生成自守时时间码的时序图。

具体实施方式

下面结合附图和实施例对本发明进行详细说明。

如图1所示,本发明提供了一种基于fpga的星载干涉成像高度计的自守时系统,所述系统包括:精密定轨子系统,卫星平台总控计算机和干涉成像高度计的自守时模块;

所述精密定轨子系统,用于提供gps秒脉冲和gps时间码;

所述卫星平台总控计算机,用于接收gps时间码;

所述自守时模块包括单片机、频率综合器、fpga、电源;

所述单片机,用于转发卫星平台总控计算机接收到的gps时间码;

所述频率综合器,用于为fpga提供周期为12.5ns的工作时钟。

所述fpga,用于将gps秒脉冲和gps时间码与自己工作时钟clk相结合生成自守时时间码(可表示为selftimecode),包含周值(可表示为self_week)、秒值(可表示为self_sec)、毫秒值(可表示为self_millisec)、微秒值(可表示为self_microsec)和纳秒值(也可表示为self_nanosec)。然后将含有自守时时间码的数据包传输给卫星平台总控计算机,通过总控计算机将数据包下传到地面。

所述电源,用于为fpga、单片机和频率综合器进行供电。

所述fpga的工作时钟周期clk=12.5ns。

所述精密定轨子系统输出的gps秒脉冲为正脉冲,输出的gps时间码(gpstimecode)包含周值(gps_week)和整秒值(gps_sec)。

正常情况下,所述fpga接收到一个gps秒脉冲后512ms内会接收到相应的gps时间码,即t1=512ms。

正常情况下,两个gps秒脉冲之间的时间间隔小于1250ms,即t2=1250ms;

当所述fpga检测到接收的gps秒脉冲宽度大于3*12.5ns,即3*clk时,则判定为接收到一个有效gps秒脉冲,即n=3。

如图2所示,基于上述系统,本发明还提供了一种基于fpga的星载干涉成像高度计的自守时方法,在所述方法中,设置“是否收到有效gps秒脉冲”标识;若fpga接收到一个有效gps秒脉冲,输出“是否收到有效gps秒脉冲”标识为“1”。若fpga持续计时t2(t2为整数,单位为ms,1000ms≤t2≤1300ms)未接收到一个有效gps秒脉冲,输出“是否收到有效gps秒脉冲”标识为“0”,直到接收到下一个有效gps秒脉冲,再将“是否收到有效gps秒脉冲”标识置为“1”。

所述方法的具体实施步骤描述如下:

步骤1)所述精密定轨子系统将gps秒脉冲发送给fpga;然后将gps时间码发送给卫星平台总控计算机;所述卫星平台总控计算机接收gps时间码并通过单片机转发给fpga。

步骤2)

步骤2-1)若fpga未收到有效gps秒脉冲,则以fpga工作时钟周期(clk)为单位进行计时累加,形成自守时时间码的纳秒值,然后依次进位形成微秒值、毫秒值、秒值和周值。

步骤2-2)若fpga检测收到一个有效gps秒脉冲,则对收到的gps时间码进行判断;具体操作如下:

步骤2-2-1)首先,fpga寄存检测到的有效gps秒脉冲时刻的gps时间码,表示为gpstimecode1,其中,周值表示为gps_week1,整秒值表示为gps_sec1。同时,对一个以clk为单位的计时器cnt1清零,然后开始进行累加计时;

步骤2-2-2)当cnt1计时到t1(512ms)时,fpga寄存当前时刻接收到的gps时间码,表示为gpstimecode2,其中,周值表示为gps_week2,整秒值表示为gps_sec2;

步骤2-2-3)当cnt1计时到t1+clk(512ms+12.5ns)时,对gpstimecode1和gpstimecode2进行判断是否满足以下两个条件:

条件2-2-3-a)gps_week2=gps_week1,gps_sec2=gps_sec1+1;

条件2-2-3-b)gps_week2=gps_week1+1,gps_sec2=0,gps_sec1=604799;

如图3所示,若fpga接收到一个有效gps秒脉冲,将“是否收到有效gps秒脉冲”标识设置为“1”。对输出该标识的判断准则具体描述如下:

fpga上电开始将该标识置为“0”。若收到一个有效gps秒脉冲,则将该标识置为“1”,然后通过计数器cnt2以12.5ns为单位从0开始计数。若cnt2计数值n小于n(n=99999999,从0计数到n代表计时1250ms)时即再次收到一个有效gps秒脉冲,则该标识持续为“1”。若cnt2计数到n仍未收到一个有效gps秒脉冲,则将该标识置为“0”,同时cnt2的计数值保持为n,直到fpga检测接收到下一个有效gps秒脉冲,将该标识置为“1”,同时将cnt2清零,再以12.5ns为单位计数。

步骤3)

步骤3-1)若gps时间码gpstimecode1和gpstimecode2不满足以上条件2-2-3-a)和条件2-2-3-b)两个中的任何一个,则不使用gps时间码对自守时时间码进行更新,fpga继续以clk(12.5ns)为单位对自守时时间码的码值进行累加计时和进位;

步骤3-2)若gpstimecode1和gpstimecode2满足以上条件2-2-3-a)和条件2-2-3-b)两个中的任何一个,则当cnt1计时到t1+2*clk(512ms+2*12.5ns)时,使用gps时间码gpstimecode2对自守时时间码进行更新。自守时时间码的周值self_week更新为gps_week2,整秒值self_sec更新为gps_sec2,毫秒值self_millisec更新为512ms,微秒值self_microsec更新为0us,纳秒值self_nanosec更新为3*clk;在cnt1计时到t1+3*clk时,自守时时间码生效;然后,继续以clk(12.5ns)为单位进行累加计时和进位。

步骤4)所述fpga根据本身内部产生的高度计发射脉冲触发信号将自守时时间码寄存(即记录高度计的发射脉冲时刻),打入相应数据包中,发送给卫星平台总控计算机。

本发明提出的一种基于fpga的星载干涉成像高度计自守时系统和方法,已经集成到天宫二号干涉成像高度计的中央控制系统中,通过地面测试和在轨运行表明,该方法可以满足星载干涉成像高度计对时间码的高精度要求。

最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1