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