車載以太網基礎知識介紹(MAC/PHY/MII解釋對比)

衆所周知,汽車無人駕駛已成爲汽車發展的一種趨勢,它對汽車ECU系統數量和質量有了更大的需求。目前主流的電子架構體系已逐漸顯露出不足,而車載以太網因其具衆多優點,必然會在汽車車載網絡中普遍應用。本文將從入門者的角度,講解車載以太網中的重要知識。

一、車載以太網的組成

車載以太網用於連接汽車內不同電氣設備的一種網絡,從而滿足車載環境中一些特殊需求,它與傳統以太網不盡相同,車載以太網主要由MAC(介質訪問控制)、PHY(物理接口收發器)組成,與傳統以太網不同,車載以太網固定爲全雙工通信方式,出於對汽車啓動時間的考慮而沒有引入自動協商機制,此外車載以太網是通過單對非屏蔽或屏蔽電纜連接,與之對應的100M的MDI接口爲100Base-T1,以此滿足EMC要求。

車載以太網主要工作在OSI的最後兩層:物理層和數據鏈路層。

  • 物理層定義了數據傳送與接收所需要的電與光信號、線路狀態、時鐘基準、數據編碼和電路等,並向數據鏈路層設備提供標準接口。物理層的芯片稱之爲PHY;
  • 數據鏈路層則提供尋址機構、數據幀的構建、數據差錯檢查、傳送控制、向網絡層提供標準的數據接口等功能。數據鏈路層的芯片稱之爲MAC控制器;

很多時候,這兩個部分是做到一起的,他們之間的關係是MCU/MPU接到MAC總線、MAC接PHY、PHY接網線(當然也不是直接接上的,還有一個變壓裝置)。

1、MAC介紹

MAC(Media Access Control)即媒體訪問控制子層協議,該部分有兩個概念:MAC可以是一個硬件控制器,也可以指MAC通信及協議。它位於OSI七層模型中數據鏈路層的下半部分,主要負責控制與連接物理層的物理介質,它一端通過總線連接MCU/MPU,另一端通過MII連接到PHY。MAC硬件大約就是下面的樣子了:
在這裏插入圖片描述
在發送數據時,MAC協議會判斷當前是否適合發送數據,若能,它會在將要發送的數據上附加一些控制信息,最終使數據以規定的格式到達物理層;在接收數據時,它會判斷數據是否有錯誤,如果沒有錯誤的話,它會去掉附加的控制信息發送至LCC(邏輯鏈路控制)子層。所以說,以太網數據鏈路層其實包含MAC(介質訪問控制)子層和LLC(邏輯鏈路控制)子層這兩層。

MAC從總線收到IP數據包(或者其他網絡層協議的數據包)後,將之拆分並重新打包成最大1518Byte、最小64Byte的幀。這個幀裏面包括了目標MAC地址、自己的源MAC地址和數據包裏面的協議類型(比如IP數據包的類型用80表示),最後還有一個DWORD(4Byte)的CRC碼。

2、PHY介紹

PHY(Physical Layer,物理層)是IEEE802.3中定義的一個標準模塊,STA(station management entity,管理實體,一般爲MAC或CPU)通過SMI(Serial Manage Interface)對PHY的行爲、狀態進行管理和控制,而具體管理和控制動作是通過讀寫PHY內部的寄存器實現的。一個PHY的基本結構如下圖:
在這裏插入圖片描述
PHY是物理接口收發器,它實現OSI模型的物理層。IEEE-802.3標準定義了以太網PHY包括MII/GMII(介質獨立接口)子層、PCS(物理編碼子層)、PMA(物理介質附加)子層、PMD(物理介質相關)子層、MDI子層。

PHY在發送數據的時候,收到MAC過來的數據(對PHY來說,沒有幀的概念,對它來說都是數據,而不管什麼地址、數據還是CRC),然後把並行數據轉化爲串行流數據,再按照物理層的編碼規則把數據編碼,再變爲模擬信號把數據送出去。收數據時的流程反之。

