前言:
隨著汽車朝著“新四化”的趨勢發(fā)展,客戶對車輛功能的心里預(yù)期也悄然發(fā)生著改變。汽車在邁向更高等級(jí)自動(dòng)駕駛的同時(shí),也更加注重提升用戶體驗(yàn),例如快速的功能更新和軟件迭代升級(jí),提供個(gè)性化、人性化、差異化的功能與服務(wù)等。
而這一切都是傳統(tǒng)汽車電子架構(gòu)所不能實(shí)現(xiàn)的。面向服務(wù)的軟件架構(gòu)SOA以其標(biāo)準(zhǔn)化的服務(wù)接口、松耦合的服務(wù)機(jī)制以及可組合擴(kuò)展的服務(wù)特性,為實(shí)現(xiàn)“軟件定義汽車”夯實(shí)了框架基礎(chǔ)。
01
SOA是什么?
在IT行業(yè),如果要建立一個(gè)中文社區(qū)平臺(tái),這個(gè)社區(qū)平臺(tái)既有PC網(wǎng)頁版,也有Android或者IOS版,獲取熱榜列表,那么程序員絕不會(huì)為這三個(gè)平臺(tái)分別寫三種Api,而是以服務(wù)的形式,用同樣一個(gè)接口為三個(gè)平臺(tái)提供同樣的內(nèi)容,至于以什么樣的UI展示,是各自平臺(tái)要考慮的事情。這就是SOA架構(gòu)思想的一種應(yīng)用。
SOA:Service Oriented Architecture面向服務(wù)的架構(gòu),是1996年Gartner提出SOA概念,SOA被提出來以后,迅速成為IT行業(yè)的一種軟件開發(fā)方法論。許多組織從不同角度對SOA進(jìn)行了描述:
Gartner對SOA的定義:SOA是一種C/S架構(gòu)的軟件設(shè)計(jì)方法,應(yīng)用由服務(wù)和服務(wù)使用者組成,SOA與大多數(shù)通用的C/S架構(gòu)模型不同之處在于它著重強(qiáng)調(diào)家構(gòu)建的松散耦合,并使用獨(dú)立的標(biāo)準(zhǔn)接口;-
W3C對SOA的定義:SOA是一種應(yīng)用程序架構(gòu),在這種架構(gòu)中,所有功能都定義為獨(dú)立的服務(wù),這些服務(wù)帶有定義明確的可調(diào)用接口,能夠以定義好的順序調(diào)用這些服務(wù)來形成業(yè)務(wù)流程;
Wikipedia對SOA的定義:SOA是一種軟件的設(shè)計(jì)風(fēng)格,應(yīng)用程序組件通過網(wǎng)絡(luò)通信協(xié)議,將服務(wù)提供給其他組件;SOA的基本原則是獨(dú)立于供應(yīng)商,產(chǎn)品和技術(shù);
由上可以看出,SOA并沒有一個(gè)大家公認(rèn)的定義!但是SOA的目標(biāo)及其特性卻是清晰明了的。SOA的目的是一種以構(gòu)建靈活可變的平臺(tái)系統(tǒng),SOA具有服務(wù)間 松耦合,無狀態(tài)、無依賴;服務(wù)內(nèi) 高內(nèi)聚且完整,可復(fù)用、可靈活重組;服務(wù)通信標(biāo)準(zhǔn)化等特點(diǎn)。
SOA里面涉及服務(wù),接口、相關(guān)角色等概念。
服務(wù)指的是實(shí)現(xiàn)某種功能的函數(shù)或方法,是一個(gè)可遠(yuǎn)程訪問并獨(dú)立執(zhí)行和更新的離散功能單元;
接口:能夠被其他模塊調(diào)用的函數(shù)名稱或一個(gè)封裝的API;
在SOA中分為服務(wù)提供者(實(shí)現(xiàn)服務(wù)功能(包含控制算法、功能邏輯)的那一方)、服務(wù)消費(fèi)者(使用服務(wù)接口,調(diào)用服務(wù)的那一方)、服務(wù)注冊方/代理方(實(shí)現(xiàn)服務(wù)的注冊/訂閱/發(fā)布等)三種不同的角色。
在SOA實(shí)際應(yīng)用中,首先會(huì)將業(yè)務(wù)拆分成不同的業(yè)務(wù)模塊,每個(gè)模塊可以理解成一個(gè)服務(wù),服務(wù)之間通過標(biāo)準(zhǔn)的接口交互,通過服務(wù)和服務(wù)接口,簡化了對系統(tǒng)的描述,降低復(fù)雜性,若服務(wù)接口不變,一個(gè)服務(wù)發(fā)生變化,不影響其他服務(wù),若服務(wù)接口變化,可以通過版本管理向后兼容,提高軟件的重用性和擴(kuò)展性;
02
整車SOA的優(yōu)勢
2.1 為什么要在汽車上實(shí)施SOA架構(gòu)?
車輛內(nèi)部控制器通過傳統(tǒng)總線連接,從而實(shí)現(xiàn)通信交互,但是信號(hào)的收發(fā)關(guān)系和路由信息通常是靜態(tài)的、不可再更改的,如果后期突然新增節(jié)點(diǎn),這個(gè)新“朋友”怎樣從其他節(jié)點(diǎn)獲得所需信息呢?
OTA是目前解決車輛在線升級(jí),持續(xù)提高用戶用車體驗(yàn)的好方法,但OTA僅僅是途徑,車輛的電子電氣架構(gòu)和軟件設(shè)計(jì)架構(gòu)能否支持得起功能更新呢?
如果一個(gè)新增功能的實(shí)現(xiàn),與車輛原有的系統(tǒng)架構(gòu)、驅(qū)動(dòng)方式甚至通信方式不匹配,甚至相沖突,那么應(yīng)該怎樣解決呢?
汽車在不久的將來會(huì)在互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、能源物聯(lián)網(wǎng)中都占有重要的地位,那么汽車必須具備開放性、網(wǎng)聯(lián)性甚至自主性和自進(jìn)化性,自動(dòng)駕駛、V2X、邊緣計(jì)算都是目之可見的應(yīng)用場景,電子電氣架構(gòu)和軟件平臺(tái)架構(gòu)在面對這樣需求的時(shí)候,應(yīng)如何處理?
為了解決上面的問題,我們需要一個(gè)功能可擴(kuò)展性強(qiáng),軟硬件松散耦合,標(biāo)準(zhǔn)化接口,支持異構(gòu)系統(tǒng)集成的電子架構(gòu),SOA正好符合上面的要求!
2.2 如何實(shí)現(xiàn)整車SOA
汽車EEA的發(fā)展使SOA具備了初步的應(yīng)用條件。所謂分布式EEA,可以理解為汽車電氣系統(tǒng)的軟硬件資源和能力是分散的,分散在不同的供應(yīng)商手中。ECU的軟硬件開發(fā)全部由供應(yīng)商完成,整車廠主要負(fù)責(zé)提出設(shè)計(jì)需求和測試驗(yàn)證。分布式EEA導(dǎo)致的ECU軟硬件資源和能力的浪費(fèi)是顯而易見的。不同的供應(yīng)商負(fù)責(zé)不同的ECU開發(fā),整車數(shù)十個(gè)ECU分別負(fù)責(zé)實(shí)現(xiàn)特定的軟硬件功能,然后通過硬線信號(hào)或者網(wǎng)絡(luò)信號(hào)進(jìn)行交互,這種信息交互方式也被稱為面向信號(hào)的通信。
集中式EEA引入域控制器DCU概念,其芯片算力、操作系統(tǒng)以及軟件架構(gòu)可以滿足業(yè)務(wù)需求與硬件資源解耦的需求,即有能力通過一套基礎(chǔ)軟件框架去實(shí)現(xiàn)SOA的設(shè)計(jì)思想,從而將底層的硬件資源具備的能力抽象為一種服務(wù)供外部使用,并能夠支持一系列的服務(wù)管理功能(服務(wù)定位、服務(wù)發(fā)現(xiàn),服務(wù)調(diào)用等)。
2.3 整車SOA優(yōu)勢
應(yīng)用服務(wù)化:各個(gè)域?qū)⒆约核艿奶峁┓?wù)公開化后,才能實(shí)現(xiàn)不同域之間的開發(fā)與融合,使智能汽車成為可能;
服務(wù)部署靈活:SOA的一個(gè)基礎(chǔ),就是“服務(wù)發(fā)現(xiàn)”機(jī)制,即給每個(gè)服務(wù)分配一個(gè)“全局名稱”,通過這個(gè)名稱就可以直接找到對應(yīng)的服務(wù),就好比我們上網(wǎng)時(shí)用的“網(wǎng)址” 。基于這個(gè)特性,在整車生命周期內(nèi),不同的車型配置可做不同的服務(wù)部署,對代碼幾乎可以不用改動(dòng);
軟件更新靈活:SOA的松耦合特性,可以將功能更新與變更限制在更小的范圍內(nèi)。當(dāng)硬件架構(gòu)需要調(diào)整,減少復(fù)雜功能涉及的ECU數(shù)量,當(dāng)軟件架構(gòu)需要更新,一個(gè)功能改變只需要更新/升級(jí)部分軟件;
通信帶寬優(yōu)勢明顯:SOA基于以太網(wǎng)通訊,在傳輸速度上相對CAN等傳統(tǒng)網(wǎng)絡(luò)占據(jù)絕對優(yōu)勢;
信息更安全:CAN采用MAC和SecOC等明文傳輸,加密等級(jí)不高,而SOA通信可以借助強(qiáng)大的以太網(wǎng)加密方案,還可以不斷迭代擴(kuò)展的;
與現(xiàn)有的互聯(lián)網(wǎng)生態(tài)融合更方便:SOA的發(fā)布-訂閱機(jī)制以及服務(wù)功能獨(dú)立不重疊,是和互聯(lián)網(wǎng)SOA及微服務(wù)高度契合的,為后續(xù)開發(fā)更多運(yùn)用提供無限可能。
03
SOA對E/E挑戰(zhàn)
3.1從功能定義到服務(wù)的拆分
相對于功能分解采用的面向過程開發(fā)方法,SOA軟件架構(gòu)開發(fā)使用“用例驅(qū)動(dòng)的開發(fā)方法”和“面向服務(wù)的分析方法”。用例驅(qū)動(dòng)的開發(fā)方法是指從用戶的角度而非開發(fā)人員的角度考慮功能需求和系統(tǒng)實(shí)現(xiàn),由用例的開發(fā)活動(dòng),可以建立需求和系統(tǒng)功能之間清晰的追溯關(guān)系,更好的應(yīng)對快速迭代更新。
面向服務(wù)的分析方法則是以業(yè)務(wù)為中心,在由用例分析得到的系統(tǒng)功能需求的基礎(chǔ)之上,對于業(yè)務(wù)邏輯進(jìn)行抽象和封裝,從業(yè)務(wù)角度尋找候選服務(wù)(Service Candidate),從架構(gòu)角度強(qiáng)調(diào)服務(wù)的重用性(Resuable)、自主性(Autonomous)以及組合擴(kuò)展性(Composable)特點(diǎn),充分發(fā)揮SOA設(shè)計(jì)理念的優(yōu)勢。
3.2從面向信號(hào)設(shè)計(jì)到面向服務(wù)設(shè)計(jì)
面向信號(hào)的設(shè)計(jì)主要關(guān)注點(diǎn)為通信矩陣(包含信號(hào)、報(bào)文、節(jié)點(diǎn)等信息),主要目的是將某節(jié)點(diǎn)的某信息通過總線傳輸給需要改信息的其他節(jié)點(diǎn),信息主要為一些物理狀態(tài)值及一些控制指令,觸發(fā)方式分為周期、事件或混合式。
面向信號(hào)的設(shè)計(jì)在系統(tǒng)設(shè)計(jì)階段就預(yù)先定義好交互行為。SOA的中間件負(fù)責(zé)控制提供者和消費(fèi)者之間的通信。中間件分離了應(yīng)用層與底層通信協(xié)議,支持請求/響應(yīng)模式,有需求才有通信,有效提高帶寬利用率。支持在服務(wù)接口中定義復(fù)雜的數(shù)據(jù)類型。
3.3從CAN通訊到ETHERNET通訊
傳統(tǒng)的E/E架構(gòu)是基于CAN通訊,CAN是一種CSMA/CD的現(xiàn)場總線,而SOA架構(gòu)的主流中間件例如,SOME/IP等都是基于IP協(xié)議通信的。Ethernet具有更高的通信速率、更開放的協(xié)議、更好的支持功能增加,所以其更適應(yīng)下一代網(wǎng)絡(luò)架構(gòu)。
04
整車SOA發(fā)展現(xiàn)狀
大眾在MEB架構(gòu)上率先采用面向服務(wù)的架構(gòu),主要由獨(dú)立域操作系統(tǒng),編程語言和軟件框架組成,將軟件劃分為單獨(dú)的軟件組件,用以最小化組件之間的功能依賴性,提高軟件的可擴(kuò)展性和可重用性。
大眾使用CP和AP服務(wù)中間件來實(shí)現(xiàn)SOA通信,其中CP連接傳感器、執(zhí)行器和嵌入式ECU,收集信號(hào),通過服務(wù)或者信號(hào)發(fā)給AP,AP封裝服務(wù)和云端后臺(tái)或者其他AP節(jié)點(diǎn)進(jìn)行服務(wù)交互。
豐田提出了中央集中+區(qū)域控制器(Central&Zone)架構(gòu)方案,此方案中按照區(qū)域分配區(qū)域控制器,區(qū)域控制器將本區(qū)域內(nèi)的傳感器信號(hào)發(fā)送給中央集中控制器,中央集中控制器將控制指令再返回區(qū)域控制器,區(qū)域控制器收到指令后驅(qū)動(dòng)執(zhí)行器動(dòng)作。這種架構(gòu)方案較域控制器具有空間布置合理、擴(kuò)展性強(qiáng)等特點(diǎn)。
在現(xiàn)代的通信架構(gòu)設(shè)計(jì)中,CAN等其他網(wǎng)絡(luò)和以太網(wǎng)共存相當(dāng)長一段時(shí)間,但SOA并不直接和這些網(wǎng)絡(luò)通信,而是采用了SOA Adaptor模塊來轉(zhuǎn)換其他網(wǎng)絡(luò)的功能和信息,在車內(nèi)系統(tǒng)中,同時(shí)設(shè)計(jì)了SOA Gateway節(jié)點(diǎn)用于升級(jí)安全等級(jí),使用SD Proxy處理服務(wù)相關(guān)信息、更新和新增服務(wù)、通過Service Router來訪問安全或者強(qiáng)相關(guān)的服務(wù)。
國內(nèi)現(xiàn)狀:上汽零束已經(jīng)與首批開發(fā)者一起,開發(fā)了幾十個(gè)智能車專屬應(yīng)用場景,幾百個(gè)用戶“千人千面”模式,以及部分典型的汽車智能化應(yīng)用,目前平臺(tái)的軟件將搭載在上汽旗下R汽車和智己汽車上。
威馬汽車在威馬W6汽車中應(yīng)用SOA平臺(tái),上線了自定義編程功能,自定義場景超100個(gè),手機(jī)端與車機(jī)端同步。
合眾新能源宣稱哪吒S將基于SOA架構(gòu)開發(fā)整個(gè)系統(tǒng),產(chǎn)品正式上市時(shí)間可能在2022年下半年。
華人運(yùn)通首款H-SOA架構(gòu)的智能汽車高合HiPhi X已量產(chǎn)落地,將于2021年5月正式交付用戶。最近,其與中科創(chuàng)達(dá)達(dá)成協(xié)議成立一家專注汽車智能系統(tǒng)及軟件開發(fā)的合資公司,打造面向下一代智能汽車的計(jì)算平臺(tái)和工具鏈,以及新一代智能汽車操作系統(tǒng)。
編輯:jq
-
耦合
+關(guān)注
關(guān)注
13文章
584瀏覽量
100940 -
CAN
+關(guān)注
關(guān)注
57文章
2766瀏覽量
464169 -
互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
54文章
11184瀏覽量
103678 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2912文章
44912瀏覽量
375935 -
SOA
+關(guān)注
關(guān)注
1文章
293瀏覽量
27538
原文標(biāo)題:技術(shù)|SOA對整車E/E架構(gòu)的挑戰(zhàn)
文章出處:【微信號(hào):e700_org,微信公眾號(hào):汽車工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論