0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

軟件定義汽車,E/E架構是關鍵

Linux閱碼場 ? 來源:拖拉機日記 ? 作者:活到一百歲 ? 2021-05-25 15:23 ? 次閱讀

從去年開始(可能更早),SOA的概念在汽車軟件行業(yè)逐漸蔓延開來,很多公眾號都發(fā)過講汽車SOA的文章,很多車廠都要開始(或者已經(jīng)在)搞SOA。但我覺得吧,在開搞新技術之前,是不是先花點時間弄明白這個技術到底是什么,它解決的是什么樣的問題,然后再談架構,再談開發(fā),很多時候我們連問題是什么都沒整明白,就急著去做解決方案,最后的結果只能是一地雞毛。

對個人來說,要搞SOA開發(fā),需要夯實哪些基礎知識,看了很多SOA文章,卻很少有人梳理這些,這段時間我陸續(xù)思考了一些,盡管可能不全面(更偏向SOC開發(fā)涉及的技術點),但仍然試圖寫出來,以期逐步構建出自己的領域知識體系(詳見下篇)~那么,先來理一理關于SOA:

軟件定義汽車,E/E架構是關鍵

汽車電子電氣架構(簡稱E/E架構)是指整車電子電氣系統(tǒng)的總布置方案。在智能網(wǎng)聯(lián)汽車產(chǎn)業(yè)大變革背景下,軟件定義汽車理念已成為共識。傳統(tǒng)汽車采用的分布式E/E架構因計算能力不足、通訊帶寬不足、不便于軟件升級等瓶頸,已經(jīng)不能滿足現(xiàn)階段汽車發(fā)展的需求,E/E架構的變革已成為智能網(wǎng)聯(lián)汽車發(fā)展的關鍵,其升級主要體現(xiàn)在硬件架構、軟件架構、通信架構三個方面:

硬件架構升級:由分布式ECU向域控制/中央集中架構方向發(fā)展,汽車E/E架構的升級路徑表現(xiàn)為分布式(模塊化→集成化)、域集中(域控制集中→跨域融合)、中央集中式(車載電腦→車-云計算)。好處在于:提升算力利用率,減少算力設計總需求;數(shù)據(jù)統(tǒng)一交互,實現(xiàn)整車功能協(xié)同;縮短線束,降低故障率,減輕質量。

軟件架構升級:通過 AutoSAR 等軟件架構提供標準的接口定義,模塊化設計,促使軟硬件解耦分層,實現(xiàn)軟硬件設計分離;Classic AutoSAR架構逐步向Classic AutoSAR+Adaptive AutoSAR混合式架構發(fā)展。好處在于:可實現(xiàn)軟件/固件 OTA 升級、軟件架構的軟實時、操作系統(tǒng)可移植;采集數(shù)據(jù)信息多功能應用,有效減少硬件需求量,真正實現(xiàn)軟件定義汽車。

通信架構升級:車載網(wǎng)絡骨干由 LIN/CAN 總線向以太網(wǎng)方向發(fā)展。好處在于:滿足高速傳輸、高通量、低延遲等性能需求,同時也可減少安裝、測試成本。

中央計算單元——E/E架構的核心

中央計算單元是E/E架構中最關鍵的部分,不管是按區(qū)域的架構,還是以后的純中央計算平臺,其硬件構型從根本上決定了軟件架構的設計方向。中央計算單元可以分為以下三種形態(tài):

SOC分離式:將多個不同的芯片集成到一個中央計算單元上去,每個運行不同的操作系統(tǒng),只是在形態(tài)上集中到了一起,各單元依然獨立的完成各自任務;

硬件隔離式:在統(tǒng)一的計算平臺上采用虛擬化方案,同時運行多個操作系統(tǒng),但是各個系統(tǒng)依然在硬件上進行隔離,每個系統(tǒng)都有自己的專屬硬件資源;

軟件虛擬式:在統(tǒng)一的計算平臺上采用虛擬化方案,同時運行多個操作系統(tǒng),每個操作系統(tǒng)所使用的硬件資源,由Hypervisor層動態(tài)調配,每個系統(tǒng)并沒有專屬的硬件資源。

硬件隔離式和軟件虛擬式,都采用了虛擬化方案,唯一不同點在于硬件資源是否專屬,如果是專屬的,就意味著資源無法動態(tài)調配,容易產(chǎn)生資源浪費。虛擬化方案最大的好處是,硬件上的可拓展性,如果中央計算單元采用刀片式的設計結構,可以很方便地拓展計算單元的算力,而不用替換整個計算單元。

在中央計算單元中,只需要兩個操作系統(tǒng)即可,用于自動駕駛、車控、網(wǎng)關的RTOS,以及用于娛樂的普通OS(如AndroidLinux)。用于娛樂的OS完全可以通過虛擬機的方式運行,用于自動駕駛、車控、網(wǎng)關的RTOS,可以直接運行在Hypervisor層,既能兼顧實時計算的要求,也能獲得豐富的娛樂系統(tǒng)功能。

SOA——解決軟件定義汽車中服務間通信的分布式架構

在軟件定義汽車中,應用間跨進程或跨核的通信,必然成為軟件架構設計中一個需要去解決的問題。SOA在互聯(lián)網(wǎng)已經(jīng)應用了很長時間,但在汽車行業(yè)中,算是比較新的概念。鑒于汽車的應用場景和通信需求有其特殊性,很多互聯(lián)網(wǎng)的SOA技術,并不能照搬過來。雖然Adaptive AutoSAR采用了SOA作為通信架構(ARA::COM架構如下圖),但是Adaptive AutoSAR的應用可以說還沒有普及,應該說整個行業(yè)就沒什么標準的SOA中間件解決方案,幾乎沒有專業(yè)做中間件研發(fā)的公司,可能在國內這種慢工出細活的東西很難有什么成長的空間和土壤吧。所以,對于汽車SOA,還有很多值得我們去做的研究和嘗試~

SOA,Service-Oriented Architecture(面向服務的架構),是一種架構思想,實施者可以根據(jù)實際情況設計SOA的技術實現(xiàn)。為什么要面向服務?以前用得好好的面向信號或者面向消息的通信架構怎么就不香了?面向服務的通信架構,它的優(yōu)勢到底在哪里,如果不能很好地理解這點,可能很難從過去面向信號的思維轉變過來,也就無法體會引入SOA的價值和意義。這有點悖論哈,不去用,無法感受其奧義,但又因為沒用過,對它保有質疑,過往的再擰巴,也是千錘百煉了,從零開始,談何容易。因此,我覺得短時間內不太可能全面鋪開做整車SOA,可能會在安全等級不高的域比如智能座艙先嘗試SOA。本質上SOA就是服務的集合。

在SOME/IP 協(xié)議介紹一文中,我寫過對于“服務”的理解。以智能座艙域為例(如下圖),可以把“服務”分為兩類:基礎服務和應用服務,基礎服務的功能可能包括:總線消息的解析和路由(如車身數(shù)據(jù)服務)、直接與硬件相關的邏輯處理(如音頻服務)、上層應用有共同需求的一些基礎設施(如日志服務);應用服務的功能相對復雜些,可能需要由多個基礎服務提供數(shù)據(jù)支撐,也可能需要應用服務之間相互協(xié)同,實現(xiàn)業(yè)務邏輯(如導航服務)。

dda7a5be-bc8a-11eb-9e57-12bb97331649.png

SOA分層架構視圖(僅作舉例)

這只是一個很簡單的例子,想表達的是,每個服務將自己的功能,以接口的方式提供,基于這些服務和接口,便可以設計出應用場景,以滿足各種用戶需求,提升駕車體驗??梢韵胂螅瑧脠鼍暗男枨笠欢ㄊ秦S富且變化的,面向信號的話,新增一個需求,可能要等上一年,但如果服務也能夠方便地進行開發(fā)、擴展和更新,是不是好多了,是不是挺有價值呢~

個人覺得,汽車SOA的設計難點,主要在于以下幾點:

服務的定義和劃分,要把業(yè)務需求分析透徹,從中提煉出服務的功能,數(shù)據(jù)流向理清,定義服務的邊界,把握服務的粒度,怎么做到“低耦合,高內聚”,我以前很討厭研究需求,覺得那些不過就是些業(yè)務,沒啥技術含量,后來才慢慢認識到,這種想法很危險啊,脫離需求的軟件設計不可能很好地滿足需求,如果不能很好地服務于產(chǎn)品功能,那么再牛逼的技術都沒有機會實現(xiàn)它應有的價值,事實上,能夠把需求文檔轉化為可實施的軟件設計,也是一種能力;

不同系統(tǒng)中,要實現(xiàn)中間件框架或者底層通信基礎設施,Adaptive AutoSAR有ARA::COM組件,Android有Framework,但不能跨域,QNX/Linux就不用說了。要實現(xiàn)一個中間件框架,本身并不是件容易的事,需要比較強的技術實力,一旦出了問題一般都是重大問題;

服務接口標準化,接口描述語言化(IDL),能夠通過工具自動生成RPC樁的代碼(最好能夠關聯(lián)整車通信矩陣,e.g. ARXML-》C++ API),能夠跨平臺,支持多語言,畢竟UI層可能不是C++寫的,時至今日,沒幾個應用愿意去解析原始消息,遠程調用接口不香嘛~;

如何兼容一些沒有與時俱進的設備和模塊,如何兼容舊的傳輸通道,如何盡可能復用以前的業(yè)務邏輯,理論上任何兼容都是可以實現(xiàn)的,抽象一層不夠,那就再來一層,但兼容得越多,系統(tǒng)就越復雜,出問題的概率就越大,維護起來就越費勁,這意味著成本的升高,質量卻不見得變好;

評估性能影響,怎么保證安全性,……,如果是基于開源項目,可能還要做二次開發(fā),來滿足這些非功能性質的需求~;

所以,汽車SOA真不是SOME/IP,也不是DDS,更不是Adaptive AutoSAR,這些都是汽車SOA技術棧中的一環(huán),并不是全部。

很多時候,純技術的部分并不是最難的,新的架構方案要達成共識,要真正落地,需要博弈和取舍,需要天時地利人和。作為一名工程師,心態(tài)是極為重要的,要分清理想與現(xiàn)實,技術與工作,所以在這里我只想談技術,本來打算梳理一下做汽車SOA開發(fā)的基礎知識體系,以后公眾號的內容大致也會圍繞著這個體系去寫,沒想到寫著寫著這么長了,于是分成上下篇了,下面先開個頭吧。

SOA是架構,做SOA的設計和開發(fā),其實也是做架構的設計和開發(fā),在這里我想引用陳皓老師為《架構整潔之道》作的推薦序里的一段話,我常想起這段話,挺有鞭策的功效,分享給每個不想成為PPT架構師的工程師,以共勉:

問題:如果你要成為一名架構師,你需要明確地區(qū)分幾組詞語,否則你不可能成為一名合格的工程師或架構師。這幾組詞語是簡單vs.簡陋、平衡vs.妥協(xié)、迭代vs.半成品。如果你不能很清楚地定義出其中的區(qū)別,那么你將很難做出正確的決定,也就不可能成為一名優(yōu)秀的工程師或架構師。

陳皓,《架構整潔之道》推薦序一

之前很長一段時間,我經(jīng)常感到焦慮,一方面不想成為PPT黨,開會黨,另一方面,除了工作還要生(帶)活(娃),留給學習的時間并不多,而想學的知識又如同汪洋大海,今天想好好梳理一下某個技術點,明天搜到某個開源項目蠻感興趣想寫個Demo跑跑看,年輕的時候覺得日子一天天刷刷地過去,也不是什么事兒,現(xiàn)在愈發(fā)有種緊迫感。

在做了一些架構方面的設計和開發(fā)工作以后,更是深刻體會到構建個人的領域知識體系,尤其是一些基礎技術,真的非常重要。今年伊始,聽了李運華老師關于“如何打好基礎”的講座,核心觀點是:“基礎≠底層,基礎≠源碼,基礎≠不變”,很是醍醐灌頂~結合個人實際情況,我覺得可以這么去構建我的領域知識體系:首先,定義出哪些是與我工作相關的領域知識(比如現(xiàn)階段是SOA);其次,進一步細化要學習的知識范圍,也就是下篇要梳理的SOA相關知識;最后,分別從廣度和深度(根據(jù)工作內容去判別學習的深度),有針對性地學習,并在實際工作和項目中把知識和技術串起來,從而系統(tǒng)性地提升技術能力。就像前面說的,要分清理想與現(xiàn)實,因為這個世界從來都不是我所能想象的,很多PPT黨開會黨,基礎不扎實甚至很水,設計出焦油坑一樣的架構,坑自己,坑別人,坑項目,也不耽誤他們升職加薪跳槽。

但是“世界上只有一種英雄主義,那就是認清生活的真相后依然熱愛它”,不是么,于是才有了寫公眾號的初心和決心。今天的雞湯儼然已經(jīng)超標,文中諸多SOA觀點,純屬個人理解,完全不具參考價值,歡迎有不同見解的朋友后臺給我留言,一起交流哈~

原文標題:車載:面向服務的架構SOA 開發(fā)基礎 (上)

文章出處:【微信公眾號:Linux閱碼場】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 車載
    +關注

    關注

    17

    文章

    599

    瀏覽量

    83322
  • SOA
    SOA
    +關注

    關注

    1

    文章

    281

    瀏覽量

    27388

原文標題:車載:面向服務的架構SOA 開發(fā)基礎 (上)

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    軟件定義汽車的大背景下,MathWorks如何更好地賦能汽車設計

    的趨勢已經(jīng)不可阻擋。 ? 在軟件定義汽車這一全新的架構里,AI是底層核心技術,智能化系統(tǒng)將遍布整車的每一個角落。在2024?MathWorks中國
    的頭像 發(fā)表于 09-18 00:03 ?3382次閱讀
    在<b class='flag-5'>軟件</b><b class='flag-5'>定義</b><b class='flag-5'>汽車</b>的大背景下,MathWorks如何更好地賦能<b class='flag-5'>汽車</b>設計

    新思科技與Arm攜手合作,讓軟件定義汽車走向成功

    自動駕駛汽車現(xiàn)在已經(jīng)不再是遙不可及的概念,甚至在一些國家已經(jīng)上路行駛。為了滿足便利性、安全性、自主性以及電氣化等新的駕駛需求,汽車行業(yè)正朝著軟件定義
    的頭像 發(fā)表于 09-13 13:22 ?451次閱讀

    紫光同芯推出開放式架構安全芯片E450R

    2024紫光同芯合作伙伴大會在北京璀璨啟幕,會上紫光同芯震撼發(fā)布了其最新技術結晶——全球首顆融合開放式硬件與軟件架構的安全芯片E450R。這款芯片以其獨特的雙開放設計,即開放式硬件架構
    的頭像 發(fā)表于 08-28 16:28 ?524次閱讀

    大眾汽車集團宣布2025年起采用Rivian軟件與基礎架構

    近日,德國汽車巨頭大眾汽車集團發(fā)布重要聲明,計劃自2025年起在其多款車型中全面引入美國電動汽車初創(chuàng)公司Rivian的軟件和基礎架構。這一戰(zhàn)
    的頭像 發(fā)表于 07-29 16:13 ?1078次閱讀

    詳解TSMaster CAN 與 CANFD 的 CRC E2E 校驗方法

    關鍵字:TSMaster,CAN/CANFD,CRC校驗,E2E校驗目錄Catalog1.CRC/E2E在報文傳輸過程中的應用2.基于TSMaster剩余總線仿真的
    的頭像 發(fā)表于 05-25 08:21 ?1582次閱讀
    詳解TSMaster CAN 與 CANFD 的 CRC <b class='flag-5'>E2E</b> 校驗方法

    小鵬汽車與大眾汽車宣布簽署E/E架構技術合作框架協(xié)議

    是其垂直集成的全棧軟硬件技術的核心。它支持ADAS和Connectivity OS等軟件與底層硬件和車輛平臺解耦,實現(xiàn)跨平臺軟件的快速迭代。小鵬汽車最新一代E/
    的頭像 發(fā)表于 04-23 14:49 ?447次閱讀
    小鵬<b class='flag-5'>汽車</b>與大眾<b class='flag-5'>汽車</b>宣布簽署<b class='flag-5'>E</b>/<b class='flag-5'>E</b><b class='flag-5'>架構</b>技術合作框架協(xié)議

    大眾全新奧迪E31.2電子架構介紹

    奧迪 E3 1.2 電子架構的誕生 E3 1.2 電子架構是奧迪與CARIAD合作開發(fā)的成果,首次應用于奧迪Q6 e-tron系列的1.
    發(fā)表于 04-11 10:34 ?375次閱讀
    大眾全新奧迪<b class='flag-5'>E</b>31.2電子<b class='flag-5'>架構</b>介紹

    PREEvision中的邏輯架構:實現(xiàn)車輛系統(tǒng)設計的高效抽象化

    車輛的電子/電氣(E/E架構已經(jīng)從過去的簡單設計演變成今天的復雜結構。在早期,E/E架構主要由
    的頭像 發(fā)表于 04-08 14:11 ?978次閱讀
    PREEvision中的邏輯<b class='flag-5'>架構</b>:實現(xiàn)車輛系統(tǒng)設計的高效抽象化

    Arm推出能在Arm AE IP和虛擬原型平臺上運行的全棧軟件解決方案

    軟件定義汽車 (SDV) 的出現(xiàn)意味著汽車行業(yè)需要對車輛的設計和開發(fā)進行全面反思。隨著車輛中電子電氣 (E/
    的頭像 發(fā)表于 04-08 10:47 ?501次閱讀
    Arm推出能在Arm AE IP和虛擬原型平臺上運行的全棧<b class='flag-5'>軟件</b>解決方案

    英特爾推出全新軟件定義汽車架構方案

    英特爾汽車事業(yè)部近期推出卓越性能與超高效率的全新軟件定義汽車(SDV)架構方案。這一創(chuàng)新方案不僅滿足了
    的頭像 發(fā)表于 03-16 09:31 ?495次閱讀

    一種可應對E/E架構變化的最新16位RL78/F2x MCU

    近年來,汽車E/E架構發(fā)生了巨大變化,給執(zhí)行器和傳感器應用帶來了影響,如車燈、車窗和后視鏡等車身控制、發(fā)動機泵和風扇等電機控制,以及傳感器控制等應用。傳統(tǒng)上,這些應用使用低成本的小型1
    的頭像 發(fā)表于 02-23 10:00 ?461次閱讀
    一種可應對<b class='flag-5'>E</b>/<b class='flag-5'>E</b><b class='flag-5'>架構</b>變化的最新16位RL78/F2x MCU

    什么是“軟件定義汽車”?各大車企的軟件定義汽車戰(zhàn)略

    要實現(xiàn)軟件定義汽車,除了電子/電氣架構的升級,用于軟硬件分離解耦的集成ECU(電子控制單元)也是必不可少的。另外還提到,為此需要一種稱為“虛擬機(hypervisor)”的技術在單個E
    發(fā)表于 12-22 11:11 ?458次閱讀
    什么是“<b class='flag-5'>軟件</b><b class='flag-5'>定義</b><b class='flag-5'>汽車</b>”?各大車企的<b class='flag-5'>軟件</b><b class='flag-5'>定義</b><b class='flag-5'>汽車</b>戰(zhàn)略

    汽車區(qū)域架構的演變歷程

    E/E架構領域,芯片制造商、Tier1 供應商和汽車企業(yè),需要考慮多個維度來優(yōu)化配置系統(tǒng)。從戰(zhàn)略角度看,需要明確自身在價值鏈上的定位。不同汽車
    發(fā)表于 11-19 16:31 ?478次閱讀
    <b class='flag-5'>汽車</b>區(qū)域<b class='flag-5'>架構</b>的演變歷程

    淺談軟件定義汽車的網(wǎng)絡安全問題

    軟件定義汽車并非只是軟件的數(shù)量增多,軟件需要保護的資產(chǎn)也會增多,而汽車和云端之間的接口也因此隨之
    的頭像 發(fā)表于 11-01 11:30 ?706次閱讀

    AUTOSAR E2E:車載通信的安全保障

    隨著汽車行業(yè)逐步走向電氣化、智能化,車載系統(tǒng)的軟件和硬件復雜度不斷上升。如何確保這些復雜系統(tǒng)中的數(shù)據(jù)通訊安全和可靠,已成為業(yè)界關注的焦點。E2E(End-to-End)通訊常常指的是一個信息從發(fā)送端
    的頭像 發(fā)表于 10-27 15:32 ?1515次閱讀
    AUTOSAR <b class='flag-5'>E2E</b>:車載通信的安全保障