日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機(jī)站
  • 小程序

    汽車測試網(wǎng)

  • 公眾號
    • 汽車測試網(wǎng)

    • 在線課堂

    • 電車測試

技術(shù)閑談之汽車SOA

2020-08-24 11:28:31·  來源:汽車電子與軟件  作者:Peter李成仙  
 
前言:SOA(Service Oriented Architecture)在汽車行業(yè)目前比較熱門,最近有不少寫SOA的文章已經(jīng)解釋SOA是什么、有哪些好處、要如何設(shè)計等。但其實(shí)從技術(shù)決策的
前言:
SOA(Service Oriented Architecture)在汽車行業(yè)目前比較熱門,最近有不少寫SOA的文章已經(jīng)解釋SOA是什么、有哪些好處、要如何設(shè)計等。但其實(shí)從技術(shù)決策的角度上來看,就關(guān)心這幾個問題:
  • 搞SOA,有什么好處?能實(shí)現(xiàn)什么之前不能實(shí)現(xiàn),或?qū)崿F(xiàn)成本較高的場景嗎?
  • 搞SOA,成本如何?能不能分步搞?
  • 搞SOA,公司的能力是否具備?

1、SOA與軟件定義汽車
"軟件定義汽車" 已經(jīng)成為一個不可逆的趨勢,其基本的意思是指汽車的功能及性能,之后將更多的由軟件來決定。當(dāng)然,業(yè)內(nèi)也有不同的聲音,如"架構(gòu)定義汽車"等等,其本質(zhì)差不多。
那么,在"軟件定義汽車"的趨勢下,”SOA“到底處于什么樣的位置呢?
 
右圖是歷史上的經(jīng)典”馬拉火車“,當(dāng)年中國第一條鐵路修好后,因慈禧不喜歡火車頭的“大呼小叫”,導(dǎo)致很長一段時間列車都是讓馬與驢拉的。
左圖呢,由于受汽車行業(yè)的慣性思維影響,整車開發(fā)流程都是先定EEA,然后定點(diǎn)各ECU或沿用車型平臺的ECU,放在前些年就沒有然后了。近年來受”軟件定義汽車“的影響,同時還會確定”哪些自研,哪些由Tier1開發(fā)“。但這還是不夠的,如果不搞SOA,就算EEA升級、控制器升級、軟件自研,他們也很難高效的運(yùn)轉(zhuǎn)與支持迭代。
空口無憑,接下來我們來詳細(xì)的展開吧。
 
2、行業(yè)現(xiàn)狀
這里借用幾張出現(xiàn)頻率較高的圖來說明一下:
大眾MEB E3 EEA
 
大眾MEB平臺的E3架構(gòu),采用千兆Ethernet,規(guī)劃了3個ICAS(應(yīng)用服務(wù)器),在軟件層面上采用了SOA的架構(gòu)。
 
現(xiàn)代(Hyundai)的EEA - 引用自《淺談?wù)嘢OA架構(gòu)系列》
現(xiàn)代的EEA也是將Ethernet納入主干網(wǎng),同時在Ethernet連接的結(jié)點(diǎn)采用了SOA架構(gòu)。
國內(nèi)上,在此領(lǐng)域走的比較靠前的“華人運(yùn)通”,參考其官方宣傳稿,采用了“HOA開放式EEA”,使用了千兆以太網(wǎng),擁有6個超級域計算平臺,并實(shí)現(xiàn)了“真正意義的軟件與硬件分離”。從技術(shù)語言來說,同樣采用了SOA架構(gòu)。
結(jié)論就是,從國際和國內(nèi)上的各種公開信息來看,凡是將Ethernet納入主干網(wǎng)的車廠,都在其上采用SOA的架構(gòu)。
 
3、SOA到底有什么好處?
SOA將跨ECU交互由“基于信號的通信”變?yōu)?ldquo;基于服務(wù)的通信”,其意義抽象的講,有以下方面:
  • 應(yīng)用服務(wù)化,使“全車智能”成為可能
  • 服務(wù)的靈活部署
  • 軟件更新/升級更快速
  • 服務(wù)高內(nèi)聚,軟件易重用
光講這些太抽象,作為長期戰(zhàn)斗在一線的軟件架構(gòu)師,上向領(lǐng)導(dǎo)匯報,下說服工程師,最有效的辦法就是講“場景”。下面一個個展開吧。
 
