崔玉龍,吳學超,劉 漢
(中車青島四方機車車輛股份有限公司,山東 青島 266111)
以太網是世界上最普遍、應用最廣泛的一種計算機網絡。隨著科學技術的快速發展,民用以太網大規模使用百兆以太網已經有十幾年了,但是在一些工業環境,例如汽車、地鐵、高鐵中的以太網應用仍然處于方興未艾的階段。工業環境下的智能化、互聯化需求已經日趨緊迫,然而工業領域相對滯后的以太網發展成為了掣肘。缺乏滿足多功能、復雜環境需求的工業用以太網,更缺乏有針對性、方便高效的工業用以太網測試方法,是現在工業用以太網所面臨的主要問題。工業以太網的測試則更需要關注物理層的情況,其為設備之間的數據通信提供傳輸媒體及互聯設備,為數據傳輸提供可靠的環境。基于工業需求的考量,為了識別一些潛在的故障,最大限度保障安全,需要一種對百兆以太網物理層的測試方法,評價其物理層質量。本文則主要關注百兆以太網的物理層測試方法。
以太網的物理層包括協調子層(reconciliation sublayer, RS),介質無關接口(medium independent interface, MII),物理編碼子層(physical coding sublayer, PCS),物理介質連接子層(physical medium attachment sublayer, PMA),物理介質相關子層(physical medium dependent sublayer, PMD)和介質相關接口(medium dependent interface, MDI)。其中物理編碼子層(PCS)、物理介質連接子層(PMA)、物理介質相關子層(PMD)統稱為物理層實體(PHY)(transceiver)[1]。
1995年5月,IEEE通過了IEEE 802.3u規范,這個快速以太網規范對物理層規范進行了重新定義,其物理層包括100BASE-TX、100BASE-FX、100BASE-T4 三種傳輸介質標準[2-3]。
值得注意的是,100BASE-TX PMD中使用的是MLT-3編碼方式。MLT-3即Multi-Level Transmit-3,多電平傳輸碼,其編碼規則為:
1)如果下一輸入為“0”,則電平保持不變;
2)如果下一輸入為“1”,則產生跳變,此時又分兩種情況。
(1)如果前一輸出是“+1”或“-1”,則下一輸出為“0”;
(2)如果前一輸出非“0”,其信號極性和最近一個非“0”相反。
MLT-3編碼方式有如下的優點:
1)在通信系統中,單位時間能通過鏈路的數據量(即帶寬)是體現該通信系統質量的標準之一,MLT-3編碼和4B/5B編碼的特性使得其編碼效率高至80%,節省了通信占用的帶寬[4];
2)MLT-3編碼方式包含冗余,可用于糾錯。對于MLT-3編碼方式傳輸而言,并不存在從-1到1 和1到-1的跳變,所以對于可能發生的過沖現象不敏感。
MLT-3的優勢明顯,但其“-1、0、1”3電平的特性也給分析測試帶來了不小的困難,目前并沒有通用的分析工具來分析MLT-3編碼信號。
開發新的分析工具則會遇到如下幾點問題:
1)目前缺乏一種領域內公認的指標對MLT-3編碼信號的物理波形進行評估分析,現行的評估指標和方法,一般僅適用于NRZ編碼方式編碼的信號[5-6],并不能簡單的應用于MLT-3編碼的信號;
2)MLT-3編碼信號的物理波形難以通過數字鎖相環(DPLL)鎖定,因此難以捕獲準確的信號頻率和信號相位,不利于物理波形的分析;
3)MLT-3編碼信號的物理波形,其可能發生的過沖現象會對直接通過電平判斷的測試方法造成不良影響。統計意義上的信號質量分析和流處理上的解碼無法同時進行,因此過沖現象所導致的電平錯判和信號質量評估錯誤沒有辦法利用MLT-3編碼的規律解碼并同步直接修正。
針對以上的問題,本文提出了如下的解決方案(即測試方法)。
利用采集到的大量隨機電信號,統計并構建繪制成眼圖[7]。通過對眼圖的觀察和計算,得到眼高、眼寬、上升時間、下降時間、抖動一共5個技術指標,對指標的具體定義如圖2所示。指標的測定主要依靠水平直方圖和垂直直方圖,水平直方圖的縱軸為電平,橫軸為該采樣電平出現次數,其含義是體現不同(采樣)電平在所有采集到的離散電平信號中出現的比例;垂直直方圖的縱軸為目標電平出現次數,橫軸為時間,其含義是在所構建的整個眼圖時間段內被選取為目標的電平所出現的次數。

