国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種星載時鐘冗余系統(tǒng)及方法與流程

      文檔序號:11826792閱讀:439來源:國知局
      一種星載時鐘冗余系統(tǒng)及方法與流程

      本發(fā)明涉及航天器控制技術(shù),特別涉及一種星載時鐘冗余系統(tǒng),以及實現(xiàn)星載時鐘冗余的方法。



      背景技術(shù):

      航天器的控制系統(tǒng)負(fù)責(zé)導(dǎo)航制導(dǎo)姿態(tài)控制計算和任務(wù)規(guī)劃管理等關(guān)鍵功能,這些功能的實現(xiàn)對實時性要求極高,計算周期達到毫秒的量級,因此飛行軟件必須要由高精度的時鐘來驅(qū)動運行。

      由于航天器的運行環(huán)境特別惡劣,強輻射、極端溫度使部件容易老化失效,單粒子翻轉(zhuǎn)更可能會使?fàn)顟B(tài)瞬間發(fā)生不可預(yù)期的變化,一旦時鐘發(fā)生故障,輕則導(dǎo)致控制系統(tǒng)時序發(fā)生漂移或紊亂,重則使得飛行軟件跑飛或停止運行,后果嚴(yán)重。為了避免上述后果,一般通過多余度控制系統(tǒng)來解決。但是,對于微小衛(wèi)星這類航天器,由于受空間、經(jīng)費等因素影響,不適于采用多余度控制系統(tǒng)來避免時鐘故障造成的問題。因此,需要針對無冗余控制系統(tǒng)的航天器,研究其時鐘失效問題。

      在航天控制系統(tǒng)中,飛行控制計算機和慣性測量單元(IMU)是基本配置。其中,慣性測量單元用于測量航天器在慣性空間的加速度、角加速度信息,并發(fā)送給飛行控制計算機進行導(dǎo)航計算;為了確保慣性導(dǎo)航精度,一般慣性測量單元的時鐘精度都會比較高。飛行控制計算機內(nèi)標(biāo)配有兩個定時器Timer0和Timer1,可作為計時用。由于慣性測量單元和飛行控制計算機的時鐘不同源,且晶振精度不一致,存在相對漂移的現(xiàn)象,如果設(shè)計硬件表決電路來實現(xiàn)慣性測量單元時鐘、Timer0和Timer1的“三取二”冗余,難度大,效果不好,因此現(xiàn)有單余度控制系統(tǒng)中,均無時鐘冗余,實現(xiàn)方案概括起來有兩種:

      1、飛行控制計算機采用慣性測量單元時鐘作為整個控制系統(tǒng)時鐘;

      2、飛行控制計算機采用內(nèi)部時鐘(Timer0或Timer1)作為控制系統(tǒng)時鐘。

      方案1能保證控制系統(tǒng)各單機同步運行,時統(tǒng)性更好,但一旦慣性測量單元時鐘發(fā)生故障,將使得整個控制系統(tǒng)癱瘓,“一損俱損”;方案2實現(xiàn)簡單,但會使得飛行控制計算機與慣性測量單元產(chǎn)生時鐘差,影響控制精度;另外,上述兩個方案都有一個共同的缺點:飛行控制計算機所使用的時鐘一旦出現(xiàn)故障,飛行控制系統(tǒng)將崩潰,影響航天器任務(wù)的順利完成。



      技術(shù)實現(xiàn)要素:

      本發(fā)明需要解決的技術(shù)問題是:針對單余度控制系統(tǒng)的特點,提供了一種星載時鐘冗余及其實現(xiàn)方法,充分利用航天器現(xiàn)有的資源,實現(xiàn)了飛行控制計算機的時鐘冗余功能,提高了控制系統(tǒng)的可靠性和安全性,而且具有實現(xiàn)成本低、易于工程實現(xiàn)的特點。

      本發(fā)明的上述目的通過以下方案實現(xiàn):

      一種星載時鐘冗余系統(tǒng),用于為航天控制系統(tǒng)提供系統(tǒng)時鐘,所述航天控制系統(tǒng)包括慣性測量單元和飛行控制計算機,且所述飛行控制計算機的CPU自帶有兩個定時器,分別為第一定時器和第二定時器;

      上述星載時鐘冗余系統(tǒng)包括主時鐘單元、備用時鐘單元、第三方時鐘單元和時鐘冗余控制單元,其中:主時鐘單元利用慣性測量單元的慣導(dǎo)時鐘為CPU提供外部定時中斷;備用時鐘單元采用第一定時器為CPU提供內(nèi)部定時中斷,且設(shè)置第一定時器的周期Tbackup=T+ΔTth,T為慣導(dǎo)時鐘周期,ΔTth為設(shè)定的時鐘誤差門限;第三方時鐘單元利用第二定時器進行計時,且第二定時器的周期Tthird滿足條件:Tthird>T+ΔTth;時鐘冗余控制單元包括主時鐘誤觸發(fā)檢測模塊、主時鐘失效檢測模塊和時鐘切換模塊;

      在CPU產(chǎn)生外部定時中斷時,啟用主時鐘誤觸發(fā)檢測模塊;所述主時鐘誤觸發(fā)檢測模塊利用備用時鐘單元和第三方時鐘單元對外部定時中斷發(fā)生時刻進行計時,并對外部定時中斷發(fā)生次數(shù)進行計數(shù),然后檢測慣導(dǎo)時鐘是否發(fā)生故障而誤觸發(fā)了外部定時中斷,并將檢測結(jié)果發(fā)送給時鐘切換模塊;時鐘切換模塊接收主時鐘誤觸發(fā)檢測模塊發(fā)送的檢測結(jié)果,并根據(jù)所述檢測結(jié)果選擇主時鐘單元或備用時鐘單元輸出系統(tǒng)時鐘;

      在CPU產(chǎn)生內(nèi)部定時中斷時,啟用主時鐘失效檢測模塊;所述主時鐘失效檢測模塊利用第三方時鐘單元對內(nèi)部定時中斷發(fā)生時刻進行計時,并獲取外部定時中斷發(fā)生次數(shù),然后檢測第二定時器是否發(fā)生故障而誤觸發(fā)了內(nèi)部定時中斷,并將檢測結(jié)果發(fā)送給時鐘切換模塊;時鐘切換模塊接收主時鐘失效檢測模塊發(fā)送的檢測結(jié)果,并根據(jù)所述檢測結(jié)果選擇主時鐘單元或備用時鐘單元輸出系統(tǒng)時鐘。

      上述的星載時鐘冗余系統(tǒng),在CPU產(chǎn)生外部定時中斷時,啟用主時鐘誤觸發(fā)檢測模塊,檢測慣導(dǎo)時鐘是否發(fā)生故障而誤觸發(fā)了外部定時中斷,并發(fā)送檢測結(jié)果給時鐘切換模塊,然后由時鐘切換模選擇主時鐘單元或備用時鐘單元輸出系統(tǒng)時鐘,具體實現(xiàn)過程如下:

      (aa)、在外部定時中斷產(chǎn)生時,記錄外部定時中斷次數(shù)n,以及第一定時器的時間tbackup(n)和第二定時器的時間tthird(n);如果第一次產(chǎn)生外部定時中斷,即n=1,則時鐘切換模塊選擇主時鐘單元輸出慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘,然后進入步驟(ad);如果n>1,則進入步驟(ab);

      (ab)、根據(jù)步驟(aa)記錄的第一定時器的時間,計算當(dāng)前外部定時中斷和前一次外部定時中斷之間的時間間隔ΔTbackup,并進行如下判斷:

      如果ΔTbackup≥T-ΔTth,則判斷慣導(dǎo)時鐘正常,時鐘切換模塊選擇主時鐘單元輸出慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘,然后進入步驟(ad);如果ΔTbackup<T-ΔTth,則進入步驟(ac);

      (ac)、根據(jù)步驟(aa)記錄的第二定時器的時間,計算當(dāng)前外部定時中斷和前一次外部定時中斷之間的時間間隔ΔTthird_ex,并進行如下判斷:

      如果ΔTthird_ex≥T-ΔTth,則對第二定時器進行初始化且設(shè)置周期Tbackup=T+ΔTth,時鐘切換模塊選擇主時鐘單元輸出慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘,然后進入步驟(ad);

      如果ΔTthird_ex<T-ΔTth,則將第二定時器的周期Tbackup設(shè)置為T,即Tbackup=T;時鐘切換模塊選擇備用時鐘單元為航天控制系統(tǒng)提供系統(tǒng)時鐘,然后進入步驟(ad);

      (ad)、結(jié)束。

      上述的星載時鐘冗余系統(tǒng),在CPU產(chǎn)生內(nèi)部定時中斷時,啟用主時鐘失效檢測模塊,檢測第二定時器是否發(fā)生故障而誤觸發(fā)了內(nèi)部定時中斷,并將檢測結(jié)果發(fā)送給時鐘切換模塊,然后由時鐘切換模確定選擇主時鐘單元或備用時鐘單元輸出系統(tǒng)時鐘,具體實現(xiàn)過程如下:

      (ba)、在內(nèi)部定時中斷產(chǎn)生時,獲取發(fā)生外部定時中斷的次數(shù)n,并記錄第二定時器的時間tthird(m),其中,m為產(chǎn)生內(nèi)部定時中斷的次數(shù);如果第一次產(chǎn)生內(nèi)部定時中斷,即m=1,則時鐘切換模塊選擇主時鐘單元輸出慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘,然后進入步驟(bd);如果m>1,則進入步驟(bb);

      (bb)、將上一次產(chǎn)生內(nèi)部定時中斷時獲取的外部定時中斷次數(shù),與當(dāng)前獲取的外部定時中斷次數(shù)進行比較,并進行如下判斷:

      如果兩次獲取的外部定時中斷次數(shù)不相等,則判斷慣導(dǎo)時鐘正常,時鐘切換模塊選擇主時鐘單元輸出慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘,然后進入步驟(bd);如果兩次獲取的外部定時中斷次數(shù)相等,則進入步驟(bc);

      (bc)、根據(jù)步驟(ba)記錄的第二定時器時間,計算上一次內(nèi)部定時中斷與當(dāng)前內(nèi)部定時中斷之間的時間間隔ΔTthird_in,并進行如下判斷:

      如果ΔTthird_in≤T,則對第二定時器進行初始化且設(shè)置周期Tbackup=T+ΔTth,然后時鐘切換模塊選擇主時鐘單元輸出慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘,然后進入步驟(bd);

      如果ΔTthird_in>T,則設(shè)置第二定時器的周期Tbackup=T;時鐘切換模塊選擇備用時鐘單元為航天控制系統(tǒng)提供系統(tǒng)時鐘,然后進入步驟(bd);

      (bd)、結(jié)束。

      一種星載時鐘冗余方法,用于為航天控制系統(tǒng)提供系統(tǒng)時鐘,所述航天控制系統(tǒng)包括慣性測量單元和飛行控制計算機,且所述飛行控制計算機的CPU自帶有兩個定時器,分別為第一定時器和第二定時器;

      上述星載時鐘冗余方法包括以下步驟:

      (1)、將慣性測量單元的慣導(dǎo)時鐘引入到飛行控制計算機,作為CPU的外部定時中斷時鐘;并采用第一定時器為CPU提供內(nèi)部定時中斷時鐘,且設(shè)置第一定時器周期Tbackup=T+ΔTth,其中,T為慣導(dǎo)時鐘周期,ΔTth為設(shè)定的時鐘誤差門限;另外,設(shè)置第二定時器的周期Tthird滿足條件:Tthird>T+ΔTth;

      (2)、檢測是否產(chǎn)生外部定時中斷或內(nèi)部定時中斷:如果產(chǎn)生外部定時中斷,則進入步驟(3);如果產(chǎn)生內(nèi)部定時中斷,則進入步驟(4);

      (3)、進行慣導(dǎo)時鐘誤觸發(fā)檢測,具體檢測過程如下:

      (3a)、在外部定時中斷產(chǎn)生時,記錄第一定時器的時間tbackup(n),以及第二定時器的時間tthird(n),其中,n為產(chǎn)生外部定時中斷的次數(shù);如果第一次產(chǎn)生外部定時中斷,即n=1,則選擇慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘輸出,并返回步驟(2);如果n>1,則進入步驟(3b);

      (3b)、根據(jù)步驟(3a)記錄的第一定時器的時間,計算當(dāng)前外部定時中斷和前一次外部定時中斷之間的時間間隔ΔTbackup,并進行如下判斷:

      如果ΔTbackup≥T-ΔTth,則選擇慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘輸出,并返回步驟(2);如果ΔTbackup<T-ΔTth,則進入步驟(3c);

      (3c)、根據(jù)步驟(3a)記錄的第二定時器的時間,計算當(dāng)前外部定時中斷和前一次外部定時中斷之間的時間間隔ΔTthird_ex,并進行如下判斷:

      如果ΔTthird_ex≥T-ΔTth,則對第二定時器進行初始化且設(shè)置周期Tbackup=T+ΔTth,然后選擇慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘輸出,并返回步驟(2);

      如果ΔTthird_ex<T-ΔTth,則將第二定時器的周期Tbackup設(shè)置為T,即Tbackup=T;然后選擇第二定時器為航天控制系統(tǒng)提供系統(tǒng)時鐘,并返回步驟(2);

      (4)、進行第一定時器誤觸發(fā)檢測,具體檢測過程如下:

      (4a)、在內(nèi)部定時中斷產(chǎn)生時,獲取發(fā)生外部定時中斷的次數(shù)n,并記錄第二定時器的時間tthird(m),其中,m為產(chǎn)生內(nèi)部定時中斷的次數(shù);如果第一次產(chǎn)生內(nèi)部定時中斷,即m=1,則選擇慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘輸出,并返回步驟(2);如果m>1,則進入步驟(4b);

      (4b)、將上一次產(chǎn)生內(nèi)部定時中斷時獲取的外部定時中斷次數(shù),與當(dāng)前獲取的外部定時中斷次數(shù)進行比較,并進行如下判斷:

      如果兩次獲取的外部定時中斷次數(shù)不相等,則選擇慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘輸出,并返回步驟(2);如果兩次獲取的外部定時中斷次數(shù)相等,則進入步驟(4c);

      (4c)、根據(jù)步驟(4a)記錄的第二定時器時間,計算上一次內(nèi)部定時中斷與當(dāng)前內(nèi)部定時中斷之間的時間間隔ΔTthird_in,并進行如下判斷:

      如果ΔTthird_in≤T,則對第二定時器進行初始化且設(shè)置周期Tbackup=T+ΔTth,然后選擇慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘輸出,并返回步驟(2);

      如果ΔTthird_in>T,則設(shè)置第二定時器的周期Tbackup=T;然后選擇第二定時器為航天控制系統(tǒng)提供系統(tǒng)時鐘,并返回步驟(2)。

      上述的星載時鐘冗余方法,在步驟(3b)中,根據(jù)步驟(3a)記錄的第一定時器的時間,計算當(dāng)前外部定時中斷和前一次外部定時中斷之間的時間間隔ΔTbackup,具體計算公式如下:

      ΔTbackup=[tbackup(n)-tbackup(n-1)+Tbackup]%Tbackup;

      其中,%為求余計算符號。

      上述的星載時鐘冗余方法,在步驟(3c)中,根據(jù)步驟(3a)記錄的第二定時器的時間,計算當(dāng)前外部定時中斷和前一次外部定時中斷之間的時間間隔ΔTthird_ex,具體計算公式如下:

      ΔTthird_ex=[tthird(n)-tthird(n-1)+Tthird]%Tthird;

      其中,%為求余計算符號。

      上述的星載時鐘冗余方法,在步驟(4c)中,根據(jù)步驟(4a)記錄的第二定時器時間,計算上一次內(nèi)部定時中斷與當(dāng)前內(nèi)部定時中斷之間的時間間隔ΔTthird_in,具體計算公式如下:

      ΔTthird_in=[tthird(m)-tthird(m-1)+Tthird]%Tthird;

      其中,%為求余計算符號。

      上述的星載時鐘冗余方法,設(shè)定時鐘誤差門限ΔTth=0.1T。

      本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點:

      (1)、本發(fā)明在單余度控制系統(tǒng)中,利用慣性單元高精度時鐘以及飛行控制計算機內(nèi)配置的兩個時鐘,實現(xiàn)了控制系統(tǒng)的時鐘冗余功能,即充分利用了慣性單元的高精度時鐘,又避免了該時鐘故障對控制系統(tǒng)運行的影響,有助于提高控制系統(tǒng)的可靠性和安全性,而且具有實現(xiàn)成本低、易于工程實現(xiàn)的特點;

      (2)、本發(fā)明把非同源的外部高精度時鐘和兩個內(nèi)部時鐘分別作為主時鐘、備份時鐘和第三方時鐘,只有當(dāng)主備時鐘不一致時才采用第三方時鐘仲裁,能容忍時鐘發(fā)生單余度故障,達到了“三冗余”的目的,實現(xiàn)簡單且代價??;

      (3)、本發(fā)明把慣性測量單元的高精度時鐘作為正常情況下冗余輸出時鐘,給飛行控制軟件使用,相比現(xiàn)有技術(shù),可以統(tǒng)一慣性測量單元與飛行控制計算機之間的時標(biāo),提高控制系統(tǒng)的計算精度;

      (4)、本發(fā)明的時鐘冗余系統(tǒng)中各時鐘間的誤差可控,相比現(xiàn)有技術(shù),既能滿足故障判別的要求,又不會因誤差范圍過于苛刻導(dǎo)致誤判,還使得在非同源時鐘之間實現(xiàn)冗余成為可能;

      (5)、本發(fā)明在時鐘故障檢測過程中,只使用到了當(dāng)前拍和上一拍的時鐘信息,相比現(xiàn)有技術(shù),可以過濾掉不同源時鐘之間頻標(biāo)緩慢漂移的問題;

      (6)、本發(fā)明采用主時鐘誤觸發(fā)檢測和主時鐘失效檢測方法,解決了慣性測量單元的時鐘產(chǎn)生的外部定時中斷被誤觸發(fā)(提前發(fā)生)的故障,以及慣性測量單元的時鐘失效(未在規(guī)定的時間內(nèi)產(chǎn)生)的故障。

      附圖說明

      圖1為飛行器控制系統(tǒng)基本組成框圖;

      圖2為本發(fā)明的星載時鐘冗余系統(tǒng)的組成框圖。

      具體實施方式

      下面結(jié)合附圖和具體實例對本發(fā)明作進一步詳細(xì)的描述:

      如圖1所示,航天控制系統(tǒng)一般均會配置慣性測量單元(IMU)和飛行控制計算機。其中,慣性測量單元具有較高精度的慣導(dǎo)時鐘,而飛行控制計算機內(nèi)含嵌入式CPU,并標(biāo)配有兩個定時器Timer0和Timer1。

      本發(fā)明提供的星載時鐘冗余系統(tǒng)可以為上述的航天控制系統(tǒng)提供系統(tǒng)時鐘。如圖2所示的系統(tǒng)框圖,本發(fā)明的星載時鐘冗余系統(tǒng)主時鐘單元、備用時鐘單元、第三方時鐘單元和時鐘冗余控制單元。其中,時鐘冗余控制單元包括主時鐘誤觸發(fā)檢測模塊、主時鐘失效檢測模塊和時鐘切換模塊。

      在主時鐘模塊中,將慣性測量單元的高精度慣導(dǎo)時鐘引入飛行控制計算機,并將其設(shè)為飛行控制計算機CPU的外部定時中斷。

      備用時鐘單元在飛行控制計算機的兩個定時器Timer0和Timer1中選擇一個作為第一定時器,并采用該定時器為CPU提供內(nèi)部定時中斷。為了便于對主時鐘單元和備用時鐘單元的時鐘進行比較,本發(fā)明設(shè)置第一定時器的周期Tbackup=T+ΔTth,其中,T為慣導(dǎo)時鐘周期,ΔTth為設(shè)定的時鐘誤差門限。為了滿足時鐘故障判別的要求,又不會因誤差范圍過于苛刻導(dǎo)致誤判,可以將該時鐘誤差門限ΔTth設(shè)為慣導(dǎo)時鐘周期的10%,例如:在慣導(dǎo)周期T=10ms,設(shè)定時鐘誤差門限ΔTth=1ms,可以確保主時鐘單元和備用時鐘單元之間的時標(biāo)誤差在±1ms之間。

      第三方時鐘單元采用另一個飛行控制計算機定時器作為第二定時器,在故障判斷中進行計時。為了確保在計時過程中主時鐘單元和備用時鐘單元的時鐘不發(fā)生翻轉(zhuǎn),應(yīng)該設(shè)置第二定時器的周期Tthird盡量大,必須滿足條件:Tthird>T+ΔTth;在本實施例中,設(shè)定Tthird為1s。

      時鐘冗余控制單元用于對主時鐘單元和備用時鐘進行誤差判斷,主要包括主時鐘誤觸發(fā)檢測模塊、主時鐘失效檢測模塊和時鐘切換模塊。

      在CPU產(chǎn)生外部定時中斷時,時鐘誤差判斷和時鐘切換的流程如下:

      (aa)、在外部定時中斷產(chǎn)生時,啟用主時鐘誤觸發(fā)檢測模塊,記錄外部定時中斷次數(shù)n,以及第一定時器的時間tbackup(n)和第二定時器的時間tthird(n);如果第一次產(chǎn)生外部定時中斷,即n=1,則時鐘切換模塊選擇主時鐘單元輸出慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘,然后進入步驟(ad);如果n>1,則進入步驟(ab);

      (ab)、根據(jù)步驟(aa)記錄的第一定時器的時間,計算當(dāng)前外部定時中斷和前一次外部定時中斷之間的時間間隔ΔTbackup,并進行如下判斷:

      如果ΔTbackup≥T-ΔTth,則判斷慣導(dǎo)時鐘正常,時鐘切換模塊選擇主時鐘單元輸出慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘,然后進入步驟(ad);如果ΔTbackup<T-ΔTth,則表示主時鐘單元和備用時鐘單元之間的時鐘誤差超出了允許誤差范圍(ΔTth),此時需根據(jù)第三方時鐘單元作進一步判斷,即則進入步驟(ac);其中,時間間隔ΔTbackup的具體計算公式如下:

      ΔTbackup=[tbackup(n)-tbackup(n-1)+Tbackup]%Tbackup;

      其中,%為求余計算符號。

      (ac)、根據(jù)步驟(aa)記錄的第二定時器的時間,計算當(dāng)前外部定時中斷和前一次外部定時中斷之間的時間間隔ΔTthird_ex,并進行如下判斷:

      如果ΔTthird_ex≥T-ΔTth,則判斷備用時鐘單元出現(xiàn)故障,需要對第二定時器進行初始化,將其周期仍然設(shè)置為Tbackup=T+ΔTth,時鐘切換模塊選擇主時鐘單元輸出慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘,然后進入步驟(ad);

      如果ΔTthird_ex<T-ΔTth,則判斷主時鐘單元出現(xiàn)故障,應(yīng)該將第二定時器的周期Tbackup設(shè)置為T,即Tbackup=T;時鐘切換模塊選擇備用時鐘單元為航天控制系統(tǒng)提供系統(tǒng)時鐘,然后進入步驟(ad);其中,時間間隔ΔTthird_ex的具體計算公式如下:ΔTthird_ex=[tthird(n)-tthird(n-1)+Tthird]%Tthird

      (ad)、結(jié)束。

      在CPU產(chǎn)生內(nèi)部定時中斷時,時鐘誤差判斷和時鐘切換的流程如下:

      (ba)、在內(nèi)部定時中斷產(chǎn)生時,啟用主時鐘失效檢測模塊,獲取發(fā)生外部定時中斷的次數(shù)n,并記錄第二定時器的時間tthird(m),其中,m為產(chǎn)生內(nèi)部定時中斷的次數(shù);如果第一次產(chǎn)生內(nèi)部定時中斷,即m=1,則時鐘切換模塊選擇主時鐘單元輸出慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘,然后進入步驟(bd);如果m>1,則進入步驟(bb);

      (bb)、將上一次產(chǎn)生內(nèi)部定時中斷時獲取的外部定時中斷次數(shù),與當(dāng)前獲取的外部定時中斷次數(shù)進行比較,并進行如下判斷:

      如果兩次獲取的外部定時中斷次數(shù)不相等,則表示在兩次內(nèi)部定時中斷之間正常產(chǎn)生了外部定時中斷,因此判斷主時鐘單元工作正常,即慣導(dǎo)時鐘正常,因此時鐘切換模塊選擇主時鐘單元輸出慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘,然后進入步驟(bd);

      如果兩次獲取的外部定時中斷次數(shù)相等,則表示主時鐘單元和備用時鐘單元的時鐘誤差超出了允許誤差范圍(ΔTth),此時需根據(jù)第三方時鐘單元作進一步判斷,因此進入步驟(bc);

      (bc)、根據(jù)步驟(ba)記錄的第二定時器時間,計算上一次內(nèi)部定時中斷與當(dāng)前內(nèi)部定時中斷之間的時間間隔ΔTthird_in,并進行如下判斷:

      如果ΔTthird_in≤T,則判斷備用時鐘單元誤觸發(fā)而提前產(chǎn)生中斷,因此對第二定時器進行初始化且設(shè)置周期Tbackup=T+ΔTth,然后時鐘切換模塊選擇主時鐘單元輸出慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘,然后進入步驟(bd);

      如果ΔTthird_in>T,則表示外部定時中斷未在規(guī)定的時間內(nèi)產(chǎn)生,判斷是主時鐘單元失效,設(shè)置第二定時器的周期Tbackup=T;時鐘切換模塊選擇備用時鐘單元為航天控制系統(tǒng)提供系統(tǒng)時鐘,然后進入步驟(bd);其中,時間間隔ΔTthird_in的計算公式如下:ΔTthird_in=[tthird(m)-tthird(m-1)+Tthird]%Tthird

      (bd)、結(jié)束。

      根據(jù)上述的星載時鐘冗余系統(tǒng)的處理流程,本發(fā)明提供了一種星載時鐘冗余方法,具體包括以下步驟:

      (1)、將慣性測量單元的慣導(dǎo)時鐘引入到飛行控制計算機,作為CPU的外部定時中斷時鐘;并采用第一定時器為CPU提供內(nèi)部定時中斷時鐘,且設(shè)置第一定時器周期Tbackup=T+ΔTth,其中,T為慣導(dǎo)時鐘周期,ΔTth為設(shè)定的時鐘誤差門限;另外,設(shè)置第二定時器的周期Tthird滿足如下條件:Tthird>T+ΔTth;

      (2)、檢測是否產(chǎn)生外部定時中斷或內(nèi)部定時中斷:如果產(chǎn)生外部定時中斷,則進入步驟(3);如果產(chǎn)生內(nèi)部定時中斷,則進入步驟(4);

      (3)、進行慣導(dǎo)時鐘誤觸發(fā)檢測,具體檢測過程如下:

      (3a)、在外部定時中斷產(chǎn)生時,記錄第一定時器的時間tbackup(n),以及第二定時器的時間tthird(n),其中,n為產(chǎn)生外部定時中斷的次數(shù);如果第一次產(chǎn)生外部定時中斷,即n=1,則選擇慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘輸出,并返回步驟(2);如果n>1,則進入步驟(3b);

      (3b)、根據(jù)步驟(3a)記錄的第一定時器的時間,計算當(dāng)前外部定時中斷和前一次外部定時中斷之間的時間間隔ΔTbackup,并進行如下判斷:如果ΔTbackup≥T-ΔTth,則選擇慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘輸出,并返回步驟(2);如果ΔTbackup<T-ΔTth,則進入步驟(3c)。

      其中,時間間隔ΔTbackup的具體計算公式如下:

      ΔTbackup=[tbackup(n)-tbackup(n-1)+Tbackup]%Tbackup;

      其中,%為求余計算符號。

      (3c)、根據(jù)步驟(3a)記錄的第二定時器的時間,計算當(dāng)前外部定時中斷和前一次外部定時中斷之間的時間間隔ΔTthird_ex,并進行如下判斷:

      如果ΔTthird_ex≥T-ΔTth,則對第二定時器進行初始化且設(shè)置周期Tbackup=T+ΔTth,然后選擇慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘輸出,并返回步驟(2);

      如果ΔTthird_ex<T-ΔTth,則將第二定時器的周期Tbackup設(shè)置為T,即Tbackup=T;然后選擇第二定時器為航天控制系統(tǒng)提供系統(tǒng)時鐘,并返回步驟(2).

      其中,時間間隔ΔTthird_ex的具體計算公式如下:

      ΔTthird_ex=[tthird(n)-tthird(n-1)+Tthird]%Tthird;

      (4)、進行第一定時器誤觸發(fā)檢測,具體檢測過程如下:

      (4a)、在內(nèi)部定時中斷產(chǎn)生時,獲取發(fā)生外部定時中斷的次數(shù)n,并記錄第二定時器的時間tthird(m),其中,m為產(chǎn)生內(nèi)部定時中斷的次數(shù);如果第一次產(chǎn)生內(nèi)部定時中斷,即m=1,則選擇慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘輸出,并返回步驟(2);如果m>1,則進入步驟(4b);

      (4b)、將上一次產(chǎn)生內(nèi)部定時中斷時獲取的外部定時中斷次數(shù),與當(dāng)前獲取的外部定時中斷次數(shù)進行比較,并進行如下判斷:

      如果兩次獲取的外部定時中斷次數(shù)不相等,則選擇慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘輸出,并返回步驟(2);如果兩次獲取的外部定時中斷次數(shù)相等,則進入步驟(4c);

      (4c)、根據(jù)步驟(4a)記錄的第二定時器時間,計算上一次內(nèi)部定時中斷與當(dāng)前內(nèi)部定時中斷之間的時間間隔ΔTthird_in,并進行如下判斷:

      如果ΔTthird_in≤T,則對第二定時器進行初始化且設(shè)置周期Tbackup=T+ΔTth,然后選擇慣導(dǎo)時鐘作為航天控制系統(tǒng)的系統(tǒng)時鐘輸出,并返回步驟(2);

      如果ΔTthird_in>T,則設(shè)置第二定時器的周期Tbackup=T;然后選擇第二定時器為航天控制系統(tǒng)提供系統(tǒng)時鐘,并返回步驟(2)。

      其中,時間間隔ΔTthird_in的計算公式如下:

      ΔTthird_in=[tthird(m)-tthird(m-1)+Tthird]%Tthird;

      以上所述,僅為本發(fā)明一個具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。

      本發(fā)明說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員的公知技術(shù)。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1