一種適用于多路熱備份數(shù)據(jù)傳輸?shù)母呖煽恐袛嗵幚矸椒?br>
【專利摘要】一種適用于多路熱備份數(shù)據(jù)傳輸?shù)母呖煽恐袛嗵幚矸椒ㄈ缦拢海?)多路中斷單次觸發(fā):任何一路數(shù)據(jù)傳輸結(jié)束后,觸發(fā)正脈沖信號T1,脈沖寬度記為T;其它各路數(shù)據(jù)傳輸結(jié)束后依次觸發(fā)正脈沖T2、T3…Tn,多路中斷信號間的最大偏差記為△T,滿足T≥2*△T;T1到Tn信號相或后輸出中斷信號INT=T1|T2|T3|…Tn,中斷信號INT的脈沖寬度為T+△T;(2)進入中斷,啟動定時器,定時器采用中斷觸發(fā),中斷優(yōu)先級與多路中斷優(yōu)先級相同,定時長度為△T;退出中斷;(3)定時器定時到,再次觸發(fā)中斷,中斷服務程序中讀取各路熱備份數(shù)據(jù),退出中斷。
【專利說明】一種適用于多路熱備份數(shù)據(jù)傳輸?shù)母呖煽恐袛嗵幚矸椒?br>
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種適用于多路熱備份數(shù)據(jù)傳輸?shù)母呖煽恐袛嗵幚矸椒?,屬于衛(wèi)星平臺或載荷的電子線路【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]為提高數(shù)據(jù)傳輸?shù)目煽啃?,衛(wèi)星平臺系統(tǒng)中對重要數(shù)據(jù)如遙控指令數(shù)據(jù)采用熱備份結(jié)構(gòu),主、備份數(shù)據(jù)接收及傳輸電路相互獨立,單份失效不影響備份。同時為提高數(shù)據(jù)接收的實時性,接收端一般要求采用中斷方式接收數(shù)據(jù)。 [0003]針對多路熱備份中斷在短時間內(nèi)先后到來的情況,傳統(tǒng)中斷處理方法包括以下兩種:(1)暫時關(guān)閉中斷法:該方法在首次中斷產(chǎn)生后,軟件首先關(guān)閉所有中斷,不再響應其它中斷,當中斷服務函數(shù)處理完中斷后再打開中斷;該方法的優(yōu)點是處理簡單,缺點是若當前中斷為非最高優(yōu)先級中斷,則存在丟中斷的可能。(2)中斷嵌套軟件處理法:該方法在發(fā)生同一優(yōu)先級的中斷嵌套后,用軟件進行處理;該方法的優(yōu)點是不會丟失中斷,缺點是軟件設計復雜,特別是熱備份中斷數(shù)較多時,會出現(xiàn)多重嵌套,軟件處理方式和復雜度與熱備份中斷數(shù)目相關(guān)。
[0004]為正確接收各路熱備份數(shù)據(jù),以上兩種方法均需在中斷服務程序中進行延時等待,存在中斷占用時間較長的問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明技術(shù)解決的技術(shù)問題:克服現(xiàn)有技術(shù)的不足,提供一種適用于多路熱備份數(shù)據(jù)傳輸?shù)母呖煽恐袛嗵幚矸椒ǎ瑢醾浞葜袛嘈盘栠M行處理,處理后多個中斷在一可設置時間范圍內(nèi)到來后僅產(chǎn)生一個中斷信號,解決了多次觸發(fā)中斷導致中斷嵌套問題;中斷處理程序內(nèi)不進行延時等待和數(shù)據(jù)讀取操作,僅啟動定時功能,然后退出中斷,解決了中斷服務程序占用時間長的問題。解決了多次觸發(fā)中斷導致中斷嵌套,中斷服務程序占用時間長的問題。
[0006]本發(fā)明技術(shù)解決方案:適用于多路熱備份數(shù)據(jù)傳輸?shù)母呖煽恐袛嗵幚矸椒?,處理流程如圖1所示,其特點在于實現(xiàn)步驟如下:
[0007](I)多路中斷單次觸發(fā):任何一路數(shù)據(jù)傳輸結(jié)束后,觸發(fā)正脈沖信號Tl,脈沖寬度記為T ;其它各路數(shù)據(jù)傳輸結(jié)束后依次觸發(fā)正脈沖Τ2、Τ3...Τη,多路中斷信號間的最大偏差記為Δ Τ,滿足T≥2* Λ T ;T1到Tn信號相或后輸出中斷信號INT=Tl | T2 | T3 |…Tn,中斷信號INT的脈沖寬度為T+ Λ T ;
[0008](2)進入中斷,啟動定時器,定時器采用中斷觸發(fā),中斷優(yōu)先級與多路中斷優(yōu)先級相同,定時長度為Λ T ;退出中斷;
[0009](3)定時器定時到,再次觸發(fā)中斷,中斷服務程序中讀取各路熱備份數(shù)據(jù),退出中斷。
[0010]本發(fā)明與現(xiàn)有技術(shù)相比的有益效果在于:[0011](I)本發(fā)明通過多路中斷單次觸發(fā),巧妙利用軟、硬件配合實現(xiàn)了多路熱備份數(shù)據(jù)的中斷接收功能,避免了中斷嵌套情況出現(xiàn),降低了軟件設計的復雜度,在滿足實時性的同時提高了數(shù)據(jù)接收的可靠性。
[0012](2)本發(fā)明有效防止中斷嵌套且不會出現(xiàn)中斷丟失現(xiàn)象。多個中斷在Λ T時間內(nèi)到來,僅產(chǎn)生一個有效中斷信號,避免了中斷嵌套;由于沒有屏蔽中斷操作,不會出現(xiàn)中斷丟失現(xiàn)象;
[0013](3)本發(fā)明大大縮短中斷占用時間,提高了系統(tǒng)處理性能。中斷處理程序中不再進行延時等待,定時器定時期間,處理器同時運行其它任務,提高了系統(tǒng)處理性能;
【專利附圖】
【附圖說明】
[0014]圖1為本發(fā)明方法的實現(xiàn)流程圖;
[0015]圖2為“三線制”同步串口時序圖;
[0016]圖3為本發(fā)明處理后的中斷時序圖。
【具體實施方式】
[0017]結(jié)合附圖對本發(fā)明做進一步介紹。
[0018]在月面巡視器綜合電子單元研制過程中,為提高遙控的可靠性,綜合電子單元內(nèi)部遙控模塊采用雙機熱備份結(jié)構(gòu),遙控模塊接收數(shù)據(jù)后,主、備份模塊均通過“三線制”同步串口將數(shù)據(jù)發(fā)送到中心計算機,時序關(guān)系如圖2所示。其中GATE為門控信號,低電平有效;CLK為時鐘信號,上升沿鎖存數(shù)據(jù);DATA為數(shù)據(jù)信號。為保證遙控指令的實時性,中心計算機采用中斷方式同時接收兩路“三線制”同步串口數(shù)據(jù)。
[0019]正常情況下主、備份模塊均能正確接收到數(shù)據(jù),并都通過各自的“三線制”同步串口向中心計算機發(fā)送數(shù)據(jù),中心計算機在門控信號的上升沿產(chǎn)生中斷。由于主、備份遙控模塊鎖相及同步誤差,兩路“三線制”同步串口不會在同一時刻完成數(shù)據(jù)傳輸并產(chǎn)生中斷,正常情況下兩路數(shù)據(jù)接收完數(shù)據(jù)的誤差Λ T在Ims以內(nèi),最壞情況下可達16ms。
[0020]根據(jù)多路熱備份數(shù)據(jù)中斷接收的特點,通過硬件實現(xiàn)32ms內(nèi)多路中斷信號的單次觸發(fā),軟件觸發(fā)中斷后,啟動一個16ms的定時器后,退出中斷,在16ms定時器中斷中進行多路遙控數(shù)據(jù)的讀取和處理。
[0021]按照本發(fā)明的處理方法,具體實現(xiàn)步驟如下:
[0022](I)硬件產(chǎn)生中斷:當主、備份遙控數(shù)據(jù)中的一路數(shù)據(jù)傳輸結(jié)束后,觸發(fā)正脈沖信號Tl,脈沖寬度為32ms ;另外一路數(shù)據(jù)傳輸結(jié)束后觸發(fā)正脈沖T2,兩路中斷信號間的最大偏差為AT;兩路中斷信號的單次觸發(fā)功能在FPGA內(nèi)部實現(xiàn),處理后的中斷產(chǎn)生時序如圖3所示,其中 O ≤Λ T ( 16ms, INT=32ms+ Δ Τ。
[0023](2)進入中斷,啟動定時器,定時器采用中斷觸發(fā),中斷優(yōu)先級與多路中斷優(yōu)先級相同,定時長度為16ms ;退出中斷;
[0024](3)定時器定時到,再次觸發(fā)中斷,中斷服務程序中讀取主、備份數(shù)據(jù),退出中斷。
[0025]解決的主要技術(shù)問題包括:
[0026](I)可配置多路中斷單次觸發(fā)技術(shù):
[0027]FPGA內(nèi)部實現(xiàn)多路中斷信號接收,當其中一個中斷信號到來時,內(nèi)部啟動一個寬度為32ms的正脈沖輸出,脈沖輸出期間其它路中斷信號也將啟動等寬的脈沖輸出,各路正脈沖相或后輸出用于觸發(fā)處理器中斷;當各路中斷到來偏差在脈沖配置寬度之內(nèi)時,F(xiàn)PGA對外只輸出一個正脈寬,脈沖寬度為T+ Λ T (其中T為配置的脈沖寬度32ms,Λ T為最早和最晚到來的兩個中斷的時間間隔)。
[0028](2)軟件延時數(shù)據(jù)讀取技術(shù):
[0029]硬件觸發(fā)中斷后,軟件在中斷服務程序中不進行各路遙控數(shù)據(jù)的讀取,僅啟動一個16ms定時器,然后直接退出中斷,避免中斷服務程序長期占用處理器資源;當16ms計數(shù)器中斷到來時,在16ms中斷服務程序中進行遙控數(shù)據(jù)的讀取及處理。
【權(quán)利要求】
1.一種適用于多路熱備份數(shù)據(jù)傳輸?shù)母呖煽恐袛嗵幚矸椒?,其特征在于步驟如下: (1)多路中斷單次觸發(fā):任何一路數(shù)據(jù)傳輸結(jié)束后,觸發(fā)正脈沖信號Tl,脈沖寬度記為T ;其它各路數(shù)據(jù)傳輸結(jié)束后依次觸發(fā)正脈沖Τ2、Τ3...Τη,多路中斷信號間的最大偏差記為Δ Τ,滿足T≥2* Λ T ;T1到Tn信號相或后輸出中斷信號INT=Tl | T2 | T3 |…Tn,中斷信號INT的脈沖寬度為T+ Λ T ; (2)進入中斷,啟動定時器,定時器采用中斷觸發(fā),中斷優(yōu)先級與多路中斷優(yōu)先級相同,定時長度為AT ;退出中斷; (3)定時器定時到,再次觸發(fā)中斷,中斷服務程序中讀取各路熱備份數(shù)據(jù),退出中斷。
【文檔編號】G06F13/26GK103646000SQ201310739872
【公開日】2014年3月19日 申請日期:2013年12月26日 優(yōu)先權(quán)日:2013年12月26日
【發(fā)明者】宮經(jīng)剛, 劉波, 孫越 申請人:北京控制工程研究所