一种天文组合导航系统数据通信及处理方法与流程

文档序号:20357052发布日期:2020-04-10 23:25阅读:513来源:国知局
一种天文组合导航系统数据通信及处理方法与流程

本发明涉及组合导航技术领域,尤其是一种导航系统数据通信及处理方法,通过fpga实现天文组合导航系统各个单元模块的数据通信及数据处理,可用于天文组合导航系统数据通信及处理,也可以用于其它组合导航系统的数据通信及处理提供参考。



背景技术:

天文组合导航系统由惯性导航模块(ins)、天文导航模块(cns)、卫星导航模块(gnss)组成。cns、ins和gnss三者构成组合导航系统具有优势互补性,能够有效提高导航系统的精度和可靠性,已成为远程长航时机载导航技术的重要发展方向。

在组合导航系统领域,目前公开的文献报道了一些技术研究成果。专利“房建成,李金涛,徐帆.一种sdins/gps组合导航系统时间同步及同步数据提取方法[p].中国:cn100498232c,2009”介绍了一种sdins/gps组合导航系统时间同步及同步数据提取方法,以gps接收机的1pps为基准生成imu采样时钟,实现imu数据采样与1pps同步,这种方法缺少对数据传输延时的同步评估。专利“丁继成,吴谋炎,赵琳,等.一种mems/gnss组合导航系统实时数据同步方法[p].中国:cn104330082a,2015”计算mems、gnss到达fpga的时间差,通过同步外推算法对mems数据进行拟合,实现数据同步,当组合系统中传感器模块种类比较多时候,这种方法的复杂度会明显变高。专利“王健,党进伟,颜开思.一种天文组合导航系统时间同步方法[p].中国:

cn109799523a,2019”仅介绍了组合系统时间同步方法,并没有对组合导航系统数据通信及数据处理做描述。

在天文组合导航系统领域,目前公开的文献报道主要集中在天文组合导航系统算法设计、系统误差标定等,对天文组合导航系统的数据同步、数据通信、数据处理的系统实现鲜有报道。在天文组合导航系统中,为了保证导航处理器与每一个传感器模块的数据通信实时准确,并能够监测数据通信状态,保证长时导航的数据高精度同步,这对提高天文组合导航系统整体精度具有非常重要意义,因此需要有一个有效的数据通信及处理方法来解决上述问题。



技术实现要素:

为了克服现有技术的不足,本发明提供一种天文组合导航系统数据通信及处理方法。通过fpga实现天文组合导航系统各个单元模块的数据通信及数据处理,保证导航处理器与每一个传感器模块的数据通信实时准确,并能够监测数据通信状态,保证长时同步准确。

本发明解决其技术问题所采用的技术方案的具体步骤如下:

(1)将不同传感器的采样数据保持整秒对齐,同步采集数据,卫星导航模块(gnss)的秒脉冲同步信号(pps)频率是f1hz,fpga接收gnss的pps信号作为系统同步基准,通过分频生成ins的同步信号syn1,频率是f2hz,生成cns的同步信号syn2,频率是f3hz,生成转台的同步信号syn3,频率是f4hz,同步信号整秒对齐;

(2)数据接收及处理;

cns、ins、gnss和转台的数据接收及处理步骤相同,具体如下:

首先对cns或ins或gnss或转台的接口数据进行串并转换,将12bit数据转换为1个字节数据,所述12bit数据包括1个起始位、8个数据位、1个奇校验位和2个停止位;

接收数据标志位rx_start_flag初始化置0,fpga检测到cns或ins或gnss或转台的端口有数据时,开始接收数据时rx_start_flag置1,同时时间戳寄存器timestamp_memory锁存此时系统时间dtime,fpga把接收的每一个字节数据存入寄存器rx_data_memory,同时接收计数器rx_data_count进行累计计数;

在接收数据时,fpga如果两个数据时钟周期内没有检测到cns或ins或gnss或转台的端口有数据,那么rx_start_flag置0;

