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