目前的汽車(chē)有多達幾十甚至上百個(gè)電子控制單元并連接到多種總線(xiàn)上,平均來(lái)說(shuō),目前的汽車(chē)大約采用25個(gè)ECU,但一些高端車(chē)型已經(jīng)超過(guò)100個(gè)ECU。在過(guò)去,汽車(chē)電子電氣架構一直遵循著(zhù)“一個(gè)功能一個(gè)盒子”的分布式架構模式。如變速箱控制由TCU負責,發(fā)動(dòng)機控制由EMS負責,雖這兩個(gè)同樣在動(dòng)力域但分別由供應商提供各自的硬件和軟件。在這樣的汽車(chē)電子電氣架構形式下,每增加一個(gè)功能,就需要動(dòng)相應的控制器,涉及多方的交流和維護成本,進(jìn)一步增加系統的復雜性和成本。最終會(huì )導致一個(gè)規模更大且復雜的車(chē)載網(wǎng)絡(luò )和布線(xiàn),也從另一方面影響整車(chē)的輕量化。
面對汽車(chē)功能和軟件復雜度的提升,需要對汽車(chē)E/E架構進(jìn)行重構,建立更加靈活的體系架構。域控制器也是最近這些年才熱起來(lái)的,所謂的域就是將整車(chē)劃歸為不同的區,如動(dòng)力域、車(chē)身域、底盤(pán)域、娛樂(lè )域等,每個(gè)域只掛載單個(gè)控制器來(lái)負責所在域的功能,減少之前一個(gè)功能、一個(gè)“盒子”的分布式E/E架構復雜的布線(xiàn)和集成:其實(shí)就是將多個(gè)控制器的軟件糅合進(jìn)一個(gè)控制器,例如對于純電車(chē),動(dòng)力域有BMS、MCU、VCU、DCDC等控制器,將這些控制器的功能全部放在一個(gè)控制器里,并交給一方來(lái)做,不僅省了其他控制器硬件成本的錢(qián),也由對接多方轉為對接一方。
域控制器可大大降低控制器數量和整車(chē)布線(xiàn),而多核異構芯片、Hypervisor等技術(shù)都從軟硬件方面為域控制發(fā)展和應用提供了支持。實(shí)現真正的域集中E/E架構依然還需要很長(cháng)時(shí)間,畢竟這不是一己之力才能實(shí)現的,需要OEM、供應商等共同大力合作和推進(jìn)才能實(shí)現。例如同一個(gè)域控制器中軟件可能由多個(gè)供應商提供,每個(gè)供應商除了負責各自軟件的升級,還涉及復雜且不同類(lèi)型軟件的集成和測試,那么使集成和升級工作變的相對容易些就是一個(gè)問(wèn)題。再比如不同域的域控制器由不同供應商與OEM合作開(kāi)發(fā),又會(huì )帶來(lái)很多新的問(wèn)題。
域控制器最終的目標是中央計算機架構,中央計算機由異構的多核處理器構成,將整車(chē)功能集中到一起。
在基于信號通訊的基礎上引入面向服務(wù)(SOA)的通訊,并融合兩者的優(yōu)勢
基于信號的通訊方式,即信息發(fā)送者不Care誰(shuí)接收而只負責將信號發(fā)送出去,接收者也不Care是誰(shuí)發(fā)送的而只負責接收自己的想要的即可?;谛盘柕耐ㄓ嵖蓪⒛彻濣c(diǎn)的某信息通過(guò)總線(xiàn)傳送給需要該信息的其他節點(diǎn),信息主要為一些物理狀態(tài)值及一些控制值,如發(fā)送機轉速、車(chē)速等,信號有周期、事件或混合觸發(fā)方式。
基于信號的通訊是目前車(chē)載總線(xiàn)普遍采用的,如控制器之間通過(guò)CAN總線(xiàn)進(jìn)行的信息傳輸,我們關(guān)注的是通訊矩陣上的幀、幀中所包含的信號、周期和交互的節點(diǎn)等信息。
SOA是一種軟件架構,同時(shí)也是一種軟件設計方法和理念,在IT領(lǐng)域已有數十年的應用經(jīng)驗。SOA具備 “松耦合”、”接口標準可訪(fǎng)問(wèn)”和”易于擴展”等特點(diǎn),使得開(kāi)發(fā)人員能以最小的軟件變更應對迭代多變的客戶(hù)需求。迄今為止,對于面向服務(wù)的架構(Service-Oriented Architecture,SOA)還沒(méi)有一個(gè)公認的定義,許多組織從不同的角度對 SOA 進(jìn)行了描述,較為典型的有以下三個(gè):
(1)W3C 的定義:SOA 是一種應用程序架構,在這種架構中,所有功能都定義為獨立的服務(wù),這些服務(wù)帶有定義明確的可調用接口,能夠以定義好的順序調用這些服務(wù)來(lái)形成業(yè)務(wù)流程。
(2)Service-architecture.com 的定義:服務(wù)是精確定義、封裝完善、獨立于其他服務(wù)所處環(huán)境和狀態(tài)的函數。SOA 本質(zhì)上是服務(wù)的集合,服務(wù)之間彼此通信,這種通信可能是簡(jiǎn)單的數據傳送,也可能是兩個(gè)或更多的服務(wù)協(xié)調進(jìn)行某些活動(dòng)。服務(wù)之間需要某些方法進(jìn)行連接。
(3)Gartner 的定義:SOA 是一種 C/S 架構的軟件設計方法,應用由服務(wù)和服務(wù)使用者組成,SOA 與大多數通用的 C/S 架構模型不同之處,在于它著(zhù)重強調構件的松散耦合,并使用獨立的標準接口。
汽車(chē)為何要引入SOA?首先基于SOA的通訊方式有如下優(yōu)點(diǎn):
1、服務(wù)高內聚,軟件易重用:一個(gè)服務(wù)往往只關(guān)注一件事并把這件事做好,這件事的內容(功能)需要從業(yè)務(wù)的角度進(jìn)行梳理,
2、服務(wù)的靈活部署:通過(guò)服務(wù)發(fā)現機制,可在控制器運行時(shí)獲取服務(wù)的位置和提供方,并可在整車(chē)生命周期內調整服務(wù)角色的部署位置,使功能分配更靈活。
3、軟件更新升級更快捷:一個(gè)功能改變可能只需要升級和更新一個(gè)服務(wù),而且服務(wù)是一個(gè)獨立可執行單元可單獨安裝升級,因此軟件維護和擴展更容易。
因此基于上面的優(yōu)勢,伴隨著(zhù)汽車(chē)智能化、網(wǎng)聯(lián)化、共享化的趨勢,終端用戶(hù)對車(chē)輛功能的預期也悄然發(fā)生著(zhù)改變,汽車(chē)在實(shí)現高等級自動(dòng)駕駛/輔助駕駛功能的同時(shí),也更趨向于提升用戶(hù)體驗,例如滿(mǎn)足快速的功能更新和升級,可以提供個(gè)性化、人性化、差異化的功能與服務(wù)等。面向服務(wù)的軟件架構(Service-Oriented Architecture)正為未來(lái)的車(chē)輛軟件服務(wù)提供良好的解決方案。不同于傳統汽車(chē)電子電氣架構中面向信號的架構,面向服務(wù)的軟件架構(SOA)通過(guò)標準化的服務(wù)接口,松耦合的服務(wù)機制以及可組合擴展的服務(wù)特性
基于上面的介紹,基于信號的通訊僅支持發(fā)送和接收模式,支持的數據類(lèi)型簡(jiǎn)單且可擴展性差,適用于有限大小數據交互的應用場(chǎng)景。而諸如自動(dòng)駕駛等先進(jìn)應用場(chǎng)景加入后,大量數據的動(dòng)態(tài)交互必須采用面向服務(wù)的通訊方式以提高通訊效率降低負載,在該種方式下,接收者作為客戶(hù)端,只需要查找、訂閱服務(wù)等待接收信息即可,而發(fā)送者作為服務(wù)提供者只需要給訂閱者提供服務(wù)和信息即可,因基于SOA的通訊支持請求/響應模式,可擴展性強且支持復雜數據的傳輸,因此應發(fā)揮各自?xún)?yōu)勢。