3.1 “全車智能”成為可能
服務(wù)化,各個域?qū)⒆约旱哪芰μ峁┏鰜?,在?quán)限允許的情況下,供大家隨意使用。這樣的話,”智能“就不僅是體現(xiàn)在”智能座艙“、”智能駕駛“領(lǐng)域,也可以是”智能車身“、”智能底盤“等等。舉幾個具體的例子。
1) 智能交互的開放 —— APA(自動泊車)過程中語音提示
當(dāng)前基于CAN通信,就是APA控制器提供CAN信號,中控接收到之后,根據(jù)APA的狀態(tài)做用戶提示。但是,一般來說搞中控的人對APA一點(diǎn)都不懂,很容易出各種問題。
SOA的做法,中控大屏提供TTS服務(wù),APA控制器自行使用。
 
2) 車控能力的開放 —— “跳舞”模式 (Tesla Model X)
當(dāng)前基于CAN通信,”跳舞“這個應(yīng)用較為復(fù)雜,包含音樂、車身、前后運(yùn)動等,其邏輯會分拆到多個控制器中,且基于各種安全因素的考慮,不一定會將直接的控制能力暴露出來。
基于SOA,各域可抽象出通用的服務(wù)出來,如”極低速控制服務(wù)“和”車身/燈光控制服務(wù)“出來,而”跳舞“相關(guān)的應(yīng)用邏輯,就可以完全放在中控應(yīng)用當(dāng)中了。
 
3) 多域能力的開放與融合 —— 智能車窗
當(dāng)檢測到下雨時,自動將車窗關(guān)閉,并通過語音及界面來提示用戶。
當(dāng)前基于CAN通信,車身控制域提供“雨量傳感器”的狀態(tài)、“車窗控制”的信號,一切由中控大屏來實(shí)現(xiàn)。但說實(shí)話,這功能跟“中控大屏”有什么關(guān)系?因?yàn)槭欠衽c用戶交互是可選項,并非此功能的核心。
基于SOA,中控將“通知”與“語音播報”的能力提供出來,車身控制域在發(fā)現(xiàn)“下雨”時,調(diào)用“車窗控制”,基于用戶的習(xí)慣,選擇合適的方式與用戶交互,甚至于說不交互。
 
由于筆者為智能座艙背景,舉的例子多半與智能座艙相關(guān)。相信其他領(lǐng)域的小伙伴,會有更多的用戶場景可講。
 
3.2 服務(wù)的靈活部署
SOA的一個基礎(chǔ),就是“服務(wù)發(fā)現(xiàn)”機(jī)制,即給每個服務(wù)分配一個“全局名稱”,通過這個名稱就可以直接找到對應(yīng)的服務(wù)。比如我們上網(wǎng)時的“網(wǎng)址”就是起的這種作用。這樣的好處是:
可以在ECU運(yùn)行時獲取服務(wù)的位置。繼續(xù)以“網(wǎng)址”為例,"ele.me"的服務(wù)器到底部署在哪,我們是不知道的,當(dāng)我們輸入"ele.me",DNS服務(wù)器會解釋其IP地址,并通過動態(tài)路由的方式找到擁有這個IP地址的服務(wù)器。大白話的說:"不管你在哪里,只要不改名,我都能找到你"所以,基于這個特性,在整車生命周期內(nèi),不同的車型配置可做不同的服務(wù)部署,對代碼幾乎可以不用改動。以筆者較為熟悉的OTA,來說明吧:
基于SOA的OTA邏輯架構(gòu)
 
上圖中,帶SOC的ECU都連接了Ethernet,需要基于SOA Middleware來提供標(biāo)準(zhǔn)的OTA Service,如版本號查詢、自升級控制、升級狀態(tài)反饋等;不帶SOC的ECU,通過CAN連接網(wǎng)關(guān),則通過UDS直接刷新。其中所有的Service的部署都與位置無關(guān)。
 
