想像一下,在不遠的將來,你駕駛著新車:具有先進駕駛輔助系統(ADAS)功能的電動車,可以聯網且配有各式軟體。
聯網汽車允許人們根據需要下載各種應用和服務。想像一下把車借給孩子的情境,你可能會想要安裝一個汽車追蹤應用程式,遠端設置速度限制,甚至是距離限制。想要開車上山滑雪一周?可以為ADAS安裝安全套裝軟體,更好地應對冰雪天氣,或許還可以對輪胎進行遠端診斷,檢查是否一切正常。或者安裝多區域音訊應用,驅車行駛在陡峭的山路上,收聽最喜歡的Podcast,同時小孩還可以看動畫片?
可重新配置的乙太網路
當然,這些都是舉例說明,但其中一些情景很快就會成為現實。所有這些情景都依賴於這款未來汽車需要支援的具體功能:
.未來汽車需要連接到雲端。
.硬體元件支援所有新功能,能夠升級以具備車輛設計時未曾想到的功能。
.車載網路連接汽車上所有的電腦、感測器和致動器,能夠支援新應用產生的資料流量和通訊模式。
這些新要求以基於乙太網路的車載網路骨幹為重,與當前的工作方式衝突。以現在的方式製造汽車,所有資料流量在設計定案的當下已經決定,系統只能在不了解未來應用需求的情況下,針對特定假設預先進行優化。
特別是,乙太網路交換器使用IEEE音視頻橋接(AVB)和時間敏感網路(TSN)標準,根據流量的重要程度對流量進行分類和優先排序。乙太網路交換器和網路處理器使用廣義精確時間協定(gPTP)建立同步時鐘,可同步車輛中聲音和影像的串流播放,或由ADAS電子控制單元(ECU)將不同感測器(如攝像頭、雷達和雷射雷達)觀察到的物件組合起來。
更改網路或TSN配置中的某些內容不再是單一實體的任務。相反,它需要更改與車輛網路相關的幾個網路控制器、處理器和乙太網路交換器的配置,可分為兩步驟:
1.定義每個聯網元件上需要更改的內容。
2.定義如何將此新配置部署至通常來自不同供應商的網路設備。
解決這個問題需要一個抽象模型,能夠以統一的方式總結每個設備的功能,以及如何進行配置和更新。例如,經典的AUTOSAR軟體平台提供所有聯網設備的通用配置,但僅支援一組有限的網路功能,並且是固定的,在部署到車輛後不支援動態配置更新。
而IEEE定義了幾個標準來建模和配置網路。尤其IEEE 802.1Qcc(圖1)提供了一個抽象模型,其中包括:
.集中式使用者配置(CUC)模組
.捕獲所有應用要求。
.集中式網路配置(CNC)。
.集中式網路配置(CUC)模組
.了解網路實際硬體的所有具體功能。
.能夠為橋接器、監聽器、通話器等各個網路設備計算出新的網路配置。
.一種名為YANG的通用抽象資料建模語言(圖2)
.能夠捕獲和建模網路命令,接著每個目標設備都可以解析這些命令。
這種軟體定義網路(SDN)模式可利用軟體來引導網路上的資料流量,解決過往網路架構的局限性。SDN基於軟體,不同於基於硬體的傳統網路,可以更加靈活地控制網路、更改配置、調配資源和提升網路容量。
當然,IEEE標準就是這樣。它們具體說明了需要發生的事項,卻並未說明如何達成目標。
有幾種工具可以實現IEEE標準。圖3顯示了可將YANG模型部署到實際網路的一些工具。這些工具支援:
.聯網設備查詢網路的功能和狀態,並產生新服務請求或更新現有服務。
.CNC模組查詢任何聯網設備的狀態,產生配置訊息並將其傳輸到任何聯網設備。
每個工具在乙太網路訊框YANG資料編碼方式(例如二進位或明文)、資料傳輸方式(TCP或UDP、安全或非安全等)以及網路主機所需的資源類型(例如POSIX、AUTOSAR或RTOS)等方面各不相同。
最後一步是將基於抽象模型的這類配置訊息,轉換為與聯網設備實作的硬體所對應的具體配置定義。這需要與晶片緊密耦合的套裝軟體,這些套裝軟體能夠將YANG模型中所描述的抽象配置編譯為具體設備的寄存器設置。晶片廠商如恩智浦(NXP)正為產品組合中的幾個元件開發此類驅動程式,這些元件包括SJA1110十埠TSN乙太網路交換器和S32G車聯網處理器。
採用哪種序列化方法和協定取決於將在其上運行的目標設備的功能。在CPU子系統較小(如SJA1110)的資源受限設備上,首選記憶體占用小、運算能力需求低的工具。恩智浦從圖3中選擇合適的工具,證明其可行性。恩智浦認為,軟體定義網路將成為汽車網路的現實,相應的解決方案需要基於標準。
汽車軟體定義須軟硬兼施
軟體在未來汽車爆炸式成長,重要性也不斷提升,因此需要新的硬體來實現動態配置,適應未來的汽車功能。這將影響汽車中所安裝之數個ECU的運算單元及車載網路。
由不同廠商製造的ECU和晶片組成的分散式系統進行更新時,需要標準化並能夠滿足這一需求的工具。恩智浦致力於支援標準化解決方案,目前正在開發必要的軟體,為關鍵網路產品(如S32G處理器和SJA1110乙太網路交換器)實施所需的SDN步驟。
(本文作者為恩智浦汽車RT控制器產品經理)