数据有效标志位rx_data_valid_flag初始置0,在rx_start_flag的下降沿,进行数据异常检测,检测分为两部分,第一是检测数据包帧头、校验和是否正确,第二是检测数据个数n是否正确,如果检测正确,那么数据有效标志位rx_data_valid_flag置1,并保持一个数据时钟周期后置0;

数据搬移标志位rx_data_move_flag初始置0,在rx_data_valid_flag的下降沿rx_data_move_flag置1并保持到数据搬移完成后置0;

数据搬移将寄存器rx_data_memory数据、时间戳寄存器timestamp_memory数据搬移到ram寄存器rx_ram_meomry中,数据搬移完成后,数据接收完成标志rx_data_ready置1,并保持一个数据时钟周期后置0;

数据接收完成标志rx_data_ready和导航处理器的中断端口互联,那么数据接收完成会产生中断给导航处理器,导航处理器通过访问寄存器rx_ram_meomry读取cns或ins或gnss或转台的数据;

(3)数据发送及监测;

cns或ins或gnss或转台的数据发送及监测的步骤相同,具体如下:

导航处理器开始发送数据时,将发送使能标志tx_enable_flag置1,禁止其它异常访问发送ram寄存器tx_ram_memory数据,然后将要发送的数据依次发给寄存器tx_ram_memory,完成后将tx_enable_flag置0;

发送数据开始标志位tx_start_flag初始置0,在tx_enable_flag的下降沿置1并保持一个数据时钟周期;

标志位tx_start_flag置1时启动异步串口的并串转换,将1个字节数据转换为12bit数据,通过串口转换电路发送给cns或ins或gnss或转台模块,所述12bit数据包括1个起始位、8个数据位、1个奇校验位和2个停止位;

标志位tx_start_flag上升沿时,发送计数器tx_data_count置0,每发送一个字节数据时候,发送计数器进行累计,寄存器tx_ram_memory内数据发送完成后,如果计数器tx_data_count累计n等于发送数据包长度,发送成功标志tx_success_flag置1,并保持一个数据时钟周期,导航处理器通过tx_success_flag判断发送是否成功,即读取tx_success_flag标志位状态,若为1,则是成功,若为0,则是失败,如果tx_success_flag发送不成功,则再发一次,或放弃发送,直接转入故障处理程序。

本发明的有益效果在于:

(1)利用gnss的pps作为系统同步基准,通过分频得到ins、cns、转台的同步频率,各个模块的同步整秒对齐,保证了系统长时间工作的同步准确性。

(2)接收数据到达时刻fpga锁存此时刻系统时间dtime,导航处理器可以通过dtime和同步差判断数据传输延时、系统同步精度等指标,实时监测每一个传感器模块状态及数据的可用性,为后续高精度组合导航提供基础。

(3)fpga对接收数据进行异常检测,只发送给导航处理器正确有效数据,节省了导航处理器资源。

(4)fpag对正确有效的接收数据进行搬移,这样一方面释放寄存器

rx_data_memory,可以保证持续接收数据,不会出现丢数据现象,另一方面导航处理器仅访问数据搬移后的存储器数据,保证读取的数据是完整有效,不要再重复做数据校验。

(5)fpag发送数据并进行发送状态监测,导航处理器可以通过发送状态标志判断发送是否成功,如果不成功可以尝试再发一次,也可以直接转入故障处理程序,提供了天文组合导航系统一定容错能力。

附图说明

图1为本发明天文组合系统数据同步、数据通信的功能框图。

图2为本发明数据接收及处理时序图。

图3为本发明数据发送及监测时序图。

具体实施方式

下面结合附图和实施例对本发明进一步说明。

本发明通过fpga实现天文组合导航系统各个单元模块的数据通信及数据处理。

天文组合系统数据同步、数据通信的功能框图参照图1,fpga接收卫星导航模块(gnss)的秒脉冲同步信号(pps)作为系统同步基准,生成惯性导航模块(ins)的同步信号syn1,天文导航模块(cns)的同步信号syn2,转台的同步信号syn3,fpga接收每一个传感器数据,对接收的数据进行处理后发给导航处理器,导航处理器将需要发送的数据发送给fpga,fpga发送数据同时并对发送的数据进行状态监测。

