什么是VFB?它的作用是什么?
在AUTOSAR中,應(yīng)用程序被設(shè)計為相互連接的SWC組合。虛擬功能總線是這些SWC互相交互的通訊機(jī)制。在系統(tǒng)配置階段,SWC被映射到特定的ECU上。因此,SWC之間的虛擬連接被映射為本地連接(同一個ECU上),或者基于車載網(wǎng)絡(luò)的通訊機(jī)制,如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ǔ)軟件的嚴(yán)格隔離。實現(xiàn)應(yīng)用軟件的SWC很大程度上獨立于通訊機(jī)制,通過該機(jī)制SWC可以和其他的SWC或者硬件(比如傳感器、執(zhí)行器)進(jìn)行交互。
通過VFB可以指定系統(tǒng)的完整通信,包括所有的提供者(Provider or Server)和使用者(Receiver or Client)。因此VFB可以用于檢查軟件組件通信的可信性。通訊連接和被連接的SWC被保存在同一個描述文件中,該描述文件會在接下來的幾個階段被用到(映射、軟件配置等)。
VFB需要給實現(xiàn)汽車功能的SWC提供所有的基礎(chǔ)服務(wù):
- 和系統(tǒng)中的其他SWC進(jìn)行通信
- 和系統(tǒng)中的傳感器或執(zhí)行器通信
- 訪問標(biāo)準(zhǔn)服務(wù),如讀寫NVM
- 響應(yīng)工作模式變化,比如ECU的電源狀態(tài)變化
- 和系統(tǒng)中的標(biāo)定、測量系統(tǒng)的交互
Port以及Interface
在VFB級別構(gòu)建系統(tǒng)時使用的中心元素是SWC。SWC具有定義良好的Ports,通過這些Ports SWC可以和其他SWC進(jìn)行交互。一個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還具有標(biāo)定功能(通過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的手冊。
當(dāng)一個SWC的PPort提供client-server接口時,該組件負(fù)責(zé)實現(xiàn)接口中定義的操作。
在下圖的例子中,SWC "SeatHeating" 實現(xiàn)了操作"SetPower",其他SWC可以通過port "Setting" 來調(diào)用該操作。SWC "SeatHeatingControl" 通過port "HeatingElement" 來調(diào)用操作"SetPower"。
當(dāng)一個SWC提供sender-receiver接口時,該組件負(fù)責(zé)提供接口中定義的值。
在下面的例子中,SWC "SeatSwitch" 通過port "Switch"為"PassengerDetected" 提供布爾值。相似的,SWC "SeatHeatingControl" 可以通過port "SeatSwitch"讀取"PassengerDetected" 的狀態(tài)。
-
傳感器
+關(guān)注
關(guān)注
2565文章
53001瀏覽量
767397 -
AUTOSAR
+關(guān)注
關(guān)注
10文章
380瀏覽量
22665 -
虛擬機(jī)
+關(guān)注
關(guān)注
1文章
966瀏覽量
29358 -
VFB
+關(guān)注
關(guān)注
0文章
10瀏覽量
10388 -
車載網(wǎng)絡(luò)系統(tǒng)
+關(guān)注
關(guān)注
0文章
8瀏覽量
6597
發(fā)布評論請先 登錄
AUTOSAR架構(gòu)下的多核通信介紹

請教一下,動態(tài)調(diào)用時各個VI之間的數(shù)據(jù)交互是怎么實現(xiàn)的
CP AUTOSAR EcuM的相關(guān)資料下載
介紹AUTOSAR支持的四種功能安全機(jī)制
AUTOSAR功能安全機(jī)制之內(nèi)存分區(qū)與實現(xiàn)
搞一下CP AUTOSAR 入門 | 04 CP AUTOSAR EcuM 詳解

討論AUTOSAR方法中的軟件組件的概念
AUTOSAR SWC內(nèi)存分區(qū)與實現(xiàn)

介紹一下AUTOSAR各個軟件層之間交互的接口

基于Tricore芯片的AUTOSAR架構(gòu)下的多核啟動

AUTOSAR經(jīng)典平臺介紹

AUTOSAR CP運(yùn)行時環(huán)境與應(yīng)用軟件

評論