一种高精度的GNSS模拟器时间同步方法技术

技术编号:24329788 阅读:26 留言:0更新日期:2020-05-29 19:13
GNSS模拟器常用于飞控系统半实物仿真中,它能模拟飞机所在位置天空卫星星座辐射的导航信号,辅助仿真系统完成含有卫星定位接收机的飞控半实物仿真。由于GNSS模拟器和仿真计算机各自时钟精度不同,使得两者在长时间仿真过程中累积的时差持续增大,最终会在数小时内因时差超限而出现接收机无法定位的问题。本发明专利技术提出一种高精度的GNSS模拟器时间同步方法,成本低廉效果好,不改变仿真计算机硬件,而是采用一套外置的嵌入式定时设备,根据GNSS模拟器输出的“秒脉冲”信号对设备内部的定时周期进行持续调节,使累计时间对“秒脉冲”保持精确跟踪,并按修正过后的周期节拍,将触发信号传输至仿真计算机,从而彻底消除仿真计算机与GNSS模拟器之间的累计时间误差。

A high precision time synchronization method for GNSS simulator

【技术实现步骤摘要】
一种高精度的GNSS模拟器时间同步方法
:本专利技术属于飞控系统仿真领域,具体涉及到一种高精度的GNSS模拟器时间同步方法。
技术介绍
:GPS/GLONASS/BD三合一(又称GNSS)卫星信号模拟器能够模拟产生BD-2系统全星座B3频点军码与民码,GPS系统全星座L1,L2频点C/A码、GLONASS系统全星座L1频点C/A码的卫星导航信号,用来代替费用昂贵、耗费时间的现场测试,不受实际应用环境中进行测试带来的限制,模拟飞机所在位置天空卫星星座辐射的导航信号,辅助实时仿真计算机系统完成含有卫星定位接收机的飞机控制系统的半实物仿真,并兼顾卫星定位接收机的静态及动态性能测试。GNSS模拟器设备使用铷原子钟进行计时,驱动内部轨迹递推算法以及基带和多径信号的生成,以便输出足够精度的卫星导航信号。铷原子钟具有非常优秀的频率稳定性,可达10-12量级,准确度为±5×10-11。在含有卫星定位接收机的飞控系统半实物仿真试验中,实时仿真计算机周期性地将最新仿真得到的飞机位置数据写入GNSS模拟器,GNSS模拟器经过内部轨迹递推并通过射频将卫星定位信号发射至卫星定位接收机,接收机对信号进行解算,最终将定位数据传输至飞行控制系统,实现闭环。传统的实时仿真计算机使用本地定时器,其时钟来源于计算机主板上的晶体振荡器,由于实时仿真计算机和GNSS模拟器时钟源的不同,使得两者处于异步运行模式。事实上,晶体振荡器的准确度远低于铷原子钟,造成这个异步系统在长时间运行过程中的累计时差持续增大,导致飞行仿真的轨迹和GNSS模拟器内部递推的轨迹偏差越来越大,最终会在数小时内因时差超过临界值而出现接收机无法定位的问题,试验只能被迫终止。经多方咨询后得知,与我单位有合作关系的某航天院所也受此问题困扰,其使用的进口斯博伦GNSS模拟器设备同样会在长时间仿真后进入无法定位的故障状态,一直无法实现GNSS模拟器在环的长时间闭环仿真试验。
技术实现思路
本专利技术采用一套外置的嵌入式定时设备(以下简称ETD),能够根据GNSS模拟器输出的“秒脉冲”信号对设备内部的定时周期进行持续调节,使累计时间对“秒脉冲”保持精确跟踪,并按照修正过后的周期节拍,将定时数据传输至实时仿真计算机,从而彻底消除仿真计算机与GNSS模拟器之间的累计时间误差,保障试验能够长时间运行。技术方案一种高精度的GNSS模拟器时间同步方法,具体技术方案如下:步骤1:因为仿真计算机需要以GNSS时钟为基准的5毫秒定时周期,所以在ETD设备上,以本地5毫秒时钟为中心,预设3套定时方案:5毫秒、4.95毫秒、5.05毫秒,可实现±0.05毫秒的调整精度,提供最高±1.0%的误差调整率,足以覆盖晶体振荡器相对铷原子钟的误差极限;步骤2:在ETD设备上以中断方式侦测GPIO端口输入的GNSS模拟器“秒脉冲”信号,在首个“秒脉冲”被捕获的同时,以本地5ms为初始周期启动定时循环;步骤3:在ETD设备的每个定时循环中进行计数,对Nloop自加1;同时,在每次捕获“秒脉冲”时,先对Npulse自加200,因为相邻两个“秒脉冲”之间包含200个理想的5毫秒周期,然后计算Npulse与Nloop之差:(1)当差值为0时,说明GNSS时钟和本地时钟累计误差很小,无需修正,继续使用本地5ms定时器;(2)当差值为1时,说明GNSS时钟快于本地时钟,须立即切换为4.95ms定时器进行“追赶”,然后在下个“秒脉冲”计时点恢复5ms定时器;(3)当差值为-1时,说明GNSS时钟慢于本地时钟,须立即切换为5.05ms定时器进行“等待”,然后在下个“秒脉冲”计时点恢复5ms定时器;(4)当差值绝对值大于1时,说明两者时钟在1秒内差距达到10毫秒以上,误差超过了限制,使ETD设备指示灯闪烁,提示故障状态;步骤4:在ETD设备的每个定时循环中,通过高波特率RS232串口向实时仿真计算机发送触发信号,此信号可以是任意的字节流,按照常规习惯,发送单字节数据即可,目的是激活实时仿真计算机,使其按照ETD设备的定时周期进行仿真运算;步骤5:在实时仿真计算机上,持续不断地从串口接收来自ETD设备的触发信号,每收到一次触发信号,就执行一次仿真运算任务,使实时仿真计算机与ETD设备的时间同步,又因为在步骤3中完成了ETD设备与GNSS模拟器之间的时间同步,从而最终实现了实时仿真计算机与GNSS模拟器的时间同步。所述的步骤1中的仿真计算机仿真周期为5毫秒,实际根据具体的仿真要求,调整此仿真周期,然后对ETD设备的定时周期做相应调整;所述的步骤1中的调整精度为±0.05毫秒,可根据实际嵌入式硬件的最高定时准确度进行调整,利用更加优秀的嵌入式硬件,将调整精度提升至±0.01毫秒,进一步减小因时间修正所带来的周期抖动;所述的步骤2中,GNSS模拟器“秒脉冲”信号为TTL方波形式或光纤形式。所述的步骤4还可以将其中的单字节触发信号替换为信息更加丰富的时间信息包。在ETD设备的每个定时循环中,对时间信息进行编码打包,并发送至实时仿真计算机。为降低传输延迟,将时间信息包压缩为4个字节,其布局如表1所示:以0xEE字节开头,后跟2个字节经BCD编码的计数值,最后由1个字节校验值结尾。使用BCD编码是为了避免时间数据与包头0xEE发生重复。表1ETD设备输出的时间信息包格式相应的,在步骤5中,实时仿真计算机须持续不断的接收来自ETD设备发送的时间信息包。当收到信息包且确认无误后,根据其中BCD编码的时间间隔值,确定当前需要循环执行仿真计算的次数。2个字节的BCD编码,可表示10000个时刻,总计时长5ms*10000=50秒,这样一来,如果在仿真试验过程中,发生时间信息包通讯意外中断的情况,只要在50秒之内重新接通线缆,实时仿真计算机即可自动进行节拍“追赶”,并再次进入同步状态继续运行。经优化过的时间同步系统具备更强的故障容忍能力,可大大提高仿真系统的健壮性。时间信息包可通过RS422串口来传输,提高数据传输距离。时间信息包可通过网络组播协议来实现1对多的传输,即1个ETD设备同时驱动多个仿真计算机,让多个仿真计算机全部同步到GNSS模拟器的时间上,特别适合于分布式实时仿真系统。技术效果本专利技术充分利用了嵌入式系统定时分辨率高的特点,可平滑的实现对GNSS模拟器时间的同步,彻底消除仿真计算机与GNSS模拟器之间的累计时间误差。经实测,本专利技术顺利让含有卫星定位接收机的飞控系统半实物仿真无故障持续运行120小时,仿真系统时间误差全程低于±10毫秒。附图说明图1为本专利技术的原理框图外置嵌入式定时设备通过GPIO捕获GNSS模拟器输出的“秒脉冲”信号,然后持续监测时间累积误差,当误差达到修正门限后,对设备内部的定时周期进行补偿性调整,消除现存累积误差,并按照修正过后的周期节拍,将时间信息包传输至仿真计算机,仿真计算机收到时间信息包后重建定时指令,驱动仿真计算任务,从而保持仿真计算机与GNSS模本文档来自技高网
...

