两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于誤差補(bǔ)償?shù)膽T性測量裝置異步通訊同步方法

文檔序號:7769565閱讀:507來源:國知局
一種基于誤差補(bǔ)償?shù)膽T性測量裝置異步通訊同步方法
【專利摘要】本發(fā)明公開了一種基于誤差補(bǔ)償?shù)膽T性測量裝置異步通訊同步方法,本發(fā)明通過在計(jì)算程序中增加中間變量Δ1和Δ2用來記錄本周期計(jì)算數(shù)據(jù)與上周期計(jì)算數(shù)據(jù)之差,在485中斷時刻通過判斷本周期計(jì)算是否完成來確定發(fā)送數(shù)據(jù)的補(bǔ)償方案,實(shí)現(xiàn)慣性測量裝置的精度保持能力,從而克服485通訊雙方晶振存在精度差異造成的時序沖突,克服了現(xiàn)有慣性測量裝置與上位機(jī)之間通訊不同步時重復(fù)發(fā)數(shù)或丟數(shù)的問題,確保了慣性導(dǎo)航的精度。
【專利說明】一種基于誤差補(bǔ)償?shù)膽T性測量裝置異步通訊同步方法【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種異步通訊同步方法,尤其涉及一種基于誤差補(bǔ)償?shù)膽T性測量裝置異步通訊同步方法,適用于要求實(shí)時快速導(dǎo)航的【技術(shù)領(lǐng)域】。
【背景技術(shù)】[0002]對于采用485異步通訊的慣性測量裝置在與上位機(jī)進(jìn)行信息溝通時,應(yīng)該按照5ms的計(jì)算周期實(shí)時把敏感的載體角速度和視加速度信息發(fā)送給上位機(jī),上位機(jī)按照5ms的周期把接收到的載體角速度和視加速度信息用于導(dǎo)航解算。由于慣性測量裝置的5ms計(jì)算時刻與上位機(jī)485中斷請求時刻之間時間差在每次開機(jī)處于不確定的狀態(tài),并且要求慣性測量裝置在計(jì)算過程中如果收到485中斷請求信號則優(yōu)先響應(yīng)485中斷請求。這就使得485中斷請求來臨時,慣性測量裝置的響應(yīng)有兩種可能,第一種是本次計(jì)算完成則直接把本周期的計(jì)算結(jié)果發(fā)送出去,第二種是本次計(jì)算沒有完成則可把上周期的計(jì)算結(jié)果發(fā)送出去。第一種情況是最理想的,不存在時間延遲;第二種情況存在時間延遲,即上位機(jī)接收到的一幀數(shù)據(jù)是上一周期的信息,但這種延遲一般是允許的。
[0003]但存在一種情況是,慣性測量裝置在每個周期內(nèi)的計(jì)算完成時刻與485中斷請求時刻近似重合前后,由于慣性測量裝置與上位機(jī)的晶振精度差異,導(dǎo)致上位機(jī)接收到的數(shù)據(jù)會由一段本周期的數(shù)據(jù)逐漸變?yōu)樯弦恢芷诘臄?shù)據(jù),或由一段上一周期的數(shù)據(jù)逐漸變?yōu)楸局芷诘臄?shù)據(jù)。在具體實(shí)現(xiàn)時,通過設(shè)置變量TMARK來標(biāo)示本次計(jì)算是否完成,并設(shè)置兩個緩存區(qū)I和2。在每次計(jì)算完成后,應(yīng)把本次計(jì)算結(jié)果先保存到緩存區(qū)1,再保存到緩存區(qū)2。
[0004]如果本周期計(jì)算完成并完成緩存區(qū)I的數(shù)據(jù)保存,則TMARK=O,將本周期的計(jì)算結(jié)果(緩存區(qū)I)發(fā)送出去。如果本周期計(jì)算還沒有完成或者沒有完成緩存區(qū)I的數(shù)據(jù)保存,則TMARK=0xFF,5ms角增量和速度增量沒有更新,所以會將上一周期計(jì)算完成的角增量和速度增量(緩存區(qū)2)發(fā)送給彈上計(jì)算機(jī),計(jì)算時序如圖1所示。
[0005]如圖1所示,485請求中斷來時有三種可能:
[0006](I)在程序計(jì)算時有請求,雖然TMARK=O,但由于緩存區(qū)①放置的是上一周期的數(shù)據(jù),因此發(fā)送的仍然是上一周期的數(shù)據(jù);
[0007](2)在Tmark=OxFF和TMARK=O之間時有請求,此時TMARK=0xFF,則應(yīng)發(fā)送緩存區(qū)②的數(shù)據(jù)。由于緩存區(qū)②放置的上一周期的數(shù)據(jù),因此,此時仍然發(fā)送上一周期的數(shù)據(jù);
[0008](3)在TMARK=O時,本周期的數(shù)據(jù)已經(jīng)完整保存到緩存區(qū)1,因此,可把緩存區(qū)I的數(shù)據(jù)發(fā)送出去。
[0009]按照圖1的分析,給出發(fā)送數(shù)據(jù)的流程圖如圖2所示。其中,TMARK=O表示計(jì)算已完成,Tmark=Oxff表示計(jì)算沒有完成。圖1只是表示了一個周期內(nèi)的時序圖,而按照圖2的流程,如果上周期計(jì)算完成而本周期計(jì)算沒有完成,則會出現(xiàn)兩個周期發(fā)送相同數(shù)據(jù)的情況,此時會丟失一幀數(shù)據(jù),對導(dǎo)航結(jié)果造成影響。
[0010]把多個周期可能出現(xiàn)的時序分三種情況,如圖3所示。
[0011 ] 在理論上,導(dǎo)航解算的積分值為S=A+B+C+D+E+F+G+...(I)[0012]在圖3(a)中,485請求來時補(bǔ)償程序已計(jì)算完,因此在每個周期發(fā)送本周期的計(jì)算值。此時,導(dǎo)航解算的積分值與理論值相同,如式(l),Sa=S。
[0013]而在圖3(b)中,485請求來時補(bǔ)償程序還沒有計(jì)算完,因此在每個周期發(fā)送上一周期的計(jì)算值。對于導(dǎo)航解算的結(jié)果可表示為
[0014]Sb=A+B+C+D+E+F+F+...=S-G(2)
[0015]此時,導(dǎo)航解算的誤差只取決于最后值G,隨著時間的增加,此項(xiàng)誤差可以忽略。
[0016]而在圖3(c)中,485請求來時補(bǔ)償程序在A、F、G計(jì)算完,而在B、C、D、E沒有計(jì)算完,根據(jù)圖4的流程圖導(dǎo)航解算的結(jié)果可表示為
[0017]Sc=A+A+B+C+D+F+G+...=S+A_E(3)
[0018]可以看出,隨著時間的增加,初始值A(chǔ)引起的誤差可以忽略。但是,由于E值時刻的不確定性,或此情況發(fā)生頻率的概率不確定,第三種情況會引起重復(fù)發(fā)數(shù)或丟數(shù)時不可控制,在大信號時會對導(dǎo)航精度有較大影響。因此,如何克服通訊不同步時重復(fù)發(fā)數(shù)或丟數(shù),并確保導(dǎo)航精度仍然有效是慣性測量裝置與上位機(jī)之間通訊的一個難點(diǎn)。

