背景車載以太網的出現背景樓主就不多做贅述了,,其實主要是因汽車E/E架構和功能的復雜度提升而帶來的對車輛數據傳輸帶寬提高和通訊方式改變(基于服務的通訊-SOA)的需求。 就目前汽車總線的應用情況,,成本低,、可靠性高、應用普遍的有Lin,、CAN通訊,,CAN FD也是最近幾年才逐漸得到應用,而FlexRay,、車載Ethernet等基于成本因素,,目前主要在高端車型中使用。 其中樓主之前介紹的FlexRay后續(xù)得到普遍應用的可能性樓主認為不是很大,,首先成本方面與車載以太網差不多而通訊速率又遠低于它,,而伴隨著未來智能化、網聯(lián)化的趨勢,,車載Ethernet在未來得到推廣的可能性要比FlexRay高很多,。需要注意的是CAN FD在市場推廣實施還沒有幾年,第三代CAN總線-CAN XL也即將登場,,CAN XL傳輸速率將達到10Mbit/s,,可填補CAN FD和百兆車載以太網(100BASE-T1)之間的鴻溝,,從這點也可以看出車載通訊的快速發(fā)展及對通訊帶寬的越來越高的要求,同時也可從另一方面說明FlexRay的尷尬,。當然所有總線的應用都是分所在的域和場景的,,例如對于安全要求很高的場合,采用了基于時間觸發(fā)機制的FlexRay因實時性和確定性更高則更合適,。 標準在車載網絡方面,,玩家是很多的,也推出了各自的標準,,如下: 其中OPEN Alliance和電氣與電子工程師協(xié)會(IEEE)制定的標準是車載以太網領域比重最大和應用最廣泛的,,例如我們熟知的100BASE-T1和1000BASE-T1。 自1980年以來,,IEEE一直負責以太網的維護,、開發(fā)和標準化。盡管各個公司都可提供專有的以太網解決方案,,但大多數時候公司都會交給IEEE進行標準化以確保更廣泛的應用。802工作組則專門負責以太網,,因此,,所有與以太網相關的標準都以802開頭(例如,IEEE 802.1,,IEEE 802.2,,IEEE 802.3等)。 OPEN Alliance SIG是由汽車制造商和供應商組成的聯(lián)盟,,目的是促進以太網在汽車工業(yè)中的進一步發(fā)展,。OPEN Alliance SIG與IEEE合作,將汽車以太網轉換為通用標準,。就目前的車載以太網標準方面,,主流標準的是如下幾個,目前主要是第二個100BASE-T1:用單對雙絞線實現100Mbit/s的數據傳輸,,走的靠前的OEM則使用更快的千兆以太網,。 車載以太網的網絡分層和拓撲OSI七層網絡模型(OSI=Open SystemsInterconnection)是互聯(lián)網發(fā)展過程中一個很重要的模型。OSI是一個開放性的通信系統(tǒng)互連參考模型,,其含義就是建議所有公司使用這個規(guī)范來控制網絡,。只有統(tǒng)一通信規(guī)范時,才能實現真正的互聯(lián)化,。OSI 七層模型及通信互聯(lián)的傳輸過程,,如下圖所示: OSI 七層網絡模型是一個理想的網絡參考模型,TCP/IP模型是已經被實際廣泛應用于因特網的網絡分層模型,。TCP/IP 模型沒有對 OSI 的 5~7 層做嚴格區(qū)分,,統(tǒng)稱為應用層。 車載以太網是基于 TCP/IP 的網絡分層模型,并由 OPEN 和 AUTOSAR 等聯(lián)盟對以太網相關協(xié)議進行了規(guī)范和補充,。 以太網的網絡拓撲結構有點對點形式,、類似于CAN或LIN的總線形式、鏈式和星型等形式: 也有由上面幾種形式的組合形式: 當然現在多個節(jié)點的車載以太網的互聯(lián)互通需要交換機Switch,,Switch的作用如下: 車載以太網的物理連接從硬件的角度看,,以太網接口電路主要由MAC(Media Access Control)控制器和物理層接口PHY(Physical Layer,PHY)兩大部分構成,,如下圖所示: MAC及PHY工作在OSI七層模型的數據鏈路層和物理層,,如下 PHY和MAC之間是如何傳送數據和相互溝通的呢?MAC與PHY之間通過兩個接口連接,,分別為SMI接口和MII接口,。 MII(Media Independent Interface)即媒體獨立接口,MII接口是MAC與PHY連接的標準接口,,以太網MAC通過該接口發(fā)出數據幀經過PHY后傳輸到其他網絡節(jié)點上,,同時其他網絡節(jié)點的數據先經過PHY后再由MAC接收。MII是IEEE-802.3定義的以太網行業(yè)標準,,MII接口提供了MAC與PHY之間,、PHY與STA(Station Management)之間的互聯(lián)技術,該接口支持10Mb/s與100Mb/s的數據傳輸速率,,數據傳輸的位寬為4位,。'媒體獨立'表明在不對MAC硬件重新設計或替換的情況下,任何類型的PHY設備都可以正常工作,。802.3協(xié)議最多支持32個PHY,,但有一定的限制:要符合協(xié)議要求的connector特性。 SMI叫串行管理接口,,以太網MAC通過該接口可以訪問PHY的寄存器,,通過對這些寄存器操作可對PHY進行控制和管理。SMI接口包括MDIO(控制和管理PHY以獲取PHY的狀態(tài))和MDC(為MDIO提供時鐘),。MDC由MAC提供,,MDIO是一根雙向的數據線。用來傳送MAC層的控制信息和物理層的狀態(tài)信息,。MDIO數據與MDC時鐘同步,,在MDC上升沿有效。 由此可見,,MAC 和PHY,,一個是數據鏈路層,一個是物理層,;兩者通過MII傳送數據,。 因此Ethernet的接口實質是MAC通過MII總線控制PHY的過程,。 MII接口后續(xù)又衍生了很多其他版本,如RMII,、GMII,、SGMII、RGMII等,。這里簡要介紹其中的MII和RMII,,如下圖所示。MII共使用了16根線,。其中CRS與COL只在半雙工模式有效,,而車載以太網固定工作在全雙工模式下,故應用在汽車環(huán)境需要14根線,。 RMII是精簡版的MII,,數據發(fā)送接收均為兩根,相比MII減少了4根,,另外它整合或減去了一些線,,最終RMII只有8根線RMII的接口如下: 在實際的設計中,以上三部分并不一定獨立分開的,。由于,,PHY整合了大量模擬硬件,而MAC是典型的全數字器件,。考慮到芯片面積及模擬/數字混合架構的原因,,通常,,將MAC集成進微控制器而將PHY留在片外。更靈活,、密度更高的芯片技術已經可以實現MAC和PHY的單芯片整合,,可分為下列幾種類型: CPU集成MAC與PHY,目前來說并不多見: CPU集成MAC,,PHY采用獨立芯片,,這種在車載以太網上是主流方式,因嵌入式芯片廠商一般都將MAC集成在MCU內部,,而PHY芯片則由OEM或控制器供應商自己選擇: CPU不集成MAC與PHY,,MAC與PHY采用集成芯片。這種在消費用以太網上比較比較常見,,如電腦的網卡有這種方式的,。 在以太網連接線束上,車載以太網與消費用以太網也是不同的,,首先消費用以太網的標準主要采用10BASE-2,、10/100BASE-TX和1000BASE-T,,其中1000BASE-T是使用RJ45接口,需要四對雙絞線共8根線進行數據傳輸,,而10/100BASE-TX則是只使用四對雙絞線其中的兩對共4根線進行數據傳輸,,如下是100BASE-TX的示意圖(使用了兩對雙絞線)。 在很早之前的10BASE-2則是同軸電纜進行數據傳輸,,因此消費類以太網采用線束總結如下: 而車載以太網一般都基本采用帶T1的標準,,如IEEE 100BASE-T1(以前稱為OABR)、IEEE 1000BASE-T1,,這些都使用一對雙絞線共兩根線進行數據傳輸: 其次在編碼方式上,,1000BASE-T主要采用PAM5的編碼方式: 而車載以太網100BASE-T1和1000BASE-T1主要采用PAM3的編碼方式。 從上面可知,,車載以太網主要采用基于一對雙絞線進行數據傳輸的100BASE-T1或1000BASE-T1標準,,而我們電腦則使用RJ45接口采用基于4對雙絞線進行數據傳輸的1000BASE-TX標準,因此當我們用電腦測量控制器以太網時,,有時需要轉換器,,如下: 車載以太網幀結構以太網幀的格式如下: 以太幀有多種類型,不同類型的幀具有不同的格式和MTU值,,但在同種物理媒體上都可同時存在,。常見有兩種幀格式,第一種是上世紀80年代初提出的DIX v2格式,,即Ethernet II幀格式,。Ethernet II后來被IEEE802標準接納,并寫進了IEEE802.3x-1997的3.2.6節(jié),。 第二種是1983年提出的IEEE802.3格式,。 這兩種格式的主要區(qū)別在于,Ethernet II格式中包含一個Type字段,,標識以太幀處理完成之后將被發(fā)送到哪個上層協(xié)議進行處理,。IEEE802.3格式中,同樣的位置是長度字段,。 不同的Type字段值可以用來區(qū)別這兩種幀的類型,,當Type字段值小于等于1500(或者十六進制的0x05DC)時,幀使用的是IEEE802.3格式,。當Type字段值大于等于1536(或者十六進制的0x0600)時,,幀使用的是Ethernet II格式。以太網中大多數的數據幀使用的是Ethernet II格式,。 以太幀中還包括源和目的MAC地址,,分別代表發(fā)送者的MAC和接收者的MAC,此外還有幀校驗序列字段,,用于檢驗傳輸過程中幀的完整性,。 汽車行業(yè)通常使用Ethernet II格式,,該格式還可包含VLAN信息作為擴展,因此,,又分基本MAC幀(無VLAN)和標記MAC幀(包括VLAN)兩種,。 MAC addresses: Ethernet II幀通常以接收者目標地址開頭。 作用是指定要接收消息的網絡節(jié)點,。 與隨后的發(fā)送者源地址相反,,除單播地址外,還可以使用多播或廣播地址,。對于以太網幀,,只能有一個發(fā)送方,但可以有多個接收方,。 Ether type: 基本和標記的MAC幀通過類型字段(以太類型)進行區(qū)分,。 這通常標識有效載荷數據區(qū)域中包含的分組,并給出有關較高層中使用的協(xié)議(例如,,IPv4)的信息,。如果以太類型的值為0x8100,則將類型字段向后移四個字節(jié),,并在其原始位置插入一個VLAN標簽,。 VLAN Tag:VLAN標簽由協(xié)議標識符(TPID)和控制信息(TCI)組成。 TPID包含原始類型字段的值,,而TCI由優(yōu)先級(PCP),,符合丟棄要求或規(guī)范的形式指示符(DEI或CFI)和標識符(VID)組成。標識符和優(yōu)先級主要用于汽車行業(yè),。標識符區(qū)分不同應用區(qū)域的相應虛擬網絡,。優(yōu)先級允許通過交換機優(yōu)化運行時間,以便優(yōu)先轉發(fā)重要信息,。 Payload:在類型字段之后,,以太幀包含有效載荷數據區(qū)域,。 有效負載的最小長度為不帶VLAN標記的46字節(jié)或帶VLAN標記的42字節(jié), 在汽車工業(yè)中,,它最多可以包含1500個字節(jié)。 CRC校驗:CRC校驗在以太幀的末尾發(fā)送,。 校驗中包含的值是使用標準化算法計算的,,該算法在發(fā)送方和接收方中以相同的方式實現。該計算是在以太幀的所有字段中進行的,,因此可以確保整個消息的完整性,。 以太網Packet: 對于以太網II幀的傳輸,以太網控制器在開頭插入前同步碼和起始幀定界符(SFD),用于指示傳輸開始,。前同步碼,,開始幀定界符和以太幀的組合稱為以太網數據包,。 車載以太網幀傳輸過程上面我們已經提到,車載以太網是基于TCP/IP的網絡模型,,因此我們先不考慮應用層數據是根據哪種應用層協(xié)議組織的,,從應用層來的數據,經過傳輸層會加上TCP/UDP報頭,,再到網絡層的IP報頭,,然后到鏈路層增加MAC地址等信息,最后由PHY轉換成線路上的二進制流實現在發(fā)送端和接收端的數據傳輸,。 其中上面傳輸層的TCP協(xié)議和網絡層的IP協(xié)議,,樓主在本篇文章中就不過多贅述了,大家感興趣的請自行查詢了解,。而應用層協(xié)議有不少,,例如DoIP、DHCP,、SOME/IP等,,而最重要的車載以太網應用層協(xié)議主要是SOME/IP協(xié)議,關于這部分的闡述樓主放到下一篇,。 參考文獻: 1,、Ethernet introduction(BOSCH、Tektronix,、Vector,、CSDN等資料) |
|