文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.01.019
中文引用格式: 閆攀,張奇榮,權海洋. 時間同步技術與調度機制的研究[J].電子技術應用,2017,43(1):72-76.
英文引用格式: Yan Pan,Zhang Qirong,Quan Haiyang. Research on time synchronization technology and scheduling mechanism[J].Application of Electronic Technique,2017,43(1):72-76.
0 引言
隨著航天器技術的不斷發展,對綜合航電技術提出了新的需求,主要表現在對系統可擴展可重構性要求支持能力更高;長距離傳輸下,數據的實時性和同步性要求更高,要求網絡具備更高的數據傳輸速率;對重量功耗等提出更高的約束;同時要求高可靠、易測試、低費效比、快速研制等要求,傳統網絡難以滿足這種新的應用需求[1]。
時間觸發以太網(Time Trigger Ethernet,TTE)是國際上最新的一項基于以太網的新型總線技術,具有高帶寬、高實時性、高可靠性和高兼容性的特點。該網絡兼容了時間觸發協議和以太網技術的優勢,能夠在同一個網絡平臺上傳輸以太網數據流、AFDX數據流和時間觸發數據流,TTE使用時間觸發技術極大減少網絡的延遲(12.5 μs/交換機)和抖動(1 000 Mbps下小于1 μs),支持10 M/100 M/1 000 Mbps數據傳輸率,支持三冗余架構,具備更高的安全性和全面的容錯機制。該網絡的核心優勢在于可以使綜合電子系統更好地支持重新配置、預測性維護、增量升級和認證,使單機單位和總體單位能夠開發真正模塊化的、可擴展的和優化的集成架構,同時降低系統復雜性和產品全生命周期成本。通過將關鍵性和非關鍵性流量在同一條網絡上傳輸,有效減小網絡的重量。在網絡規模變化的情況下,系統仍可正常進行數據傳輸。網絡中的所有組件都執行系統設計要求的公共操作,包括系統時間同步、系統容錯、成員檢測、故障隔離等,單個組件的故障不會影響整個網絡的服務及數據傳輸[2]。國外這方面目前已有成熟應用,而國內這項技術目前處于起步階段,通過兩年多的研討,目前已經是非常熱門的研究話題。
綜上,TTE網絡技術的研究對綜合航電系統的新要求具有重要的研究意義,TTE網絡技術的核心是同步和調度,同步提供全局的分布式網絡時鐘同步辦法,調度提供數據交換的合理規劃。同步和調度技術是TTE網絡技術研究的基礎,也是未來工程化的必經之路。
1 時間同步技術概述
TTE時鐘同步協議遵循SAE的AS6802[3-4],該協議是在IEEE1588協議的基礎上改進得出的,是一種占用資源少、易實現、同步精度高的分布式容錯時鐘同步技術。TTE的時鐘同步采用完全分布式的算法同步,最終同步的時間是集合因子,故障容忍允許個別節點時鐘故障。TTE網絡需要周期性地再同步以抵消節點晶振漂移帶來的影響。網絡節點按其功能可分3類:同步主(SM)、壓縮主(CM)和同步客戶端(SC)。其同步過程如圖1所示。
第一步,同步主發送協議控制幀(PCF)ID 1-3給壓縮主。由于路徑不同,各PCF幀的到達時間不同,壓縮主 “固化功能”恢復這些幀的發送順序,之后根據“壓縮功能”計算所有同步主的時間均值作為系統時間,并與該時間同步,之后將時鐘信息寫入協議控制幀ID4。
第二步壓縮主根據新生成的系統時間發送ID4給其它各節點,各節點接收ID4,并將自己的時間與系統時間進行同步。
TTE網絡的同步以PCF幀交換為基礎。 PCF幀是一個標準的最小長度46 B的以太網幀,如表1所示,其網絡類型域0x891d,內含重要的延時信息,用于TTE網絡的同步。
2 時間同步原理
TTE的運行由周期性的集群周期組成,每一個集群周期被劃分成從0開始標記的若干個集成周期。每一個集成周期進行一次時鐘再同步。時鐘再同步如圖2所示。
本文結合典型的多跳拓撲結構圖進行TTE網絡時鐘同步過程分析,如圖3所示。
再同步啟動時,SM101/5/6向CM203發送PCF幀,CM203對PCF幀進行固化處理排序后,壓縮計算新的系統同步時鐘,同時將本地時鐘與新時鐘保持同步,之后轉發新的PCF用于網絡時鐘同步,其他節點使用該PCF用于本地同步。
2.1 固化功能
固化功能的主要作用就是將壓縮主接收到的失序的PCF幀進行順序恢復。如圖4所示。
由于各同步主到壓縮主的距離不同而引起PCF幀到達壓縮主的時序發生變化。固化功能通過將每個到達的PCF幀延遲一個固化延時時間見式(1),從而保證接收到的PCF幀的相對順序和幀發送時一致。
2.2 壓縮功能
壓縮功能對采集接收到的PCF幀并進行壓縮計算,得到最佳系統時間,用于系統時間同步。壓縮功能共分3階段:采集階段、計算階段和延時階段,壓縮主壓縮功能示意圖如圖5所示。
采集階段中OW為采集窗口,為了能容忍兩個錯誤需要3個OW,CO為計算階段,DP計算出的系統最佳時間。通過對預計壓縮完成時間和實際壓縮完成時間做差,得出時鐘偏差-5,在延時30后將SW203的本地時鐘值從150修正到145,完成本地同步,同時間隔50后將新的PCF幀發送,用于其他器件的同步。
2.3 網絡同步
圖6中的粗黑色短豎線表示各個器件的預固化時間,通過與實際固化時間做差得出各器件的時鐘修正值。間隔一段延時后對本地邏輯時鐘進行修正,之后節點邏輯時間保持一致,網絡同步。
在圖6中系統所有的網絡節點對自身時鐘修改完成以后整個網絡時鐘保持同步見式(3),為了便于顯示,在時標280時刻對所有的邏輯時間的變化進行比較。在此忽略時鐘精度對系統同步的影響。
3 時間同步的影響因素
TTE網絡是根據全局時鐘基進行流量的調度傳輸工作,在此期間,由于各網絡設備內部晶振的個性差異和環境影響(如溫度和濕度),導致網絡中各設備的邏輯時鐘值出現或快或慢的漂移變化。長期積累,在接收幀不能及時出現在接收窗口(精度間隙),致使網絡同步丟失的現象,進而導致關鍵信息幀被丟掉。如圖7所示。
圖中展示晶振漂移對3個系統時鐘帶來的不同影響。“π”是容錯允許下,系統的最快和最慢時鐘之差,較小π意味著較小的超時設定,同時表明系統更加高效。系統精度、再同步間隔和晶振偏移率之間的關系如圖8所示。
圖8中,精度間隙(π)≥2×再同步間隙×晶振漂移率。假定晶振漂移率為500 ppm,再同步時間為5 ms,則精度間隙最小需要5 μs。
對于TTE網絡,影響同步設計的因素主要有3個:(1)晶振性能,偏移率越大,再同步時間變小,系統效率變低。(2)再同步間隙越大,對晶振的要求越高,晶振成本增加,應用成本增加;(3)再同步使用的方法,分布式時鐘同步方法能夠提供高效可靠的同步,同時具有強大的容錯能力。除此以外,添加適當的延時補償對物理層和線路延遲進行補償,可以保證同步時鐘精度更高。
4 調度機制概述
TTE網絡調度采用時分復用技術,通過時間規劃保證關鍵流量和非關鍵流量在同一條物理鏈路上進行傳輸,彼此之間互不沖突,目前最成熟的調度工具是TTE-Plan軟件,內嵌SRI(斯坦福國際研究所)開發的SMT形式化求解器,但隨著TT流量數量的增加,求得可行的調度方案的復雜度急劇增大。TTE網絡中每一個同步節點只能在規定的時間序列中規定的時刻進行數據收發操作,通信必須在各自的時間槽內完成,保證彼此之間的數據流不產生沖突。如圖9所示。
周期性的節點時間槽構成了一個TDMA周期,所有的TDMA周期都具有相同的時間長度。在TDMA周期中,節點每一次發送數據的長度和內容可能不同。多個TDMA周期構成集群(cluster)周期,即總線運行周期。重復的集群周期構成整個傳輸時間軸。ET(事件觸發)流量RC和BE可在TT的間隙內發送。
5 調度機制原理
TTE網絡調度是一種多孔調度方法,將屬于不同流量的TT消息分散于時間軸,之間的孔隙用于容納既有的事件觸發流量。TTE調度是在TT流量中預留一定比例的分數帶寬,生成首尾緊密排列的TT消息調度方案(先驗調度),然后該方案被平均分配到整個帶寬下(后驗調度),在TT消息之間的孔隙是可供RC流量和BE流量傳輸的時間片(調度解釋),如圖10。以表2內容為例說明TTE調度表的生成方式。
5.1 TTE網絡調度表
TT調度表包含由n個基本周期(BC:Basic Cycle)組成的一個矩陣周期(MC:Matrix Cycle)。BC是所有TT流量周期的最大公約數,n是所有TT流量的最小公倍數/最大公約數。TT段中,時間資源被分為時間槽(time solt),一般為定長,不同長度的幀可以占用多個時間區間。
圖10展示由4個BC周期構成單個MC的TT流量發送調度表,對應的TT流量如表2所示。陰影部分表示有TT幀發送。
5.2 網絡調度表生成方法
周期調度表的生成有兩種方式:(1)靜態生成方式,需要提前規劃,系統上電之前就要配置好,適用于系統中需要上電就執行的通信任務。(2)動態生成方式,可以在系統運行過程中根據需要握手協商后生成的調度表,適用于動態開啟和結束的TT流量任務,是靜態生成方式的補充。
無論哪種生成方式,其調度表生成原則相同:一是左端緊縮原則,即任務分配調度時優先考慮最左側的時間段,為后來的任務添加留下盡可能多的余量,方便后續任務的添加。二是均勻間隔原則,即對于周期相同的任務在排列時,周期為2m×BC的任務優先選擇行標為2m-1-1的縱向間隔均勻排列。根據該原則表2中的任務最終呈現如圖10所示。
5.3 TTE網絡調度表分類
TTE網絡中共有4類調度表交換機相連端口發送表、終端發送表、終端接收表和單任務發送表,如表3所示,所有單任務發送表共同組成了終端發送表。
5.4 周期調度表的生成流程
結合調度表的生成方法,本文給出一種嘗試、修改、迭代生成方式的靜態周期調度表生成流程,如圖11所示。
任務的加載順序不同,其生成的調度表也不相同,通過將系統中所有發送表的公共空閑區間進行統計比較,選出公共空閑區間最大的調度表做為最優調度表。
6 調度機制影響因素和未來的發展趨勢
本文提出的方案與任務數量是緊密相關的,隨著TT流量數的增加,使用該流程求得的調度方案復雜度將指數增加,這對處理器來說是非常有挑戰性的,未來可以加入先驗性的手段,提前預測調度的可行性,對不可能的任務排列,直接放棄以減小調度方案的執行,進而達到優化方案的目的。
此外在調度過程中也要避免由于晶振漂移導致的接收幀的邊沿疊加現象,對于這種現象可以通過在源頭加入一定的時間冗余進行避免或者接收時加入一定的時間容量,容量范圍內的幀都可以接收,進而避免這種幀邊沿的重疊現象。
7 總結
本文通過對TTE網絡關鍵同步和調度算法等難點進行研究,通過實例對同步算法進行分析,并指出時鐘同步的影響因素,便于后續網絡系統的設計分析。同時對調度原理、調度表的生成原則和方式進行分析,提出一種嘗試、修改、迭代生成方式的靜態周期調度表生成流程,并指出這種方案未來可以優化的方向,為后續任務調度的工程化提供一種有效的工程解決方案。
參考文獻
[1] 曾貴明,劉文文.新一代飛行器綜合航電系統架構[J].航天微電子,2016(1):27-30.
[2] Deterministic ethernet networks for advanced integrated architectures[EB/OL].www.tttech.com.
[3] SAE Technical Standard. SAE AS6802[S].SAE International.2011-11.
[4] TTTech.TTEthernet Specification-0.9.1-22968[S].TTTech Computertechnik AG.20-Nov-2008.
作者信息:
閆 攀,張奇榮,權海洋
(北京微電子技術研究所,北京100076)