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