圖2 眼圖中5個指標的具體定義解析圖
具體來說,眼寬指連續兩個上升電平與下降電平交叉點在時間上的跨度,其計算方法是以0電平為目標電平繪制垂直直方圖,直方圖相鄰的兩個峰值時間(即出現0電平次數最多的兩個相鄰時間)的差即為眼圖的眼寬。
眼高指高電平與低電平在電勢上的跨度,其計算方法是對兩電平眼圖繪制水平直方圖,直方圖兩個峰值電平(即出現次數最多的兩個電平)的差即為眼圖的眼高。
上升時間和下降時間分別指信號從低電平上升到高電平和高電平下降到低電平在時間上的跨度。其中上升時間的計算方法是分別以低電平上升20%和高電平下降20%為目標電平繪制垂直直方圖,(眼圖以圖3為例)直方圖中以2點處為目標電平的峰值時間與以1點處為目標電平的峰值時間的差即為上升時間;下降時間的計算方法是分別以低電平上升20%和高電平下降20%為目標電平繪制垂直直方圖,(眼圖以圖3為例)直方圖中以4點處為目標電平的峰值時間與以3點處為目標電平的峰值時間的差即為下降時間。

圖3 繪制垂直直方圖的目標電平點
抖動指系統中的一種時序上的誤差,確定抖動可以通過目視估算或科學計算,其具體計算方法是以0電平為目標電平繪制垂直直方圖,對所得直方圖進行統計學標準差計算,結果即為抖動[8]。
這5項技術指標的數據均以相對穩定時的平均值來確定。
事實上,在實際測試過程中得到并不是兩電平眼圖而是3電平眼圖,如圖4所示。3電平眼圖無法直接測量計算眼寬、眼高、上升時間、下降時間和抖動這5個技術指標,而兩電平眼圖可以做到(如圖5所示),為此需要一種能夠將3電平眼圖分解成2個兩電平眼圖的方法。一般對于眼圖的生成,使用硬件電路對采樣數據進行實時的數字磷光波形圖像處理,減少了死區時間,提高了采樣效率[9],選擇合適的觸發則使磷光波形的圖像更為銳利,可以使用鎖相環技術來跟蹤波形[10]。但是,這些技術依賴于硬件電路,也針對特定兩電平波形,而本文則將描述一種使用通用采集設備通過數字信號處理來評估波形的方法。

圖4 100BASE-T,3電平眼圖

圖5 兩電平眼圖
首先通過統計采集,獲取3電平信號的實際電平,通過計算得到交叉電平。3電平信號采用MLT-3編碼方式進行編碼,而MLT-3編碼方式的電平不存在-1到1和1到-1這種跳變,只能進行-1與0、0與1之間的跳變。由于MLT-3編碼具有這種特性,利用設置觸發器的方法即可完美解決信號區分的問題,從而讓上眼圖和下眼圖計算時不受干擾,同時也完成了每個信號周期的時間同步。
為此設置的4個觸發器和其功能表如表1所示。

表1 觸發器功能表
根據測量計算到的上眼圖、下眼圖的眼高、眼寬、上升時間、下降時間和抖動共計10個技術指標的值,與基于系統需求的這些技術指標的標準參考值進行對比,判斷各個技術指標是否符合系統需求,以此對該系統的物理層進行評價。10個技術指標及其釋義見表2。

