詹盼盼,郭堅,劉欣
北京空間飛行器總體設計部,北京 100094
基于時間觸發的1553B總線實時調度設計
詹盼盼,郭堅*,劉欣
北京空間飛行器總體設計部,北京 100094
為了優化1553B總線傳輸性能,降低總線消息傳輸的等待時間,提高總線帶寬利用率和緊急消息響應的實時性,對1553B總線調度方法進行了研究,將周期性調度和搶占式調度策略相結合,設計了一種基于時間觸發的1553B總線實時調度方法。在時間觸發的基準下按優先級對總線消息進行集中調度,總線幀在總線上傳輸的時間內,處理器無需等待,可以繼續處理其他任務。利用總線數據區分區的特性,設計了緊急消息打斷普通總線消息傳輸的搶占式調度策略,避免了非重要數據較長時間占用總線通信信道,使得緊急消息能夠快速響應。試驗結果表明,該調度方法實現了總線消息盡最大能力傳輸,不僅能夠較大幅度地提高1553B總線傳輸效率和帶寬利用率,而且緊急消息的響應時間穩定在2 ms以內,為緊急消息的實時響應提供了保證。
1553B總線;周期;搶占式調度;優先級;時間觸發
MIL-STD-1553B[1-2]協議是美國空軍面向總線通信鏈路層制定的時分多路串行數據總線協議,由于該協議針對鏈路層制定了一套故障診斷機制[3],能夠很好地滿足空軍戰斗機艙內數據通信并且在空軍應用反響良好,后來廣泛應用于各類衛星、導彈中[4]。1553B總線上消息傳輸的速率和周期各不相同,其傳輸速率只有1 Mbit/s。如何兼顧1553B總線系統的實時性和可靠性,合理地調度1553B總線上的各種消息,盡量發揮1553B總線系統的性能,已成為當前研究的熱點[5]。
隨著航天器任務越來越復雜,其系統性能和一些指令的響應時間受到重點關注。由于受1553B總線傳輸帶寬的限制,在總線上傳輸普通遙測等數據需要的時間相對較長,嚴重時會堵塞緊急消息的實時傳輸[6-8],從而影響航天器任務。因此如何合理地調度1553B總線上的各種消息,特別是實現緊急消息的快速響應,是航天器1553B總線軟件設計的重要內容。
國外對航天器1553B總線通信技術有較多研究,但是對消息重要性分級和如何實時調度沒有應用說明。國內傳統航天器1553B總線通信主要存在以下兩個問題:
1)消息處理不夠實時,每次總線通信后均需等待造成通信延時和總線效率較低。傳統方式下,多個應用進程直接操作1553B總線芯片,每次總線通信啟動后,處理器均需要等待本次總線通信完成才能處理后續任務。這種方式雖然解決了總線訪問沖突問題,但是嚴重制約了對1553B總線的帶寬利用(傳輸后的等待方式使得總線傳輸速率通常小于100 Kbit/s)和消息的實時性,無法滿足新一代航天器對總線帶寬的需求。
2)緊急消息存在被堵塞的可能。將關鍵數據和非關鍵數據視為同一類總線消息,使用同一總線數據區進行總線通信,這種方式對于總線傳輸數據量較小的傳統航天器而言,可以滿足需求,但是對于數據量較大的航天器來說,會導致一些緊急消息不能及時響應,或者一些控制數據的周期不能滿足要求。以某航天器為例,其數據管理系統需要處理大量遙測數據和一些短周期控制數據,如果正在處理大量遙測數據(如某設備實時遙測達20 000字節),傳統的處理方式是傳輸完成所有的遙測數據后才能處理其他總線消息,這樣會導致短周期控制消息無法滿足周期要求、一些對時間要求較高的指令消息得不到實時響應,嚴重時會堵塞關鍵指令的實時傳輸,影響關鍵指令的執行。
為克服現有技術的不足,提高星內總線通信效率和消息響應的實時性,本文提出了一種基于時間觸發的1553B總線實時調度設計方法。首先對星內1553B總線通信需求和設計思路進行分析,然后采用“生產者-消費者”[9]模型,設計了總線調度進程“消費”其他應用進程“生產”的總線消息,以固定時間周期為基準,按優先級從高到低的順序對總線消息進行集中調度,并在此基礎上,設計了緊急消息打斷普通消息發送的搶占式調度方法。本文設計的總線調度方法,能夠較大幅度地提高星內1553B總線通信效率,并為整星緊急指令和控制數據的實時傳輸提供了保證。
1553B總線已經成為航天器上使用最為廣泛的星內通信總線之一,它是各個分系統的遙測數據、遙控數據、指令數據和各種控制數據的通信介質。當前星內1553B總線通信有如下需求:
1)能夠管理不少于一條1553B總線網絡,每條1553B總線的傳輸速率要求不小于300 Kbit/s。
2)總線通信數據中包含周期性數據、突發性數據和對時間精度要求較高的數據,其中周期性數據主要包括各種遙測數據、分系統間交互數據,突發性數據主要包括實時指令、條件指令和一些突發控制數據,對時間精度要求較高的數據包括一些緊急指令、時間碼同步數據等。
3)數據通信的周期多種多樣,存在著500 ms、1 s和2 s等長期周期的數據通信,也有50 ms、100 ms等短周期數據的通信需求。
針對上述1553B總線通信數據量大、總線消息傳輸類別多種多樣的特點,傳統的總線通信方式已經不能滿足應用需求,需要改進1553B總線調度方式,以滿足日益復雜的星內總線通信需求。本文在進行1553B總線調度時,采取以下設計思路:
1)總線消息集中調度。傳統型號在進行1553B總線通信時,應用軟件的多個進程分別向總線芯片寫入消息,各自啟動發送。為避免總線芯片訪問沖突,這些進程只能等待,直到總線消息發送完成后其他進程才能讀寫總線芯片。這種方式下總線帶寬利用率不高。為解決這種總線通信效率較低的問題,本文采用總線消息集中調度的方式,設置獨立的總線調度進程,負責總線消息的統一調度和發送,在總線通信啟動后不再等待,而是繼續執行其他任務,待總線消息通信狀態返回后再處理這些返回的總線消息。
2)按優先級調度總線消息。將應用數據設置不同的優先級,將重要數據設置為高優先級,普通數據設置為低優先級,在總線消息發送過程中,按照優先級從高到低發送總線消息。
3)基于時間觸發的周期性調度與搶占式調度相結合。總線調度進程基于固定的時間周期觸發一次調度,周期性組織總線消息并發送,在普通消息調度過程中,如果有關鍵數據需要發送,則搶占普通消息的發送,等關鍵數據發送完成后,恢復普通消息的發送,保證關鍵數據消息的快速響應,而且不影響對時間緊迫性要求不高的普通數據消息的處理。
2.1 時間觸發的周期性調度
按照“總線消息集中調度”的設計思想,本文采用“生產者-消費者”模型進行總線消息調度設計。將產生總線消息的任務設計為生產者進程,總線調度進程設計為消費者進程,生產者進程向總線消息數據緩沖區插入待發送的消息數據。總線調度進程周期性地從總線消息數據緩沖區獲取消息數據,并且根據消息數據的屬性將控制字、命令字和有效數據寫入總線芯片。總線調度進程統一負責總線芯片數據區的寫入和啟動通信過程,如圖1所示。
為了按優先級調度總線消息,總線消息數據緩沖區設置3個不同優先級的鏈表,分別是存儲高優先級鏈表、中優先級鏈表和低優先級鏈表。其中高優先級鏈表預留給緊急消息和快周期消息,采用搶占式調度方式;中優先級和低優先級鏈表存儲非緊急消息,采用周期性調度方式。應用任務根據優先級屬性,將應用數據拆塊成消息數據塊并插入到對應優先級的鏈表中。
總線傳輸幀[10-11](簡稱為總線幀)是總線一次通信需要傳輸的消息集合。一般地,在總線消息數量確定的情況下,一個總線幀中包含的消息數量越多,總線通信效率越高。通過配置總線芯片,一個總線幀可以包含64個總線消息。本文在總線調度時,每次通信時均將總線幀中的消息填滿,以保證總線帶寬利用率的最大化。
總線調度進程是基于時間觸發的任務,以一個較小的時間周期運行,處理方式如圖2所示。根據“按優先級調度”的原則,依次遍歷中優先級和低優先級鏈表,從鏈表中獲取待發送的消息數據,每次最多獲取64個消息數據塊。如果當前系統中的消息數據塊數量大于或等于64個,則在本周期按優先級從高到低處理64個消息數據塊,剩余的消息等到下一個周期調度。如果當前系統中的消息數據塊數量小于64個,則在本周期按優先級調度這些剩余的消息塊。如果當前無可處理的消息塊,總線調度進程退出本次調度。根據消息數據塊的屬性,設置總線消息的控制字、命令字和數據字,依次寫入總線芯片并且啟動發送。然后總線調度進程獲取消息傳輸完成的信號量,并將自身掛起,釋放處理器,其他進程可以執行,當總線傳輸完成產生總線中斷后,釋放該信號量,總線調度進程繼續執行,處理返回后的總線消息和狀態。