PHY還有個重要的功能就是實現CSMA/CD的部分功能。它可以檢測到網絡上是否有數據在傳送,如果有數據在傳送中就等待,一旦檢測到網絡空閒,再等待一個隨機時間後將送數據出去。如果兩個碰巧同時送出了數據,那樣必將造成衝突。這時候,衝突檢測機構可以檢測到衝突,然後各等待一個隨機的時間重新發送數據。這個隨機時間很有講究的,並不是一個常數,在不同的時刻計算出來的隨機時間都是不同的,而且有多重算法來應付出現概率很低的同兩臺主機之間的第二次衝突。

二、MAC與PHY的接口連接

那麼,PHY和MAC之間是如何傳送數據和相互溝通的呢?

MAC與PHY之間通過兩個接口連接,分別爲SMI接口和MII接口。

  • MII叫做介質獨立接口,以太網MAC通過該接口發出數據幀經過PHY後傳輸到其他網絡節點上,同時其他網絡節點的數據先經過PHY後再由MAC接收;
  • SMI叫做是串行管理接口,以太網MAC通過該接口可以訪問PHY的寄存器,通過對這些寄存器操作可對PHY進行控制和管理。

SMI接口包括MDIO(控制和管理PHY以獲取PHY的狀態)和MDC(爲MDIO提供時鐘)。MDC由MAC提供,MDIO是一根雙向的數據線。用來傳送MAC層的控制信息和物理層的狀態信息。MDIO數據與MDC時鐘同步,在MDC上升沿有效。

MII接口有MII、RMII、SMII、SSMII、SSSMII、GMII、SGMII、RGMII等。這裏簡要介紹其中的MII和RMII,如下圖所示。
在這裏插入圖片描述
圖1 MII接口

MII共使用了16根線。其中CRS與COL只在半雙工模式有效,而車載以太網固定工作在全雙工模式下,故應用在汽車環境需要14根線。
在這裏插入圖片描述
圖2 RMII接口

RMII:精簡版的MII,數據發送接收均爲兩根,相比MII減少了4根,另外它整合或減去了一些線,最終RMII只有8根線。

三、PHY的常用功能解讀

1.PHY的迴環模式

爲了診斷以太網工作時出現的問題,需要給問題定位,PHY的迴環模式就是起着這樣的作用,迴環是指數據從一端發送經過一段路徑後又回到該端,相當於自發自收,一般PHY都有三種迴環模式,分別爲內部迴環,外部迴環和遠程迴環,它們的迴環路徑不同。下面簡要介紹下這三種迴環模式。

①.內部迴環

在內部迴環模式,PCS接收模塊直接從PCS發送模塊獲得數據,如圖3所示。此操作允許MAC將通過MII發送功能發送的數據包與從MII接收功能接收的數據包進行比較,因此,驗證100Base-T1 PCS的狀態。
在這裏插入圖片描述
圖3 內部迴環

②.外部迴環

在外部迴環模式下,PMA接收模塊直接從PMA發送模塊接收信號,如圖4所示。這種外部迴環測試允許MAC將通過MII發送功能發送的數據包與從MII接收功能接收的數據包進行比較,因此,驗證100Base-T1 PCS和PMA的狀態。
在這裏插入圖片描述
圖4 外部迴環

③.遠程迴環

在遠程迴環模式下,MDI上鍊接夥伴接收的數據包通過PMA接收和PCS接收模塊傳送到PCS發送模塊,後者又將其發送回鏈接夥伴。PCS接收數據可在MII上獲得。遠程迴環允許MAC將發送到MDI的數據包與從MDI接收回的數據包進行比較,從而驗證物理信道的狀態,包括100Base-T1 PHY。如圖5所示。
在這裏插入圖片描述
圖5 遠程迴環

2.PHY的電源模式

爲了進一步降低系統功耗,一些PHY都支持多種電源模式,主要包括正常模式、待機模式和睡眠模式。
以太網要正常建立連接,PHY必須處於正常模式,在PHY上電後,一般不會馬上就工作在正常模式,而是待機模式。在待機模式下,PHY的ECU主電源被激活,功耗相對睡眠模式略高,睡眠模式是PHY工作功耗最低的模式,如果網絡中暫時不需要節點的功能,可使節點工作在睡眠模式,在睡眠模式下,此時節點可斷電整個ECU,除了喚醒檢測外,關閉所有內部功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章