近些年來(lái),隨著為了讓汽車(chē)更加安全、智能、環(huán)保等,一系列的高級(jí)輔助駕駛功能?chē)娪慷?。未?lái)滿足這些需求,就對(duì)傳統(tǒng)的電子電器架構(gòu)帶來(lái)了嚴(yán)峻的考驗(yàn),需要越來(lái)越多的電子部件參與信息交互,導(dǎo)致對(duì)網(wǎng)絡(luò)傳輸速率,穩(wěn)定性,負(fù)載率等方面都提出了更為嚴(yán)格的挑戰(zhàn)。
除此以外,隨著人們對(duì)汽車(chē)多媒體以及影音系統(tǒng)的需求越來(lái)越高,當(dāng)前雖已有各式各樣的音視頻系統(tǒng),可隨著汽車(chē)電動(dòng)化進(jìn)程的加速推進(jìn),手機(jī)控制車(chē)輛以及彼此交互的場(chǎng)景不斷擴(kuò)大,可以想象未來(lái)聯(lián)網(wǎng)需求只會(huì)不斷拓展,無(wú)論是車(chē)內(nèi)還是車(chē)外的聯(lián)網(wǎng)需求都不約而同的提出了更多網(wǎng)絡(luò)帶寬的重要性。
為此,車(chē)載以太網(wǎng)應(yīng)運(yùn)而生。首先以太網(wǎng)的首要優(yōu)勢(shì)之一在于支持多種網(wǎng)絡(luò)介質(zhì),因此可以在汽車(chē)領(lǐng)域進(jìn)行使用;同時(shí)由于物理介質(zhì)與協(xié)議無(wú)關(guān),因此可以在汽車(chē)領(lǐng)域可以做相應(yīng)的調(diào)整與拓展,形成一整套車(chē)載以太網(wǎng)協(xié)議,該協(xié)議將會(huì)在未來(lái)不斷發(fā)展并長(zhǎng)期使用。
今天,我們來(lái)一起探索車(chē)載以太網(wǎng)協(xié)議的基本面貌。為了便于大家理解,以下是本文的主題大綱:
自1980年至今,IEEE組織、OPEN Aliance SIG組織、寶馬、博通公司等為傳統(tǒng)以太網(wǎng)到汽車(chē)領(lǐng)域的應(yīng)用拓展發(fā)揮了十分關(guān)鍵的作用,重要里程碑事件記錄如下:
1980年,Ethernet 1.0成功發(fā)布;
1985年,IEEE 802小組公布802.3協(xié)議,推出了基于CSMA/CD的10M以太網(wǎng)技術(shù);
2004年,BMW公司考慮采用博通公司的以太網(wǎng)技術(shù)并于2008年在寶馬7系上成功量產(chǎn)以太網(wǎng)刷寫(xiě)技術(shù),其中關(guān)鍵點(diǎn)在于博通公司的單對(duì)非屏蔽以太網(wǎng)全雙工技術(shù),并保證EMC測(cè)試全部PASS;
2013年,BroadR-reach技術(shù)成功在寶馬5系的環(huán)視系統(tǒng)中成功量產(chǎn);
近年來(lái)由著名汽車(chē)整車(chē)廠與供應(yīng)商組成的OPEN Aliance SIG相繼發(fā)布了TC8(車(chē)載以太網(wǎng)ECU測(cè)試規(guī)范)以及TC10(車(chē)載以太網(wǎng)休眠喚醒規(guī)范),同時(shí)攜手IEEE將車(chē)載以太網(wǎng)標(biāo)準(zhǔn)轉(zhuǎn)化為通用標(biāo)準(zhǔn)。
正由于上述IEEE組織,OPEN Aliance SIG組織, AVNU組織,AUTOSAR組織的共同發(fā)展與合作,進(jìn)而規(guī)范了車(chē)載以太網(wǎng)符合OSI模型的整體架構(gòu),如下圖1所示:
首先針對(duì)圖1中AVNU,IEEE,AUTOSAR以及OPEN Aliance SIG組織做簡(jiǎn)要介紹,以便能夠較為清晰地了解各組織在車(chē)載以太網(wǎng)總體架構(gòu)的主要貢獻(xiàn)及主要目標(biāo)。
AVNU: 致力于推進(jìn)AVB/TSN時(shí)間敏感網(wǎng)絡(luò)在汽車(chē)領(lǐng)域的應(yīng)用,使以太網(wǎng)成為一種時(shí)間確定性的實(shí)時(shí)網(wǎng)絡(luò);
IEEE: 電氣與電子工程師協(xié)會(huì),其中802.3工作小組致力于推進(jìn)以太網(wǎng)相關(guān)標(biāo)準(zhǔn)的制定與完善;
AUTOSAR: 汽車(chē)開(kāi)放式系統(tǒng)架構(gòu)組織,致力于實(shí)現(xiàn)汽車(chē)軟硬之間解耦的標(biāo)準(zhǔn)同時(shí)也為車(chē)載以太網(wǎng)軟件層級(jí)作出了相關(guān)規(guī)范說(shuō)明;
OPEN Aliance SIG: 為非盈利性的汽車(chē)行業(yè)和技術(shù)聯(lián)盟,旨在鼓勵(lì)大規(guī)模使用以太網(wǎng)作為車(chē)聯(lián)網(wǎng)標(biāo)準(zhǔn);
同時(shí),從上圖中可以看出標(biāo)記為“IT”則為傳統(tǒng)以太網(wǎng)技術(shù)協(xié)議規(guī)范,而標(biāo)記為“Automotive”則為車(chē)載以太網(wǎng)技術(shù)協(xié)議規(guī)范。
顯而易見(jiàn),除了物理層、UDP-NM、DOIP、SOME/IP、SD這五個(gè)模塊為車(chē)載以太網(wǎng)技術(shù)協(xié)議規(guī)范之外,其余均為傳統(tǒng)以太網(wǎng)技術(shù)。
車(chē)載以太網(wǎng)與傳統(tǒng)以太網(wǎng)相比,車(chē)載以太網(wǎng)僅需要使用1對(duì)雙絞線,而傳統(tǒng)以太網(wǎng)則需要多對(duì),線束較多。
同時(shí),傳統(tǒng)以太網(wǎng)一般使用RJ45連接器連接,而車(chē)載以太網(wǎng)并未指定特定的連接器,連接方式更為靈活小巧,能夠大大減輕線束重量。除此以外,車(chē)載以太網(wǎng)物理層需滿足車(chē)載環(huán)境下更為嚴(yán)格的EMC要求,對(duì)于非屏蔽雙絞線的傳輸距離可達(dá)15m(屏蔽雙絞線可達(dá)40m)。
雖然車(chē)載以太網(wǎng)只采用單對(duì)差分電壓傳輸?shù)碾p絞線,但是100M/s以太網(wǎng)可以通過(guò)回音消除技術(shù)來(lái)實(shí)現(xiàn)全雙工通信。下面就通過(guò)表格形式列舉出當(dāng)前主流的物理層標(biāo)準(zhǔn):
從上表可知,當(dāng)下主流的車(chē)載以太網(wǎng)協(xié)議主要為IEEE 100BASE-T1以及IEEE 1000BASE-T1,常規(guī)使用可采用100BASE-T1,如果需要更高帶寬,可選擇1000BASE-T1。
不過(guò)因?yàn)樗俾试礁?,?duì)車(chē)載以太網(wǎng)物理層一致性測(cè)試就更為嚴(yán)格。
其中以太網(wǎng)所有物理層的功能全部集中在一個(gè)稱(chēng)為“PHY”的模塊中,它將以太網(wǎng)控制器以及物理介質(zhì)連接在一起,并且通過(guò)一個(gè)標(biāo)準(zhǔn)化接口MII連接,同時(shí)PHY模塊與底層介質(zhì)通過(guò)MDI接口連接,以100BSASE-T1所示,如下圖2所示:
模塊接口定義見(jiàn)上圖2,具體有關(guān)PHY模塊的內(nèi)容在此不做展開(kāi),后續(xù)會(huì)單獨(dú)專(zhuān)題講解奉上,敬請(qǐng)關(guān)注!
數(shù)據(jù)鏈路層可細(xì)分為LLC(Logic Link Control)以及MAC(Media Access Control)兩個(gè)層級(jí)。此兩層級(jí)定義與作用如下:
LLC:負(fù)責(zé)向上層提供服務(wù),管理數(shù)據(jù)鏈路通信,鏈接尋址定義等,與所用物理介質(zhì)沒(méi)有關(guān)系;
MAC:負(fù)責(zé)數(shù)據(jù)幀的封裝,總線訪問(wèn)方式,尋址方式以及差錯(cuò)控制等,MAC層的存在則可以使得上層軟件與所用物理鏈路完全隔離,保證了MAC層的統(tǒng)一性;
其中LLC子層的服務(wù)與服務(wù)在IEEE 802.2 LAN協(xié)議中有所定義,MAC層的主要功能作用則在IEEE 802.3中定義,并采用CSMA/CD訪問(wèn)控制方式,一般MAC層協(xié)議在俗稱(chēng)的“網(wǎng)卡”中實(shí)現(xiàn)。
以太網(wǎng)幀格式
以太網(wǎng)隨著歷史發(fā)展總共存在5種幀格式,不同的以太幀存在不同的類(lèi)型及MTU值(最大傳輸數(shù)據(jù)長(zhǎng)度),且可以在同一物理介質(zhì)上同時(shí)存在。
目前廣泛使用的以太網(wǎng)幀格式主要有2種,分別為Ethernet II幀格式與IEEE802.3幀格式。其中車(chē)載以太網(wǎng)主要采用Ethernet II幀格式。
完整Ethernet II幀格式
完整IEEE802.3幀格式
如上圖3與圖4進(jìn)行對(duì)比可知,Ethernet II幀格式中的“類(lèi)型”位置被802.3幀格式的“長(zhǎng)度”所替代。上述不同字段的具體含義如下表2所示:
特別的,我們可以通過(guò)判別“類(lèi)型/長(zhǎng)度”字段來(lái)進(jìn)一步判斷當(dāng)前幀的類(lèi)型。若該字段值小于等于0x5DC,那么該幀為IEEE 802.3格式,若該字段值大于等于0x600,則該幀為Ethernet II幀格式。
同時(shí)需要注意Ethernet II幀格式并沒(méi)有LLC子層的概念,只有MAC層來(lái)處理數(shù)據(jù)服務(wù)等內(nèi)容,而IEEE 802.3則可以。
MAC幀格式
對(duì)于MAC幀格式則是從“目標(biāo)物理地址”開(kāi)始至“幀校驗(yàn)”結(jié)束為一完整的MAC幀。如下圖4所示為MAC的完整幀,包括目標(biāo)物理地址,源物理地址,類(lèi)型/長(zhǎng)度,數(shù)據(jù)以及幀校驗(yàn)CRC組成。
特別地,如圖中4所示,“VLAN Tag”字段可選,當(dāng)沒(méi)有VLAN Flag則為Basic MAC幀,當(dāng)存在該字段時(shí),則為VLAN MAC幀,即MAC幀可分為基本MAC幀(無(wú)VLAN)和標(biāo)記MAC幀(包括VLAN)兩種。
其中“類(lèi)型”字段通??梢詾橐韵聨追N類(lèi)型,且該類(lèi)型列表由IEEE組織來(lái)維護(hù),如下表3所示列舉了車(chē)載以太網(wǎng)領(lǐng)域常用的Ethernet Type:
MAC尋址方式
MAC地址作為每個(gè)以太網(wǎng)接口的固定地址,一般由供應(yīng)商出廠就固定下來(lái)不可更改。地址長(zhǎng)度為6Byte,例如00-17-4F-08-78-88,其中前3個(gè)字節(jié)為組織編號(hào),如下圖5所示為MAC地址的尋址方式以及字節(jié)定義:
如上圖所示:前3個(gè)字節(jié)為組織唯一標(biāo)識(shí)號(hào),由IEEE分配給到網(wǎng)卡生產(chǎn)廠商,其中Byte5/Bit1表示該MAC地址是全球地址還是本地地址,Byte5/Bit 0 用于表示該幀為組播MAC地址,單播地址還是廣播地址;
0:?jiǎn)尾サ刂?1對(duì)1),普通終端設(shè)備接收;
1:組播地址(1對(duì)多),僅交換機(jī)會(huì)接收,普通終端設(shè)備不會(huì)接收;
48個(gè)bit全為1:表示為廣播地址,所有設(shè)備均會(huì)接收;
MAC VLAN
VLAN作為一種分割廣播域的技術(shù)手段,能夠有效降低網(wǎng)絡(luò)不必要的開(kāi)銷(xiāo),全稱(chēng)為虛擬局域網(wǎng)技術(shù)。該技術(shù)分割廣播域的方法有很多種,在此僅簡(jiǎn)要介紹下基于MAC的動(dòng)態(tài)VLAN技術(shù),如下圖6所示:
如上圖所示,ECU1與ECU2被劃分為屬于同一VLAN1,而ECU2與ECU4則被劃分為屬于同一VLAN2。只需要提前配置好各ECU所屬的VLAN即可,基于MAC的VLAN的優(yōu)點(diǎn)在于即使換了連接端口或者交換機(jī)都可以自動(dòng)重新識(shí)別,不需要重復(fù)進(jìn)行配置,主要用于DHCP或者ARP協(xié)議發(fā)送廣播幀的場(chǎng)景。
正如前面所述MAC幀可分為基本MAC幀(無(wú)VLAN)和標(biāo)記MAC幀(包括VLAN)兩種,而如果為如果時(shí)標(biāo)記MAC幀,那么就會(huì)使用到VLAN Tag,同時(shí)“數(shù)據(jù)”字段的最小長(zhǎng)度為不帶VLAN標(biāo)記的46Byte與帶VLAN標(biāo)記的42Byte,因?yàn)閂LAN Tag占用了4個(gè)字節(jié),最大數(shù)據(jù)長(zhǎng)度均為1500Byte。
如下圖7所示則為VLAN Tag的含義說(shuō)明:
如上圖7所示,VLAN Tag總共可以分為以下3個(gè)部分:
PRI(3Bit):幀優(yōu)先級(jí),就是通常所說(shuō)的802.1p;
CFI(1Bit):規(guī)范標(biāo)識(shí)符,0為規(guī)范格式,用于802.3或Ethernet II以太網(wǎng)幀;
VLAN ID:就是VLAN的標(biāo)識(shí)符ID;
網(wǎng)絡(luò)層就是IP協(xié)議所在的層級(jí),IP協(xié)議可以分為IPV4以及IPV6,常用的主要是IPV4,IP協(xié)議的主要作用就是基于IP地址轉(zhuǎn)發(fā)分包數(shù)據(jù)。
同時(shí)IP也是一種分組交換協(xié)議,但是IP卻不具備自動(dòng)重發(fā)機(jī)制,即使數(shù)據(jù)沒(méi)有達(dá)到目的地也不會(huì)進(jìn)行重發(fā),所以IP協(xié)議屬于非可靠性協(xié)議。
車(chē)載以太網(wǎng)主要使用IPV4協(xié)議,同時(shí)由于該協(xié)議也屬于傳統(tǒng)以太網(wǎng)范疇,所以不會(huì)對(duì)該模塊做過(guò)多細(xì)節(jié)性闡述。
IPV4協(xié)議頭
由上可知,IP首部為20Byte。
該協(xié)議頭的各部分解釋如下圖:
IPV6協(xié)議頭
需要注意的是IPv6 數(shù)據(jù)報(bào)文是 IPv4 的 4 倍,IPv6 數(shù)據(jù)報(bào)文主要由兩個(gè)部分組成:Header(首部)和 Payload(負(fù)載)。其中,IPv6 Header 的大小是 IPv4 的 2 倍。該協(xié)議頭的各部分解釋如下圖:
傳輸層的協(xié)議就是TCP/UDP,這兩者協(xié)議彼此獨(dú)立,也可以同時(shí)存在,看具體使用場(chǎng)景需求。TCP/UDP作為傳統(tǒng)以太網(wǎng)的標(biāo)準(zhǔn)協(xié)議,在這里同樣不做過(guò)多展開(kāi),僅整體介紹下TCP與UDP的特點(diǎn)及區(qū)別。
TCP協(xié)議
TCP協(xié)議頭
如下圖13所示為T(mén)CP協(xié)議頭的字段解釋?zhuān)?/p>
TCP建立連接過(guò)程
TCP是面向連接的可靠的網(wǎng)絡(luò)通信,因此要通信雙方建立通信連接,必須經(jīng)過(guò)我們常說(shuō)的“三次握手”才能夠開(kāi)啟以太網(wǎng)通信,如下圖14所示為T(mén)CP的“三次握手”連接過(guò)程。
TCP斷開(kāi)連接過(guò)程
TCP已經(jīng)連接的雙方如果需要斷開(kāi),則需要“四次揮手“來(lái)完成此過(guò)程”,如下圖15所示:
TCP協(xié)議特點(diǎn)
從上述的TCP建立連接以及斷開(kāi)連接的過(guò)程,不難得出TCP是一種面向連接可靠的傳輸層協(xié)議。具體總結(jié)有以下一些特點(diǎn):
面向無(wú)連接,即不需要建立連接便可以直接進(jìn)行通信;
存在單播,多播,廣播的功能;
UDP是面向報(bào)文的,UDP的報(bào)文報(bào)經(jīng)過(guò)IP層不會(huì)進(jìn)行任何拆分或重組;
不可靠性:由于沒(méi)有像TCP的擁塞控制以及出錯(cuò)自動(dòng)重傳等機(jī)制,則會(huì)導(dǎo)致發(fā)送的報(bào)文無(wú)法保證接收方是否收到,因?yàn)榫W(wǎng)絡(luò)本身就存在諸多的不確定性;
UDP協(xié)議
UDP全稱(chēng)為用戶(hù)數(shù)據(jù)包協(xié)議,在網(wǎng)絡(luò)中與TCP協(xié)議一樣用來(lái)處理數(shù)據(jù)包,是一種無(wú)連接的協(xié)議。同時(shí)UDP有不提供數(shù)據(jù)包分組、組裝和不能對(duì)數(shù)據(jù)包進(jìn)行排序的缺點(diǎn),也就是說(shuō),當(dāng)報(bào)文發(fā)送之后,是無(wú)法得知其是否安全完整到達(dá)的。
UDP協(xié)議頭
如下圖所示為UDP 協(xié)議頭的組成:
如上圖所示,UDP首部為8Byte。
各字段的具體含義如下表所示:
UDP協(xié)議特點(diǎn)
對(duì)比TCP協(xié)議,UDP具備以下一些特點(diǎn):
面向無(wú)連接,即不需要建立連接便可以直接進(jìn)行通信;
存在單播,多播,廣播的功能;
UDP是面向報(bào)文的,UDP的報(bào)文報(bào)經(jīng)過(guò)IP層不會(huì)進(jìn)行任何拆分或重組
不可靠性:由于沒(méi)有像TCP的擁塞控制以及出錯(cuò)自動(dòng)重傳等機(jī)制,則會(huì)導(dǎo)致發(fā)送的報(bào)文無(wú)法保證接收方是否收到,因?yàn)榫W(wǎng)絡(luò)本身就存在諸多的不確定性;
TCP與UDP區(qū)別
如下圖所示,較為清晰的解釋了TCP與UDP兩者之間的區(qū)別,這讓我們選擇何種傳輸層協(xié)議提供了判斷標(biāo)準(zhǔn)。
雖然 UDP 并沒(méi)有 TCP 傳輸來(lái)的準(zhǔn)確,但是也能在很多實(shí)時(shí)性要求高的地方有所作為;
對(duì)數(shù)據(jù)準(zhǔn)確性要求高,速度可以相對(duì)較慢的,可以選用TCP。
在車(chē)載以太網(wǎng)領(lǐng)域,目前主流涉及到的應(yīng)用協(xié)議主要有UDP-NM,DOIP,Some/IP,SD以及傳統(tǒng)以太網(wǎng)需配合支持的ICMP,ARP,DHCP等協(xié)議。
在本文我不會(huì)針對(duì)這些協(xié)議具體展開(kāi),因?yàn)槊糠N協(xié)議內(nèi)容不少,后續(xù)會(huì)專(zhuān)門(mén)針對(duì)這些應(yīng)用層協(xié)議給大家講解分享,敬請(qǐng)大家多多關(guān)注。
如下圖19是我列舉車(chē)載以太網(wǎng)中這些應(yīng)用協(xié)議的基礎(chǔ)特點(diǎn)以及作用場(chǎng)景給大家一個(gè)整體的認(rèn)識(shí)。
聯(lián)系客服