圖1 基于時間觸發的總線幀通信過程Fig.1 Communication process of time triggered bus frame

圖2 總線調度流程Fig.2 Process of bus scheduling
這種周期性總線調度方式,與傳統方式的最大區別是,在傳統總線發送過程中,每個應用進程分別向總線芯片寫入消息,一方面,這些總線消息數量往往不能填滿一個總線通信幀(有的幀中消息數量僅有幾個),另一方面,這些進程各自啟動發送,為避免總線芯片訪問沖突,進程只能等待,直到總線消息發送完成后其他進程才能讀寫總線芯片。這種方式下總線傳輸效率較低,當有緊急消息需要發送時,由于總線芯片獨占和未區分優先級的方式,導致緊急消息的等待時間過長。本文設計的周期性總線調度方式,按照數據的優先級調度總線消息,總線幀在總線上傳輸的時間內,應用軟件可以繼續處理其他任務,待總線消息返回后再處理總線數據,解決了總線芯片資源和處理器等待的問題,提高了總線通信效率。
2.2 搶占式實時調度
本文設計的搶占式調度采用類似“中斷”的處理方式,在總線調度進程執行普通消息發送的過程中,如果其他應用進程要發送高優先級的數據,可以中斷正在總線上發送的總線通信幀,待高優先級數據發送完成后,恢復被中斷的總線通信幀,并繼續發送。總線數據區可分為A區和B區,總線調度進程發送普通消息使用A區發送,高優先級消息采用B區發送。應用進程將這些數據拆分成消息數據塊并放入高優先級鏈表后,首先停止總線調度進程當前區正在通信的總線通信幀,從高優先級鏈表中獲取待發送的消息數據塊,根據消息數據塊的屬性,設置控制字、命令字和數據字,寫入總線芯片數據區B區,然后設置當前發送區為B區,并啟動發送。待發送完成后,恢復當前發送區為A區,然后啟動A區發送,恢復被中斷的總線通信幀。
當系統中存在需要調度的高優先級總線消息時,首先停止A區正在傳輸的普通消息的傳輸,將高優先級總線消息寫入B區,每次寫入64個總線消息(最后一次消息數量不足64個時,則將這些消息直接寫入B區并發送),直到采用B區將高優先級的總消息發送完畢后,恢復A區總線消息幀的發送,保證高優先級的總線消息能夠搶占低有效總線消息的傳輸。
基于時間觸發的周期性調度,解決了總線芯片訪問沖突問題,保證了系統按照最大能力進行總線傳輸。總線B區打斷A區的搶占式調度設計,使得高優先級的消息能夠搶占低優先級消息的發送,改變了以往總線消息發送沒有優先級的工作模式,避免了非重要數據較長時間占用總線通信信道,使得緊急消息能夠快速響應,為重要數據的實時傳輸提供了保證。
在當前星載計算機應用中,處理器訪問1553B總線的效率是星載計算機系統的一個重要指標,計算機系統除了完成總線數據的收發外,還需要實現其他復雜計算和處理過程[12-13]。如果總線消息發送時間較長,占用的處理器時間較多,必然會對其他任務造成影響。本節對基于時間觸發的1553B總線實時調度過程進行試驗與分析,并與傳統型號總線發送方式進行對比,內容包括總線通信效率和緊急消息的實時性。
3.1 總線通信效率分析
試驗是在相同的硬件環境和任務下進行的,選用TSC695F處理器,主頻為11.059 2 MHz,總線芯片使用61 580芯片,在處理器的IO區間上,IO等待周期設置為3。應用進程共5個,分別產生BC→RT和RT→BC的總線消息。試驗方式是分別在相同總線數據量的情況下,測試總線消息傳輸完成占用的時間,每次試驗進行100次,取平均值,本文的調度方式和傳統實現方式的運行結果如圖3所示。

