色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

AUTOSAR ComM功能及配置參數詳解

jf_EksNQtU6 ? 來源:汽車電子嵌入式 ? 2023-06-01 10:00 ? 次閱讀

AUTOSAR ComM模塊的分享分為ComM模塊概念詳解和ComM模塊配置及代碼分析,本篇為ComM模塊配置及代碼分析篇。

1.ComM和其他模塊交互時序分析

1.1開始信號傳輸和接收(以CAN通道為例)

ComM模塊調用CanSM_Request請求CanSM開啟CAN通信,CanSM開啟通信后調用ComM_BusSM_ModeIndication通知到ComM當前CAN通道Channel已經切換到COMM_FULL_COMMUNICATION狀態了。ComM隨后調用CanNM模塊的Nm_NetworkRequest或者Nm_PassiveStartup接口開啟該通道的網絡管理。

c0ca5b56-ffe2-11ed-90ce-dac502259ad0.png

1.2被動喚醒(以CAN通道為例)

EcuM調用ComM_EcuM_WakeUpIndication通知到ComM模塊ECU被喚醒,CanNM模塊調用ComM_Nm_RestartIndication通知到ComM網絡管理模塊重啟網絡,隨后NM調用ComM_Nm_NetworkStartIndication通知到ComM網絡管理模塊開始網絡管理。

ComM模塊中CAN通道的狀態從COMM_NO_COM_NO_PENDING_REQUEST切換到COMM_NO_COM_REQUEST_PENDING狀態。ComM模塊等待運行通信標志CommunicationAllowed=TRUE。允許通信后,ComM模塊調用CanSM_RequestComMode請求COMM_FULL_COMMUNICATION通信。

CanSM開啟通道的通信后,ComM模塊通道切換到COMM_FULL_COM_NETWORK_REQUESTED狀態。隨后,ComM模塊調用Nm_PassiveStartUp請求NM被動開啟網絡管理,NM也調用ComM_Nm_NetworkMode通知到ComM當前NM的網絡模式。

c0d5b9a6-ffe2-11ed-90ce-dac502259ad0.png

1.3網絡關閉(以CAN通道為例)

c0e1ed7a-ffe2-11ed-90ce-dac502259ad0.png

1.4通信請求

c0ef7ea4-ffe2-11ed-90ce-dac502259ad0.png

2.ComM模塊配置

ComM配置ComMConfigSet和ComMGeneral兩個頂層Container。

ComMConfigSet: 包含子配置參數Container。

ComMGeneral: ComM模塊的通用配置參數。

2.1ComMGeneral

ComMGeneral主要包含ComM的一些通用配置。

c0ff4ef6-ffe2-11ed-90ce-dac502259ad0.png

ComMDirectUserMapping: 配置是否讓工具自動為每個ComMChannel映射ComMUser句柄(handler)。

ComMEcuGroupClassification: 配置模式抑制(mode inhibition)是否會影響到ECU。

ComMModeLimitationEnabled: 配置模式限制(mode limitation)是否被使能(enable or disable)。

ComMPncGatewayEnabled: 局部網絡網關是否被使能。

ComMPncPrepareSleepTimer: COMM_PNC_PREPARE_SLEEP狀態下定時器限值(以秒為計數單位)。

ComMPncSupport: 配置是否支持局部網絡功能。

ComMResetAfterForcingNoComm: 配置ComM進入到無通信狀態后ComM模塊是否進行重啟。

ComMSynchronousWakeUp: 配置是否支持通道同步喚醒(一個通道被喚醒則所有通道就被喚醒)。

ComMTMinFullComModeDuration: 配置COMM_FULL_COMMUNICATION狀態的COMM_FULL_COM_NETWORK_REQUESTED子狀態下最小的時間周期(以秒為單位)。

ComMWakeupInhibitionEnabled: 配置是否支持喚醒抑制(wake up inhibition)功能。

2.2ComMConfigSet

ComMConfigSet主要包括以下三個配置container。

ComMChannel: 此容器包含總線通道的配置(參數)。信道參數應在整個通信堆棧內協調一致。

ComMPnc: 該容器包含部分網絡集群(PNC)的配置。

ComMUser: 這個容器包含一個標識符列表,這些標識符用于引用系統中指定請求通信模式的用戶。

c1084c04-ffe2-11ed-90ce-dac502259ad0.png