表2 測試評分技術指標
該方法的優越性在于對應不同需求的系統目標能夠給出具有相當目的性的評價標準,簡單、專業、針對性。
1)差分采集一對差分傳輸線,采集以Multi-Level Transmit-3多電平傳輸碼為規則編碼的信息流電平信號,并作為原始數據記錄下來。
2)通過測量工具統計采集到信號電平的最高值和最低值,將兩者之間的電平劃分為500個區間。
3)統計信號電平落于各電平區間的概率,繪制水平直方圖。
4)找到概率最高的三個峰值對應的電平(即直方圖中柱最長的三個電平),然后按電平從低到高,依次記為V_n,V_0,V_p(即3電平眼圖中-1、0、1對應的實際電平)。
5)計算交叉電平V_n_coss、V_P_coss,選取這兩個電平作為觸發點的原因是以交叉電平作為觸發點能夠最大程度保證電平在向上、下跳變時能夠被精準無誤地捕捉到,從而提升眼圖轉化的質量。式(1)~(2)如下。
(1)
(2)
計算觸發參數部分流程圖如圖6所示。

圖6 計算觸發參數部分流程圖
1)差分采集一對差分傳輸線,采集以Multi-Level Transmit-3多電平傳輸碼為規則編碼的信息流電平信號,并作為原始數據記錄下來。
2)由于MLT-3編碼具有“不存在-1到1和1到-1這種跳變”這種特性,使用觸發器來將3電平眼圖分解成上下兩個眼圖,以此規避直接統計3電平信號無法計算眼高、眼寬、上升時間、下降時間、抖動等指標的問題。具體方法如下:信號通過交叉電平V_n_coss時,0到-1觸發器或-1到0觸發器觸發,記錄8 ns(一個周期)波形于下眼圖;信號通過交叉電平V_p_coss時,0到1觸發器或1到0觸發器觸發,記錄8 ns(一個周期)波形于上眼圖;信息為“0”時,電平保持不變,記錄8 ns(一個周期)波形于前一記錄的眼圖。
3)上下眼圖各重復記錄1萬次信號,這樣做的目的是減小偶然性對最終數據的影響,最大程度上保證對該物理層測試評價的客觀性和非偶然性。
4)對觸發器觸發后得到的分離數據進行處理,最終將3電平眼圖繪制成兩個兩電平眼圖“上眼圖”和“下眼圖”,方便進行參數計算進而對該物理層質量進行評價。
觸發信號到上下兩個眼圖部分流程圖如圖7所示。

圖7 觸發信號到上下兩個眼圖部分流程圖
1)由上一部分得到眼圖并觀察計算,得到眼圖的技術指標參數:眼高(兩個上升電平與下降電平交叉點在時間上的跨度)、眼寬(高電平與低電平在電勢上的跨度)、上升時間(信號從低電平上升到高電平在時間上的跨度)、下降時間(信號從高電平下降到低電平在時間上的跨度)、抖動(信號在時序上的誤差)。
2)對每一個單個維度設置評分標準,設定判斷閾值,對所有的單個維度進行評分。其標準基于現場對系統的需求,并不是固定的,這樣做的目的是最大程度保證物理層測試的針對性,對于不同應用場景的以太網給出不同的評價標準。
3)基于各個維度評價結果,得到該物理層測試進行總體評價。
計算綜合評分部分流程圖如圖8所示。

圖8 計算綜合評分部分流程圖
基于一些一般工業環境對以太網需求的經驗,這里給出各技術指標的參考值如表3。