圖3 總線傳輸效率對比分析Fig.3 Analysis of bus transmission efficiency in different methods
圖3是對不同總線通信流量下分別使用傳統實現方式和本文設計的調度方式時,總線消息從應用進程產生到傳輸完成的時間的對比結果。從結果可以看出,當總線數據量較小的情況下,兩者差別不太大,但是隨著總線數據量的增加,本文設計的總線調度方式傳輸時間要小很多,這是因為總線幀在總線上傳輸的時間內,處理器無需等待,應用進程可以繼續執行任務或者組織后面的總線消息,從而節約了處理器時間。相比于傳統型號總線發送方式,在總線傳輸流量達到400 Kbit/s以上的情況下,基于時間觸發的總線實時調度方式將總線傳輸時間縮短了4/5左右,很大地提高了總線傳輸效率。
3.2 緊急消息實時響應分析
當前航天器1553B總線上消息傳輸的速率和周期性各不相同,除傳輸各設備的遙測數據外,還要傳輸各種指令和控制數據,有的指令和控制數據對時間的精度要求較高。這些緊急消息的實時響應是一項重要性能指標,例如某型號的時間傳輸精度要求在10 ms以內、某些控制指令的時間要求在50 ms以內。本文對緊急消息的實時性響應時間進行測試,試驗方式是分別傳輸相同數據量的遙測后,當某緊急消息到達后,測試該緊急消息的執行時間并比較,如圖4所示。
分析圖4的數據,隨著低優先級的遙測數據量增加,傳統實現方式下,緊急消息的響應時間也跟著增加,當數據量增加到一定程度,無法滿足緊急消息的時間要求。而在本文的調度方式下,緊急消息的執行時間始終保持在2 ms以內,不隨普通遙測數據量的變化而變化。可見基于時間觸發的總線實時調度方式對緊急消息的響應時間不僅很短,而且穩定。

