一种在光纤惯性导航中基于FPGA的数据解析方法与流程

文档序号:20679589发布日期:2020-05-08 18:15阅读:373来源:国知局
一种在光纤惯性导航中基于FPGA的数据解析方法与流程

本发明属于导航领域,具体来说,涉及一种在光纤惯性导航中基于fpga的数据解析方法。



背景技术:

惯性导航是利用惯性元件(加速度计)来测量运载体本身的加速度,经过积分和运算得到运载体的速度和位置,从而达到对运载体进行导航定位的目的。组成惯性导航系统的设备都安装在运载体内,工作时不依赖外界信息,也不向外界辐射能量,不易受到干扰,是一种自主式导航系统,其在航天、航空、航海及许多民用领域都得到了广泛的应用。高速运行物体的导航定位对实时性要求很高,想要达到准确、可靠的定位就需要提高实时性。而提高dsp数据处理速度,缩短运行时间是提高光纤惯性导航系统实时性的一个重要途径。



技术实现要素:

本发明的目的在于提供一种在光纤惯性导航中基于fpga的数据解析方法,旨在减轻dsp数据处理单元数据处理压力,缩短运行时间,提高光纤惯性导航系统实时性。

为实现上述目的,本发明给出了一种在光纤惯性导航中基于fpga的数据解析方法,该方法包括:惯性传感器每个发送周期发出一帧的数据,fpga接收到该帧数据后,将数据的第一个字节放入第一寄存器,并判断第一个字节是否为有效帧头;

若该帧数据的第一个字节不是有效帧头,则将该帧数据按照字节顺序依次覆盖放入第一寄存器,直到第一寄存器放入的字节为有效帧头为止;

当第一寄存器放入的字节为有效帧头时,fpga将该字节连续一帧长的数据按照字节顺序依次放入对应寄存器中,fpga接收完数据后,fpga将对应寄存器中的发送数据进行解析处理为导航数据,并存入fifo存储器,由dsp数据处理单元从fifo存储器中读取导航数据。现有技术中,由于惯性传感器和惯导信号处理系统不是同步的,无法判断刚上电时候接收到的第一帧数据是否为完整的一帧,如果fpga不做处理直接按开头一帧长的数据进行存储使用的话,那么存到fifo里面的数据有可能是前一帧的后半部分和后一帧的前半部分组成的,这时候dsp处理起来就会耗费掉相当多的时钟周期,不仅需要判断完整的一帧,还需要将得到的数据进行解析,非常不方便,并且拖慢了算法周期。

而采用上述技术方案的解析方法在使用fpga处理数据的话就不存在这个问题,上电之后惯性传感器开始对外输出数据,fpga也开始工作,它只需要判断第一个字节是否是有效帧头,如果不是有效帧头,就把该字节不符合要求的数据直接丢弃,直到下一字节是有效帧头,这样丢弃的只是刚上电的几个不符合的字节而已,这使得fpga得到的一帧长的连续数据一定是完整的一帧,再将该完整帧的有效数据解析出来放入fifo,dsp需要的时候从fifo按照约定的协议去读取,那么dsp得到的就是直接可用的算法原始数据,对于提高算法处理速度有大大的好处。

优选的,所述惯性传感器是光纤陀螺仪。

优选的,所述惯性传感器发出的发送数据包括有效信息、校验信息,所述有效信息包括三轴加速度、三轴运动加速度、航向角、俯仰角和横滚角。

优选的,所述发送周期是可以调节的,根据设备的运行情况和对实时性的要求调整惯性传感器的发送周期。

优选的,所述惯性传感器和fpga之间通过串口通讯。

优选的,所述惯性传感器发出的数据的有效帧头为相同的。

优选的,所述惯性传感器发出的数据的有效帧头为0x80。

与现有技术相比,本发明具有以下有益效果:本发明所述的一种在光纤惯性导航中基于fpga的数据解析方法,利用fpga接收惯性传感器发出的有效数据,再将该有效数据解析处理为导航数据,dsp数据处理单元直接获取到导航数据,减轻dsp数据处理单元的数据解析压力,同时提高dsp数据处理单元的运行效率,使光纤惯性导航具有更好的实时性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的惯性传感器发出的数据的时序图;

图2是本发明提供的有效帧数据解析的时序图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