表3 測試評分技術指標參考值
值得注意的是,對于不同工業環境的使用傾向,需要相關從業人員根據經驗對以上參考值進行針對性修改,以期得到該工業環境最具針對性的以太網物理層測試評分方法。
對一物理鏈路完好的百兆以太網物理層使用本論文的測試方法進行仿真測試。
依照上述的測試方法,先采集電信號,確定電信號電平的最高值和最低值劃分兩者之間的電平值為500個區間,繪制水平直方圖。觀察水平直方圖得到本次測試的三個峰值電平V_n,V_0,V_p,通過上述公式計算交叉電平V_n_coss,V_P_coss。
設置4個觸發器,將3電平眼圖分解成上下兩個眼圖。信號通過交叉電平V_p_coss時,0到1觸發器或1到0觸發器觸發,記錄8 ns(一個周期)波形于上眼圖;信息為“0”時,電平保持不變,記錄8 ns(一個周期)波形于前一記錄的眼圖。重復記錄信號,最終繪制出上眼圖如圖9。

圖9 物理鏈路完好的測試上眼圖
依照上述方法,對上眼圖繪制水平直方圖,將水平直方圖兩峰值做差,得到上眼圖的眼高并記錄;以“0”電平為目標電平,繪制垂直直方圖,將垂直直方圖上相鄰的兩個峰值做差,得到上眼圖的眼寬并記錄;以低電平上升20%處的電平為目標電平,繪制垂直直方圖并記錄第一個峰值處的時間,再以低電平上升80%處的電平為目標電平,繪制垂直直方圖并記錄第一個峰值處的時間,將兩個峰值處時間做差,得到上眼圖的上升時間并記錄;以高電平下降20%處的電平為目標電平,繪制垂直直方圖并記錄第一個峰值處的時間,再以高電平下降80%處的電平為目標電平,繪制垂直直方圖并記錄第一個峰值處的時間,將兩個峰值處時間做差,得到上眼圖的下降時間并記錄;再以“0”電平為目標電平,繪制垂直直方圖,對直方圖進行標準差計算,得到上眼圖的抖動并記錄。
將上述計算的5個技術指標做表,如表4。

表4 物理鏈路完好的測試上眼圖技術指標值
信號通過交叉電平V_n_coss時,0到-1觸發器或-1到0觸發器觸發,記錄8 ns(一個周期)波形于下眼圖;信息為“0”時,電平保持不變,記錄8 ns(一個周期)波形于前一記錄的眼圖。重復記錄信號,最終繪制出下眼圖如圖10。

圖1 MLT-3編碼規則解析圖

圖10 物理鏈路完好的測試下眼圖
依照上述方法,對下眼圖繪制水平直方圖,將水平直方圖兩峰值做差,得到下眼圖的眼高并記錄;以“0”電平為目標電平,繪制垂直直方圖,將垂直直方圖上相鄰的兩個峰值做差,得到下眼圖的眼寬并記錄;以低電平上升20%處的電平為目標電平,繪制垂直直方圖并記錄第一個峰值處的時間,再以低電平上升80%處的電平為目標電平,繪制垂直直方圖并記錄第一個峰值處的時間,將兩個峰值處時間做差,得到下眼圖的上升時間并記錄;以高電平下降20%處的電平為目標電平,繪制垂直直方圖并記錄第一個峰值處的時間,再以高電平下降80%處的電平為目標電平,繪制垂直直方圖并記錄第一個峰值處的時間,將兩個峰值處時間做差,得到下眼圖的下降時間并記錄;再以“0”電平為目標電平,繪制垂直直方圖,對直方圖進行標準差計算,得到下眼圖的抖動并記錄。
將上述計算的5個技術指標做表,如表5。

表5 物理鏈路完好的測試下眼圖技術指標值
以表3為技術指標參考值,觀察到實驗測試結果基本與之吻合。
對一接頭處屏蔽失效鏈路的百兆以太網物理層使用本論文的測試方法進行仿真測試。
依照上述的測試方法,先采集電信號,確定電信號電平的最高值和最低值劃分兩者之間的電平值為500個區間,繪制水平直方圖。觀察水平直方圖得到本次測試的三個峰值電平V_n,V_0,V_p,通過上述公式計算交叉電平V_n_coss,V_P_coss。
設置4個觸發器,將3電平眼圖分解成上下兩個眼圖。信號通過交叉電平V_p_coss時,0到1觸發器或1到0觸發器觸發,記錄8 ns(一個周期)波形于上眼圖;信息為“0”時,電平保持不變,記錄8 ns(一個周期)波形于前一記錄的眼圖。重復記錄信號,最終繪制出上眼圖如圖11。

