SDV的核心是SOA,沒(méi)有SOA服務(wù)導(dǎo)向架構(gòu),車(chē)輛OS是沒(méi)有意義的,充其量就是個(gè)大號(hào)的API,就像奔馳的MB.OS。軟件的開(kāi)發(fā)周期和開(kāi)發(fā)成本與信號(hào)導(dǎo)向架構(gòu)下相比沒(méi)有什么改變,還是很高很長(zhǎng)。
圖片來(lái)源:梅賽德斯-奔馳
奔馳的MB.OS,實(shí)際就是MBUX座艙的基于安卓的二次開(kāi)發(fā),核心的基礎(chǔ)軟件還是黑莓和Vector做的。
圖片來(lái)源:Vector
上圖是Vector對(duì)車(chē)輛OS的定義,是真正的OS,也是SOA的核心。
圖片來(lái)源:Vector
上圖是Vector對(duì)車(chē)輛軟件系統(tǒng)的描述。
圖片來(lái)源:懌星科技
SOA設(shè)計(jì)流程
圖片來(lái)源:懌星科技
圖片來(lái)源:懌星科技
最終會(huì)落實(shí)為網(wǎng)絡(luò)拓?fù)?/a>和線束設(shè)計(jì),當(dāng)然電源、供電、診斷也會(huì)一起解決。
圖片來(lái)源:懌星科技
進(jìn)入到SOA時(shí)代,中間件是關(guān)鍵,即自適應(yīng)AUTOSAR,簡(jiǎn)稱(chēng)AP。AP采用經(jīng)典的代理(Proxy)-框架(Skeleton)模式來(lái)完成SOA模型的描述。這種模式將直接交互的客戶(hù)端(Client)和服務(wù)端(Server)分離,也可理解為應(yīng)用軟件和底層硬件脫離,由代理負(fù)責(zé)傳遞信息來(lái)完成服務(wù)調(diào)用,客戶(hù)端和服務(wù)端不需要處理通信層詳細(xì)信息。服務(wù)組件由服務(wù)單元提供的“業(yè)務(wù)邏輯”和適配目標(biāo)系統(tǒng)環(huán)境相關(guān)的“基礎(chǔ)設(shè)施邏輯”兩部分組成。
在開(kāi)發(fā)過(guò)程中,這兩部分是解耦的,可同時(shí)進(jìn)行的,且軟件形態(tài)是靈活的。有些新興造車(chē)如特斯拉,對(duì)AUTOSAR不屑一顧,完全按照消費(fèi)類(lèi)電子軟件開(kāi)發(fā)方式開(kāi)發(fā),結(jié)果就是無(wú)法重復(fù)利用研發(fā)成果,重復(fù)開(kāi)發(fā)工作明顯。AP不是一個(gè)中間件的名稱(chēng),它是一系列中間件的集合,此外AUTOSAR只是定義了方法論,具體還要廠家二次開(kāi)發(fā)。
在服務(wù)組件中,服務(wù)單元的邏輯可以是源碼或被封裝為SDK形式,且不關(guān)心具體的編程語(yǔ)言;基礎(chǔ)設(shè)施邏輯 (Interface和Message) 則以C++的形態(tài)編碼,與服務(wù)管理中間件一起確保服務(wù)的動(dòng)態(tài)響應(yīng)性和服務(wù)自身的可擴(kuò)展性,其軟件形態(tài)同樣可以是源碼或SDK形式提供。
中間件最核心的功能是通信,AP最核心的部分是SOME/IP或DDS,DDS目標(biāo)是自動(dòng)駕駛領(lǐng)域,SOME/IP是目前的主流。SOME/IP(Scalable Service-Oriented MiddlewarE Over IP) ,即“運(yùn)行于IP之上的可伸縮的面向服務(wù)的中間件”,由寶馬最早發(fā)明,也是最早使用以太網(wǎng)的車(chē)廠。SOME/IP屬于應(yīng)用層協(xié)議,它提供面向服務(wù)的通訊接口。SOME/IP定義的服務(wù)接口包含方法(Methods),事件(Events),字段(Fields)和事件組(Eventgroups),可以支持請(qǐng)求/響應(yīng)模式的遠(yuǎn)程服務(wù)調(diào)用,也可以支持訂閱/發(fā)布模式的消息通知。SOME/IP的訪問(wèn)方式分為事件通知(Notification)、遠(yuǎn)程過(guò)程調(diào)用(Remote Procedure Call,RPC)和訪問(wèn)進(jìn)程數(shù)據(jù)(Getter、Setter)3種。其中,事件通知與傳統(tǒng)CAN通信消息類(lèi)似,服務(wù)端周期性或者事件變化時(shí)向客戶(hù)端發(fā)送特定消息;遠(yuǎn)程過(guò)程調(diào)用是當(dāng)客戶(hù)端有請(qǐng)求的時(shí)候,向服務(wù)端發(fā)送一個(gè)請(qǐng)求消息,服務(wù)端根據(jù)情況返回響應(yīng);訪問(wèn)進(jìn)程數(shù)據(jù)可以使客戶(hù)向服務(wù)器端寫(xiě)入(Setter)或者讀?。℅etter)數(shù)據(jù)。
目前主流的面向服務(wù)的中間件有數(shù)據(jù)分發(fā)服務(wù)(Data Distribution Service, DDS)、基于IP的可擴(kuò)展面向服務(wù)的中間件(Scalable service-Oriented MiddlewarE over IP, SOME/IP)、消息隊(duì)列遙測(cè)傳輸協(xié)議(Message Queuing Telemetry Transport, MQTT)。DDS是由對(duì)象管理組織(Object Management Group, OMG)制定的一種面向服務(wù)的通信中間件協(xié)議。采用發(fā)布訂閱模型,強(qiáng)調(diào)以數(shù)據(jù)為中心,提供多種服務(wù)質(zhì)量策略(Quality of Service, QoS),以保障數(shù)據(jù)實(shí)時(shí)、高效、靈活地分發(fā),可滿(mǎn)足各種分布式實(shí)時(shí)通信的應(yīng)用需求。
DDS在國(guó)防、航天、電網(wǎng)、醫(yī)療、能源等領(lǐng)域取得大量成功的應(yīng)用,其優(yōu)良的性能經(jīng)過(guò)了長(zhǎng)期的驗(yàn)證。在汽車(chē)領(lǐng)域,早在2018年,AUTOSAR AP在通信管理模塊中加入了DDS技術(shù);ROS2、Apollo CyberRT的底層也是基于DDS協(xié)議;Orin、Xavier等面向自動(dòng)駕駛的系統(tǒng)級(jí)芯片SoC上也都預(yù)留了DDS的接口。DDS已被奧迪、大眾等多家汽車(chē)廠商應(yīng)用于智能駕駛、泊車(chē)充電、仿真測(cè)試平臺(tái)等場(chǎng)景;據(jù)悉國(guó)內(nèi)的造車(chē)新勢(shì)力小鵬汽車(chē)等也已將DDS技術(shù)應(yīng)用到量產(chǎn)車(chē)型上。
DDS能夠?qū)崿F(xiàn)低延遲、高可靠、高實(shí)時(shí)性的數(shù)據(jù)融合服務(wù),能夠從根本上降低軟件的耦合性、復(fù)雜性,提高軟件的模塊化特性,數(shù)據(jù)分發(fā)DDS 是OMG提供的用于以數(shù)據(jù)為中心的連接的中間件協(xié)議、連接框架和應(yīng)用, 應(yīng)用程序接口(API)標(biāo)準(zhǔn)。它繼承了分布式系統(tǒng)的組件,提供了低延時(shí)的數(shù)據(jù)連接、極高的可靠性和可擴(kuò)展的體系結(jié)構(gòu),滿(mǎn)足業(yè)務(wù)和任務(wù)關(guān)鍵型應(yīng)用程序的需求。與SOME/ IP、MQTT相比,DDS具有以下特點(diǎn):
1)SOME/IP 是針對(duì)汽車(chē)領(lǐng)域的中間件,在車(chē)載領(lǐng)域已經(jīng)應(yīng)用了較長(zhǎng)的時(shí)間。MQTT適用于低帶寬及不穩(wěn)定的網(wǎng)絡(luò),但它依賴(lài)于一個(gè)中央代理。DDS本身是一個(gè)工業(yè)級(jí)別的通信標(biāo)準(zhǔn),適用于多種應(yīng)用場(chǎng)景,但用在汽車(chē)領(lǐng)域時(shí)可能需要做專(zhuān)門(mén)的裁剪。
2)相比于SOME/IP,DDS引入大量標(biāo)準(zhǔn)內(nèi)置特性,在靈活性、可伸縮性等方便更具優(yōu)勢(shì)。
3)SOME/IP主要采用遠(yuǎn)程過(guò)程調(diào)用(Remote Procedure Call, RPC)的通信方式,服務(wù)器(server)和客戶(hù)機(jī)(client)之間仍有一定的耦合性。而DDS采用發(fā)布/訂閱機(jī)制,實(shí)現(xiàn)了通信雙方在時(shí)間、空間和數(shù)據(jù)通信上的多維松耦合。
4)SOME/IP沒(méi)有定義QoS機(jī)制,只能保證數(shù)據(jù)可靠,不能保證延遲。MQTT也具有保證穩(wěn)定傳輸?shù)臋C(jī)制的,但其僅支持QoS0、QoS1、QoS2的QoS策略。DDS具有豐富的QoS策略,能夠滿(mǎn)足高復(fù)雜性、高靈活性的數(shù)據(jù)流要求。
5)SOME/IP基于傳輸控制協(xié)議(Transmission Control Protocol, TCP)或用戶(hù)數(shù)據(jù)包協(xié)議(User Datagram Protocol, UDP),只能在基于網(wǎng)絡(luò)層為IP類(lèi)型的網(wǎng)絡(luò)環(huán)境中使用。而DDS基于實(shí)時(shí)發(fā)布訂閱協(xié)議(Real-Time Publish-Subscribe, RTPS)可以有多種實(shí)現(xiàn),且DDS獨(dú)有的DDS Security、DDS Web功能可以為用戶(hù)提供車(chē)-云-移動(dòng)端一站式的解決方案。
國(guó)內(nèi)百度的自動(dòng)駕駛使用了DDS。
用DDS比較容易取得ASIL-D級(jí)認(rèn)證。
圖片來(lái)源:大陸
汽車(chē)行業(yè)會(huì)有大量的中間件加入進(jìn)來(lái),占用越來(lái)越多的CPU資源,CPU資源遠(yuǎn)比AI重要。SOA架構(gòu)至少需要200K DMIPS的CPU算力。
不僅消耗CPU算力,通信帶寬也是大量消耗,2025年就會(huì)有量產(chǎn)車(chē)使用萬(wàn)兆以太網(wǎng),博通已經(jīng)有對(duì)應(yīng)50G的車(chē)載以太網(wǎng)交換機(jī)。要實(shí)現(xiàn)SOA,骨干網(wǎng)至少是萬(wàn)兆以上。
免責(zé)說(shuō)明:本文觀點(diǎn)和數(shù)據(jù)僅供參考,和實(shí)際情況可能存在偏差。本文不構(gòu)成投資建議,文中所有觀點(diǎn)、數(shù)據(jù)僅代表筆者立場(chǎng),不具有任何指導(dǎo)、投資和決策意見(jiàn)。