【發(fā)明內(nèi)容】

[0019]本發(fā)明的技術(shù)解決問題:克服現(xiàn)有技術(shù)的不足,提供一種基于誤差補(bǔ)償?shù)膽T性測量裝置異步通訊同步方法,解決了通訊不同步時重復(fù)發(fā)數(shù)或丟數(shù)導(dǎo)致慣性測量裝置的導(dǎo)航精度受損問題,提高了慣性導(dǎo)航的精度。
[0020]本發(fā)明的技術(shù)解決方案:一種基于誤差補(bǔ)償?shù)膽T性測量裝置異步通訊同步方法,在計(jì)算程序中設(shè)置兩個緩存區(qū)I 和2,每次計(jì)算完成后,本次計(jì)算結(jié)果先保存到緩存區(qū)1,再保存到緩存區(qū)2,其特征在于:
[0021](I)在慣性測量裝置的每個計(jì)算周期,將計(jì)算是否完成標(biāo)志TMARK=0xFF放在計(jì)算程序的開始端,并在計(jì)算程序中增加兩個變量Λ 1、A2,其中A1為本周期的計(jì)算誤差,Δ 1=本周期的計(jì)算值-上周期的計(jì)算值;△ 2為上周期的計(jì)算誤差,設(shè)兩個計(jì)算誤差初始值Δ J=O, A2=O ;
[0022](2)每個計(jì)算周期計(jì)算程序接收485中斷請求,當(dāng)485中斷請求來臨時,如果本周期內(nèi)的計(jì)算未完成,則執(zhí)行步驟(a),如果本計(jì)算周期內(nèi)的計(jì)算已完成,則執(zhí)行步驟(b);
[0023](a)計(jì)算是否完成標(biāo)志TMARK保持不變,TMARK=0xFF,計(jì)算程序的輸出結(jié)果為存儲在緩存區(qū)2中的值,存儲在緩存區(qū)2中的值為上周期的計(jì)算值+ A1,計(jì)算程序?qū)⑤敵鼋Y(jié)果通過485總線發(fā)出,待計(jì)算完成后,置Λ 2= Λ i ;
[0024](b)置計(jì)算是否完成標(biāo)志TMARK=O,計(jì)算程序的輸出結(jié)果為存儲在緩存器I中的值,存儲在緩存器I中的值為本周期計(jì)算值+ A2,計(jì)算程序?qū)⑤敵鼋Y(jié)果通過485總線發(fā)出,然后重置A1=O, A2=O ;
[0025](3)完成異步通訊同步。
[0026]本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)如下:本發(fā)明通過在計(jì)算程序中增加中間變量A1和A2用來記錄本周期計(jì)算數(shù)據(jù)與上周期計(jì)算數(shù)據(jù)之差,在485中斷時刻通過判斷本周期計(jì)算是否完成來確定發(fā)送數(shù)據(jù)的補(bǔ)償方案,實(shí)現(xiàn)慣性測量裝置的精度保持能力,從而克服485通訊雙方晶振存在精度差異造成的時序沖突,克服了現(xiàn)有慣性測量裝置與上位機(jī)之間通訊不同步時重復(fù)發(fā)數(shù)或丟數(shù)的問題,確保了慣性導(dǎo)航的精度?!緦@綀D】