2.2.1ComMUser

ComMUserIdentifier:一種標識符,用于引用系統中指定請求通信模式的用戶。ImplementationType: ComM_UserHandleType

用戶的概念與ECU State Manager規范中的請求者的概念非常相似。

ComMUserEcucPartitionRef: 表示請求程序在其中執行“EcucPartition”。當分區停止時,ComM中的通信請求將被取消,以避免由于分區停止而導致總線保持喚醒,這個參數基本不使用,也不配置。

c112ba36-ffe2-11ed-90ce-dac502259ad0.png 2.2.2?ComMChannel c11dc700-ffe2-11ed-90ce-dac502259ad0.png

此容器包含總線通道的配置(參數)。信道參數應在整個通信堆棧內協調一致。

c1285d28-ffe2-11ed-90ce-dac502259ad0.png

ComMBusType: 總線類型,包括:COMM_BUS_TYPE_CAN,COMM_BUS_TYPE_CDD,COMM_BUS_TYPE_ETH,COMM_BUS_TYPE_FR,COMM_BUS_TYPE_INTERNAL,COMM_BUS_TYPE_LIN六種類型。

ComMCDDBusPrefix: 調用復雜驅動(CDD)的API時需要加上的前綴。

ComMChannelId: 總線通道ID。

ComMFullCommRequestNotificationEnabled: 定義是否為該通道提供接口ComM_CurrentChannelRequest的可選SenderReceiver端口。

ComMMainFunctionPeriod: ComMMainFucntion調度周期。

ComMChannel: 配置是否允許切換ComM通道狀態到COMM_SILENT_COMMUNICATION或者COMM_FULL_COMMUNICATION。在ECU運行時可以通過以下API改變這個配置參數。

ECU/All channels: ComM_LimitECUToNoComMode().

Separate channels: ComM_LimitChannelToNoComMode().

ComMNoWakeup: 配置ECU是否不允許喚醒該通道。

ComMNoWakeUpInhibitionNvmStorage: 如果該參數設置為true,則通道的NoWakeUp抑制狀態將存儲在ComMGlobalNvmBlockDescriptor所指向的塊中(以某種具體實現的方式)。

ComMPncGatewayType: 定義該通道局部網絡網關行為。

ComMNetworkManagement: ComMChannel的子Container,該容器包含網絡管理的配置參數。

ComMUserPerChannel: ComMChannel的子Container,這個容器包含一個標識符列表,這些標識符用于引用鏈接到通道的系統中的用戶。

2.2.2.1ComMNetworkManagement

c132dbcc-ffe2-11ed-90ce-dac502259ad0.png

ComMNmLightTimeout: 定義COMM_FULL_COMMUNICATION子狀態COMM_FULL_COM_READY_SLEEP離開后的超時時間(秒)。僅在ComMNmVariant配置為Light時使用。

ComMNmVariant: 定義網絡管理的功能。應與NM配置相協調。

FULL: AUTOSAR NM可用(默認)。

LIGHT: 沒有AUTOSAR NM可用,但有關閉通道的功能。

NONE: 不使用NM網絡管理。

PASSIVE: AUTOSAR NM運行在被動模式可用。

如果ComMBusType = COMM_BUS_TYPE_INTERNAL則 ComMNmVariant應該被配置為NONE。

ComMPncNmRequest: 如果這個參數等于true,那么每次由于PNC狀態機改變為COMM_PNC_REQUESTED而請求FULL Communication時,Nm將使用API Nm_NetworkRequest調用。

c139e340-ffe2-11ed-90ce-dac502259ad0.png

2.2.2.2ComMUserPerChannel

c147c50a-ffe2-11ed-90ce-dac502259ad0.png

ComMUserPerChannel: 引用此通道用戶對應的ComMUser。

2.2.3ComMPnc

ComMPncId: 定義局部網絡ID

ComMChannelPerPnc: 局部網絡中的ComMChannel。

ComMPncEthIfSwitchPortGroupRef: 引用與此PNC對應的PortGroups。

ComMUserPerPnc: 參考與此PNC對應的ComMUsers。

ComMPncComSignal: 表示PNC通信信號,用于通信該PNC的EIRA和ERA狀態。

3.ComM模塊代碼分析

AUTOSAR模塊的代碼結構在Autosar架構下的模塊詳細設計及代碼實現--基于配置的編程方法一文中我們有闡述。關注公號車端

3.1 重要數據結構分析

(1)配置代碼

配置項結構體:

c14f1e68-ffe2-11ed-90ce-dac502259ad0.png

在ComM_PBcfg.c里面定義了每一個通道配置的具體實現。

c15bdaf4-ffe2-11ed-90ce-dac502259ad0.png

(2)模塊的實時狀態數據結構

每個通道都會有一個實時的狀態機,以及一些運行中的實時狀態,這些狀態一般保存在一個全局數據結構當中。

c16641c4-ffe2-11ed-90ce-dac502259ad0.png

ComM.c中

c174fcfa-ffe2-11ed-90ce-dac502259ad0.png

這些全局變量是我們在調試ComM的時候需要觀測的重要數據結構,通常在排查問題的時候,我們僅僅需要觀測這幾個全局變量。

3.2 主邏輯代碼分析

ComM_Main.c

c182c3b2-ffe2-11ed-90ce-dac502259ad0.png

ComM_Prv_ChannelMainFunction函數中的邏輯一句話概括就是:根據配置走不同的分支,根據實時請求切換狀態并執行響應動作。

c19326f8-ffe2-11ed-90ce-dac502259ad0.png

c19d0c40-ffe2-11ed-90ce-dac502259ad0.png

3.3 接口/回調函數使用分析

ComM.h中聲明了所有的接口函數

c1ab611e-ffe2-11ed-90ce-dac502259ad0.png

c1b4de74-ffe2-11ed-90ce-dac502259ad0.png

c1bfbae2-ffe2-11ed-90ce-dac502259ad0.png

同理,ComM_Nm.h中聲明了Indication函數ComM_Nm_NetworkStartIndication,ComM_Nm_NetworkStartIndication.c文件中定義了ComM_Nm_NetworkStartIndication函數。

ComM_Nm_NetworkStartIndication函數最主要的就是根據配置,更新通道狀態結構體變量中的PassiveRequestState_u8變量。

c1cc0be4-ffe2-11ed-90ce-dac502259ad0.png

c1d84cb0-ffe2-11ed-90ce-dac502259ad0.png





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • CAN通信
    +關注

    關注

    5

    文章

    94

    瀏覽量

    17910
  • 定時器
    +關注

    關注

    23

    文章

    3251

    瀏覽量

    115009
  • AUTOSAR
    +關注

    關注

    10

    文章

    363

    瀏覽量

    21624
  • ecu
    ecu
    +關注

    關注

    14

    文章

    890

    瀏覽量

    54577

原文標題:AUTOSAR ComM功能及配置參數詳解

