五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

案例研究| ComM- Communication Manager通信管理模塊(Classic AUTOSAR基礎(chǔ)知識)

2022-05-31 09:23 作者:Elektrobit  | 我要投稿

簡介

通信管理模塊(COM Manager, 下稱ComM),是汽車開放系統(tǒng)架構(gòu)AUTOSAR BSW中的一個模塊。作為資源管理者,ComM封裝了下層的通信服務(wù)。ComM控制通信相關(guān)的BSW模塊,但不會去控制SWC或Runnable。ComM收集來自通信請求方(AUTOSAR中稱之為User,后文會解釋)的總線通信訪問請求,然后來協(xié)調(diào)這些請求。



ComM模塊的目的主要有:

  • 簡化用戶對于總線通信協(xié)議棧的使用方式,包括簡化后的網(wǎng)絡(luò)管理處理。用戶(即User,后文默認這兩種說法代表同一個含義)不需要知道任何硬件細節(jié),例如應(yīng)當(dāng)使用哪個channel。對于用戶來說,只需要請求“通信模式”,ComM模塊會切換對應(yīng)的通信channel的開啟或關(guān)閉。

  • 提供API以禁用信號的發(fā)送功能,防止(主動)喚醒總線上其他汽車電子控制單元(ECU)。

  • 每一路channel都有各自的狀態(tài)機,ComM可以控制多個channel,將請求的通信模式給到CanSM, EthSM等,由它們來控制對應(yīng)總線的狀態(tài)。

  • 提供API以強制讓ECU進入No Communication的狀態(tài)。

  • 為請求的通信模式分配足夠的資源,來簡化資源管理。在用戶請求Full Communication模式時,判斷是否允許通信,或者在通信狀態(tài)下防止ECU進入shutdown的狀態(tài)。

  • 另外,PNC擴展,也即“部分網(wǎng)絡(luò)管理”,允許用戶請求并將某一網(wǎng)絡(luò)上被分到同一個邏輯分組的ECU保持喚醒狀態(tài),PNC gateway允許將不同物理總線和網(wǎng)絡(luò)進行邏輯上的區(qū)分。


什么是“用戶”

用戶可以是BswM,runnable,(一個或一組)SWC,用戶是來向ComM和各個State Manager模塊請求的單一入口。

在用戶當(dāng)中,還有一個“系統(tǒng)用戶”的概念,它只存在于ComM內(nèi)部,用來做默認請求或者覆蓋用戶請求。



正常上電啟動請求FULL_COMMUNICATION

在我們了解ComM完整的狀態(tài)機之前,讓我們先看看ECU正常上電啟動后,是如何請求FULL COMMUNICATION的,這里以Elektrobit提供的demo作為示例,實際情況以項目需求為準(zhǔn)。



當(dāng)SWC初始化時,由于后續(xù)SWC中runnable有通信的需求,所以這里進行了ComM_RequestComMode的調(diào)用。

在這之后,你還需要Allow Communication,這個操作你可以通過函數(shù)調(diào)用的方式完成,例如:



也可以通過設(shè)置BswM Action的方式完成:



然后ComM模塊會去調(diào)用CanSM_RequestComMode(如果是eth, flexray,則調(diào)對應(yīng)eth和flexray的接口),讓Can協(xié)議棧有收發(fā)消息的能力,返回OK的話,ComM就從剛才的No Communication進入到Full Com Network Requested狀態(tài)了。

如果還加入了網(wǎng)絡(luò)管理的功能,如果設(shè)置的NM Variant為Full,那么ComM還會調(diào)用CanNm_NetworkRequest接口,CanNm狀態(tài)將由Bus Sleep狀態(tài)遷移到Network Mode。

再然后,CanNm調(diào)用ComM_Nm_NetworkMode()接口,通知ComM網(wǎng)絡(luò)管理狀態(tài)已經(jīng)進入Network Mode。

當(dāng)CanSM狀態(tài)進入到CanSM_CommFullCommunication狀態(tài)時,會調(diào)用ComM_BusSM_ModeIndication() 進行通知。

完整時序圖可以參考:



如果你現(xiàn)在對啟動后通信上線的流程已經(jīng)有所理解,讓我們來看看狀態(tài)機圖,是一個什么樣的狀態(tài)遷移流程:



不知道你有沒有發(fā)現(xiàn),SWC初始化時調(diào)用的接口(void) Rte_Call_UR_ComMUser_0_RequestComMode(FULL_COMMUNICATION)只給了一個參數(shù),那么是如何在調(diào)用時知道是操作的哪個用戶呢?

ComM是提供ComM_CurrentMode的接口的,



當(dāng)你創(chuàng)建了用戶后,ComM還會生成PORT API OPTION,



這樣就只需要將SWC的R-Port與ComM的P-Port連接起來,