【技术保护点】
1.一种高精度的GNSS模拟器时间同步方法,其特征在于,具体方案如下:/n步骤1:因为仿真计算机需要以GNSS时钟为基准的5毫秒定时周期,所以在ETD设备上,以本地5毫秒时钟为中心,预设3套定时方案:5毫秒、4.95毫秒、5.05毫秒,可实现±0.05毫秒的调整精度,提供最高±1.0%的误差调整率,足以覆盖晶体振荡器相对铷原子钟的误差极限;/n步骤2:在ETD设备上以中断方式侦测GPIO端口输入的GNSS模拟器“秒脉冲”信号,在首个“秒脉冲”被捕获的同时,以本地5ms为初始周期启动定时循环;/n步骤3:在ETD设备的每个定时循环中进行计数,对Nloop自加1;同时,在每次捕获“秒脉冲”时,先对Npulse自加200,因为相邻两个“秒脉冲”之间包含200个理想的5毫秒周期,然后计算Npulse与Nloop之差:(1)当差值为0时,说明GNSS时钟和本地时钟累计误差很小,无需修正,继续使用本地5ms定时器;(2)当差值为1时,说明GNSS时钟快于本地时钟,须立即切换为4.95ms定时器进行“追赶”,然后在下个“秒脉冲”计时点恢复5ms定时器;(3)当差值为-1时,说明GNSS时钟慢于本地时钟,须立即切换为5.05ms定时器进行“等待”,然后在下个“秒脉冲”计时点恢复5ms定时器;(4)当差值绝对值大于1时,说明两者时钟在1秒内差距达到10毫秒以上,误差超过了限制,使ETD设备指示灯闪烁,提示故障状态;/n步骤4:在ETD设备的每个定时循环中,通过高波特率RS232串口向实时仿真计算机发送触发信号,此信号可以是任意的字节流,按照常规习惯,发送单字节数据即可,目的是激活实时仿真计算机,使其按照ETD设备的定时周期进行仿真运算;/n步骤5:在实时仿真计算机上,持续不断地从串口接收来自ETD设备的触发信号,每收到一次触发信号,就执行一次仿真运算任务,使实时仿真计算机与ETD设备的时间同步,又因为在步骤3中完成了ETD设备与GNSS模拟器之间的时间同步,从而最终实现了实时仿真计算机与GNSS模拟器的时间同步。/n...