文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Shield Buddy TC375開發板是否支持將經典AUTOSAR堆棧(COMM,DIAG)移植到該開發板上?

    Shield Buddy TC375開發板是否支持將經典 AUTOSAR 堆棧(COMM,DIAG)移植到該開發板上? 它適用于 MCAL 驅動程序嗎? 另外,請建議使用支持經典 AUTOSAR 堆棧的起始(基本)Aurix
    發表于 01-30 08:30

    集成門電路邏輯功能及參數測試

    實驗一、  集成門電路邏輯功能及參數測試一、實驗目的  1、認識集成門電路的管腳排列。  2、掌握門電路的邏輯功能及參數測試方法。&
    發表于 09-16 15:12

    linux中comm命令用法

    linux系統中comm命令用法詳解 linux系統下的comm命令是一個非常實用的文件對比命令。 comm命令功能:選擇或拒絕兩個已排序的
    發表于 07-04 08:22

    AUTOSAR應用軟件層功能有哪些

    AUTOSAR分層結構是怎樣組成的?AUTOSAR應用軟件層功能有哪些?
    發表于 10-15 09:48

    CP AUTOSAR EcuM的相關資料下載

    前言本系列請點擊:《搞一下CP AUTOSAR入門》所有系列請點擊:《汽車電子系列分享》在CP AUTOSAR架構中定義了許多和模式管理相關的組件,其中主要包括EcuM、BswM、ComM等。在CP
    發表于 02-11 07:05

    AUTOSAR功能安全機制之內存分區與實現

    1、AUTOSAR功能安全機制之內存分區與實現  在AUTOSAR架構中,應用軟件位于RTE上方,由互連的AUTOSAR SWC組成,這些組件以原子方式封裝了應用軟件
    發表于 09-19 15:55

    TDA4555各引腳功能及電壓參數資料

    TDA4555各引腳功能及電壓參數資料  
    發表于 03-08 10:07 ?2838次閱讀

    TDA4565各引腳功能及電壓參數資料

    TDA4565各引腳功能及電壓參數資料  
    發表于 03-08 10:08 ?3109次閱讀

    TAB7105各引腳功能及電壓參數資料

    TAB7105各引腳功能及電壓參數資料  
    發表于 03-08 10:08 ?2487次閱讀

    TDA3504各引腳功能及電壓參數資料

    TDA3504各引腳功能及電壓參數資料  
    發表于 03-08 10:09 ?2067次閱讀

    cisco easyvpn 配置詳解

    cisco easyvpn 配置詳解,通過貼配置可以實現功能,是的
    發表于 11-19 16:39 ?4次下載

    搞一下CP AUTOSAR 入門 | 04 CP AUTOSAR EcuM 詳解

    前言本系列請點擊:《搞一下CP AUTOSAR入門》所有系列請點擊:《汽車電子系列分享》在CP AUTOSAR架構中定義了許多和模式管理相關的組件,其中主要包括EcuM、BswM、ComM等。在CP
    發表于 12-07 18:21 ?30次下載
    搞一下CP <b class='flag-5'>AUTOSAR</b> 入門 | 04 CP <b class='flag-5'>AUTOSAR</b> EcuM <b class='flag-5'>詳解</b>

    AUTOSAR Fee模塊配置詳解

    AUTOSAR Fee的配置跟Ea類似,方法都可以觸類旁通。
    的頭像 發表于 06-01 10:05 ?4707次閱讀
    <b class='flag-5'>AUTOSAR</b> Fee模塊<b class='flag-5'>配置</b><b class='flag-5'>詳解</b>

    詳解工業網關在線探測功能及用途

    詳解工業網關在線探測功能及用途 工業網關作為工業物聯網(IIoT)架構中的關鍵組件,扮演著橋梁的角色,它連接了現場的各類傳感器、執行器以及更高級別的云平臺或企業系統。在線探測功能是工業網關諸多能力中
    的頭像 發表于 06-20 13:55 ?349次閱讀
    <b class='flag-5'>詳解</b>工業網關在線探測<b class='flag-5'>功能及</b>用途

    AUTOSAR中通信堆棧的配置 AUTOSAR通信模塊測試方法

    )的開發和生產。通信堆棧是AUTOSAR架構中的關鍵組成部分,負責處理ECU之間的通信。 AUTOSAR中通信堆棧的配置 通信模型 : AUTOSAR定義了一種分層的通信模型,包括應用
    的頭像 發表于 12-17 15:01 ?300次閱讀
    主站蜘蛛池模板: 麻豆啊传媒app黄版破解免费 | 伊人久久大香线蕉综合99| 男人边吃奶边挵进去呻吟漫画 | brazzers欧美孕交| 亚洲 欧美 国产 综合不卡| 女人被躁到高潮嗷嗷叫69| 国产在线观看www鲁啊鲁免费| www色小姐| 2018久久视频在线视频观看| 亚洲精品国产在线网站| 日日干夜夜艹| 欧美精品专区第1页| 久久久擼擼擼麻豆| 国产啪精品视频网免费| 成人精品综合免费视频| 91精品一区二区三区在线观看| 亚洲视频无码高清在线| 双性诱受灌满哭求饶BL| 欧洲vs美洲完整视频| 蜜臀亚洲AV永久无码精品老司机| 精品AV无码一二三区视频| 国产九色在线| 国产AV麻豆出品在线播放| 啊灬啊灬啊灬快高潮视频| 最新无码二区日本专区| 伊人大香线蕉影院在线播放| 亚洲精品卡2卡3卡4卡5卡区| 小蝌蚪视频在线观看免费观看WWW 小货SAO边洗澡边CAO你动漫 | 国产成人自拍视频在线观看| www.av天堂网.com| 99riav9 精品香蕉免费大视频| 永久免费毛片| 伊人yinren6综合网色狠狠| 亚洲精品成人| 亚欧视频在线观看| 性欧美video另类hd高清| 乌克兰14一18处交见血| 她也色在线视频站| 偷拍精品视频一区二区三区| 特黄特黄aaaa级毛片免费看| 熟女人妻AV五十路六十路|