具体实施步骤如下:

(1)同步,卫星导航模块(gnss)的秒脉冲同步信号(pps)频率是1hz,fpga接收gnss的pps信号作为系统同步基准,通过分频生成ins的同步信号syn1,频率是200hz,生成cns的同步信号syn2,频率是100hz,生成转台的同步信号syn3,频率是200hz,同步信号整秒对齐。

(2)数据接收及处理,cns、ins、gnss和转台的电气接口是异步串口,通过串口转换电路和fpga互联,参照图2所示的数据接收及处理时序图,以cns为例说明cns数据接收及处理方法,ins、gnss和转台的数据接收及处理方法类似。

首先需要对cns接口数据进行串并转换,将12bit数据(1个起始位、8个数据位、1个奇校验位和2个停止位)转换为1个字节数据。

接收数据标志位rx_start_flag初始化置0,fpga检测到cns端口有数据时候,开始接收数据时rx_start_flag置1,同时时间戳寄存器timestamp_memory锁存此时系统时间dtime,fpga把接收的每一个字节数据存入寄存器rx_data_memory,同时接收计数器rx_data_count进行累计计数。

在接收数据时候fpga如果两个数据时钟周期内没有检测到cns端口有数据,那么rx_start_flag置0,导航处理器可以通过访问rx_start_flag标志位确定当前数据接收状态。

数据有效标志位rx_data_valid_flag初始置0,在rx_start_flag的下降沿,进行数据异常检测,主要检测两部分内容,第一是检测数据包帧头、校验和是否正确,第二是检测数据个数n是否正确,如果检测正确,那么数据有效标志位rx_data_valid_flag置1,并保持一个数据时钟周期后置0。

数据搬移标志位rx_data_move_flag初始置0,在rx_data_valid_flag的下降沿rx_data_move_flag置1并保持到数据搬移完成后置0。

数据搬移主要实现将寄存器rx_data_memory数据、时间戳寄存器timestamp_memory数据搬移到ram寄存器rx_ram_meomry中,数据搬移完成后,数据接收完成标志rx_data_ready置1,并保持一个数据时钟周期后置0。

数据接收完成标志rx_data_ready可以和导航处理器的中断端口互联,那么数据接收完成会产生中断给导航处理器,导航处理器通过访问寄存器rx_ram_meomry读取cns数据。

导航处理器通过数据的时间dtime实现各个传感器模块数据同步对齐,然后进行信息融合。

(3)数据发送及监测,参照图3所示的数据发送及监测时序图,以cns为例说明cns数据发送及监测方法,ins、gnss和转台的数据发送及监测方法类似。

导航处理器开始发送数据时,将发送使能标志tx_enable_flag置1,禁止其它地方异常访问发送ram寄存器tx_ram_memory数据,然后将要发送的数据依次发给寄存器tx_ram_memory,完成后将tx_enable_flag置0。

发送数据开始标志位tx_start_flag初始置0,在tx_enable_flag的下降沿置1并保持一个数据时钟周期。

标志位tx_start_flag置1时启动异步串口的并串转换,将1个字节数据转换为12bit数据(1个起始位、8个数据位、1个奇校验位和2个停止位),通过串口转换电路发送给cns模块。异步串口的数据并串转换不在本专利讨论范围。

标志位tx_start_flag上升沿时,发送计数器tx_data_count置0,每发送一个字节数据时候,发送计数器进行累计,寄存器tx_ram_memory内数据发送完成后,如果计数器tx_data_count累计n等于发送数据包长度,发送成功标志tx_success_flag置1,并保持一个数据时钟周期。导航处理器可以通过tx_success_flag判断发送是否成功,如果不成功可以尝试再发一次,也可以直接转入故障处理程序。

以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。

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