協(xié)議架構(gòu)詳解:從物理層到應(yīng)用層的核心概念與測試實踐)
做汽車電子測試這些年我最大的感受是車載以太網(wǎng)已經(jīng)不是“要不要上”的問題而是“怎么盡快上”的問題。我身邊不少做嵌入式、做CAN總線出身的朋友最近都在補車載以太網(wǎng)的知識原因也簡單——智能駕駛和智能座艙的數(shù)據(jù)量傳統(tǒng)CAN總線確實扛不動了。這篇文章我打算從一個工程師的角度把車載以太網(wǎng)的核心概念和協(xié)議架構(gòu)捋一遍。內(nèi)容會盡量貼近實際開發(fā)和測試場景不搞純粹的理論堆砌。因為這是一套很龐雜的知識體系我計劃分幾篇來寫這是第一篇先把概念和協(xié)議棧的整體架構(gòu)講清楚后面對應(yīng)的時間同步、SOME/IP服務(wù)、DoIP診斷、TSN流量調(diào)度和測試用例設(shè)計我們再逐個展開。1. 車載以太網(wǎng)到底解決了什么問題1.1 從CAN到以太網(wǎng)為什么帶寬成了瓶頸很多老工程師對CAN總線是有感情的。確實CAN總線在汽車上服役了三十年可靠、實時、成本低一套CAN網(wǎng)絡(luò)加上CAN FD跑個2Mbps到5Mbps的帶寬在傳統(tǒng)動力總成和車身控制場景里綽綽有余。但這兩年情況完全變了。以智能駕駛為例一個800萬像素的攝像頭YUV422格式、30幀每秒原始數(shù)據(jù)量就超過1.5Gbps。一個激光雷達的點云數(shù)據(jù)普遍在幾十Mbps到幾百Mbps。還有高精地圖、座艙多屏顯示、音視頻同步傳輸這些數(shù)據(jù)統(tǒng)統(tǒng)壓在車上。CAN那個帶寬連零頭都不到根本沒法承載。更關(guān)鍵的是整車電子電氣架構(gòu)正在從分布式向域集中式演進。過去一個ECU負責(zé)一個功能節(jié)點之間偶爾交換幾個信號就夠了。現(xiàn)在域控制器要統(tǒng)一處理多個傳感器的數(shù)據(jù)需要高帶寬、低延遲、可動態(tài)擴展的通信架構(gòu)。以太網(wǎng)幾乎是唯一現(xiàn)實的選擇。所以車載以太網(wǎng)解決的核心問題本質(zhì)上就是讓汽車內(nèi)部能夠像現(xiàn)代IT網(wǎng)絡(luò)一樣用更靈活、更高帶寬、更標(biāo)準(zhǔn)化的方式傳輸數(shù)據(jù)。它不是要替代CAN而是和CAN、LIN、FlexRay這些傳統(tǒng)總線長期共存各司其職。1.2 車載以太網(wǎng)和普通以太網(wǎng)的差異在哪先明確一點車載以太網(wǎng)在二層以上和你辦公室用的以太網(wǎng)在協(xié)議上高度一致都遵循IEEE 802.3標(biāo)準(zhǔn)IP、TCP/UDP、HTTP這些照常使用。但它不是簡單把辦公室交換機塞進車?yán)镉袔滋庩P(guān)鍵差異搞不清楚后面做項目會踩大坑。物理層上普通以太網(wǎng)用的100BASE-TX或1000BASE-T需要兩對或四對雙絞線而車載以太網(wǎng)用單對非屏蔽雙絞線例如100BASE-T1和1000BASE-T1。為什么要做這個改變主要原因是汽車線束對重量、成本和布線空間極其敏感。傳統(tǒng)以太網(wǎng)的兩對線、四對線在車?yán)锊季€會大幅增加線束重量和成本而單對線能明顯降重降本而且更適合車內(nèi)的EMC環(huán)境差分信號的抗干擾能力也更強。車載以太網(wǎng)還根據(jù)汽車工況做了專門的適應(yīng)性設(shè)計。比如物理層編碼采用PAM3調(diào)制信號時鐘、電壓幅值都經(jīng)過重新定義確保車輛在震動、高溫、線束老化等惡劣環(huán)境下依然穩(wěn)定。另外車載以太網(wǎng)在連接器和線纜規(guī)范上比辦公室以太網(wǎng)嚴(yán)苛得多強調(diào)連接器的抗震性、IP等級和整車線束長度約束。100BASE-T1典型傳輸距離是15米千兆版本也在15米左右這決定了設(shè)計網(wǎng)絡(luò)拓撲時要特別注意線纜長度分配。我經(jīng)常打一個比方如果說傳統(tǒng)以太網(wǎng)是IT機房里的數(shù)據(jù)中心網(wǎng)絡(luò)那車載以太網(wǎng)就是為“行駛的數(shù)據(jù)中心”定制的工業(yè)級網(wǎng)絡(luò)。協(xié)議棧上層可以復(fù)用成熟生態(tài)但物理層和鏈路層必須為汽車環(huán)境重新打磨。2. 車載以太網(wǎng)協(xié)議架構(gòu)從物理層到應(yīng)用層有哪些成員2.1 用OSI模型理解車載以太網(wǎng)的分層結(jié)構(gòu)車載以太網(wǎng)的協(xié)議棧本質(zhì)上還是在OSI七層模型的框架里展開的。為了后面討論測試用例和問題排查方便建議大家先在腦子里建立一張分層地圖。最底下一層是物理層對應(yīng)OSI的第一層。車載以太網(wǎng)常用的是100BASE-T1和1000BASE-T1這是OPEN Alliance SIG推動的標(biāo)準(zhǔn)物理層編碼、電氣特性、連接器定義都和普通以太網(wǎng)不同。再往上是數(shù)據(jù)鏈路層包括MAC子層、VLAN標(biāo)簽處理、流量優(yōu)先級映射這部分工作主要由車載交換芯片來完成。常見車載以太網(wǎng)交換芯片廠商是Marvell、博通、恩智浦等芯片內(nèi)部集成了多路T1接口同時也集成VLAN、ACL、QoS等功能模塊面向整車網(wǎng)絡(luò)做二層轉(zhuǎn)發(fā)。第三層和第四層就是IP、TCP、UDP。車載場景里一般用IPv4居多IPv6在部分新架構(gòu)中開始出現(xiàn)但量產(chǎn)項目用IPv4還是主流。UDP和TCP各有分工流媒體、服務(wù)調(diào)用實時性要求高的場景多用UDP診斷、刷寫、文件傳輸這類對可靠性要求高的場景用TCP。再往上就是車載特色所在了。應(yīng)用層有SOME/IP服務(wù)中間件、DoIP診斷協(xié)議、UDS on IP、AVB/TSN相關(guān)的流媒體協(xié)議以及AUTOSAR AP運行時的通信組件。可以說傳統(tǒng)以太網(wǎng)的“長板”在互聯(lián)網(wǎng)應(yīng)用車載以太網(wǎng)的長板則在這些面向汽車場景定制的協(xié)議集合里。要特別強調(diào)的是TSN時間敏感網(wǎng)絡(luò)雖然工作在二層但它的價值體現(xiàn)在為整個協(xié)議棧提供確定性傳輸能力。以后你看到車載以太網(wǎng)協(xié)議棧圖里出現(xiàn)“AVB/TSN”層不用覺得突兀它是二層和三層之間的關(guān)鍵基礎(chǔ)設(shè)施。2.2 SOME/IP、DoIP、TSN車載協(xié)議棧的三大支柱SOME/IPScalable service-Oriented MiddlewarE over IP是目前車載以太網(wǎng)應(yīng)用層最核心的中間件。它由BMW推動標(biāo)準(zhǔn)化并融入AUTOSAR核心思想是把傳統(tǒng)的“信號廣播”通信方式變成“服務(wù)調(diào)用”方式。一個ECU提供服務(wù)另一個ECU作為客戶端去調(diào)用這個服務(wù)服務(wù)之間通過服務(wù)ID和實例ID來標(biāo)識整個過程支持動態(tài)發(fā)現(xiàn)和訂閱/發(fā)布機制。這種風(fēng)格在軟件架構(gòu)上更接近SOA很適合智能汽車軟件功能持續(xù)迭代的需求。DoIPDiagnostics over IP解決的是診斷和刷寫問題。傳統(tǒng)診斷走CAN上的UDS速率慢刷一個幾十MB的固件要等很久。DoIP將UDS診斷報文封裝到TCP/IP上直接跑在以太網(wǎng)物理層上刷寫速度可以提升幾十倍甚至上百倍。DoIP還支持遠程診斷通過4G/5G網(wǎng)絡(luò)在云端下發(fā)診斷指令這對智能汽車售后是一個非常大的效率提升。TSNTime-Sensitive Networking則是保證車載網(wǎng)絡(luò)實時性和確定性的協(xié)議族。它包括時間同步gPTP、流量調(diào)度Qbv、幀搶占Qbu、流預(yù)留Qav等機制。TSN的價值在于雖然以太網(wǎng)本身是盡力而為的但通過TSN這套機制我們可以讓關(guān)鍵控制指令、音視頻數(shù)據(jù)在一個確定的時間窗口內(nèi)到達目的地延遲上限可控。這對智能駕駛中的攝像頭數(shù)據(jù)分發(fā)、底盤控制指令傳遞尤為關(guān)鍵。這三者的關(guān)系可以這么理解TSN解決“數(shù)據(jù)能不能按時到”SOME/IP解決“數(shù)據(jù)到了以后怎么組織和服務(wù)”DoIP解決“網(wǎng)絡(luò)壞了怎么診斷、系統(tǒng)要升級怎么刷寫”。三者合力構(gòu)成了車載以太網(wǎng)協(xié)議棧的完整閉環(huán)。2.3 為什么不能用標(biāo)準(zhǔn)以太網(wǎng)協(xié)議直接“套娃”很多人會問直接用標(biāo)準(zhǔn)以太網(wǎng)協(xié)議棧把TCP/IP那一套搬上車不就行了為什么還要搞一套車載協(xié)議棧原因是汽車場景有幾個硬性約束標(biāo)準(zhǔn)以太網(wǎng)協(xié)議棧沒有覆蓋。第一個約束是實時性和確定性。標(biāo)準(zhǔn)以太網(wǎng)是異步的靠TCP重傳和隊列緩沖能保證最終送達但無法保證“1毫秒內(nèi)一定送達”。在智能駕駛場景攝像頭數(shù)據(jù)晚了10毫秒后端融合算法可能就已經(jīng)輸出了錯誤結(jié)果。所以需要TSN、gPTP這些機制來提供確定性時延。第二個約束是診斷和升級流程的標(biāo)準(zhǔn)化。汽車行業(yè)有一套成熟的診斷協(xié)議UDS但它原本跑在CAN上需要有一套適配以太網(wǎng)的封裝和發(fā)現(xiàn)機制這就是DoIP存在的意義。第三個約束是資源受限。車規(guī)級MCU的計算能力和內(nèi)存比服務(wù)器要小很多SOME/IP這種輕量化的序列化方式和動態(tài)發(fā)現(xiàn)機制就是為了在有限的嵌入式資源上優(yōu)雅地實現(xiàn)服務(wù)通信而標(biāo)準(zhǔn)RESTful HTTP動輒就是沉重的JSON解析和TCP連接管理在車控場景里不夠高效。所以說車載以太網(wǎng)的協(xié)議棧并不是對標(biāo)準(zhǔn)以太網(wǎng)的簡單復(fù)制而是在繼承其生態(tài)優(yōu)勢的基礎(chǔ)上針對汽車場景的實時性、可靠性、可維護性約束做了大量定制化增強。理解這一點后面讀協(xié)議文檔時才不會覺得“這些新標(biāo)準(zhǔn)都是憑空冒出來的”。3. 數(shù)據(jù)鏈路與通信流程一個報文是怎么在車?yán)锱芷饋淼?.1 VLAN劃分與QoS優(yōu)先級讓關(guān)鍵報文先走車上跑以太網(wǎng)的數(shù)據(jù)流多種多樣有攝像頭的高帶寬視頻流有底盤控制的小包高頻指令有診斷刷寫的長連接大包還有OTA下載的批量數(shù)據(jù)。這些數(shù)據(jù)流對時延、帶寬、可靠性的要求各不相同。如果把所有數(shù)據(jù)都放在同一個二層網(wǎng)絡(luò)里互相爭搶就很容易出現(xiàn)高優(yōu)先級報文被大流量數(shù)據(jù)阻塞的情況。解決辦法就是VLAN和QoS。VLAN虛擬局域網(wǎng)能夠在物理網(wǎng)絡(luò)里劃分出多個邏輯隔離域例如一個VLAN專跑動力和底盤控制一個VLAN專跑智能駕駛傳感器數(shù)據(jù)一個VLAN專跑信息娛樂和OTA。VLAN的好處是既能隔離故障域減少廣播風(fēng)暴影響又能配合安全策略做到“域間訪問可控”還能基于802.1Q在幀頭打VLAN Tag讓交換機按照Tag進行定向轉(zhuǎn)發(fā)。有了VLAN還不夠同在一個VLAN內(nèi)的數(shù)據(jù)流之間也需要區(qū)分優(yōu)先級。802.1Q Tag里面有3個比特的PCPPriority Code Point字段支持8個優(yōu)先級等級0到7。車載網(wǎng)絡(luò)通常會為不同數(shù)據(jù)類型分配不同優(yōu)先級比如底盤控制類報文通常給定最高優(yōu)先級音視頻流給中高優(yōu)先級診斷和OTA這類對實時性不敏感的大流量應(yīng)用給低優(yōu)先級。結(jié)合交換機和終端網(wǎng)卡的QoS映射機制每個報文從進入交換機的那一刻開始就會被標(biāo)記并放入對應(yīng)的優(yōu)先級隊列。交換芯片的調(diào)度器會優(yōu)先轉(zhuǎn)發(fā)高優(yōu)先級隊列里的幀。我曾經(jīng)在測試中驗證過在一個滿負載的千兆端口上同時發(fā)送視頻流和底盤控制指令如果配置了正確的VLAN和PCP控制指令的端到端時延基本能穩(wěn)定在幾十微秒級別如果沒配置QoS時延可能直接拉高到幾毫秒。這個差異對實車控制的影響完全不是一個量級。3.2 SOME/IP服務(wù)發(fā)現(xiàn)與調(diào)用從ECU上電到數(shù)據(jù)交互的全流程我以一個典型的SOME/IP服務(wù)交互流程為例給大家串一遍車載以太網(wǎng)的實際通信路徑。假設(shè)車上有一個智能駕駛域控制器它提供“目標(biāo)物體列表”服務(wù)另一個座艙域控制器作為客戶端需要訂閱這個服務(wù)。第一步ECU上電后服務(wù)端和客戶端各自完成系統(tǒng)初始化獲得IP地址通常是DHCP或者靜態(tài)分配。接著服務(wù)端會周期性地發(fā)送SOME/IP-SDService Discovery報文廣播自己提供的服務(wù)信息包括服務(wù)ID、實例ID、所在端口、服務(wù)可用性等。第二步客戶端加入網(wǎng)絡(luò)后會發(fā)送服務(wù)發(fā)現(xiàn)請求或者監(jiān)聽網(wǎng)絡(luò)中的服務(wù)廣播。收到服務(wù)端的SD廣播后客戶端對服務(wù)ID和實例ID進行匹配。匹配成功客戶端就向服務(wù)端發(fā)送訂閱請求。第三步服務(wù)端收到訂閱請求后進行訪問控制或安全校驗校驗通過則回復(fù)訂閱確認(rèn)。之后服務(wù)端開始按約定的周期或事件觸發(fā)方式向客戶端推送目標(biāo)物體列表數(shù)據(jù)。第四步數(shù)據(jù)交互階段SOME/IP報文頭里包含消息ID、請求ID、協(xié)議版本、消息類型、返回碼等字段??蛻舳烁鶕?jù)消息ID判斷這是應(yīng)答還是事件通知根據(jù)請求ID關(guān)聯(lián)到具體的一次調(diào)用。多個客戶端訂閱同一個服務(wù)時服務(wù)端可以配置單播發(fā)送也可以配置組播發(fā)送這取決于網(wǎng)絡(luò)拓撲和帶寬規(guī)劃。整個過程看起來不復(fù)雜但實際工程里涉及的細節(jié)非常多比如服務(wù)發(fā)現(xiàn)周期、訂閱超時重試機制、SD報文里的Option字段解析、請求和應(yīng)答的會話保持、多實例服務(wù)的負載均衡等。任何一個環(huán)節(jié)出問題都會導(dǎo)致服務(wù)無法正常通信。所以SOME/IP協(xié)議棧的測試重點就要覆蓋這些邊界條件。3.3 AUTOSAR與車載以太網(wǎng)的協(xié)同工作如果聊車載以太網(wǎng)不提AUTOSAR那是不完整的。AUTOSAR分經(jīng)典平臺CP和自適應(yīng)平臺AP兩者對以太網(wǎng)的支持方式不同。經(jīng)典平臺主要面向傳統(tǒng)嵌入式實時控制場景它把SOME/IP做成了Communication Stack的一部分通過SOME/IP Transformation模塊把運行在CAN上的信號通信機制映射到SOME/IP服務(wù)通信上。這樣原來熟悉AUTOSAR CP開發(fā)模式、習(xí)慣配置信號矩陣的工程師能夠以較低的遷移成本切換到以太網(wǎng)通信。自適應(yīng)平臺則原生面向高性能計算場景通常運行在Linux或QNX上采用動態(tài)部署、面向服務(wù)的設(shè)計哲學(xué)。AP AUTOSAR里SOME/IP是核心通信中間件支持更靈活的服務(wù)的動態(tài)發(fā)現(xiàn)與調(diào)用同時也集成了TSN相關(guān)的增強接口用于實時性要求更高的數(shù)據(jù)交互。實際項目中域控制器之間用基于AUTOSAR AP或自定義通信框架的SOME/IP做數(shù)據(jù)交互而域內(nèi)傳統(tǒng)執(zhí)行器的控制仍由AUTOSAR CP通過CAN完成兩者通過域控制器內(nèi)部的網(wǎng)關(guān)模塊橋接。這種混合架構(gòu)是當(dāng)前量產(chǎn)車型最主流的形態(tài)。了解AUTOSAR與以太網(wǎng)的關(guān)系對于做網(wǎng)絡(luò)架構(gòu)設(shè)計、通信矩陣開發(fā)的工程師來說尤其重要。4. 測試驗證與問題排查真實項目中怎么上手4.1 搭建一個可復(fù)現(xiàn)的車載以太網(wǎng)測試環(huán)境車載以太網(wǎng)測試環(huán)境從簡單到復(fù)雜都有對應(yīng)的方案。最簡單的方式是使用一臺帶有以太網(wǎng)接口的Windows/Linux主機配合USB轉(zhuǎn)100BASE-T1或1000BASE-T1的盒子直接和一個車載以太網(wǎng)節(jié)點相連。這種方案適合快速驗證ECU的協(xié)議棧狀態(tài)比如用Wireshark直接抓包分析SOME/IP和DoIP報文。市面上這類盒子的廠家比較多比較常見的有Vector的VN5650/VN5430價格偏貴但穩(wěn)定也有相對經(jīng)濟的國產(chǎn)方案適合預(yù)算有限的團隊。如果是做系統(tǒng)級測試需要準(zhǔn)備好以下幾類組件車載以太網(wǎng)交換機用來搭建多節(jié)點的網(wǎng)絡(luò)拓撲。可支持報文的流量生成和分析工具例如Vector CANoe、Pcap硬件抓包工具或者直接用軟件工具配合高性能網(wǎng)卡實現(xiàn)。可編程電源和故障注入設(shè)備用來模擬電壓波動、斷線短路干擾。時間同步工具例如集成了gPTP功能的交換機或者專用的時間測試儀。示波器和信號分析儀用于做物理層一致性測試?yán)缪蹐D測試、信號質(zhì)量分析。在實驗室里我個人的習(xí)慣是先用一個最小系統(tǒng)驗證協(xié)議棧功能也就是“一個客戶端 一個服務(wù)端 一個抓包工具”的三角結(jié)構(gòu)。把SOME/IP服務(wù)和DoIP基本流程跑通再逐步加入交換機、VLAN、多個ECU模擬實車網(wǎng)絡(luò)環(huán)境。一步到位搭建全尺寸臺架往往壓力大且排錯困難。4.2 核心測試用例從功能測試到一致性測試車載以太網(wǎng)的測試用例我認(rèn)為可以分為三個層次功能測試、協(xié)議一致性測試、魯棒性測試。功能測試是最基礎(chǔ)的驗證“能不能通”。比如SOME/IP服務(wù)端能正確發(fā)布服務(wù)客戶端能正常發(fā)現(xiàn)并訂閱服務(wù)客戶端發(fā)送請求服務(wù)端能返回正確應(yīng)答DoIP能正常建立TCP連接并完成診斷請求轉(zhuǎn)發(fā)。功能測試用例設(shè)計時要特別注意異常場景比如一個客戶端在訂閱后突然斷網(wǎng)服務(wù)端應(yīng)該能通過TCP keepalive或者SOME/IP-SD的心跳機制感知到并回收訂閱資源而另一個客戶端重新訂閱時服務(wù)端不能因資源未釋放而拒絕。協(xié)議一致性測試更偏標(biāo)準(zhǔn)符合性。比如SOME/IP-SD報文里的各個字段SD報文Option Info、Endpoint Option、Multicast Option的格式編碼必須符合AUTOSAR規(guī)范。用Wireshark解析出的報文如果標(biāo)記為“malformed”那就要小心了大概率是某個字段長度或類型不對。物理層一致性測試則依據(jù)OPEN Alliance的TC系列規(guī)范用示波器抓取MDI線上的信號分析眼圖和模板是否符合規(guī)范務(wù)必使用正規(guī)的一致性測試夾具和探頭。魯棒性測試是最容易暴露問題的。比如在正常通信時往SOME/IP-SD報文里注入一個畸形Option看協(xié)議棧是否會崩潰或進入異常狀態(tài)比如在TSN流量調(diào)度運行過程中突然增加一個高優(yōu)先級的大流量流驗證關(guān)鍵低優(yōu)先級流是否還能在限制時延內(nèi)送達。魯棒性測試設(shè)計得好能撐起量產(chǎn)質(zhì)量的重要保障。4.3 常見問題排查三個高頻故障場景復(fù)盤排查以太網(wǎng)問題和當(dāng)年排查CAN問題的手段和思路都有很大區(qū)別。CAN報文排錯一般靠示波器和CANoe就能解決以太網(wǎng)涉及大量IP交互的報文、TCP會話狀態(tài)、VLAN標(biāo)簽、QoS優(yōu)先級等排查難度高了不少。我這里整理三個我在實際項目中高頻遇到、也很有代表性的問題。第一個問題SOME/IP服務(wù)始終不能被客戶端發(fā)現(xiàn)。優(yōu)先級排查順序是這樣先抓包看服務(wù)端有沒有發(fā)出SOME/IP-SD廣播報文。如果沒發(fā)出查服務(wù)端協(xié)議棧配置確認(rèn)服務(wù)ID、實例ID、端口是否綁定正確以及SD廣播周期是否配置合理。如果廣播發(fā)出去了客戶端沒響應(yīng)再看客戶端有沒有發(fā)出訂閱請求如果沒有往往是客戶端把服務(wù)ID的格式或版本匹配當(dāng)作條件寫錯了如果訂閱請求發(fā)出去了服務(wù)端沒回復(fù)訂閱確認(rèn)就要查安全校驗邏輯比如白名單規(guī)則是否放行了該客戶端。第二個問題DoIP診斷連接經(jīng)常斷。DoIP走的是TCP連接連接中途斷開無非三種情況物理鏈路不穩(wěn)、TCP?;畛瑫r、應(yīng)用層主動斷開。先用長時間重負載跑流驗證物理鏈路排除線路或接口退化問題。再看DoIP的TCP連接是否啟用了keepalive以及診斷儀和ECU之間的路由激活狀態(tài)注意DoIP有一個關(guān)鍵機制叫路由激活它規(guī)定了診斷儀以何種身份激活與ECU的路由通道如果安全等級不匹配ECU可能主動斷開連接。抓包時重點看TCP RST和FIN標(biāo)志鎖定了斷開發(fā)起方處理會高效很多。第三個問題TSN時間同步精度不達標(biāo)。如果一套TSN網(wǎng)絡(luò)里gPTP同步后從時鐘偏移超過預(yù)期通常要檢查三件事一是gPTP報文的優(yōu)先級和VLAN配置在交換機里有沒有被QoS策略影響或丟棄二是主時鐘的報文發(fā)送周期是否正常三是鏈路上有沒有非TSN交換機介入。非TSN交換機會破壞時延測量機制也就是駐留時間修正導(dǎo)致時間同步誤差累積。排查的時候建議逐段抓取gPTP報文打印出鏈路本地時間戳和修正字段對比每一跳的變化很快能定位到出問題的節(jié)點。車載以太網(wǎng)的體系確實龐大光協(xié)議架構(gòu)這一塊牽扯到物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層每一層都有大量標(biāo)準(zhǔn)和組織在背后推動。從我這些年接觸車載網(wǎng)絡(luò)項目、參與多款車型以太網(wǎng)測試的體會來說掌握車載以太網(wǎng)最重要的一點是先建立清晰的整體架構(gòu)觀再逐層深入細節(jié)。如果一上來就去扣某條SOME/IP報文的某個位域很容易迷失。這篇文章算是把車載以太網(wǎng)的整體概念和協(xié)議架構(gòu)理清了后續(xù)我會繼續(xù)寫SOME/IP服務(wù)機制的深入拆解、TSN時間同步與流量調(diào)度的實測經(jīng)驗還有針對功能測試和一致性測試的用例設(shè)計思路把這些年摸爬滾打攢下來的東西整理出來給正在進入這個領(lǐng)域的朋友一些參考。如果大家在項目中遇到具體的以太網(wǎng)問題也歡迎多交流這個技術(shù)方向越交流越清晰。