对垒以太网10BASE-T1S,CAN XL能后来居上么?
1.前言
CAN總線作為車載總線中極為重要的一部分,已經(jīng)經(jīng)歷了相當(dāng)長(zhǎng)時(shí)間的考驗(yàn),而第二代CAN總線(即CANFD)也在近幾年里逐步實(shí)現(xiàn)大規(guī)模的應(yīng)用,與此同時(shí),第三代CAN總線(CANXL)也將要正式推出。本文將為大家分享CANXL的相關(guān)內(nèi)容。
2.為什么要推出CANXL
1)填補(bǔ)CANFD與100BASE-T1之間的空白
當(dāng)前常用車載總線既包括低速率的總線,這些總線覆蓋了5MBit/s及以下的應(yīng)用(目前CANFD的典型速率是2MBit/s,后續(xù)可能會(huì)升級(jí)至5MBit/s),也包含高速率的總線,即車載以太網(wǎng)(100/1000BASE-T1)。而在 “復(fù)興號(hào)” 和 “綠皮車” 之間,需要較為合適運(yùn)載手段,以在成本、性能、速率之間取得平衡,順應(yīng)新的應(yīng)用場(chǎng)景需求。
大家可能會(huì)問,FlexRay總線是否可以?
只要對(duì)FlexRay總線有所應(yīng)用,會(huì)了解其開發(fā)成本、不友善的刷寫應(yīng)用、不利于拓展的拓?fù)浣Y(jié)構(gòu)等都影響了更廣泛的推廣應(yīng)用,從而被放棄。
所以在10 MBit/s通信的“gap”區(qū)間,出現(xiàn)了2種易于推廣的方案:
2)增加最大報(bào)文長(zhǎng)度
最大報(bào)文長(zhǎng)度與通信速率是相輔相成的,更快的通信速率意味著可以使用更大的數(shù)據(jù)長(zhǎng)度。CAN XL被設(shè)計(jì)為至少實(shí)現(xiàn)10 MBit/s的通信速率,最大支持2048字節(jié)的單幀傳輸。從CAN FD最大支持64字節(jié)的報(bào)文長(zhǎng)度,到CAN XL最大支持2048字節(jié),報(bào)文長(zhǎng)度的提升有了質(zhì)的飛躍。而我們知道,通常以太網(wǎng)報(bào)文的單幀最大長(zhǎng)度為1518字節(jié),這意味著我們可能會(huì)在CAN XL上運(yùn)行TCP/IP協(xié)議。
為什么CANXL要極大地增加最大報(bào)文長(zhǎng)度?
這就涉及到第三點(diǎn):如何與以太網(wǎng)的10BASE-T1S形成有力競(jìng)爭(zhēng)。
3)競(jìng)爭(zhēng)力
前面提到了對(duì)壘雙方10BASE-T1S與CAN XL大致信息。先說10BASE-T1S,其上層協(xié)議完全使用TCP/IP,物理拓?fù)渖蟿t變成了類似CAN的總線形式,總的來說特點(diǎn)就是降低成本。得益于以太網(wǎng)上層應(yīng)用的成熟性,10BASE-T1S能更好地將外部應(yīng)用向車內(nèi)擴(kuò)展。但是,車內(nèi)如何與當(dāng)前車載網(wǎng)絡(luò)技術(shù)融合是很大的挑戰(zhàn),這在我看來也正是CAN XL在著力解決的問題:兼容性。
CAN XL一方面是從CAN FD衍生,繼承了CAN FD的特性(如仲裁機(jī)制、錯(cuò)誤檢測(cè)等等),能很好的銜接以CAN為主的車內(nèi)通信(主要是指基于信號(hào)的通信方式);另一方面,CAN XL對(duì)其協(xié)議做了很大的擴(kuò)展,允許在CAN XL上運(yùn)行TCP/IP,或者說:既然10BASE-T1S的核心競(jìng)爭(zhēng)力是成熟的TCP/IP協(xié)議和豐富的上層應(yīng)用,那么秉承打不過就加入的策略,CAN XL期望做到對(duì)以太網(wǎng)上層協(xié)議的良好兼容(特別是面向服務(wù)的通信方式)。
這也正是本文前面所說,早期的CAN XL需求更多的是解決速率瓶頸,但隨著不斷演進(jìn),兼容性、“包容性”變成了非常關(guān)鍵的要素。那么接下來我們介紹一下CAN XL的特點(diǎn),探討下其怎樣實(shí)現(xiàn)這種兼容性。
3. CANXL的特點(diǎn)
1)通信速率:10 MBit/s以上
首先是其通信速率,設(shè)計(jì)為10 MBit/s以上(典型速率可能為12 MBit/s,但不會(huì)超過20 MBit/s),但由于CAN XL還沒有完全落地,實(shí)際的參數(shù)需要等正式標(biāo)準(zhǔn)化結(jié)束后才有定論。
2)幀結(jié)構(gòu)
圖2 CANXL幀結(jié)構(gòu)幀結(jié)構(gòu)總體與CANFD一致,幀的頭尾是低速模式(約1MBit/s),幀主體是高速模式,高速模式和低速模式通過特定字段劃分。幀格式的簡(jiǎn)要說明如下:
-
Priority ID、AF(Acceptance Field): 與CAN ID相比,CANXL把優(yōu)先級(jí)和message ID的概念做了拆分,Priority ID用于處理優(yōu)先級(jí),AF用于表示message ID,后文做額外說明
-
XL: 這個(gè)字段包含多個(gè)bit,表示此報(bào)文是標(biāo)準(zhǔn)CAN報(bào)文、CANFD報(bào)文還是CANXL報(bào)文(即兼容CAN、CANFD)
-
ADS(Arbitration Data Sequence)、DAS(Data Arbitration Sequence): 速率轉(zhuǎn)換的過渡字段,用于低速率轉(zhuǎn)高速率、高速率轉(zhuǎn)低速率
-
SDT(SDU Type): 指示數(shù)據(jù)類型,后文做額外說明
-
SEC: 表示是否為加密數(shù)據(jù),由于目前的資料有限,可能需要等CANXL正式發(fā)布后再討論其作用與否;
-
SBC(Stuff Bit Count)、PCRC、FCRC、FCP(Format Check Pattern): 用于CRC校驗(yàn)、錯(cuò)誤檢測(cè),由于可攜帶數(shù)據(jù)長(zhǎng)度增加了很多,因此設(shè)計(jì)了前后2處的CRC檢驗(yàn),CRC的長(zhǎng)度也相應(yīng)擴(kuò)展
-
VCID(Virtual CAN Network ID): 類似以太網(wǎng)中的VLAN,后文做額外說明
3)SDT、AF
前面提到,CAN XL可以兼容以太網(wǎng)上層協(xié)議和CAN通信,這部分的內(nèi)容正是由SDT和AF字段實(shí)現(xiàn)。SDT類比于Ethernet Ⅱ的類型字段,表明CAN XL報(bào)文攜帶什么樣的數(shù)據(jù);AF是用于尋址的字段,類比于CAN ID和以太網(wǎng)的MAC地址,根據(jù)SDT的不同值,AF可以有不同的尋址方式。比如當(dāng)SDT=0x3,AF就是傳統(tǒng)的CAN ID,報(bào)文攜帶的數(shù)據(jù)就是傳統(tǒng)CAN報(bào)文的數(shù)據(jù);SDT=0x4,AF表示以太網(wǎng)中目標(biāo)MAC地址,報(bào)文就表示為以太網(wǎng)報(bào)文。
看到這里,有讀者應(yīng)該會(huì)意識(shí)到,這里存在一個(gè)問題。CAN XL通過SDT和AF的組合可以表明一個(gè)以太網(wǎng)報(bào)文,但是以太網(wǎng)報(bào)文中3個(gè)重要字段:源MAC地址、目標(biāo)MAC地址、類型在CAN XL中只截取了目標(biāo)MAC地址。目前看CAN XL可能是打算將整個(gè)以太網(wǎng)報(bào)文都放進(jìn)data field中,再增加幀頭等信息,但筆者認(rèn)為這不是一個(gè)很好的方式,可能需要等CAN XL正式發(fā)布后我們?cè)賮硖接懴逻@部分內(nèi)容。
4)Priority ID、AF
CAN依據(jù)優(yōu)先級(jí)進(jìn)行仲裁,而在CAN和CAN FD中,優(yōu)先級(jí)和message ID使用相同載體,這也使得在系統(tǒng)設(shè)計(jì)時(shí)會(huì)將重要信號(hào)放在高優(yōu)先級(jí)的報(bào)文中。但CAN XL將優(yōu)先級(jí)和message ID做了分開處理,即Priority ID和AF。這意味著可以有更靈活的設(shè)計(jì)方式,同時(shí)由于SDT的劃分,CAN XL報(bào)文同樣也可以采用源地址和目標(biāo)地址的尋址方式(即SDT=0x2, Node Addressing)。但考慮到CAN已經(jīng)使用了很多年,出于沿用和過渡的考慮也可以將Priority ID和AF設(shè)計(jì)為同樣的值,繼續(xù)按照之前的方式使用。
5)VCID
VCID參照了以太網(wǎng)中VLAN的概念,將VLAN ID應(yīng)用到CAN XL上,即在數(shù)據(jù)鏈路層允許進(jìn)行虛擬網(wǎng)絡(luò)的劃分。與VLAN的相同,這種虛擬網(wǎng)絡(luò)劃分使得通信可以擺脫一部分物理拓?fù)涞南拗?#xff0c;也能提高數(shù)據(jù)的安全性。其實(shí)這種虛擬網(wǎng)絡(luò)在當(dāng)前CAN中存在類似的機(jī)制(AUTOSAR Partial Network,后文簡(jiǎn)稱PN)。
也就是說,如果我們使用CANXL中的VCID,我們就可能出現(xiàn)3種局部網(wǎng)絡(luò):通過軟件實(shí)現(xiàn)PN而形成的上層局部網(wǎng)絡(luò)(包含網(wǎng)絡(luò)管理和上層應(yīng)用);通過VCID實(shí)現(xiàn)的數(shù)據(jù)鏈路層的局部網(wǎng)絡(luò);通過PN收發(fā)器實(shí)現(xiàn)PN而形成的物理層局部網(wǎng)絡(luò)(主要應(yīng)用網(wǎng)絡(luò)管理)。如何將這3種機(jī)制融為一體可能會(huì)是CANXL落地后需要考慮的部分。
4. 對(duì)于選擇10Base-T1S還是CAN XL,考慮哪些方面
前面提到很多關(guān)于CAN XL的內(nèi)容,但總的來講,其與10BASE-T1S各有優(yōu)劣,尤其是當(dāng)前CAN XL還未正式發(fā)布(所有的內(nèi)容都可能存在變更),那么在此僅基于應(yīng)用落地的考慮談?wù)勅绾巫龀鲞x擇:
1)用在哪里
在考慮成本等因素前,或許需要先梳理清楚為什么要引入這些技術(shù),應(yīng)用場(chǎng)景是什么。
CANXL典型應(yīng)用場(chǎng)景: 在以太網(wǎng)作為主干網(wǎng)的架構(gòu)中,CANXL用作其下一級(jí)網(wǎng)段,滿足對(duì)數(shù)據(jù)吞吐、實(shí)時(shí)性有較高要求,需與域控或區(qū)域控制器構(gòu)建更靈活的交互機(jī)制的通信需求。基于這種場(chǎng)景,CANXL可能是更優(yōu)的選擇(即本文的核心觀點(diǎn):兼容性)。
如果選擇10BASE-T1S,車內(nèi)CAN信號(hào)的交互需要經(jīng)過UDP/TCP包的重組,可能還需要考慮丟包、延遲等協(xié)議不同帶來的差異。
2)成本
成本將會(huì)成為能否廣泛推廣應(yīng)用的核心點(diǎn)。雖然CANXL在設(shè)計(jì)時(shí)就考慮過其成本應(yīng)該低于10BASE-T1S,但硬件成本只是一方面,軟件開發(fā)各環(huán)節(jié)成本可能會(huì)是壓倒駱駝的最后一根稻草。
3)沿用件的情況
沿用件本身應(yīng)該算作成本的一環(huán),但這里把沿用件單獨(dú)拿出來分析,是由于車型的更迭不是一蹴而就的過程,會(huì)有較長(zhǎng)的過渡期,甚至某些樣件或技術(shù)會(huì)一直沿用。這種情況下,新技術(shù)的引入必須考慮與沿用件和原技術(shù)的兼容情況。
4)休眠、喚醒
這里的“休眠、喚醒”指的是低功耗相關(guān)行為,當(dāng)前的車載以太網(wǎng)對(duì)于休眠喚醒的深度支持大多需要I/O或者CAN端口作為控制來實(shí)現(xiàn),這對(duì)于車內(nèi)網(wǎng)絡(luò)來說顯然不夠靈活并且也產(chǎn)生額外的成本,或是需要10BASE-T1S的PHY同樣支持TC10所定義的Sleep/Wake-up機(jī)制。而CAN XL由于繼承了CAN本身的休眠喚醒特性且可兼容CAN,有著天然的優(yōu)勢(shì)(CAN XL可以使用標(biāo)準(zhǔn)CAN報(bào)文作為喚醒信號(hào),而不需要為了適應(yīng)高速率做額外定義)。
5.總結(jié)
雖然CANXL未正式發(fā)布,但從目前的技術(shù)文檔來看其潛力很大,尤其是其既保留了CAN本身的優(yōu)勢(shì)、特點(diǎn),又能對(duì)以太網(wǎng)進(jìn)行銜接。因此需要大家保持關(guān)注,提前做好技術(shù)儲(chǔ)備。
北匯信息專注于汽車電子測(cè)試,與眾多OEM和Tier1合作,在車載通信、診斷刷寫、OTA、車內(nèi)網(wǎng)絡(luò)安全、域控制器功能測(cè)試等領(lǐng)域積累了豐富的經(jīng)驗(yàn)。我們會(huì)持續(xù)關(guān)注CANXL的后續(xù)進(jìn)展,持續(xù)分享。
注: 文中部分圖片來源于
http://www.bosch-semiconductors.com/media/ip_modules/pdf_2/can_xl_1/canxl_intro_20210225.pdf
參考文獻(xiàn)
[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] http://www.bosch-semiconductors.com/media/ip_modules/pdf_2/can_xl_1/canxl_intro_20210225.pdf
[5] TC10 Wake-upSleep Specification for Automotive Ethernet
總結(jié)
以上是生活随笔為你收集整理的对垒以太网10BASE-T1S,CAN XL能后来居上么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 熊猫教你路由器和三层交换机的区别
- 下一篇: RK系列开发板音频驱动适配指南(二)