舉個例子,拿OTA中最最最要命的”升級主控“的選擇來說吧。”升級主控 (OTA Master)“是OTA的核心,其功能一般包含:版本檢測、升級狀態(tài)控制、回滾、狀態(tài)上報、合法校驗(yàn)等。升級主控放在哪個ECU上,是整個OTA方案爭議最大,最重要的決策之一。但問題是,同一個項目,因?yàn)椴煌渲玫年P(guān)系,它還要放在不同的ECU上。比如說,
  • 放中控大屏上,低配車沒有大屏怎么辦?
  • 放Tbox上,高配是5G,低配是4G,供應(yīng)商還不一樣怎么辦?
  • 放網(wǎng)關(guān)上,高配帶SOC,低配只是個CAN網(wǎng)關(guān)怎么辦?
采用SOA架構(gòu)的OTA方案就沒有這個問題。
升級主控由網(wǎng)關(guān)換成Tbox
 
如上圖中,升級主控由網(wǎng)關(guān)換為Tbox,也只需要重新部署OTA Master Service和OTA UDS Service即可。其他的不變。
而傳統(tǒng)架構(gòu)的OTA方案,改動升級主控?大工程啊。除了服務(wù)要重新部署,相關(guān)的通信協(xié)議也需要改動,代碼也要做一定的修改,麻煩。
 
3.3 軟件更新更靈活
SOA的松藕合特性,可以將功能更新與變更限制在更小的范圍內(nèi)。
1) 硬件架構(gòu)需要調(diào)整,減少復(fù)雜功能涉及的ECU數(shù)量
 
車控域發(fā)生域融合
如上圖,基于SOA的架構(gòu),車控域發(fā)生域融合時,應(yīng)用可以直接做重新部署,而無需重新開發(fā),改動限制在服務(wù)的實(shí)現(xiàn)上。
若不基于SOA實(shí)現(xiàn),發(fā)生域融合時,所有功能幾乎都要重頭開始。
2) 軟件架構(gòu)需要更新,一個功能改變只需要更新/升級部分軟件
 
增加"空調(diào)濾芯壽命顯示"功能時傳統(tǒng)方式與SOA方式的對比
如上圖,“增加PM2.5濾芯壽命顯示”這一功能,傳統(tǒng)方式有4處的改動,而SOA方式僅有2處。
 
4、實(shí)現(xiàn)SOA的成本如何?
4.1 內(nèi)部成本
SOA在很多年前,某些Tier 1就已經(jīng)在搞了,但由于設(shè)計過于理想,開發(fā)成本過高,且運(yùn)行效率較低,放棄了。
 
在理想架構(gòu)下,不同的控制器的應(yīng)用與服務(wù)可以任意的通信,它們?nèi)际褂每鏓CU IPC。但是,這樣實(shí)現(xiàn):
  • 成本極高,比如Android源生支持binder,要把所有應(yīng)用都改為使用新的IPC。Linux也一樣,源生都是使用dbus,其對跨ECU通信支持較差,也要改為使用新的IPC,代價非常大。
  • 運(yùn)行效率低,跨ECU的IPC,其一定比ECU內(nèi)IPC更重,資源消耗大、時延大。
所以,考慮實(shí)際,可落地架構(gòu)是指
  • 大部分的ECU中,內(nèi)部通信使用源生的IPC,保證效率、降低開發(fā)成本??鏓CU通信,通過專門的proxy / adaptor來做中繼。這種proxy / adaptor依據(jù)情況在同一ECU內(nèi)可以有多個。
  • 在某些業(yè)務(wù)邏輯較為簡單的ECU內(nèi),可以采用跨ECU的IPC,方便后續(xù)移植。
所以,只有采用上圖中的可落地架構(gòu),才能做到內(nèi)部成本可控。
 
