劉洋 張志平 王晨博
摘要:該文提出了一種時間觸發(fā)以太網(wǎng)數(shù)據(jù)捕獲和存儲方法,解決了基于數(shù)據(jù)幀錯誤類型、協(xié)議類型、虛鏈路或目的MAC地址的過濾和捕獲、數(shù)據(jù)幀組織存儲和解析等問題,滿足1Gbps和10Gbps速率的時間觸發(fā)以太網(wǎng)的同步和通信等功能的調(diào)試和驗證需求。
關(guān)鍵詞:TTE;數(shù)據(jù)捕獲;存儲;虛鏈路
中圖分類號:TP393 ? ? ?文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2022)05-0008-03
1 引言
隨著信息技術(shù)的發(fā)展,工業(yè)、航空等領(lǐng)域的電子設(shè)備和系統(tǒng)越來越重視任務(wù)的實時性、安全性、確定性,傳統(tǒng)的以太網(wǎng)已經(jīng)不能滿足該需求,因此,時間觸發(fā)以太網(wǎng) (Time Triggered Ethernet,TTE) 應(yīng)運而生。TTE是TTTech公司針對航空、航天領(lǐng)域等特殊應(yīng)用而研發(fā)的一種高性能、強(qiáng)實時以太網(wǎng)[1],兼容標(biāo)準(zhǔn)以太網(wǎng)IEEE802.3,提供微秒級的時鐘同步,通信速率可達(dá)1 Gb/s。TTE應(yīng)用廣泛,例如航空電子技術(shù),工業(yè)自動化等領(lǐng)域[2]。
在符合IEEE802.3標(biāo)準(zhǔn)的傳統(tǒng)以太網(wǎng)中,網(wǎng)絡(luò)中的設(shè)備采用事件觸發(fā)機(jī)制,采用先到先服務(wù)的原則,可以在任何時間點接入網(wǎng)絡(luò)。不同的網(wǎng)絡(luò)設(shè)備之間通過共享介質(zhì)進(jìn)行通信,在通信過程中,個別消息的傳輸將產(chǎn)生不確定的抖動和累積延遲。為了減少這樣的情況,ARINC公司在標(biāo)準(zhǔn)以太網(wǎng)的基礎(chǔ)上,制定了ARINC664標(biāo)準(zhǔn),其中第7部分為全雙工交換式以太網(wǎng)(AFDX網(wǎng)絡(luò)),在數(shù)據(jù)鏈路層增加了虛擬鏈路(VL)、帶寬分配間隙(BAG)、抖動管理機(jī)制,有效減少了報文傳輸過程中的報文沖突,并且具備了實時性和確定性[3],滿足航電系統(tǒng)中各設(shè)備信息傳輸?shù)目煽啃院痛_定性要求。
SAE組織發(fā)布了AS6802時間觸發(fā)以太網(wǎng)(TTE)網(wǎng)絡(luò)標(biāo)準(zhǔn),兼容標(biāo)準(zhǔn)以太網(wǎng)和AFDX網(wǎng)絡(luò),使用網(wǎng)絡(luò)設(shè)備之間協(xié)調(diào)統(tǒng)一的網(wǎng)絡(luò)時間,以減少傳輸延時和抖動,從而在單一網(wǎng)絡(luò)中滿足不同事實和安全等級的應(yīng)用需要。AS6802標(biāo)準(zhǔn)支持時間觸發(fā)機(jī)制的時間觸發(fā)消息(Time-Triggered消息,簡稱TT消息)、事件觸發(fā)機(jī)制的速率限制消息(Rate-Constraint消息,簡稱RC消息)和盡力而為消息(Best-Effort消息,簡稱BE消息)以及用于統(tǒng)一時間的協(xié)議控制幀(Protocol Control Frame,簡稱PCF消息)。
傳統(tǒng)的以太網(wǎng)ET(Event-Triggered)網(wǎng)絡(luò)由外部環(huán)境控制,對來自外部事件的刺激做出反應(yīng),而TTE通過內(nèi)部的、集中的調(diào)度來控制自身活動與外部環(huán)境的交互。在網(wǎng)絡(luò)系統(tǒng)中,為了防止單個網(wǎng)絡(luò)節(jié)點故障引發(fā)整個網(wǎng)絡(luò)故障,經(jīng)常采用雙余度或者多余度的網(wǎng)絡(luò)結(jié)構(gòu),以提高網(wǎng)絡(luò)系統(tǒng)的可靠性[4]。TTE相比于傳統(tǒng)以太網(wǎng),具有以下優(yōu)勢:
1)適用性強(qiáng)。TTE可以應(yīng)用于從簡單的網(wǎng)絡(luò)系統(tǒng)到高可靠性和高安全性的網(wǎng)絡(luò)系統(tǒng)等的各個層次的網(wǎng)絡(luò),允許同時采用事件觸發(fā)和時間觸發(fā)機(jī)制;TTE能夠適應(yīng)10Mbit/s、100Mbit/s、1000Mbit/s等多種速率的帶寬網(wǎng)絡(luò),可充分利用現(xiàn)有帶寬,提高通信網(wǎng)絡(luò)效率;
2)兼容性好。TTE網(wǎng)絡(luò)完全兼容標(biāo)準(zhǔn)以太網(wǎng)IEEE802.3協(xié)議[5],因此TTE無須改變現(xiàn)有網(wǎng)絡(luò)和現(xiàn)有端點系統(tǒng)的應(yīng)用軟件,只需在標(biāo)準(zhǔn)以太網(wǎng)中為交換機(jī)和端系統(tǒng)配備時間觸發(fā)功能即可運行;
3)成本低。得益于TTE的兼容性,TTE網(wǎng)絡(luò)的成本能夠得到很好的控制,是TTE得到廣泛應(yīng)用的重要因素。
為了解決基于數(shù)據(jù)幀錯誤類型、協(xié)議類型、虛鏈路或目的MAC地址的過濾和捕獲、數(shù)據(jù)幀組織存儲和解析等問題,本文提出了一種TTE數(shù)據(jù)捕獲方法,滿足1Gbps和10Gbps速率的TTE同步和通信等功能的調(diào)試和驗證需求。
2 TTE協(xié)議控制幀
TTE通過一個特殊的協(xié)議控制幀——Protocol Control Frame(PCF),來實現(xiàn)時鐘同步的控制機(jī)制。TTE協(xié)議控制幀(PCF)的結(jié)構(gòu)如圖1所示。TTE協(xié)議幀的Payload字段包含著PCF幀的所有內(nèi)容,其Type字段的值為0x891d [6]。本文章所提到的一種時間觸發(fā)以太網(wǎng)數(shù)據(jù)的捕獲和存儲方法,都是通過PCF幀中所包含的信息進(jìn)行的。
3 TTE數(shù)據(jù)捕獲方法
TTE數(shù)據(jù)捕獲過程主要包括以下步驟:
步驟1:接收功能從MAC層接收數(shù)據(jù)幀,在第1個比特位到達(dá)時,記錄從RTC功能讀取的時鐘值,記為時間戳Fts;
步驟2:在MAC層接收數(shù)據(jù)時,檢查是否存在以下錯誤:1)超長幀錯誤;2)非對齊幀錯誤;3)幀校驗錯誤;4)類型長度域錯誤。
如果MAC錯誤過濾未使能,上述錯誤數(shù)據(jù)也將被接收功能接受。錯誤a數(shù)據(jù)最多存儲字節(jié)數(shù)為MAX_CAPTURE_LEN,錯誤b數(shù)據(jù)存儲對齊的字節(jié),丟棄未對齊的比特位,錯誤c數(shù)據(jù)、錯誤d數(shù)據(jù)按照實際接收的內(nèi)容存儲,并記錄數(shù)據(jù)的錯誤類型。
步驟3:通過MAC接收的幀,依據(jù)緩沖管理控制器配置對數(shù)據(jù)幀字段進(jìn)行檢查,檢查內(nèi)容包含以下幾項:1)CS幀接收使能;2)CA幀接收使能;3)IN幀接收使能;4)IN幀成員閾值;5)TT幀接收使能;6)RC幀接收使能;7)BE幀接收使能。
步驟4:通過對步驟2和步驟3所檢查的數(shù)據(jù),比較數(shù)據(jù)幀實際長度FrameLen和MAX_CAPTURE_LEN: