<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

責任編輯:haq

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

    關注

    17

    文章

    574

    瀏覽量

    83179
  • SOA
    SOA
    +關注

    關注

    1

    文章

    273

    瀏覽量

    27247

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

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

收藏 人收藏

    評論

    相關推薦

    關于軟件定義汽車,麥格納怎么看

    事業部的專家何松和馮永升為我們介紹了麥格納的能量與運動控制軟件。 一睹為快 ? 軟件定義汽車到底會帶來什么?對終端消費者而言將會獲得哪些便利? ? 何:? 我們 可以通過
    的頭像 發表于 04-11 10:43 ?334次閱讀

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

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

    汽車軟件開發CAEdge框架關鍵技術

    軟件定義汽車中,汽車功能主要通過軟件實現,不再僅僅依賴硬件。這種將軟件與硬件解耦的方式使得新功
    發表于 01-24 14:16 ?219次閱讀
    <b class='flag-5'>汽車</b><b class='flag-5'>軟件</b>開發CAEdge框架<b class='flag-5'>關鍵</b>技術

    什么是“軟件定義汽車”?各大車企的軟件定義汽車戰略

    要實現軟件定義汽車,除了電子/電氣架構的升級,用于軟硬件分離解耦的集成ECU(電子控制單元)也是必不可少的。另外還提到,為此需要一種稱為“虛擬機(hypervisor)”的技術在單個E
    發表于 12-22 11:11 ?324次閱讀
    什么是“<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>戰略

    再談“軟件定義汽車”,剖析SOAFEE的成績、打法和目標

    電子發燒友網報道(文/吳子鵬)2021年,Arm 通過與汽車供應鏈領先企業展開協作,推出了一個軟件架構和參考實現——面向嵌入式邊緣的可擴展開放架構SOAFEE(Scalable Ope
    的頭像 發表于 12-06 18:14 ?1957次閱讀
    再談“<b class='flag-5'>軟件</b><b class='flag-5'>定義</b><b class='flag-5'>汽車</b>”,剖析SOAFEE的成績、打法和目標

    軟件定義汽車vECU虛擬控制器集成開發與測試

    軟件定義汽車”即軟件將深度參與到汽車定義、開發、驗證、銷售、服務等過程中,并不斷改變和優化各
    發表于 11-09 11:49 ?527次閱讀
    <b class='flag-5'>軟件</b><b class='flag-5'>定義</b><b class='flag-5'>汽車</b>vECU虛擬控制器集成開發與測試

    淺談軟件定義汽車的網絡安全問題

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

    從硬件定義汽車過渡到軟件定義汽車的主要趨勢

    軟件定義汽車(SDV)不再是愿景,轉型已全面啟動,使成熟度成為汽車廠商在競爭激烈的市場中最重要的差異化因素之一。每個制造商都必須經歷三個“階段”才能達到理想的狀態。在第一個階段里,硬件
    的頭像 發表于 09-22 15:40 ?606次閱讀
    從硬件<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>的主要趨勢

    智能汽車軟件關鍵技術解析

    下的各類應用。其技術演進有四個關鍵趨勢:計算集中化、軟硬件解耦化、平臺標準化以及功能開發生態化。智能化與網聯化共同推動了汽車電子電氣架構的變革,一方面是車內網絡拓撲的優
    的頭像 發表于 09-04 16:30 ?547次閱讀
    智能<b class='flag-5'>汽車</b><b class='flag-5'>軟件</b><b class='flag-5'>關鍵</b>技術解析

    軟件定義汽車需要什么樣的新一代技術平臺?

    軟件定義汽車汽車行業正在經歷數字化轉型,整個行業飛速變化。汽車的差異化優勢不再由機械硬件體現。行業的新戰場轉向了利用
    的頭像 發表于 08-25 08:10 ?759次閱讀
    <b class='flag-5'>軟件</b><b class='flag-5'>定義</b><b class='flag-5'>汽車</b>需要什么樣的新一代技術平臺?

    SWE.2軟件架構設計

    過程ID : SWE.2 過程名稱 : 軟件架構設計 過程目的 : 軟件架構設計過程目的是建立一個架構設計,識別哪些
    的頭像 發表于 08-24 09:43 ?545次閱讀

    大陸集團如何“軟件定義汽車”?

    軟件定義汽車: 通過更改車輛的軟件來重新定義關鍵功能或性質。
    發表于 08-23 11:49 ?247次閱讀
    大陸集團如何“<b class='flag-5'>軟件</b><b class='flag-5'>定義</b><b class='flag-5'>汽車</b>”?

    e203軟核怎么定義?

    e203軟核可以自定義寄存器嗎,怎么定義?
    發表于 08-17 06:53

    聯合電子&ETAS技術交流會成功舉辦,共話軟件定義汽車

    的相互了解,支持雙方共同探尋軟件定義汽車的完整解決方案。 技術交流會開始前,聯合電子技術中心總監Krauss先生和ETAS總經理李波分別致辭: 聯合電子技術中心總監 Krauss先生 當前軟件
    的頭像 發表于 08-06 08:35 ?727次閱讀

    軟件定義汽車的起源

    我們討論了軟件定義汽車的起源、軟件的重要性,并指出了軟件早已經存在于汽車之中,并非最近幾年才出現
    的頭像 發表于 06-14 11:11 ?774次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>