【附圖說明】
[0027]圖1為現(xiàn)有計(jì)算程序發(fā)送數(shù)據(jù)時序圖;
[0028]圖2為現(xiàn)有計(jì)算程序發(fā)送數(shù)據(jù)流程圖;
[0029]圖3為多個周期發(fā)送數(shù)據(jù)的時序圖;
[0030]圖4為本發(fā)明程序計(jì)算流程圖;
[0031]圖5為本發(fā)明發(fā)送數(shù)據(jù)流程圖;
[0032]圖6為本發(fā)明方法發(fā)送數(shù)據(jù)時序圖。
【具體實(shí)施方式】
[0033]為實(shí)現(xiàn)慣性測量裝置與上位機(jī)之間通訊不同步時慣性導(dǎo)航的精度保持能力,本發(fā)明的主要改進(jìn)包括以下幾個方面:
[0034]圖4所示,在每個5ms周期開始計(jì)算時,把TMARK=0xFF標(biāo)志放在程序的開始端,并在計(jì)算程序中增加兩個變量Λρ A2,其中A1為本周期的計(jì)算誤差,A1=本周期的計(jì)算值-上周期的計(jì)算值;A2為上周期的計(jì)算誤差,設(shè)兩個計(jì)算誤差初始值A(chǔ)1=O, A2=O;緩存區(qū)I放置的數(shù)據(jù)為本周期的計(jì)算結(jié)果+ Λ 2,緩存區(qū)2放置的數(shù)據(jù)為上周期的計(jì)算結(jié)果+ A10
[0035]如圖5所示,每個計(jì)算周期計(jì)算程序接收485中斷請求,當(dāng)485中斷請求來臨時,如果本周期內(nèi)的計(jì)算未完成,則執(zhí) 行步驟(a),如果本計(jì)算周期內(nèi)的計(jì)算已完成,則執(zhí)行步驟(b);
[0036](a)計(jì)算是否完成標(biāo)志TMARK保持不變,TMARK=0xFF,計(jì)算程序的輸出結(jié)果為存儲在緩存區(qū)2中的值,存儲在緩存區(qū)2中的值為上周期的計(jì)算值+ A1,計(jì)算程序?qū)⑤敵鼋Y(jié)果通過485總線發(fā)出,待計(jì)算完成后,置Λ 2= Λ i ;
[0037](b)置計(jì)算是否完成標(biāo)志TMARK=O,計(jì)算程序的輸出結(jié)果為存儲在緩存器I中的值,存儲在緩存器I中的值為本周期計(jì)算值+ A2,計(jì)算程序?qū)⑤敵鼋Y(jié)果通過485總線發(fā)出,然后重置A1=O, A2=O ;
[0038]利用圖4、圖5的方法對圖3進(jìn)行時序分析,設(shè)增量初始值Λ fO,Δ 2=0,導(dǎo)航初始值 S0=O。
[0039]在圖3 (a)中,485請求來時補(bǔ)償程序已計(jì)算完,由于A1=O, Λ2=0,因此在每個周期發(fā)送本周期的計(jì)算值。發(fā)送完后,重新置A1=O, A2=O0此時,導(dǎo)航解算的積分值與理論值相同,如式(I),Sa=S。
[0040]而在圖3(b)中,485請求來時補(bǔ)償程序還沒有計(jì)算完,因此在每個周期發(fā)送上一周期的計(jì)算值。對于導(dǎo)航解算的結(jié)果可表示為
[0041 ] Sb= (A+A) + (2B-A) + (2C-B) + (2D-C) + (2E-D) + (2F-E) +...[0042]=A+B+C+D+E+2F+...[0043]=S+ (F-G)(4)
[0044]從上式可以看出,由于誤差(F-G)只取決于導(dǎo)航解算的最后兩個值,隨著導(dǎo)航解算時間的增加,該項(xiàng)誤差也可以忽略。因此,式(4)計(jì)算方法引起的誤差受控。
[0045]而在圖3(c)中,485請求來時補(bǔ)償程序在A、F、G計(jì)算完,而在B、C、D、E沒有計(jì)算完,根據(jù)圖4的流程圖導(dǎo)航解算的結(jié)果可表示為[0046]SC=A+A+ (2B-A) + (2C-B) + (2D-C) + (F+E-D) +G+...=S(5)
[0047]可以看出,第三種情況有效消除了重復(fù)發(fā)數(shù)或丟數(shù)的問題。
[0048]綜合以上三種情況,本發(fā)明可以有效消除重復(fù)發(fā)數(shù)或丟數(shù)的問題。
[0049]本發(fā)明方法發(fā)送數(shù)據(jù)時序如圖6所示,485請求中斷來時有兩種可能:
[0050](I)在程序計(jì)算時有請求,TMARK=0xFF,由于A1沒有更新,因此發(fā)送放在緩存區(qū)②中的值,該值為上一周期的計(jì)算數(shù)據(jù)+A1 ;在退出485中斷且計(jì)算完成后,A2=A1, A1=本周期計(jì)算值-上一周期計(jì)算值;
[0051](2)在TMARK=O時,表示在485通訊來之前就已經(jīng)完成A2=A1' A1=本周期計(jì)算值-上一周期計(jì)算值的操作,本周期的數(shù)據(jù)+ Δ 2已經(jīng)完整保存到緩存區(qū)①,因此,可把緩存區(qū)①的數(shù)據(jù)發(fā)送出去,并置Λ1=0、A2=O0退出485中斷后不再進(jìn)行任何操作。
[0052]本發(fā)明未詳細(xì)描述內(nèi)容為本領(lǐng)域技術(shù)人員公知技術(shù)。
【權(quán)利要求】
1.一種基于誤差補(bǔ)償?shù)膽T性測量裝置異步通訊同步方法,在計(jì)算程序中設(shè)置兩個緩存區(qū)I和2,每次計(jì)算完成后,本次計(jì)算結(jié)果先保存到緩存區(qū)1,再保存到緩存區(qū)2,其特征在于步驟如下: (1)在慣性測量裝置的每個計(jì)算周期,將計(jì)算是否完成標(biāo)志TMARK=OxFF放在計(jì)算程序的開始端,并在計(jì)算程序中增加兩個變量?、A2,其中A1為本周期的計(jì)算誤差,A1=本周期的計(jì)算值-上周期的計(jì)算值;Λ 2為上周期的計(jì)算誤差,設(shè)兩個計(jì)算誤差初始值Λ 1=0,A2=O ; (2)每個計(jì)算周期計(jì)算程序接收485中斷請求,當(dāng)485中斷請求來臨時,如果本周期內(nèi)的計(jì)算未完成,則執(zhí)行步驟(a),如果本計(jì)算周期內(nèi)的計(jì)算已完成,則執(zhí)行步驟(b); Ca)計(jì)算是否完成標(biāo)志TMARK保持不變,TMARK=0xFF,計(jì)算程序的輸出結(jié)果為存儲在緩存區(qū)2中的值,存儲在緩存區(qū)2中的值為上周期的計(jì)算值+ Λ i,計(jì)算程序?qū)⑤敵鼋Y(jié)果通過485總線發(fā)出,待計(jì)算完成后,置A2=A1 ; (b)置計(jì)算是否完成標(biāo)志TMARK=O,計(jì)算程序的輸出結(jié)果為存儲在緩存器I中的值,存儲在緩存器I中的值為本周期計(jì)算值+ Λ 2,計(jì)算程序?qū)⑤敵鼋Y(jié)果通過485總線發(fā)出,然后重置 Δ J=O, A2=O ; (3)完成異步通訊同步。
【文檔編號】H04L1/00GK103471588SQ201310403915
【公開日】2013年12月25日 申請日期:2013年9月6日 優(yōu)先權(quán)日:2013年9月6日
【發(fā)明者】魏宗康, 王愛華 申請人:北京航天控制儀器研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
虎林市| 宕昌县| 蒙阴县| 古浪县| 常山县| 凭祥市| 遵化市| 靖边县| 芜湖市| 虞城县| 邻水| 甘谷县| 泌阳县| 邵阳市| 嘉禾县| 涟源市| 永德县| 吉木乃县| 白沙| 青神县| 永登县| 旅游| 方正县| 丰镇市| 黑山县| 惠安县| 抚顺县| 当涂县| 康平县| 广灵县| 旅游| 金山区| 隆德县| 宜昌市| 法库县| 清流县| 兴业县| 庆云县| 凤山市| 青岛市| 台东市|