車載以太網(wǎng)是指將傳統(tǒng)的工業(yè)以太網(wǎng)技術(shù)應(yīng)用在汽車電控領(lǐng)域。
車載以太網(wǎng)與工業(yè)以太網(wǎng)一樣,都是采用交換機(jī)式(SwitchedNetwork)的通信方式,交換機(jī)式通信指的是所有的終端節(jié)點(diǎn)都要通過交換機(jī)才能連接到一起,所有傳遞的信息都需要通過交換機(jī)進(jìn)行轉(zhuǎn)發(fā)。
以太網(wǎng)網(wǎng)絡(luò)拓?fù)?交換機(jī)式
也就是說每個(gè)ECU節(jié)點(diǎn)上只有一個(gè)以太網(wǎng)端口,交換機(jī)有多個(gè)以太網(wǎng)端口,每個(gè)節(jié)點(diǎn)與交換機(jī)之間都是通過網(wǎng)線點(diǎn)對(duì)點(diǎn)相連,節(jié)點(diǎn)與節(jié)點(diǎn)之間都不直接相連。
這與CAN網(wǎng)絡(luò)的總線式拓?fù)渫耆?strong>不同,CAN網(wǎng)絡(luò)是所有的節(jié)點(diǎn)都通過總線相互直接連接,所以CAN網(wǎng)絡(luò)可以稱為CAN總線,但是以太網(wǎng)只能叫以太網(wǎng)網(wǎng)絡(luò)。
CAN網(wǎng)絡(luò)拓?fù)?線型總線
交換機(jī)的主要作用是轉(zhuǎn)發(fā)信息,這個(gè)功能有點(diǎn)類似于CAN總線中的網(wǎng)關(guān),但是它們的使用原因和場(chǎng)景不同。
網(wǎng)關(guān)是由于車內(nèi)中不同的網(wǎng)絡(luò)間需要信息交互而使用的,比如LIN與CAN之間,高速CAN與低速CAN之間,網(wǎng)關(guān)是根據(jù)實(shí)際網(wǎng)絡(luò)狀態(tài)和功能需求而使用,是用在不同的網(wǎng)絡(luò)之間,是可選的設(shè)備!
網(wǎng)關(guān)是用于網(wǎng)絡(luò)間交互的可選設(shè)備
而交換機(jī)是由于以太網(wǎng)的通信協(xié)議自身要求使用的,是在同一個(gè)網(wǎng)絡(luò)中使用的,而且是必須使用的設(shè)備!
交換機(jī)是因?yàn)樽陨淼木W(wǎng)絡(luò)要求必選的設(shè)備
1 物理層
車載以太網(wǎng)與CAN總線都是差分信號(hào)傳輸,都有專用的收發(fā)器芯片,傳輸介質(zhì)也都使用雙絞線。
CAN總線的傳輸速率最大是1Mbps(CANFD是8M);車載以太網(wǎng)的速率要快得多,速率范圍為10M-10Gbps,高速率適合數(shù)據(jù)量大,實(shí)時(shí)性強(qiáng)的系統(tǒng)應(yīng)用,比如智能駕駛、車聯(lián)網(wǎng)、智能座艙、環(huán)視、雷達(dá)等產(chǎn)品。
工業(yè)以太網(wǎng)連接器插頭是RJ45,俗稱水晶頭,RJ45連接器有8個(gè)引腳。
RJ45連接器
工業(yè)以太網(wǎng)常使用2對(duì)或4對(duì)雙絞線和標(biāo)準(zhǔn)水晶頭連接。
工業(yè)以太網(wǎng)
但是RJ45的引腳數(shù)量多,連接后容易松動(dòng),并不適合車輛中的控制器使用。
因此車載以太網(wǎng)的物理層有專用標(biāo)準(zhǔn)和協(xié)議,主要目的是為了簡化接口,以便能夠通過單對(duì)雙絞線實(shí)現(xiàn)全雙工通信,使用汽車級(jí)接插件,降低系統(tǒng)的復(fù)雜度和成本。
車載以太網(wǎng)接口
與CAN的物理層采用統(tǒng)一的標(biāo)準(zhǔn)不同的是,車載以太網(wǎng)根據(jù)網(wǎng)速的不同,物理層標(biāo)準(zhǔn)分為10base-T1S、100base-T1、1000base-T1和2.5/5/10Gbase-T1共4個(gè)標(biāo)準(zhǔn)。
目前車輛內(nèi)部主要使用百兆以太網(wǎng)100base-T1和千兆以太網(wǎng)1000base-T1,其中的T表示Twisted pair雙絞線,1表示只使用1對(duì)雙絞線。
車用百兆/千兆以太網(wǎng)
車輛外部可以使用傳統(tǒng)的工業(yè)以太網(wǎng)標(biāo)準(zhǔn),比如100BASE-TX可以用于診斷系統(tǒng)。連接車輛部分常用OBD連接口,連接診斷設(shè)備部分常用RJ45連接器。
OBD II接插件中有兩對(duì)雙絞線引腳
CAN的傳輸距離是40米,車載以太網(wǎng)的傳輸距離為15米,這是因?yàn)樵诖型ㄐ胖校俾?strong>越高,能傳輸?shù)木嚯x越短。
1.1收發(fā)器
以太網(wǎng)的收發(fā)器接口電路包括共模電感、直流阻斷電容(DC)、共模終端網(wǎng)絡(luò)(CMT)和可選的ESD。
100BASE-T1收發(fā)器接口電路
其中與CAN接口電路的主要差異是終端電路和直流阻斷電容。
終端電路的作用是隔離MDI,防止接地回路和驅(qū)動(dòng)器直流偏移,可以改善共模噪聲,在保持高抗擾度的同時(shí)減少輻射發(fā)射。
直流阻斷電容用于隔離PHY端和RJ45端直流分量,防止外部干擾。
DC隔離電容
2 協(xié)議規(guī)范
2.1單播、多播和廣播
CAN總線某個(gè)節(jié)點(diǎn)發(fā)送CAN報(bào)文時(shí),網(wǎng)絡(luò)中所有的節(jié)點(diǎn)都可以收到,發(fā)送方式是一點(diǎn)對(duì)多點(diǎn)的關(guān)系,這種方式稱為廣播式通信。其道理類似于村里的廣播,發(fā)出通知后,每個(gè)村民都能聽到,聽到跟自己相關(guān)的事情,就抓緊時(shí)間處理。
廣播時(shí),所有人都能收到信息
與CAN總線不同,以太網(wǎng)某個(gè)節(jié)點(diǎn)發(fā)送報(bào)文時(shí),網(wǎng)絡(luò)中只有對(duì)應(yīng)的節(jié)點(diǎn)能收到,發(fā)送方式是點(diǎn)對(duì)點(diǎn)的關(guān)系,這種方式稱為單播式通信。
CAN報(bào)文只有發(fā)送地址(ID),而以太網(wǎng)的報(bào)文中不僅有發(fā)送地址,還要有接收地址。
交換機(jī)通過發(fā)送地址和接收地址,把對(duì)應(yīng)的兩個(gè)節(jié)點(diǎn)連接起來。
以太網(wǎng)數(shù)據(jù)流-單播
交換機(jī)的內(nèi)部就像是一個(gè)組合開關(guān),ECU1連接到端口1,ECU2連接到端口2,當(dāng)內(nèi)部開關(guān)把1和2連通后,信息就可以從節(jié)點(diǎn)ECU1傳輸?shù)搅斯?jié)點(diǎn)ECU2。
單播方式就像是某個(gè)人(節(jié)點(diǎn)1)先打通村里的總機(jī)電話(交換機(jī)),再按分機(jī)號(hào)(節(jié)點(diǎn)2)打通另一個(gè)人的電話。
單播方式就像撥通了分機(jī)號(hào)
但是如果有信息需要發(fā)給多個(gè)節(jié)點(diǎn),怎么辦呢?
這時(shí)候就需要用到多播,多播實(shí)際上就是指以太網(wǎng)發(fā)送報(bào)文中的接收地址可以覆蓋很多個(gè)節(jié)點(diǎn),這種地址稱為多播地址,交換機(jī)會(huì)按照多播地址逐個(gè)連接。
多播
當(dāng)多播中的接收地址包括所有的節(jié)點(diǎn)時(shí),就變成了廣播。交換機(jī)會(huì)根據(jù)廣播地址把發(fā)送端口和所有的端口連接起來。
廣播
多播和廣播就像是通過微信群發(fā)起電話會(huì)議,選擇幾個(gè)人(多播地址)就是多播,選擇所有人(廣播地址)就是廣播。
2.2幀結(jié)構(gòu)
以太網(wǎng)幀結(jié)構(gòu)
以太網(wǎng)的幀結(jié)構(gòu)中的前同步碼、幀開始符、FCS等都是一些數(shù)據(jù)鏈路層的數(shù)據(jù)和校驗(yàn)等格式編碼,對(duì)我們的實(shí)際作用不大。
我們主要使用的是MAC幀中的目標(biāo)地址、源地址、幀類型和數(shù)據(jù)這幾部分。
2.2.1MAC地址
MAC地址表示媒體存取控制地址,也稱為局域網(wǎng)地址,它屬于物理地址,與硬件綁定,在以太網(wǎng)的網(wǎng)絡(luò)中唯一標(biāo)識(shí)一個(gè)節(jié)點(diǎn)(網(wǎng)卡),MAC地址長度為6個(gè)字節(jié),48位數(shù)。
目標(biāo)MAC地址是指需要接收數(shù)據(jù)的節(jié)點(diǎn)地址。
源MAC地址就是當(dāng)前正在發(fā)送數(shù)據(jù)的節(jié)點(diǎn)地址。
比如00-16-EA-AE-3C-40就是一個(gè)MAC地址,其中前3個(gè)字節(jié)表示網(wǎng)絡(luò)設(shè)備制造商編號(hào),后24位表示網(wǎng)絡(luò)設(shè)備的序列號(hào)。
2.2.2幀類型
幀類型是2個(gè)字節(jié),表示以太網(wǎng)的類型,不同的幀類型值對(duì)應(yīng)了不同的協(xié)議。
常見的幀類型
2.2.3 IP數(shù)據(jù)報(bào)
IP協(xié)議層的信息叫做IP數(shù)據(jù)報(bào)(IPDatagram),它不是數(shù)據(jù)鏈路層,屬于網(wǎng)絡(luò)層協(xié)議。
IP數(shù)據(jù)報(bào)中包含了我們最終要使用的應(yīng)用數(shù)據(jù),數(shù)據(jù)長度為46-1500個(gè)字節(jié)。
IP數(shù)據(jù)報(bào)
這里要說一下,我們經(jīng)常看到的IP地址就是這一層,IP地址是邏輯地址,是一個(gè)動(dòng)態(tài)分配(不固定)的地址,用于實(shí)現(xiàn)跨網(wǎng)絡(luò)(不同局域網(wǎng)間)的通信和路由。
而MAC地址是物理地址,是在數(shù)據(jù)鏈路層中使用的,是固定的地址,不能更改,用于實(shí)現(xiàn)局域網(wǎng)內(nèi)部的尋址和數(shù)據(jù)傳輸。
IP地址雖然是動(dòng)態(tài)的(可更改的),但也是用于在互聯(lián)網(wǎng)上唯一標(biāo)識(shí)一個(gè)網(wǎng)絡(luò)設(shè)備。
IP協(xié)議目前有兩個(gè)版本,分別是IPv4和IPv6。其中的IPv4使用32位二進(jìn)制數(shù)來表示一個(gè)IP地址,IPV6是128位。
目前最廣泛使用的是IPv4,IP地址通常以點(diǎn)分十進(jìn)制形式來顯示,例如192.168.1.1。
一個(gè)IPv4地址由兩部分組成:網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)。網(wǎng)絡(luò)號(hào)表示該設(shè)備所屬的網(wǎng)絡(luò),主機(jī)號(hào)表示該設(shè)備在該網(wǎng)絡(luò)中的編號(hào),網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)通過子網(wǎng)掩碼來區(qū)分,其中網(wǎng)絡(luò)號(hào)對(duì)應(yīng)的位為1,與主機(jī)號(hào)對(duì)應(yīng)的位為0。
比如IP地址為192.168.1.1,子網(wǎng)掩碼為255.255.255.0,則網(wǎng)絡(luò)號(hào)是192.168.1,主機(jī)號(hào)是1。
前面我們提到過單播、多播和廣播,這三種不同的發(fā)送方式就是通過IP地址來區(qū)分的。
單播很容易理解,就是一個(gè)固定的目標(biāo)IP地址,比如192.168.1.1
廣播有兩種,一種是針對(duì)某個(gè)局域網(wǎng)絡(luò)中的所有節(jié)點(diǎn),其格式為某個(gè)網(wǎng)絡(luò)號(hào)(Network ID) + 全1的主機(jī)號(hào)(Host ID):
比如192.168.1.255,就是向192.168.1.網(wǎng)段中所有的節(jié)點(diǎn)發(fā)送報(bào)文。
另一種是針對(duì)所有網(wǎng)絡(luò)中的所有節(jié)點(diǎn),其格式為全1的網(wǎng)絡(luò)號(hào)?+ 全1的主機(jī)號(hào),比如255.255.255.255,這個(gè)很少使用。
多播比較特殊,多播的IP地址不是按網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)劃分,除了前4位的固定位外,只有一個(gè)多播組地址,地址范圍是224.0.0.0 → 239.255.255.255。
多播IP地址
多播組地址的含義是一個(gè)IP地址代表了一組設(shè)備。這類地址又進(jìn)一步細(xì)分為三個(gè)子類,分別是:約定俗成的、全球通用的和本地自定義的。
比如約定俗成的有:224.0.0.1表示子網(wǎng)上的所有設(shè)備(all devices on the subnet);244.0.0.2表示子網(wǎng)上的所有路由器(all routers on the subnet)。
多播IP地址的三個(gè)子類
這里要說一下路由器主要是用于連接不同的網(wǎng)絡(luò),如局域網(wǎng)(LAN)和廣域網(wǎng)(WAN),它使用IP地址進(jìn)行路由和轉(zhuǎn)發(fā)數(shù)據(jù)包。
而前面提到的交換機(jī)是用于局域網(wǎng)(LAN)內(nèi)部,通過MAC地址轉(zhuǎn)發(fā)數(shù)據(jù)包;
IP地址在某個(gè)網(wǎng)絡(luò)中具有唯一性,但是在全球的范圍內(nèi),會(huì)有重復(fù)的現(xiàn)象;而MAC地址在全球范圍內(nèi)都是唯一的。
IP地址是用來實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)上設(shè)備間的數(shù)據(jù)傳輸,而MAC地址是用來實(shí)現(xiàn)局域網(wǎng)的內(nèi)部設(shè)備識(shí)別。
MAC協(xié)議(數(shù)據(jù)鏈路層)負(fù)責(zé)將IP協(xié)議(網(wǎng)絡(luò)層)打包的數(shù)據(jù)封裝成幀(frame),并根據(jù)目標(biāo)MAC地址進(jìn)行尋址和傳輸。也就是當(dāng)一個(gè)主機(jī)要發(fā)送數(shù)據(jù)給另一個(gè)主機(jī)時(shí),它需要知道目標(biāo)主機(jī)的MAC地址,并將其寫入幀頭部。然后將幀發(fā)送出去。
當(dāng)幀到達(dá)目標(biāo)主機(jī)所在的局域網(wǎng)時(shí),局域網(wǎng)內(nèi)的所有設(shè)備都會(huì)接收到該幀,并根據(jù)幀頭部的目標(biāo)MAC地址判斷是否是自己。如果是自己,則接收該幀,并將其解封成數(shù)據(jù)包,交給網(wǎng)絡(luò)層處理。
如果不是自己,則丟棄該幀。在這個(gè)過程中,每個(gè)設(shè)備只需要知道與自己直連的設(shè)備的MAC地址,并不需要知道目標(biāo)主機(jī)或其他中間節(jié)點(diǎn)的邏輯位置或網(wǎng)絡(luò)連接方式。
如果發(fā)送主機(jī)不知道目標(biāo)主機(jī)的MAC地址,它會(huì)向局域網(wǎng)內(nèi)廣播一個(gè)特殊的幀,其中包含了自己的IP地址和MAC地址,以及目標(biāo)主機(jī)的IP地址。該幀的目標(biāo)MAC地址為廣播地址FF-FF-FF-FF-FF-FF,表示所有設(shè)備都要接收該幀。
接收節(jié)點(diǎn)收到后,發(fā)現(xiàn)目標(biāo)IP地址是自己,就會(huì)向發(fā)送者單播一個(gè)特殊的幀,其中包含了自己的IP地址和MAC地址,也就是把自己的MAC地址告訴對(duì)方。
目標(biāo)IP是最終節(jié)點(diǎn),而目標(biāo)MAC可能是中間節(jié)點(diǎn),比如路由器。
IP地址就像是快遞時(shí)填寫的收發(fā)地址(填寫后即明確目的,但必要時(shí)可以修改)、而MAC地址像是貨物的中轉(zhuǎn)地(路由器),比如一個(gè)貨物從南京發(fā)往上海,整個(gè)過程為發(fā)送地址-南京轉(zhuǎn)運(yùn)中心-上海轉(zhuǎn)運(yùn)中心-接收地址。
整個(gè)過程中,收發(fā)地址并沒有變,但是中間要經(jīng)過多個(gè)轉(zhuǎn)運(yùn)中心的地址。最終客戶(應(yīng)用工程師)只關(guān)心接收地址(ip地址),但是快遞人員(路由器)更關(guān)心的是下一站的轉(zhuǎn)運(yùn)地址(MAC地址),每個(gè)快遞人員的轉(zhuǎn)運(yùn)地址對(duì)了,最后的接收地址自然就會(huì)對(duì)了。
MAC或IP地址不對(duì),都無法到達(dá)目的地
小結(jié):
車載以太網(wǎng)憑借其快速、成熟、標(biāo)準(zhǔn)化的優(yōu)勢(shì),將從面向車載診斷系統(tǒng)和ECU軟件刷新的運(yùn)用,逐漸擴(kuò)展到多媒體、駕駛輔助,最終可能會(huì)作為車載主干網(wǎng)絡(luò),形成一個(gè)跨域的汽車網(wǎng)絡(luò)。
車載以太網(wǎng)與CAN總線從底層的物理層到上層的應(yīng)用層都有很大的不同,其中底層協(xié)議中的主要區(qū)別以下表作為一個(gè)小結(jié):
審核編輯:黃飛
評(píng)論