1.前言
CAN總線作為車載總線中極為重要的一部分,已經經歷了相當長時間的考驗,而第二代CAN總線(即CAN FD)也在近幾年里逐步實現大規模的應用,與此同時,第三代CAN總線(CAN XL)也將要正式推出。本文將為大家分享CAN XL的相關內容。
2.為什么要推出CAN XL
1)填補CAN FD與100BASE-T1之間的空白
當前常用車載總線既包括低速率的總線,這些總線覆蓋了5MBit/s及以下的應用(目前CAN FD的典型速率是2MBit/s,后續可能會升級至5MBit/s),也包含高速率的總線,即車載以太網(100/1000BASE-T1)。而在“復興號”和“綠皮車”之間,需要較為合適運載手段,以在成本、性能、速率之間取得平衡,順應新的應用場景需求。
大家可能會問,FlexRay總線是否可以?只要對FlexRay總線有所應用,會了解其開發成本、不友善的刷寫應用、不利于拓展的拓撲結構等都影響了更廣泛的推廣應用,從而被放棄。
所以在10 MBit/s通信的“gap”區間,出現了2種易于推廣的方案:從高速率通信技術下沉而來,即10BASE-T1S;從低速率總線升級提升而至,即CAN XL。
圖1填補CAN FD與100BASE-T1之間的空白
2)增加最大報文長度
最大報文長度與通信速率是相輔相成的,更快的通信速率意味著可以使用更大的數據長度。CAN XL被設計為至少實現10 MBit/s的通信速率,最大支持2048字節的單幀傳輸。從CAN FD最大支持64字節的報文長度,到CAN XL最大支持2048字節,報文長度的提升有了質的飛躍。而我們知道,通常以太網報文的單幀最大長度為1518字節,這意味著我們可能會在CAN XL上運行TCP/IP協議。
為什么CAN XL要極大地增加最大報文長度? 這就涉及到第三點:如何與以太網的10BASE-T1S形成有力競爭。
3)競爭力
前面提到了對壘雙方10BASE-T1S與CAN XL大致信息。先說10BASE-T1S,其上層協議完全使用TCP/IP,物理拓撲上則變成了類似CAN的總線形式,總的來說特點就是降低成本。得益于以太網上層應用的成熟性,10BASE-T1S能更好地將外部應用向車內擴展。但是,車內如何與當前車載網絡技術融合是很大的挑戰,這在我看來也正是CAN XL在著力解決的問題:兼容性。
CAN XL一方面是從CAN FD衍生,繼承了CAN FD的特性(如仲裁機制、錯誤檢測等等),能很好的銜接以CAN為主的車內通信(主要是指基于信號的通信方式);另一方面,CAN XL對其協議做了很大的擴展,允許在CAN XL上運行TCP/IP,或者說:既然10BASE-T1S的核心競爭力是成熟的TCP/IP協議和豐富的上層應用,那么秉承打不過就加入的策略,CAN XL期望做到對以太網上層協議的良好兼容(特別是面向服務的通信方式)。
這也正是本文前面所說,早期的CAN XL需求更多的是解決速率瓶頸,但隨著不斷演進,兼容性、“包容性”變成了非常關鍵的要素。那么接下來我們介紹一下CAN XL的特點,探討下其怎樣實現這種兼容性。
3. CAN XL的特點
1)通信速率:10 MBit/s以上
首先是其通信速率,設計為10 MBit/s以上(典型速率可能為12 MBit/s,但不會超過20 MBit/s),但由于CAN XL還沒有完全落地,實際的參數需要等正式標準化結束后才有定論。
2)幀結構
圖2 CAN XL幀結構
幀結構總體與CAN FD一致,幀的頭尾是低速模式(約1MBit/s),幀主體是高速模式,高速模式和低速模式通過特定字段劃分。幀格式的簡要說明如下:
- Priority ID、AF(Acceptance Field):與CAN ID相比,CAN XL把優先級和message ID的概念做了拆分,Priority ID用于處理優先級,AF用于表示message ID,后文做額外說明;
- XL:這個字段包含多個bit,表示此報文是標準CAN報文、CAN FD報文還是CAN XL報文(即兼容CAN、CAN FD);
- ADS(Arbitration Data Sequence)、DAS(Data Arbitration Sequence):速率轉換的過渡字段,用于低速率轉高速率、高速率轉低速率;
- SDT(SDU Type):指示數據類型,后文做額外說明;
- SEC:表示是否為加密數據,由于目前的資料有限,可能需要等CAN XL正式發布后再討論其作用與否;
- SBC(Stuff Bit Count)、PCRC、FCRC、FCP(Format Check Pattern):用于CRC校驗、錯誤檢測,由于可攜帶數據長度增加了很多,因此設計了前后2處的CRC檢驗,CRC的長度也相應擴展;
- VCID(Virtual CAN Network ID):類似以太網中的VLAN,后文做額外說明。
3)SDT、AF
前面提到,CANXL可以兼容以太網上層協議和CAN通信,這部分的內容正是由SDT和AF字段實現。SDT類比于EthernetⅡ的類型字段,表明CAN XL報文攜帶什么樣的數據;AF是用于尋址的字段,類比于CAN ID和以太網的MAC地址,根據SDT的不同值,AF可以有不同的尋址方式。比如當SDT=0x3,AF就是傳統的CAN ID,報文攜帶的數據就是傳統CAN報文的數據;SDT=0x4,AF表示以太網中目標MAC地址,報文就表示為以太網報文。
圖3 SDT定義
看到這里,有讀者應該會意識到,這里存在一個問題。CAN XL通過SDT和AF的組合可以表明一個以太網報文,但是以太網報文中3個重要字段:源MAC地址、目標MAC地址、類型在CAN XL中只截取了目標MAC地址。目前看CAN XL可能是打算將整個以太網報文都放進data field中,再增加幀頭等信息,但筆者認為這不是一個很好的方式,可能需要等CANXL正式發布后我們再來探討下這部分內容。
4)Priority ID、AF
CAN依據優先級進行仲裁,而在CAN和CAN FD中,優先級和message ID使用相同載體,這也使得在系統設計時會將重要信號放在高優先級的報文中。但CAN XL將優先級和message ID做了分開處理,即Priority ID和AF。這意味著可以有更靈活的設計方式,同時由于SDT的劃分,CAN XL報文同樣也可以采用源地址和目標地址的尋址方式(即SDT=0x2, Node Addressing)。但考慮到CAN已經使用了很多年,出于沿用和過渡的考慮也可以將Priority ID和AF設計為同樣的值,繼續按照之前的方式使用。
5)VCID
VCID參照了以太網中VLAN的概念,將VLAN ID應用到CAN XL上,即在數據鏈路層允許進行虛擬網絡的劃分。與VLAN的相同,這種虛擬網絡劃分使得通信可以擺脫一部分物理拓撲的限制,也能提高數據的安全性。其實這種虛擬網絡在當前CAN中存在類似的機制(AUTOSAR Partial Network,后文簡稱PN),也就是說,如果我們使用CAN XL中的VCID,我們就可能出現3種局部網絡:通過軟件實現PN而形成的上層局部網絡(包含網絡管理和上層應用);通過VCID實現的數據鏈路層的局部網絡;通過PN收發器實現PN而形成的物理層局部網絡(主要應用網絡管理)。如何將這3種機制融為一體可能會是CANXL落地后需要考慮的部分。
4.對于選擇10BASE-T1S還是CAN XL,考慮哪些方面
前面提到很多關于CAN XL的內容,但總的來講,其與10BASE-T1S各有優劣,尤其是當前CAN XL還未正式發布(所有的內容都可能存在變更),那么在此僅基于應用落地的考慮談談如何做出選擇:
1)用在哪里
在考慮成本等因素前,或許需要先梳理清楚為什么要引入這些技術,應用場景是什么。
CAN XL典型應用場景:在以太網作為主干網的架構中,CAN XL用作其下一級網段,滿足對數據吞吐、實時性有較高要求,需與域控或區域控制器構建更靈活的交互機制的通信需求。基于這種場景,CAN XL可能是更優的選擇(即本文的核心觀點:兼容性)。如果選擇10BASE-T1S,車內CAN信號的交互需要經過UDP/TCP包的重組,可能還需要考慮丟包、延遲等協議不同帶來的差異。
2)成本
成本將會成為能否廣泛推廣應用的核心點。雖然CAN XL在設計時就考慮過其成本應該低于10BASE-T1S,但硬件成本只是一方面,軟件開發各環節成本可能會是壓倒駱駝的最后一根稻草。
3)沿用件的情況
沿用件本身應該算作成本的一環,但這里把沿用件單獨拿出來分析,是由于車型的更迭不是一蹴而就的過程,會有較長的過渡期,甚至某些樣件或技術會一直沿用。這種情況下,新技術的引入必須考慮與沿用件和原技術的兼容情況。
4)休眠、喚醒
這里的“休眠、喚醒”指的是低功耗相關行為,當前的車載以太網對于休眠喚醒的深度支持大多需要I/O或者CAN端口作為控制來實現,這對于車內網絡來說顯然不夠靈活并且也產生額外的成本,或是需要10BBASE-T1S的PHY同樣支持TC10所定義的Sleep/Wake-up機制。而CAN XL由于繼承了CAN本身的休眠喚醒特性且可兼容CAN,有著天然的優勢(CAN XL可以使用標準CAN報文作為喚醒信號,而不需要為了適應高速率做額外定義)。
5.總結
雖然CAN XL未正式發布,但從目前的技術文檔來看其潛力很大,尤其是其既保留了CAN本身的優勢、特點,又能對以太網進行銜接。因此需要大家保持關注,提前做好技術儲備。
北匯信息專注于汽車電子測試,與眾多OEM和Tier1合作,在車載通信、診斷刷寫、OTA、車內網絡安全、域控制器功能測試等領域積累了豐富的經驗。我們會持續關注CANXL的后續進展,持續分享。
注:文中部分信息及圖片來源于bosch
參考文獻
[1] CiA 610-1 CAN XL specifications and test plans Part 1: Data link layer and physical coding sub-layer requirements
[2] CiA 610-2 CAN XL Part 2: Data link layer and physical signaling conformance test plan
[3] CiA 610-3 CAN XL specifications and test plans - Part 3: Physical media attachment sub-layer requirements
[4] TC10 Wake-upSleep Specification for Automotive Ethernet
-
CAN總線
+關注
關注
145文章
1955瀏覽量
130932 -
車載以太網
+關注
關注
18文章
226瀏覽量
23043
發布評論請先 登錄
相關推薦
評論