?

一種基于SOA架構的車輛服務平臺的分析

2023-12-29 02:28樸春日
北京汽車 2023年6期
關鍵詞:編輯器服務平臺車輛

樸春日,欒 輝

0 引 言

智能化、網聯化是汽車產業發展的重要方面。汽車新功能的開發速度越來越快,軟件布署更加復雜,用戶要求愈加豐富,這些對傳統電子電氣架構提出了挑戰,新的電氣架構開發模式逐漸出現。從IT 領域引入的SOA (Service-Oriented Architecture,面向服務架構)被認為是能夠支持未來汽車軟件發展的核心技術之一[1]。

SOA 自20 世紀90 年代被提出后,在IT 領域獲得快速發展和廣泛應用[2]。將汽車軟件封裝成服務以提高軟件的可維護性和可重用性的思想[3]是汽車SOA架構的核心理念。這些服務軟件模塊具有低耦合、自治的特點和標準接口,通過SOME/IP(Scalable service-Oriented MiddlewarE over IP,基于IP 可擴展的面向服務的通信中間件協議)被其他模塊調用。SOME/IP 是面向服務的通信協議,不同ECU(Electronic Control Unit,電子控制單元)之間通過Client/Server (客戶端/服務端) 或Sender/Reciever(發送端/接收端)方式進行通信,數據只在有需要時進行傳輸,有效降低總線負載[4]。

目前,汽車領域多家企業已進行了相關探索。聯合汽車電子有限公司提出將AP (Adaptive Platform,自適應平臺)中間件集成于所開發的XCU(域控制器)平臺,以完成 SOA 汽車軟件的實現和布署[1]。 寶馬公司在新一代E/E (Electrical/Electronic,電子電氣)架構中引入SOA 方法,為整個系統提供大量抽象服務[5]。

本文構建一種基于SOA 的車輛服務平臺,其上運行車身域和娛樂域的多種基礎服務,包括電氣件狀態服務如門鎖狀態、燈狀態等,電氣件控制服務如打開雨刮、播放音樂等。這些服務對外提供SOME/IP 接口和MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協議)接口,方便其他應用調用。用戶可對各類服務自由靈活調用編排,使之成為定制的車輛新功能。

1 SOA服務平臺系統

1.1 系統組成

SOA 服務平臺系統由應用層、服務層和傳感執行層3 部分組成。(1)應用層布署和實現SOA 場景功能APP 軟件,例如提神模式、自定義場景等,并且可調用服務層服務,基于預設邏輯、時序等實現特定的應用場景功能。應用層的應用場景由場景編輯器開發,操作流程如圖1所示,編輯場景時首先定義進入場景的條件,包括觸發條件和狀態條件兩類,之后設置對應場景的執行動作,并確定是否定義退出場景。全部內容定義完成后,將場景配置文件下載至車端。(2)服務層布署和實現SOA 服務軟件,例如外燈服務、導航服務等,該層一方面接收傳感執行層狀態信號,向傳感執行層發送控制信號,封裝信號為服務,另一方面向應用層提供服務能力,供應用層調用。(3)傳感執行層提供車輛基礎的傳感、執行能力,主要包括娛樂域、車身域。

圖1 場景編輯器操作流程

1.2 服務劃分

服務作為面向服務設計的最基本單元,承載了特定責任,為降低服務間的耦合,服務劃分應滿足單一責任、低依賴和基于場景劃分的原則[6]。據此將常見的車身域和娛樂域功能抽離出來封裝成元服務,總計46 個服務、281 個服務接口,見表1,其中每個服務均由若干子服務(接口)組成,包括車輛已定義并實現的服務(車輛支持)、車輛已定義未實現的服務(車輛未支持)以及車輛未定義的服務(預留)。

表1 服務劃分

1.3 硬件布署

SOA 服務平臺系統的硬件布署如圖2 所示。應用層布署在Scene Engine(場景引擎控制器)上,保存場景編輯器中的新應用。服務層布署在BU(中央域控制器)上,實現全部服務的獨立運行。傳感執行層布署在HU(HMI Unit,人機交互單元)和其他車身域電氣件上,提供車輛狀態和實現具體執行動作。BU 上運行Adaptive AUTOSAR(自適應平臺),既可通過SOME/IP 接口對外提供服務,又可借助一個應用代理模塊通過MQTT接口對外提供服務。服務層和傳感執行層之間通過CAN(Controller Area Network,控制器局域網絡)進行交互。此外,新應用的開發通過布署在PAD(Portable Android Device,便攜式安卓設備)上的場景編輯器實現,可將應用下載到Scene Engine中。

圖2 硬件布署

2 SOA服務平臺軟件

2.1 Scene Engine

