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