首页> 中国专利> 一种基于误差补偿的惯性测量装置异步通讯同步方法

一种基于误差补偿的惯性测量装置异步通讯同步方法

摘要

本发明公开了一种基于误差补偿的惯性测量装置异步通讯同步方法,本发明通过在计算程序中增加中间变量Δ

著录项

  • 公开/公告号CN103471588A

    专利类型发明专利

  • 公开/公告日2013-12-25

    原文格式PDF

  • 申请/专利权人 北京航天控制仪器研究所;

    申请/专利号CN201310403915.2

  • 发明设计人 魏宗康;王爱华;

    申请日2013-09-06

  • 分类号G01C21/16;H04L1/00;

  • 代理机构中国航天科技专利中心;

  • 代理人臧春喜

  • 地址 100854 北京市海淀区北京142信箱403分箱

  • 入库时间 2024-02-19 21:48:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-02-10

    授权

    授权

  • 2014-01-22

    实质审查的生效 IPC(主分类):G01C21/16 申请日:20130906

    实质审查的生效

  • 2013-12-25

    公开

    公开

说明书

技术领域

本发明涉及一种异步通讯同步方法,尤其涉及一种基于误差补偿的惯性 测量装置异步通讯同步方法,适用于要求实时快速导航的技术领域。

背景技术

对于采用485异步通讯的惯性测量装置在与上位机进行信息沟通时,应 该按照5ms的计算周期实时把敏感的载体角速度和视加速度信息发送给上 位机,上位机按照5ms的周期把接收到的载体角速度和视加速度信息用于导 航解算。由于惯性测量装置的5ms计算时刻与上位机485中断请求时刻之间 时间差在每次开机处于不确定的状态,并且要求惯性测量装置在计算过程中 如果收到485中断请求信号则优先响应485中断请求。这就使得485中断请 求来临时,惯性测量装置的响应有两种可能,第一种是本次计算完成则直接 把本周期的计算结果发送出去,第二种是本次计算没有完成则可把上周期的 计算结果发送出去。第一种情况是最理想的,不存在时间延迟;第二种情况 存在时间延迟,即上位机接收到的一帧数据是上一周期的信息,但这种延迟 一般是允许的。

但存在一种情况是,惯性测量装置在每个周期内的计算完成时刻与485 中断请求时刻近似重合前后,由于惯性测量装置与上位机的晶振精度差异, 导致上位机接收到的数据会由一段本周期的数据逐渐变为上一周期的数据, 或由一段上一周期的数据逐渐变为本周期的数据。在具体实现时,通过设置 变量TMARK来标示本次计算是否完成,并设置两个缓存区1和2。在每次计 算完成后,应把本次计算结果先保存到缓存区1,再保存到缓存区2。

如果本周期计算完成并完成缓存区1的数据保存,则TMARK=0,将本周 期的计算结果(缓存区1)发送出去。如果本周期计算还没有完成或者没有 完成缓存区1的数据保存,则TMARK=0xFF,5ms角增量和速度增量没有更新, 所以会将上一周期计算完成的角增量和速度增量(缓存区2)发送给弹上计 算机,计算时序如图1所示。

如图1所示,485请求中断来时有三种可能:

(1)在程序计算时有请求,虽然TMARK=0,但由于缓存区①放置的是上 一周期的数据,因此发送的仍然是上一周期的数据;

(2)在TMARK=0xFF和TMARK=0之间时有请求,此时TMARK=0xFF,则应 发送缓存区②的数据。由于缓存区②放置的上一周期的数据,因此,此时仍 然发送上一周期的数据;

(3)在TMARK=0时,本周期的数据已经完整保存到缓存区1,因此,可 把缓存区1的数据发送出去。

按照图1的分析,给出发送数据的流程图如图2所示。其中,TMARK=0 表示计算已完成,TMARK=0xFF表示计算没有完成。图1只是表示了一个周 期内的时序图,而按照图2的流程,如果上周期计算完成而本周期计算没有 完成,则会出现两个周期发送相同数据的情况,此时会丢失一帧数据,对导 航结果造成影响。

把多个周期可能出现的时序分三种情况,如图3所示。

在理论上,导航解算的积分值为S=A+B+C+D+E+F+G+...         (1)

在图3(a)中,485请求来时补偿程序已计算完,因此在每个周期发送本 周期的计算值。此时,导航解算的积分值与理论值相同,如式(1),Sa=S。

而在图3(b)中,485请求来时补偿程序还没有计算完,因此在每个周期 发送上一周期的计算值。对于导航解算的结果可表示为

Sb=A+B+C+D+E+F+F+...=S-G              (2)

此时,导航解算的误差只取决于最后值G,随着时间的增加,此项误差 可以忽略。

而在图3(c)中,485请求来时补偿程序在A、F、G计算完,而在B、C、 D、E没有计算完,根据图4的流程图导航解算的结果可表示为

Sc=A+A+B+C+D+F+G+...=S+A-E           (3)

可以看出,随着时间的增加,初始值A引起的误差可以忽略。但是,由 于E值时刻的不确定性,或此情况发生频率的概率不确定,第三种情况会引 起重复发数或丢数时不可控制,在大信号时会对导航精度有较大影响。因此, 如何克服通讯不同步时重复发数或丢数,并确保导航精度仍然有效是惯性测 量装置与上位机之间通讯的一个难点。

发明内容

本发明的技术解决问题:克服现有技术的不足,提供一种基于误差补偿 的惯性测量装置异步通讯同步方法,解决了通讯不同步时重复发数或丢数导 致惯性测量装置的导航精度受损问题,提高了惯性导航的精度。