如图1和图2所示,本发明给出了一种在光纤惯性导航中基于fpga的数据解析方法,该方法包括:惯性传感器每个发送周期发出一帧的数据,每帧数据的长度为10个字节,fpga接收到一帧数据后,将该帧数据的第一个字节放入第一寄存器,并判断第一个字节是否为有效帧头。

若该帧数据的第一个字节不是有效帧头,则将该帧数据按照字节顺序依次覆盖放入第一寄存器,直到第一寄存器放入的字节为有效帧头为止。

当第一寄存器放入的字节为有效帧头时,fpga将该帧以有效帧头开始的10个字节数据按照顺序依次对应放入第一至第十寄存器中,fpga接收完该帧数据后,fpga将第一至第十寄存器对应寄存器中的数据进行解析处理为导航数据,并存入fifo存储器,由dsp数据处理单元从fifo存储器中读取导航数据。具体的,惯性传感器在复位时接收完成标志位“rx_finish”变为0,输出数据“dataout”为0。惯性传感器正常工作时,数据输入标志位“rxdi”变为0,表示有数据输入,fpga进入数据接收状态,9个发送数据(包含一个偶校验位)接收完成之后,fpga进入停止数据接收状态,在停止位的中间状态,发送数据通过“dataout”输出,数据接收完成标志位“rx_finish”变为1,表明有数据输出。

复位时输出数据“dataout”为0,数据解析完成标志位“ext_finish”变为0。正常工作时输入有效标志位“in_ind”为1,输入数据“dai”为有效数据,fpga判断“dai”是否为有效帧头0x80,如果是则接收到的发送数据被依次被写入第一到第十寄存器d0-d9,接收完成后,将接收到的有效的发送数据存入输出寄存器“dao”,同时将解析完成标志位“ext_finish”置为1,表示有有效数据输出;如果输入数据“dai”不是有效帧头“0x80”,将“dai”写入第一寄存器d0,剩余九个数据按接收顺序依次写入寄存器d0,后一数据覆盖前一数据,直到接收到的数据是有效帧头“0x80”。由图2看到直到有效帧头“0x80”出现时,fpga才会将连续的10个字节的发送数据进行解析处理。

惯性传感器是一种传感器,主要是检测和测量加速度、倾斜、冲击、振动、旋转和多自由度(dof)运动,是解决导航、定向和运动载体控制的重要部件。

在具体实施中,惯性传感器采用了光纤陀螺仪,它具有的优点有:

(1)无运动部件,仪器牢固稳定,耐冲击和抗加速度运动;

(2)结构简单,零部件少,价格低廉;

(3)启动时间短,原理上可瞬间启动;

(4)检测灵敏度和分辨率高(可达10-7rad/s);

(5)可直接用数字输出并与计算机接口联网;

(6)动态范围极宽;

(7)寿命长,信号稳定可靠;

(8)易于采用集成光路技术;

(9)便于远距离调控

(10)克服了激光陀螺仪因闭锁现象带来的负效应。

惯性传感器发出的发送数据包括有效信息和冗余的校验信息等。

其中有效信息主要包括惯性传感器检测到的各种数据,如三轴加速度、三轴运动加速度、航向角、俯仰角和横滚角等,有效信息还包括发送数据的帧头。

校验信息是通讯中用作简单的检错方法的信息,有四种检错方式:偶校验、奇校验、高位校验、低位校验,偶校验和奇校验是数据的最后一位用一个值确保传输的数据有偶个或奇个逻辑高位,高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得fpga能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。

发送周期可根据设备的运行情况和对实时性的要求调整惯性传感器的发送周期,具体地为设备运行情况较好或系统对实时性的要求更高时可以将发送周期缩短,相应地,设备运行速度较慢或系统对实施性的要求较低时,可以将发送周期加长。

惯性传感器和fpga之间通过串口通讯,具体方式可以选择rs232通讯、rs485通讯或者rs422通讯,串口通讯很简单并且能够实现远距离通讯。

惯性传感器发出的数据的有效帧头最好是相同的,这样fpga接收到发送数据后只要检测到跟设定的帧头相同的数据即可判断为是帧头,就可以直接将数据解析处理成惯性导航系统需要的导航数据。

惯性传感器发出的数据的有效帧头为0x80,fpga接收到数据后只要检测到数据“0x80”即可判断为是有效帧头,将接下来的数据直接解析处理成惯性导航系统需要的导航数据。

以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改—等同替换和改进等,均应包含在本发明的保护范围之内。

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