這樣的話SWC在實現(xiàn)階段只需要關(guān)注期望的通信狀態(tài)是什么,而無需關(guān)注具體是操作的哪個user,如果未來項目的需求有變化,也只需要修改ComM模塊中用戶使用了哪些channel,而不用改動SWC。


網(wǎng)絡(luò)關(guān)閉

接下來我們再一起了解網(wǎng)絡(luò)關(guān)閉的流程。

假設(shè)我們已經(jīng)經(jīng)過了上述流程進入到了Full Communication狀態(tài)并且正常收發(fā)消息,在某一個時間節(jié)點我們不需要繼續(xù)進行網(wǎng)絡(luò)通信,并且請求了No Communication:



那么ComM首先需要進入到Ready Sleep模式,并調(diào)用Nm_NetworkRelease(),當(dāng)Nm狀態(tài)進入到Prepare BusSleep時會通知ComM,隨后ComM進入到Silent Communication狀態(tài),ComM調(diào)用CanSM接口要求CanSM進入到Silent Communication狀態(tài)。

當(dāng)Nm進入到Bus Sleep狀態(tài),完全不進行任何消息的收發(fā)時,通知ComM狀態(tài)已經(jīng)切換,隨后ComM進入No Communication狀態(tài),并要求CanSM也同步進入No Communication狀態(tài)。



Passive Startup

主要區(qū)別是從No Com到Full Com的觸發(fā)條件的細微差別,這里不詳細說明了,截個流程圖吧。



通信抑制

模式抑制的目的是限制通信能力,包括總線喚醒抑制以及No Communication限定模式。ComM模塊提供相應(yīng)API以進行對應(yīng)抑制模式的請求。通信抑制對每一路通信都可以單獨設(shè)置。

總線喚醒抑制

總線喚醒抑制,在ComM模塊中的概念為應(yīng)當(dāng)預(yù)防啟用通信而導(dǎo)致的喚醒其他ECU的情況。

例如傳感器ECU發(fā)生故障時,可能會向總線發(fā)出非預(yù)期的消息而導(dǎo)致喚醒整個網(wǎng)絡(luò),在出現(xiàn)這種故障情況時,相應(yīng)故障處理的SWC應(yīng)當(dāng)設(shè)置對應(yīng)通信channel的喚醒抑制位,防止意外喚醒網(wǎng)絡(luò)。

如果ComM的抑制狀態(tài)ComMNoWakeup設(shè)置為True,用戶是無法請求Full Communication的。

No Communication限定模式

當(dāng)前狀態(tài)為COMM_FULL_COM_NETWORK_REQUESTED,并且已經(jīng)請求了No Communication限定模式,對應(yīng)的channel會切換至Ready Sleep狀態(tài),準(zhǔn)備進行shutdown,用戶的Full Communication請求不會得到任何處理。


ComM模塊提供的服務(wù)

總結(jié)上面已經(jīng)提到的,ComM模塊可以提供這些接口:

基于不同的使用場景,可以分別利用不同的接口。例如SWC僅僅需要知道ComM狀態(tài),那么只用ComM_CurrentMode接口就足夠了。

如果還需要控制ComM狀態(tài),那么就需要ComM_RequestMode接口。

對于Channel Wakeup, Channel Limitation以及ECU Mode Limitation,一般用于SWC向BSW請求模式轉(zhuǎn)換,然后BswM和ComM進行交互,設(shè)置Wakeup或者Limitation。



本文作者:

陳謙

Elektrobit中國團隊的專家, 專注于Classic AUTOSAR


相關(guān)產(chǎn)品:

Elektrobit 提供針對經(jīng)典 AUTOSAR 基礎(chǔ)軟件、汽車操作系統(tǒng)和量身定制的工具環(huán)境 - EB tresos,訪問官網(wǎng)獲得更多產(chǎn)品技術(shù)詳情:www.elektrobit.cn/products/ecu/eb-tresos/?

登入Elektrobit官網(wǎng)申請下載EB tresos免費試用包,配置符合AUTOSA標(biāo)準(zhǔn)的軟件工程:https://www.elektrobit.cn/products-ecu-eb-tresos-evaluation-package/






案例研究| ComM- Communication Manager通信管理模塊(Classic AUTOSAR基礎(chǔ)知識)的評論 (共 條)

分享到微博請遵守國家法律
湘西| 新巴尔虎右旗| 海盐县| 沙河市| 丹东市| 汽车| 石首市| 岱山县| 靖宇县| 肃宁县| 瓮安县| 钦州市| 吴忠市| 乾安县| 北流市| 城固县| 清水河县| 论坛| 新安县| 康马县| 敦煌市| 北海市| 吴桥县| 澜沧| 屏东县| 寻甸| 青铜峡市| 营山县| 松原市| 邯郸市| 博罗县| 伊吾县| 汝南县| 太仆寺旗| 珲春市| 恩施市| 布尔津县| 察哈| 和田市| 宽城| 太仆寺旗|