4.2 外部成本
要實(shí)現(xiàn)SOA,有不少的工具、組件需要向外部購買,其成本如何呢?是否可以分步走呢?
1) 基礎(chǔ)版本:僅支持所有帶SOC的ECU之間的服務(wù)調(diào)用。
成本:最低可以為0。
對于SOC上運(yùn)行的操作系統(tǒng),如Linux, Android, QNX而言,SOA是十分自然的過程,其源生的就支持IPC(跨進(jìn)程通信),如binder, dbus等。在這種情況下,可選用的跨ECU的IPC就不少,如SOME/IP,DDS-RPC(DDS支持RPC的版本),fdbus (Jeremy大神寫的)等等。
但由于免費(fèi)的DDS-RPC及fdbus等方式,不被Classic AutoSAR支持,所以后續(xù)擴(kuò)展會有一定的問題。
2) 進(jìn)階版本:支持所有ECU之間的服務(wù)調(diào)用,但不支持實(shí)時業(yè)務(wù)
成本最低為單件百萬級別
目前可選的跨ECU通信中間件,只有SOME/IP,且最好選擇商業(yè)版的。因?yàn)殡m然Genivi有開源的vSOMEIP,但是是否量產(chǎn)還是個問題。
3) 專業(yè)版本:支持SOC內(nèi)的應(yīng)用升級(Software OTA)
成本為單件幾百萬至千萬級別。
先解釋一下SOTA。業(yè)界叫的OTA,通常指的是FOTA (Firmware OTA),而嚴(yán)格意義上的OTA分別3個級別:
  • Firmware OTA:固件升級。升級的對象為整個系統(tǒng),通常不包含bootloader。風(fēng)險最高,對可靠性要求也最高,升級頻率1~3個月。
  • Software OTA:應(yīng)用升級。升級的對象為單個或多個應(yīng)用。風(fēng)險中等,最嚴(yán)重的就是某個功能用不了,對可靠性要求中等,升級頻率可以高至每個星期。
  • Data OTA:數(shù)據(jù)升級。升級的對象為應(yīng)用內(nèi)部的數(shù)據(jù)。風(fēng)險低,最嚴(yán)重的就是某個子功能出問題,對可靠性要求低,升級頻率隨意。
目前來看,除了Android系統(tǒng),其他系統(tǒng)最直接的方式就是上AutoSAR AP。但是個人比較質(zhì)疑其效果,就拿源生支持SOTA的Android而言,對于深度定制的中控大屏系統(tǒng),目前有哪一家支持SOTA?原因是,SOTA聽起來簡單,但對組織的能力要求很高,每次升級某個應(yīng)用,都需要清楚的知道其依賴關(guān)系,而實(shí)行SOA架構(gòu)的系統(tǒng),其依賴關(guān)系往往錯綜復(fù)雜,很容易出錯。
因此,AP平臺需要慎重考慮。
 
4) 極致版本:支持跨ECU的實(shí)時通信
成本:上億?
方式是選擇TSN,使Ethernet上的部分業(yè)務(wù)達(dá)到CAN同樣的實(shí)時性。當(dāng)初Ethernet為了高吞吐量,采用了CSMA/CD,而CAN為了實(shí)時性,采用了CSMA/CR。采用TSN的Ethernet集齊了兩者的共同優(yōu)點(diǎn),可謂完美。但現(xiàn)實(shí)是,目前其標(biāo)準(zhǔn)仍在修改中,且尚無車廠量產(chǎn)。
 
5、SOA帶來的挑戰(zhàn)
最后,簡單總結(jié)一下,SOA的本質(zhì)是讓汽車變成一個真正的分布式系統(tǒng),就像阿里的“飛天”一樣。各自為戰(zhàn)的ECU功能設(shè)計將被打破,取而代之的是分層式的架構(gòu)設(shè)計與實(shí)施。
 
SOA分層式的架構(gòu)也不是一蹴而就的,就跟軟件行業(yè)的操作系統(tǒng)的發(fā)展一樣,也是增加功能 -> 抽象的不斷循環(huán)往復(fù)。
 
其將給我們帶來變革與挑戰(zhàn):
  • 人才的挑戰(zhàn):整車的功能分解與交互時序定義將由ECU級別(只管ECU的輸入輸出),下降至模塊級別(要管ECU的各個模塊的輸入輸出)。同時需要軟件架構(gòu)與EEA領(lǐng)域的知識。
  • 功能的集成:跨多個ECU功能交互成為常態(tài),在零部件仍大部分由Tier1提供的情況下,OEM功能的集成是個大問題
  • 主導(dǎo)權(quán)的爭奪:SOA需要OEM來主導(dǎo)各個ECU的對外提供的服務(wù),以達(dá)到平臺化的目的,可強(qiáng)勢Tier1們愿意嗎?
以上見解僅代表個人觀點(diǎn),請各位輕拍輕噴。:)
關(guān)注作者知乎:Peter 李成仙 | 軟件架構(gòu)師
分享到:
 
反對 0 舉報 0 收藏 0 評論 0
滬ICP備11026917號-25