Scene Engine實現場景配置文件的無線下載和車端布署、SOA 應用管理和場景觸發等,其中場景配置文件的格式為JSON。Scene Engine 軟件分為4 個模塊:MQTT、數據引擎、場景引擎和服務引擎,如圖3 所示。(1)MQTT 負責與PAD 進行無線通信,接收、校驗和解析SOA 應用配置文件、上報場景狀態等,通信協議為MQTT;(2) 數據引擎通過SOME/IP 通信方式訂閱車輛車身域和娛樂域的各種服務狀態,并發送給Scene Engine,通過狀態信息和場景配置文件中的觸發條件判斷場景觸發與否;(3)場景引擎負責車輛SOA應用(場景)管理,如增加、刪除、啟用、禁用某個場景等,核心功能是監控已啟用的全部場景的觸發條件是否滿足,當某個場景的觸發條件滿足時則調用服務引擎響應車輛執行動作的請求;(4)服務引擎為SOME/IP 通信代理端,負責響應場景引擎的請求指令,如解鎖車門、打開音樂等,并實現各種車輛服務的調用。

圖3 Scene Engine組成

Scene Engine是SOA車輛服務平臺的核心組成部分。

2.2 BU

BU 為運行車輛SOA 中間件的平臺,實現車身域和娛樂域全部服務的邏輯和對外提供接口,其軟件模塊包括MQTT 通信模塊、CAN 通信模塊、SOME/IP 通信模塊和服務邏輯模塊,如圖4 所示。(1)服務邏輯模塊負責車身和娛樂域服務邏輯的實現,并與CAN 進行交互,完成車輛狀態的獲取和車輛操作的執行;(2)CAN 通信模塊負責車輛CAN 解析,同時接收和發送CAN 信號;(3)SOME/IP 通信模塊將各車輛服務通過SOME/IP方式對外提供;(4)MQTT 通信模塊將各車輛服務通過MQTT 方式對外提供。

圖4 BU組成

BU 是車輛SOA 服務平臺的服務層,可進行服務的動態布署和更新。

2.3 場景編輯器

場景編輯器是一款安裝在車載PAD 端可創建車輛運行時各種場景的軟件,包括兩個模塊:場景管理和場景編輯。(1)場景管理可通過在主頁面點擊“我的場景”進入,顯示了當前車輛擁有的所有場景,可對場景進行新增、編輯、刪除和執行操作;(2)場景編輯是允許用戶為場景編輯場景名稱、場景描述、場景觸發條件和場景執行操作,即創建車輛新功能應用。

當車輛滿足觸發條件時,已安裝在車端的場景會執行相應操作。

場景編輯器匹配安卓操作系統,可由引擎Cocos Creator 開發。編輯器使用單場景模式,即只有一個主場景,多個預制體進行頁面切換,通信協議為MQTT。

3 新功能實例

通過SOA 車輛服務平臺,用戶使用場景編輯器編輯車輛新功能并下載到車端。本文以迎賓模式和分心模式為例說明新功能的實現過程。

3.1 迎賓模式

迎賓模式為用戶自定義的新功能,當用戶拉開車門時被觸發,執行一系列動作,包括調節座椅、開啟空調、播放音樂、變換座艙主題等,實車測試如圖5所示。

圖5 迎賓模式實車數據

由圖5 可知,根據實車CAN 信號,迎賓功能的觸發條件為:擋位為P 擋(信號3)、主駕門關閉(信號2)、主駕無人(信號4)、用戶解鎖車輛(信號1);觸發后執行迎賓功能:危險警報燈閃爍2 s(信號6)、位置燈和近光燈打開(信號5、7)、座椅X向位置調節至最大腿部空間(信號8、9)。從解鎖車輛(信號1 對應的第1 條豎直虛線)到第1 個執行動作被觸發(信號6 對應的第2 條豎直虛線)的時間約為800 ms,并發的執行動作也同時被觸發,滿足自定義的迎賓場景的功能和性能要求。

3.2 分心模式

車輛行駛中,當識別出用戶分心行為如打電話、低頭等時,需通過語音、屏幕圖文、車窗下降、空調調節等方式提醒用戶注意行車安全,實車測試如圖6 所示。

圖6 分心模式實車數據

由圖6 可知,根據實車CAN 信號,分心模式的觸發條件為:擋位為D 擋(信號2)、主駕有人(信號3)、系統識別到駕駛員注意力不集中(信號1);觸發后執行分心模式動作:打開左前和右前車窗(信號4、5)。從識別出駕駛員分心(信號1 對應的第1 條豎直虛線)到車輛執行動作被觸發(信號4 對應的第2 條豎直虛線)的時間約為400 ms,滿足自定義的分心模式的功能和性能要求。

4 結束語

本文基于SOA 的開發理念,提出一種車輛服務平臺系統及軟硬件設計方案,通過自定義新功能迎賓模式和分心模式,驗證設計方案有效可行。

猜你喜歡
編輯器服務平臺車輛
密碼服務平臺
打造一體化汽車服務平臺
論基于云的電子政務服務平臺構建
你距離微信創作達人還有多遠?
車輛段收發車運行圖編輯器的設計與實現
基于云計算的民航公共信息服務平臺
車輛
冬天路滑 遠離車輛
提高車輛響應的轉向輔助控制系統
基于VLIW目標機的ELF二進制編輯器設計與實現
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合