本發(fā)明屬于航天電子技術領域,涉及一種多速率遙測時間同步方法。
背景技術:根據衛(wèi)星集成化、小型化的發(fā)展需求,我國衛(wèi)星平臺電子系統(tǒng)正經歷著從傳統(tǒng)數管分系統(tǒng)向綜合電子分系統(tǒng)演進的過渡期。以綜合電子分系統(tǒng)為標志的衛(wèi)星平臺電子系統(tǒng)功能綜合了原來數管分系統(tǒng)及其它多個分系統(tǒng)的多種功能。除了完成傳統(tǒng)的遙測遙控功能外,還需要完成星上自主管理、任務規(guī)劃、任務級數據計算等諸多功能,單機面臨任務多、模式多的難題,設計復雜度急劇增加。目前,衛(wèi)星平臺CPU工作頻率普遍低于60MHZ。由于衛(wèi)星電子系統(tǒng)功能的增加、指標的提高,單機軟硬件界面接口處中斷的種類、數量、頻率增大。傳統(tǒng)的CPU硬件外設設計時,各功能外設獨立工作,中斷提出頻率各不相同,每個模塊還會面臨隨時切換速率模式,隨時發(fā)生軟件復位等操作,長期使用過程中,不同中斷之間的相位關系極不固定,給軟件設計及CPU負荷預計帶來困難和不確定性。在單機軟硬件聯(lián)合調試過程中出現丟中斷,處理延遲等故障。經分析排查,大部分由于硬件中斷過多、過頻繁,過集中,軟件處理能力不足導致的。為有效解決此問題,需要在設計硬件外設時,使不同功能模塊中斷頻率盡量低、中斷相位關系固定。有利于軟件設計預估各項任務的處理時間,最優(yōu)地安排中斷優(yōu)先級,軟件在任務調度時可以有一個確定的時間表,便于設計調度策略,且不同任務之間的時間關系能夠確定。
技術實現要素:本發(fā)明解決的問題是:克服現有技術的不足,提供了一種多速率遙測時間同步方法,解決了多外設中斷源同步的問題,即CPU在任何可能的時刻進行外設的局部軟件復位、速率切換情況下,仍然能夠保持多外設的中斷源同步及時間的同步,相對相位關系不變。本發(fā)明的技術解決方案是:一種多速率遙測時間同步方法,所述方法實現三種外設的時間同步,三種設備包括:A設備:僅受系統(tǒng)上電復位控制的外設;B設備:受系統(tǒng)上電復位和CPU軟件復位控制的外設;C設備:受系統(tǒng)上電復位、CPU軟件復位控制和需要調整速率的外設;步驟如下:(1)規(guī)整所述三種外設的中斷間隔;(2)令所述三種設備在上電的時刻中斷同步;(3)當B設備和C設備發(fā)生CPU軟件復位時,控制B設備和C設備的CPU軟件復位的釋放時刻,使其中斷再次同步;(4)當C設備發(fā)生速率切換時,通過三級速率同步使得C設備在速率切換時保持中斷同步。所述步驟(1)規(guī)整所述三種外設的中斷間隔具體為:選定中斷頻率最低的外設的中斷頻率為基準,通過調整其它外設的中斷頻率,劃分每個中斷對應的數據長度,使每個外設在各種遙測速率和工作模式下的中斷頻率為基準頻率的2的冪次倍,同時遙測速率的可調整值是該外設最低遙測速率的2的冪次倍。所述步驟(2)令所述三種設備在上電的時刻中斷同步具體為:選取一個A設備的工作時間為基準時間,其他每個外設設置特殊復位值,該特殊復位值使得各外設的工作時間在基準時間軸上平移,確保上電后各外設的第一個中斷提出時刻一致。所述步驟(3)中控制B設備和C設備的CPU軟件復位的釋放時刻,使其中斷再次同步具體為:令工作時間被設定為基準時間的A設備產生一個控制信號,該控制信號產生時刻為所述A設備重新回到其復位狀態(tài)前一個時鐘周期的時刻,以保證對于B設備和C設備,CPU的軟見復位釋放時刻與上電復位釋放時刻一致。所述步驟(4)中通過三級速率同步使得C設備在速率切換時保持中斷同步具體為:第一級速率保持寄存器僅受上電復位及速率切換指令控制,上電復位時,將寄存器值恢復為初始默速率值,當速率切換指令到達時,改變其中保存的速率值;第二級速率保持寄存器受上電復位和CPU軟件復位控制,當CPU軟件復位有效時,將寄存器值恢復為初始默速率值,同時接收一個令工作時間被設定為基準時間的A設備產生的速率同步信號,該信號比所述A設備下一個中斷時刻提前時間T,且時間T小于C設備最小中斷間隔周期,同時,時間T大于第三級速率保持寄存器從第二級速率保持寄存器中更新速率設置值的時刻,當所述速率同步信號有效時,將第一級速率保持寄存器保存的速率值更新到第二級速率保持寄存器中;第三級速率保持寄存器用于直接控制C設備內的分頻器,從而設置C設備的速率,第三級速率保持寄存器受上電復位和CPU軟件復位控制,當CPU軟件復位有效時,將寄存器值恢復為初始默速率值,同時接收一個C設備產生的控制信號,該控制信號為速率導入信號。所述速率導入信號在C設備中每次中斷提出后馬上提出,保證C設備中下次中斷提出時刻到當前中斷提出時刻的時間間隔為切換后速率所對應的周期。本發(fā)明與現有技術相比的有益效果是:本發(fā)明解決了多外設種類、多遙測速率工作模式下的多中斷同步問題,為CPU軟件設計提供了時間上確定的中斷輸入,有利于軟件任務的調度優(yōu)化,避免由于多中斷之間的時間隨機性導致丟中斷、中斷響應不及時等問題。附圖說明圖1為本發(fā)明的多速率遙測時間同步方法流程圖;圖2為本發(fā)明多外設之間中斷提出對齊關系示意圖。具體實施方式星載計算機需要與多類型遙測、遙控及通信外設交互數據,同時各個外設的工作頻率會隨著用戶需求發(fā)生變化。這將導致CPU軟件的任務處理的調度面臨較大不確定性。多速率遙測調度時間同步方法,用于解決衛(wèi)星多外設中斷源及下行遙測速率變化及外設模塊局部復位時,CPU面臨的多任務間中斷相位變化,多任務時間失同步的問題。為CPU提供多任務的中斷相位同步保證,如圖2,其中的多外設中斷相位對齊,避免由未知的中斷聚集情況導致的丟中斷故障發(fā)生,降低軟件設計難度。本發(fā)明提供了一種多速率遙測時間同步方法,如圖1所示,該方法實現三種外設的時間同步,三種設備包括:A設備:僅受系統(tǒng)上電復位控制的外設;B設備:受系統(tǒng)上電復位和CPU軟件復位控制的外設;C設備:受系統(tǒng)上電復位、CPU軟件復位控制和需要調整速率的外設;步驟如下:(1)規(guī)整所述三種外設的中斷間隔;在航天器平臺電子系統(tǒng)中,CPU與外部載荷、外部單機、機內外設芯片之間的數據通信需要各種豐富的功能接口外設的配合。這些功能外設包括了ML數據發(fā)送、DS量采集以及各種標準的或者型號定制的數據收發(fā)接口。由于所實現功能不同,各功能模塊所處理數據也不同。有的速率快,有的速率慢。有的數據包比較大,有的數據包比較小。要實現多信號的同步或者相位同步,那么其頻率應該是相同的,或者為某頻率2的冪次倍。因此,本發(fā)明的第一步就是通過功能設計,將各功能外設的中斷間隔規(guī)整化。各功能外設的中斷間隔規(guī)整化的方法是:選定中斷頻率最低的外設的中斷頻率為基準,通過調整其它外設的中斷頻率,劃分每個中斷對應的數據長度,使每個外設在各種遙測速率和工作模式下的中斷頻率為基準頻率的2的冪次倍,同時遙測速率的可調整值是該外設最低遙測速率的2的冪次倍。(2)令所述三種設備在上電的時刻中斷同步;在電子系統(tǒng)設計中,上電復位時,常將各個寄存器復位為全0或者全1。但是由于各外設所實現功能不同,如果按照常規(guī)復位方式,上電復位后,每個外設提出中斷距復位釋放的延時必然不盡相同。為解決這個問題,本發(fā)明的第二個步驟就需要選取一個A設備的工作時間為基準時間,其他每個外設設置特殊復位值,該特殊復位值使得各外設的工作時間在基準時間軸上平移,確保上電后各外設的第一個中斷提出時刻一致。具體每個外設復位初值,應根據各外設功能需求所提中斷提出時刻計算。比如:某外設由于功能約束,上電后第1600個時鐘后提出第一個中斷,而A設備上電后第1024個時鐘后提出第一個中斷。那么就需要在上電復位釋放時,將該外設的各個寄存器狀態(tài)設置為傳統(tǒng)上電復位后第(1600-1024)個時鐘時寄存器狀態(tài),那么應用新復位值之后,該設備上電后第1024個時鐘之后即提出中斷,與A設備實現了同步。(3)本發(fā)明中的第三個步驟是控制CPU軟復位的釋放,該技術處理CPU可能在任何時刻發(fā)出并釋放的軟件復位,由于其釋放時刻的隨機性,必然會打亂由上電復位建立起來的各外設間同步關系。當B設備和C設備發(fā)生CPU軟件復位時,控制B設備和C設備的CPU軟件復位的釋放時刻,使其中斷再次同步;令工作時間被設定為基準時間的A設備產生一個控制信號,該控制信號產生時刻為所述A設備重新回到其復位狀態(tài)前一個時鐘周期的時刻,以保證對于B設備和C設備,CPU的軟見復位釋放時刻與上電復位釋放時刻一致。其原理是通過控制CPU的軟件復位釋放時刻,在不影響A設備工作的前提下,再次重現了上電復位的過程,各個模塊再一次站在了上電復位一致的起跑線上,B設備和C設備自該時刻起,開始自己的時間計數,由此來保證軟復位發(fā)生后,所有外設如同上電復位一樣,重新又獲得同步。(4)當C設備發(fā)生速率切換時,通過三級速率同步使得C設備在速率切換時保持中斷同步。對于需要根據直接指令切換速率(中斷頻率也隨之切換)的C設備。速率之間的隨機切換,就會影響中斷對齊關系。比如,但原來工作在較高速率,中斷提出頻率為16HZ,時間基準模塊中斷提出頻率為1HZ,假設復位后,兩模塊已經恢復同步關系,當某一秒內,該模塊提到第15個中斷時,將其頻率切換降低8倍,那么其中斷頻率降為2HZ,那么之后兩個中斷之間就一直差了1/16秒。本發(fā)明的最后一個步驟,是為了解決這個問題的。第一級速率保持寄存器僅受上電復位及速率切換指令控制,上電復位時,將寄存器值恢復為初始默速率值,當速率切換指令到達時,改變其中保存的速率值;第二級速率保持寄存器受上電復位和CPU軟件復位控制,當CPU軟件復位有效時,將寄存器值恢復為初始默速率值,同時接收一個令工作時間被設定為基準時間的A設備產生的速率同步信號,該信號比所述A設備下一個中斷時刻提前時間T,且時間T小于C設備最小中斷間隔周期,同時,時間T大于第三級速率保持寄存器從第二級速率保持寄存器中更新速率設置值的時刻,當所述速率同步信號有效時,將第一級速率保持寄存器保存的速率值更新到第二級速率保持寄存器中;第三級速率保持寄存器用于直接控制C設備內的分頻器,從而設置C設備的速率,第三級速率保持寄存器受上電復位和CPU軟件復位控制,當CPU軟件復位有效時,將寄存器值恢復為初始默速率值,同時接收一個C設備產生的控制信號,該控制信號為速率導入信號,速率導入信號在C設備中每次中斷提出后馬上提出,保證C設備中下次中斷提出時刻到當前中斷提出時刻的時間間隔為切換后速率所對應的周期。