本发明的技术解决方案:一种基于误差补偿的惯性测量装置异步通讯同 步方法,在计算程序中设置两个缓存区1和2,每次计算完成后,本次计算结 果先保存到缓存区1,再保存到缓存区2,其特征在于:

(1)在惯性测量装置的每个计算周期,将计算是否完成标志TMARK=0xFF 放在计算程序的开始端,并在计算程序中增加两个变量Δ1、Δ2,其中Δ1为 本周期的计算误差,Δ1=本周期的计算值-上周期的计算值;Δ2为上周期的 计算误差,设两个计算误差初始值Δ1=0,Δ2=0;

(2)每个计算周期计算程序接收485中断请求,当485中断请求来临时, 如果本周期内的计算未完成,则执行步骤(a),如果本计算周期内的计算 已完成,则执行步骤(b);

(a)计算是否完成标志TMARK保持不变,TMARK=0xFF,计算程序的输出结 果为存储在缓存区2中的值,存储在缓存区2中的值为上周期的计算值+Δ1, 计算程序将输出结果通过485总线发出,待计算完成后,置Δ21

(b)置计算是否完成标志TMARK=0,计算程序的输出结果为存储在缓存 器1中的值,存储在缓存器1中的值为本周期计算值+Δ2,计算程序将输出结 果通过485总线发出,然后重置Δ1=0,Δ2=0;

(3)完成异步通讯同步。

本发明与现有技术相比的优点如下:本发明通过在计算程序中增加中间 变量Δ1和Δ2用来记录本周期计算数据与上周期计算数据之差,在485中断时 刻通过判断本周期计算是否完成来确定发送数据的补偿方案,实现惯性测量 装置的精度保持能力,从而克服485通讯双方晶振存在精度差异造成的时序 冲突,克服了现有惯性测量装置与上位机之间通讯不同步时重复发数或丢数 的问题,确保了惯性导航的精度。

附图说明

图1为现有计算程序发送数据时序图;

图2为现有计算程序发送数据流程图;

图3为多个周期发送数据的时序图;

图4为本发明程序计算流程图;

图5为本发明发送数据流程图;

图6为本发明方法发送数据时序图。

具体实施方式

为实现惯性测量装置与上位机之间通讯不同步时惯性导航的精度保持 能力,本发明的主要改进包括以下几个方面:

图4所示,在每个5ms周期开始计算时,把TMARK=0xFF标志放在程序的开 始端,并在计算程序中增加两个变量Δ1、Δ2,其中Δ1为本周期的计算误差, Δ1=本周期的计算值-上周期的计算值;Δ2为上周期的计算误差,设两个计 算误差初始值Δ1=0,Δ2=0;缓存区1放置的数据为本周期的计算结果+Δ2, 缓存区2放置的数据为上周期的计算结果+Δ1

如图5所示,每个计算周期计算程序接收485中断请求,当485中断请求 来临时,如果本周期内的计算未完成,则执行步骤(a),如果本计算周期 内的计算已完成,则执行步骤(b);

(a)计算是否完成标志TMARK保持不变,TMARK=0xFF,计算程序的输出结 果为存储在缓存区2中的值,存储在缓存区2中的值为上周期的计算值+Δ1, 计算程序将输出结果通过485总线发出,待计算完成后,置Δ21

(b)置计算是否完成标志TMARK=0,计算程序的输出结果为存储在缓存 器1中的值,存储在缓存器1中的值为本周期计算值+Δ2,计算程序将输出结 果通过485总线发出,然后重置Δ1=0,Δ2=0;

利用图4、图5的方法对图3进行时序分析,设增量初始值Δ1=0,Δ2=0, 导航初始值S0=0。

在图3(a)中,485请求来时补偿程序已计算完,由于Δ1=0,Δ2=0,因 此在每个周期发送本周期的计算值。发送完后,重新置Δ1=0,Δ2=0。此时, 导航解算的积分值与理论值相同,如式(1),Sa=S。

而在图3(b)中,485请求来时补偿程序还没有计算完,因此在每个周期 发送上一周期的计算值。对于导航解算的结果可表示为

Sb=(A+A)+(2B-A)+(2C-B)+(2D-C)+(2E-D)+(2F-E)+...

=A+B+C+D+E+2F+...

=S+(F-G)                              (4)

从上式可以看出,由于误差(F-G)只取决于导航解算的最后两个值,随 着导航解算时间的增加,该项误差也可以忽略。因此,式(4)计算方法引起 的误差受控。

而在图3(c)中,485请求来时补偿程序在A、F、G计算完,而在B、C、 D、E没有计算完,根据图4的流程图导航解算的结果可表示为

Sc=A+A+(2B-A)+(2C-B)+(2D-C)+(F+E-D)+G+...=S        (5)

可以看出,第三种情况有效消除了重复发数或丢数的问题。

综合以上三种情况,本发明可以有效消除重复发数或丢数的问题。

本发明方法发送数据时序如图6所示,485请求中断来时有两种可能:

(1)在程序计算时有请求,TMARK=0xFF,由于Δ1没有更新,因此发送 放在缓存区②中的值,该值为上一周期的计算数据+Δ1;在退出485中断且 计算完成后,Δ21,Δ1=本周期计算值-上一周期计算值;

(2)在TMARK=0时,表示在485通讯来之前就已经完成Δ21、Δ1=本 周期计算值-上一周期计算值的操作,本周期的数据+Δ2已经完整保存到缓 存区①,因此,可把缓存区①的数据发送出去,并置Δ1=0、Δ2=0。退出485 中断后不再进行任何操作。

本发明未详细描述内容为本领域技术人员公知技术。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号