【技术特征摘要】
1.一种高精度的GNSS模拟器时间同步方法,其特征在于,具体方案如下:
步骤1:因为仿真计算机需要以GNSS时钟为基准的5毫秒定时周期,所以在ETD设备上,以本地5毫秒时钟为中心,预设3套定时方案:5毫秒、4.95毫秒、5.05毫秒,可实现±0.05毫秒的调整精度,提供最高±1.0%的误差调整率,足以覆盖晶体振荡器相对铷原子钟的误差极限;
步骤2:在ETD设备上以中断方式侦测GPIO端口输入的GNSS模拟器“秒脉冲”信号,在首个“秒脉冲”被捕获的同时,以本地5ms为初始周期启动定时循环;
步骤3:在ETD设备的每个定时循环中进行计数,对Nloop自加1;同时,在每次捕获“秒脉冲”时,先对Npulse自加200,因为相邻两个“秒脉冲”之间包含200个理想的5毫秒周期,然后计算Npulse与Nloop之差:(1)当差值为0时,说明GNSS时钟和本地时钟累计误差很小,无需修正,继续使用本地5ms定时器;(2)当差值为1时,说明GNSS时钟快于本地时钟,须立即切换为4.95ms定时器进行“追赶”,然后在下个“秒脉冲”计时点恢复5ms定时器;(3)当差值为-1时,说明GNSS时钟慢于本地时钟,须立即切换为5.05ms定时器进行“等待”,然后在下个“秒脉冲”计时点恢复5ms定时器;(4)当差值绝对值大于1时,说明两者时钟在1秒内差距达到10毫秒以上,误差超过了限制,使ETD设备指示灯闪烁,提示故障状态;
步骤4:在ETD设备的每个定时循环中,通过高波特率RS232串口向实时仿真计算机发送触发信号,此信号可以是任意的字节流,按照常规习惯,发送单字节数据即可,目的是激活实时仿真计算机,使其按照ETD设备的定时周期进行仿真运算;
步骤5:在实时仿真计算机上,持续不断地从串口接收来自ETD设备的触发信号,每收到一次触发信号,就执行一次仿真运算任务,使实时仿真计算机与ETD设备的时间同步,又因为在步骤3中完成了ETD设备与GNSS模拟器之间的时间同步,从而最终实现了实时仿真计算机与GNSS模拟器的时间同步。


2.根据权利要求1所述的一种高精度的GNSS模拟器时间同步方法,其特征在于,所述的步骤1中的仿真计算机仿真周期为5毫秒,实际根据具体的仿真要求,调整此仿真周期,然后对ETD设备的定时周期做相应调整。

【专利技术属性】
技术研发人员:丁颖浩洪锐周姝春罗天成张瑾梁琨
申请(专利权)人:中国航空工业集团公司成都飞机设计研究所
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1