有關(guān)車載TSN的碎碎念
平常和客戶交流,經(jīng)常被問到的跟車載TSN相關(guān)的問題,借著回答闡述一下我對車載TSN的理解,希望能給大家一些啟發(fā)。
這是我最經(jīng)常聽到的一個問題。業(yè)界對于TSN在車載網(wǎng)絡(luò)部署前景的擔(dān)憂,大部分來自于對應(yīng)用場景的不確定。我個人完全理解這樣的看法。TSN應(yīng)用場景的缺乏,可以進(jìn)一步細(xì)分到兩個層面:
a. 現(xiàn)階段對高帶寬+確定性需求最大的自駕域部分,以太網(wǎng)并不是主要的基礎(chǔ)設(shè)施,自然也就談不上TSN的應(yīng)用了。
Figure1 華為CCA架構(gòu) - 摘自東吳證券研報
我們來看華為CCA架構(gòu)。以太網(wǎng)環(huán)網(wǎng)確實部署了,但自駕相關(guān)的傳感器(攝像頭/毫米波雷達(dá)/激光雷達(dá))并沒有上環(huán)網(wǎng)而是直連MDC,數(shù)量最多且重要性最高(基于純視覺路線的流行)的攝像頭用的是名為GMSL(Gigabit Multimedia Serial Link)的串行鏈接技術(shù),毫米波雷達(dá)用的是CAN,只有激光雷達(dá)使用以太網(wǎng)且是點到點直連,這種架構(gòu)下TSN毫無用武之地。
b.即使有符合TSN特點的使用場景,架構(gòu)設(shè)計人員依然有其他選項可以繞過。
Figure2 基于區(qū)域控制器的架構(gòu)示意圖-1
如上圖所示,假如兩個紅五星標(biāo)記的執(zhí)行器基于應(yīng)用需求要做同步,由于他們接到了不同的區(qū)域控制器,問題便轉(zhuǎn)換為區(qū)域控制器之間的同步,使用TSN協(xié)議族中的IEEE 802.1AS通過以太網(wǎng)實現(xiàn)控制器間的同步是一個理所當(dāng)然的選項。但還有沒有其他路徑呢?當(dāng)然有。
Figure3基于區(qū)域控制器的架構(gòu)示意圖-2
如上圖,只要控制器上有足夠的端口,直接把右車身的執(zhí)行器連到左后區(qū)域控制器就行了,同一控制器處理端口間同步是相對容易的事情。這個操作增加了線束成本的同時減少了協(xié)議部署的成本和網(wǎng)絡(luò)與控制器協(xié)同工作的成本,從可行性的角度上看完全說的過去。所以TSN又悲催的被退居二線了。
綜合以上兩點,那TSN在車載領(lǐng)域就沒戲了嗎?我從一個跨界人士的視角出發(fā)斗膽說兩句,其實也沒那么悲觀。
首先咱們明確一個觀點:應(yīng)用為王,網(wǎng)絡(luò)是用來輔助應(yīng)用實現(xiàn)的。這在哪行哪業(yè)都一樣,道理很簡單,應(yīng)用是C端可見用來賣錢的,網(wǎng)絡(luò)本身是賣不出錢的,所以根據(jù)應(yīng)用需求來設(shè)計網(wǎng)絡(luò)是天經(jīng)地義的。但應(yīng)用是一成不變的嗎?不僅不是,而且肉眼可見迭代的速度越來越快。這時候如果還本著“能跑就行”的原則來設(shè)計網(wǎng)絡(luò),無異于一個老媽子追在應(yīng)用屁股后面摞補(bǔ)丁,用稍微長遠(yuǎn)一點的眼光來看其實是不經(jīng)濟(jì)的。比如前面提的執(zhí)行器同步的例子,這版需求是滿足了,下一版需求如果是四個角上的執(zhí)行器同步咋辦,再拉兩根線?反之在以太網(wǎng)上基于AS實現(xiàn)時鐘同步,看似大炮打蚊子,實則建立了一個有彈性可擴(kuò)展的架構(gòu),之后跟同步相關(guān)的需求都可以納入到同一個框架里輕松解決,以不變應(yīng)萬變。高瞻遠(yuǎn)矚加腳踏實地,在可行性和前瞻性中間找一個平衡,有難度但很有價值。綜上所述我認(rèn)為,以太環(huán)網(wǎng)加TSN的解決方案至少會長期作為一個選項存在。
Figure4 華為CCA的理想形態(tài) - 摘自東吳證券研報
其次,我對TSN的信心也部分來自于對于以太網(wǎng)技術(shù)的信心,相信他在車載網(wǎng)絡(luò)中占的地盤未來還能再擴(kuò)一擴(kuò)。以太網(wǎng)技術(shù)誕生40多年,在很多領(lǐng)域其實是以挑戰(zhàn)者的身份出現(xiàn)最后占據(jù)了統(tǒng)治地位,比如在電信網(wǎng)絡(luò)中挑落ATM技術(shù),在高性能計算網(wǎng)絡(luò)中擊敗Infiniband技術(shù),車載網(wǎng)絡(luò)里面對MOST他也是后來居上。以太網(wǎng)所依仗的優(yōu)勢無非這幾點:(速率)量大管飽,沒有專利墻,協(xié)議簡單(CAN更簡單,但速率上有先天劣勢),行業(yè)應(yīng)用廣泛可以互相借鑒。大家發(fā)現(xiàn)沒有,這里所有點其實都命中同一個關(guān)鍵詞就是“省錢”。盡管現(xiàn)階段車載以太網(wǎng)的成本并沒有太大優(yōu)勢,我還是相信隨著滲透率的提高,以太網(wǎng)在不久的將來會成為最經(jīng)濟(jì)的選擇。
回到前文提到的自駕域,滲透率最高的攝像頭通信目前SerDes(GMSL是其中一種實現(xiàn)方式)占據(jù)主流,那以太網(wǎng)還有機(jī)會嗎?我認(rèn)為是有的,比如Marvell就一直在推以太網(wǎng)傳攝像頭數(shù)據(jù)的方案。
Figure5 基于以太網(wǎng)的攝像頭通信 - from Marvell
原因可能有幾個。未來以太網(wǎng)成本降低會帶來經(jīng)濟(jì)性方面的優(yōu)勢。近一兩年涌現(xiàn)的車載算力集中化的實現(xiàn)可能將過往攝像頭自帶的圖像處理/視頻壓縮等能力轉(zhuǎn)移到自駕域控上,而無壓縮原始視頻的傳輸會對通信鏈路提出更高的帶寬需求(1Gbps to 10/25Gbps),而這超出了SerDes的能力范圍。另外基于車載應(yīng)用的日新月異,我無責(zé)任拍個腦袋,也許未來會有傳感器間互動的需求?那基于分組交換的以太網(wǎng)比點到點的Serdes實現(xiàn)起來方便多了。
綜上所述,以太網(wǎng)在自駕域乃至整個車載網(wǎng)絡(luò)中的地位可以說“未來可期”,作為以太網(wǎng)小弟的TSN日子也不會太差,大家要有信心。
這個一般是深入研究和動手實踐過TSN的人會提的問題,我之前也有相同的認(rèn)知,但仔細(xì)想想,其實還是有進(jìn)一步推敲的空間。首先我們要明確在這個場景中應(yīng)用TSN的目標(biāo),追求的究竟是低時延,還是低抖動(確定性)?
如果追求的是低時延,那可以說這個抱怨是個偽命題,我舉個例子來說明這一點:我所在的寫字樓,寄過來的包裹都是統(tǒng)一發(fā)到大樓物業(yè),物業(yè)保安每三天才給我送一次,那我會拒絕隔天能到的順豐而選用2-3天能到的郵政嗎?反正都一樣?那顯然是不會的,最后這一段我可以有各種辦法,可以投訴保安讓他們勤點送,可以要求改規(guī)則讓順豐直接送上來,我自己跑跑腿去取也是可以的,肯定不會選擇的是接受那個慢的快遞。同樣道理,當(dāng)上層軟件拖累了整體系統(tǒng)的時延指標(biāo),要做的事肯定是去優(yōu)化上層軟件而不是反過來質(zhì)疑網(wǎng)絡(luò)。木桶的裝水量取決于最短的那塊板,但正常的思路是去補(bǔ)短板,而不是對著長板說“你們的意義何在”。
Figure6 順豐特快
如果追求的是確定性,那確實是個問題,因為非實時系統(tǒng)從理論上就無法保障時延的確定性。所以我們應(yīng)該從系統(tǒng)設(shè)計的層面做把關(guān),對于有整體確定性要求的系統(tǒng),光靠TSN是無法滿足的,必須搭配實時操作系統(tǒng)。
Figure7 RTOS實時操作系統(tǒng)
TSN作為網(wǎng)絡(luò)基礎(chǔ)設(shè)施的底層協(xié)議被用于承載時間敏感的業(yè)務(wù)流,跟TSN相關(guān)的測試包含兩類,第一類是針對基礎(chǔ)設(shè)施本身的測試,第二類是給定基礎(chǔ)設(shè)施時針對業(yè)務(wù)的測試,本文主要討論第一類測試。
針對TSN本身的測試,首要的自然是功能測試。我們很多時候也說一致性測試,這個說法是從其他以太網(wǎng)協(xié)議比如TCP/IP協(xié)議測試?yán)^承過來的,從測試目標(biāo)上來看他跟功能測試是一回事。由于TSN協(xié)議族比較龐大,車載應(yīng)用一般并不需要用到所有的協(xié)議,因此挑選需部署的協(xié)議進(jìn)行測試即可。IEEE 802.1 TSN協(xié)議族中的絕大部分均已凍結(jié),所以功能測試用例本身一般沒有太大爭議。
Figure8 TSN協(xié)議族
接下來是性能測試,這點爭議就大很多,因為絕大部分標(biāo)準(zhǔn)不規(guī)定這個。此時讓我們call back前文的兩個觀點:“TSN是用來輔助應(yīng)用實現(xiàn)的”,“應(yīng)用迭代的速度越來越快”。定一個相對較高的性能要求,有助于降低未來面對應(yīng)用迭代時被迫調(diào)整網(wǎng)絡(luò)設(shè)計的可能性。典型的性能要求包括時鐘同步精度/時隙精度/單跳網(wǎng)絡(luò)的時延抖動最大值等。
Figure9 IEEE 802.1AS時鐘同步精度要求
最后還有可靠性/穩(wěn)定性/魯棒性測試。這里需要針對corner case進(jìn)行設(shè)計,如各種故障(鏈路/節(jié)點),非法消息,突發(fā)流量等等。我特別建議增加長時間穩(wěn)定性驗證的測試,一些在前面功能/性能測試中沒有顯現(xiàn)的問題有可能在這一步被篩出來,也有助于減少后續(xù)系統(tǒng)測試甚至實車測試中遇到各種奇怪問題的概率。
Figure10 AS系統(tǒng)中鏈路與主節(jié)點均故障的corner case
文章內(nèi)容來源于:TSNLAB 文/劉倚昕