圖11 接頭處屏蔽失效鏈路的測試上眼圖
依照上述方法,對上眼圖繪制水平直方圖,將水平直方圖兩峰值做差,得到上眼圖的眼高并記錄;以“0”電平為目標電平,繪制垂直直方圖,將垂直直方圖上相鄰的兩個峰值做差,得到上眼圖的眼寬并記錄;以低電平上升20%處的電平為目標電平,繪制垂直直方圖并記錄第一個峰值處的時間,再以低電平上升80%處的電平為目標電平,繪制垂直直方圖并記錄第一個峰值處的時間,將兩個峰值處時間做差,得到上眼圖的上升時間并記錄;以高電平下降20%處的電平為目標電平,繪制垂直直方圖并記錄第一個峰值處的時間,再以高電平下降80%處的電平為目標電平,繪制垂直直方圖并記錄第一個峰值處的時間,將兩個峰值處時間做差,得到上眼圖的下降時間并記錄;再以“0”電平為目標電平,繪制垂直直方圖,對直方圖進行標準差計算,得到上眼圖的抖動并記錄。
將上述計算的5個技術指標做表,如表6。

表6 接頭處屏蔽失效鏈路的測試上眼圖技術指標值
信號通過交叉電平V_n_coss時,0到-1觸發器或-1到0觸發器觸發,記錄8 ns(一個周期)波形于下眼圖;信息為“0”時,電平保持不變,記錄8 ns(一個周期)波形于前一記錄的眼圖。重復記錄信號,最終繪制出下眼圖如圖12。

圖12 接頭處屏蔽失效鏈路的測試下眼圖
依照上述方法,對下眼圖繪制水平直方圖,將水平直方圖兩峰值做差,得到下眼圖的眼高并記錄;以“0”電平為目標電平,繪制垂直直方圖,將垂直直方圖上相鄰的兩個峰值做差,得到下眼圖的眼寬并記錄;以低電平上升20%處的電平為目標電平,繪制垂直直方圖并記錄第一個峰值處的時間,再以低電平上升80%處的電平為目標電平,繪制垂直直方圖并記錄第一個峰值處的時間,將兩個峰值處時間做差,得到下眼圖的上升時間并記錄;以高電平下降20%處的電平為目標電平,繪制垂直直方圖并記錄第一個峰值處的時間,再以高電平下降80%處的電平為目標電平,繪制垂直直方圖并記錄第一個峰值處的時間,將兩個峰值處時間做差,得到下眼圖的下降時間并記錄;再以“0”電平為目標電平,繪制垂直直方圖,對直方圖進行標準差計算,得到下眼圖的抖動并記錄。
將上述計算的5個技術指標做表,如表7。

表7 接頭處屏蔽失效鏈路的測試下眼圖技術指標值
以表3為技術指標參考值,觀察到實驗測試結果基本與之相差甚遠。
出于解決目前工業用以太網缺乏優質的物理層測試方法的困境這一目的,本文提出了一種新的以太網物理層測試方法,詳細介紹了如何將MLT-3編碼信號產生的3電平眼圖分解成有行業通用測量方法的兩電平眼圖,并介紹了如何通過兩電平眼圖的各項指標值最終對當前以太網物理層的質量進行綜合評價。
本文提出的測試方法其應用場景是實際工業環境已部署的以太網環境,而非實驗室的測試環境。基于此采用的便攜式低成本測試設備存在著算力不高、采樣率不高的問題,會對測試產生一定的影響,有待進一步改進。