圖4 緊急消息處理時間對比分析Fig.4 Analysis of processing time of emergency messages in different methods
本文提出了一種基于時間觸發的1553B總線實時調度設計方法,并經試驗驗證,對測試結果進行了分析。研究表明,在時間觸發下根據優先級對總線消息進行周期性調度,相較傳統實現方式,可以較大幅度地提高1553B總線傳輸效率和帶寬利用率,而且緊急消息能夠搶占普通消息的傳輸,避免了非重要數據較長時間占用總線,使得緊急消息能夠實時響應。本文的研究成果滿足新一代星內1553B總線通信需求,具有重要的工程應用價值。
References)
[1] MIL-STD-1553 protocol tutorial[M]. New York: Condor Engineering Inc.,2004:12-26.
[2] 劉士全,雋揚,蔡潔明,等. 1553B總線應用發展研究[J]. 電子與封裝,2013,13(12):12-15.
LIU S Q,JUAN Y,CAI J M,et a1. Research on the application development of l553B bus[J]. Elecfronics & Packaging,2013,13(12):12-15(in Chinese).
[3] 章生平,郭晶晶,肖軒,等.1553B總線應用層協議可靠性機制設計方法[J]. 遙測遙控,2015,36(6):51-56.
ZHANG S P,GUO J J,XIAO X,et al. A reliability design method of 1553B bus application layer protocol[J]. Journal of Telemetry,Tracking and Command,2015,36(4):51-56(in Chinese).
[4] ZHANG Y X,ZHANG W G,ZHOU Q,et al. The design of 1553B communication bus based of Bu-61580[C]∥2010 the 5th IEEE Conference on Industrial Electronics and Applications.IEEE,2010:1920-1923.
[5] 趙昶宇,顏昌翔,于平. 1553B總線上消息的實時調度[J]. 光學精密工程,2010,18(3):732-740.
ZHAO C Y,YAN C X,YU P. Real time scheduling of messages on 1553B bus[J]. Optics and Precision Engineering,2010,18(3):732-740(in Chinese).
[6] KOTOV V,DUBOVIK L, BYBALTEHENKO K. A bus controller for MID-1553B and multibus II[J].Nuclear Instruments and Methods in Physics Research Section A:Accelerators,Spectrometers,Detects and Associated Equipment,1994,352(1):283-284.
[7] AGRAWAL G,CHEN B,ZHAO W,et a1.Guaranteeing synchronous message deadlines with the timed token medium access control protocol[J].IEEE Transactions on Computer,1994,43(3):327-339.
[8] XU X D,ZHANG P. Software design for real-time measuring and control system based on LabVIEW and 1553B[C]∥2010 International Conference on Electrical and Control Engineering,2010:1973-1976.
[9] 張秀娟. 生產者-消費者系統的建模與行為分析方法研究[J].微電子學與計算機,2004,21(5):97-100.
ZHANG X J. Modeling and behavior analysis for producer-consumer system[J]. Microelectronics & Computer,2004,21(5):97-100(in Chinese).
[10] DDC Data Service Corporation. ACE/Mini-ACE series BC/RT/MT advanced communication engine integrated 1553 terminal User′s Guide[M]. New York: Bohemia,2007.
[11] 劉燕松,盛利元,馮旭哲. 衛星載荷1553B總線數據接口的設計與實現[J]. 宇航計測技術,2013,33(5):52-56.
LIU Y S,SHENG L Y,FENG X Z. The key technology research of 1553B bus data flow interface of satellite[J]. Journal of Astronautic Metrology and Measurement,2013,33(5):52-56(in Chinese).
[12] 詹盼盼,郭廷源,高建軍,等. 基于BM3803處理器的即插即用星載計算機系統設計[J]. 航天器工程,2013,22(6):92-96.
ZHAN P P,GUO T Y,GAO J J,et al. Plug-and-play on-board computer system design based on BM3803 processor[J]. Spacecraft Engineering,2013,22(6):92-96(in Chinese).
[13] 郭澤仁. 1553B總線系統優化及可靠性設計[J]. 山東理工大學學報(自然科學版),2008,22(1):67-70.
GUO Z R. The optimization and reliability design for 1553B data bus[J]. Journal of Shandong University of Technology(National Science Edition),2008,22(1):67-70(in Chinese).
(編輯:高珍)
Real time scheduling based on time triggered 1553B bus
ZHAN Panpan,GUO Jian*,LIU Xin
Beijing Institute of Spacecraft System Engineering,Beijing 100094,China
In order to optimize the performance of 1553B bus transmission, reduce the waiting time after the messages transmission,and improve the bus bandwidth utilization and the real time performance of emergency messages response, the 1553B bus scheduling methods were studied, and a real time scheduling method based on the time triggered 1553B bus was designed by using the method of periodic scheduling and preemptive scheduling. On the basis of time trigger,bus messages were centrally scheduled by priority. During the time the bus frame was transmitted on the bus, the processor could continue processing other tasks without waiting for some time. Based on the characteristic of bus data area partition, the preemptive scheduling strategy for emergency messages to interrupt common messages transmission was designed. Non important data didn′t take up the bus channel for a long time, so that emergency messages were quickly responded. The experimental results show that the proposed method can achieve the maximum capacity of bus transmission.It can improve the transmission efficiency and bandwidth utilization of 1553B bus,while the response time of emergency messages is stable within 2 ms.
1553B bus;periodic;preemptive scheduling;priority;time triggered
10.16708/j.cnki.1000-758X.2016.0070
2016-08-04;
2016-10-25;錄用日期:2016-11-24;
時間:2016-12-16 11:29:18
http:∥www.cnki.net/kcms/detail/11.1859.V.20161216.1129.010.html
國家自然科學基金(91438102)
詹盼盼(1987-),男,碩士研究生,panpan3210@qq.com,研究方向為空間數據系統設計
*通訊作者:郭堅(1977-),男,研究員,Guojian@163.com,研究方向為空間數據系統設計
詹盼盼,郭堅,劉欣. 基于時間觸發的1553B總線實時調度設計[J].中國空間科學技術, 2016,36(6):77-82.
ZHANPP,GUOJ,LIUX.Realtimeschedulingbasedontimetriggered1553Bbus[J].ChineseSpaceScienceandTechnology, 2016,36(6):77-82(inChinese).
V446.2
A
http:∥zgkj.cast.cn