什么是VFB?它的作用是什么?
在AUTOSAR中,應(yīng)用程序被設(shè)計為相互連接的SWC組合。虛擬功能總線是這些SWC互相交互的通訊機制。在系統(tǒng)配置階段,SWC被映射到特定的ECU上。因此,SWC之間的虛擬連接被映射為本地連接(同一個ECU上),或者基于車載網(wǎng)絡(luò)的通訊機制,如CAN,F(xiàn)lexray等。SWC與SWC之間以及SWC與BSW之間相互連接的接口被稱為RTE。
下圖即是系統(tǒng)配置的過程:把各個SWC映射到相應(yīng)的ECU上,根據(jù)系統(tǒng)需求,不同的SWC可能會被映射到同一個ECU上(通過本地的RTE接口通訊),也可能被映射到不同的ECU上(通訊的RTE接口要基于CAN,F(xiàn)lexray等車載網(wǎng)絡(luò))。
一個SWC包含一部分或全部的功能模塊,一個SWC由代碼實現(xiàn)和與之關(guān)聯(lián)的正式描述文件組成。虛擬功能總線的概念實現(xiàn)了應(yīng)用軟件與基礎(chǔ)軟件的嚴格隔離。實現(xiàn)應(yīng)用軟件的SWC很大程度上獨立于通訊機制,通過該機制SWC可以和其他的SWC或者硬件(比如傳感器、執(zhí)行器)進行交互。
通過VFB可以指定系統(tǒng)的完整通信,包括所有的提供者(Provider or Server)和使用者(Receiver or Client)。因此VFB可以用于檢查軟件組件通信的可信性。通訊連接和被連接的SWC被保存在同一個描述文件中,該描述文件會在接下來的幾個階段被用到(映射、軟件配置等)。
VFB需要給實現(xiàn)汽車功能的SWC提供所有的基礎(chǔ)服務(wù):
- 和系統(tǒng)中的其他SWC進行通信
- 和系統(tǒng)中的傳感器或執(zhí)行器通信
- 訪問標準服務(wù),如讀寫NVM
- 響應(yīng)工作模式變化,比如ECU的電源狀態(tài)變化
- 和系統(tǒng)中的標定、測量系統(tǒng)的交互
Port以及Interface
在VFB級別構(gòu)建系統(tǒng)時使用的中心元素是SWC。SWC具有定義良好的Ports,通過這些Ports SWC可以和其他SWC進行交互。一個Port總是只屬于一個SWC,并且表現(xiàn)為該SWC和與之通信的其他SWC之間的交互點。
下圖展示了一個SWC定義的例子,該SWC叫做SeatHeatControl, 它根據(jù)幾個輸入來控制座椅內(nèi)的加熱單元。在這個例子中,該SWC需要以下幾個信息作為輸入:
- 座椅上是否有乘客落座(通過port "SeatSwitch")
- 座椅加熱溫度設(shè)置(通過port "Setting")
- 電源狀態(tài)(通過port "PowerManagement"),在特定轉(zhuǎn)臺下它可以禁用座椅加熱功能
該SWC控制:
- 和座椅溫度調(diào)節(jié)相關(guān)的DialLED(通過port "DialLED")
- 座椅加熱單元(通過port "HeatingElement")
而且,該SWC還具有標定功能(通過port "Calibration"),需要ECU的狀態(tài)(通過port "ecuMode"),還需要對NVM的訪問(通過port "nv")。
上面的例子中多次提到了port,那什么是port?它的作用是什么呢?
如前文所述,port是SWC之間的交互點。port總是和interface一起構(gòu)成SWC之間通信的橋梁,port可以簡單理解為端口,而interface可以理解為連接端口的線纜。
一個port可以是PPort, RPort, 或PRPort。一個PPort或PRPort提供在port-interface里定義的數(shù)據(jù),而一個RPort或PRPort則獲取在port-interface里定義的數(shù)據(jù)。
部分Port和Interface的類型如下表所示:
以上,只是列出了AUTOSAR中常用的部分Port-Interface類型,更多類型大家可以查閱AUTOSAR的手冊。
當一個SWC的PPort提供client-server接口時,該組件負責實現(xiàn)接口中定義的操作。
在下圖的例子中,SWC "SeatHeating" 實現(xiàn)了操作"SetPower",其他SWC可以通過port "Setting" 來調(diào)用該操作。SWC "SeatHeatingControl" 通過port "HeatingElement" 來調(diào)用操作"SetPower"。
當一個SWC提供sender-receiver接口時,該組件負責提供接口中定義的值。
在下面的例子中,SWC "SeatSwitch" 通過port "Switch"為"PassengerDetected" 提供布爾值。相似的,SWC "SeatHeatingControl" 可以通過port "SeatSwitch"讀取"PassengerDetected" 的狀態(tài)。
-
傳感器
+關(guān)注
關(guān)注
2546文章
50497瀏覽量
751192 -
AUTOSAR
+關(guān)注
關(guān)注
10文章
349瀏覽量
21447 -
虛擬機
+關(guān)注
關(guān)注
1文章
906瀏覽量
28027 -
VFB
+關(guān)注
關(guān)注
0文章
7瀏覽量
10238 -
車載網(wǎng)絡(luò)系統(tǒng)
+關(guān)注
關(guān)注
0文章
7瀏覽量
6508
發(fā)布評論請先 登錄
相關(guān)推薦
評論