精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AUTOSAR ComM功能及配置參數(shù)詳解

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

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

1.ComM和其他模塊交互時(shí)序分析

1.1開(kāi)始信號(hào)傳輸和接收(以CAN通道為例)

ComM模塊調(diào)用CanSM_Request請(qǐng)求CanSM開(kāi)啟CAN通信,CanSM開(kāi)啟通信后調(diào)用ComM_BusSM_ModeIndication通知到ComM當(dāng)前CAN通道Channel已經(jīng)切換到COMM_FULL_COMMUNICATION狀態(tài)了。ComM隨后調(diào)用CanNM模塊的Nm_NetworkRequest或者Nm_PassiveStartup接口開(kāi)啟該通道的網(wǎng)絡(luò)管理。

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

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

EcuM調(diào)用ComM_EcuM_WakeUpIndication通知到ComM模塊ECU被喚醒,CanNM模塊調(diào)用ComM_Nm_RestartIndication通知到ComM網(wǎng)絡(luò)管理模塊重啟網(wǎng)絡(luò),隨后NM調(diào)用ComM_Nm_NetworkStartIndication通知到ComM網(wǎng)絡(luò)管理模塊開(kāi)始網(wǎng)絡(luò)管理。

ComM模塊中CAN通道的狀態(tài)從COMM_NO_COM_NO_PENDING_REQUEST切換到COMM_NO_COM_REQUEST_PENDING狀態(tài)。ComM模塊等待運(yùn)行通信標(biāo)志CommunicationAllowed=TRUE。允許通信后,ComM模塊調(diào)用CanSM_RequestComMode請(qǐng)求COMM_FULL_COMMUNICATION通信。

CanSM開(kāi)啟通道的通信后,ComM模塊通道切換到COMM_FULL_COM_NETWORK_REQUESTED狀態(tài)。隨后,ComM模塊調(diào)用Nm_PassiveStartUp請(qǐng)求NM被動(dòng)開(kāi)啟網(wǎng)絡(luò)管理,NM也調(diào)用ComM_Nm_NetworkMode通知到ComM當(dāng)前NM的網(wǎng)絡(luò)模式。

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

1.3網(wǎng)絡(luò)關(guān)閉(以CAN通道為例)

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

1.4通信請(qǐng)求

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

2.ComM模塊配置

ComM配置ComMConfigSet和ComMGeneral兩個(gè)頂層Container。

ComMConfigSet: 包含子配置參數(shù)Container。

ComMGeneral: ComM模塊的通用配置參數(shù)。

2.1ComMGeneral

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

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

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

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

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

ComMPncGatewayEnabled: 局部網(wǎng)絡(luò)網(wǎng)關(guān)是否被使能。

ComMPncPrepareSleepTimer: COMM_PNC_PREPARE_SLEEP狀態(tài)下定時(shí)器限值(以秒為計(jì)數(shù)單位)。

ComMPncSupport: 配置是否支持局部網(wǎng)絡(luò)功能。

ComMResetAfterForcingNoComm: 配置ComM進(jìn)入到無(wú)通信狀態(tài)后ComM模塊是否進(jìn)行重啟。

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

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

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

2.2ComMConfigSet

ComMConfigSet主要包括以下三個(gè)配置container。

ComMChannel: 此容器包含總線通道的配置(參數(shù))。信道參數(shù)應(yīng)在整個(gè)通信堆棧內(nèi)協(xié)調(diào)一致。

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

ComMUser: 這個(gè)容器包含一個(gè)標(biāo)識(shí)符列表,這些標(biāo)識(shí)符用于引用系統(tǒng)中指定請(qǐng)求通信模式的用戶。

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

2.2.1ComMUser

ComMUserIdentifier:一種標(biāo)識(shí)符,用于引用系統(tǒng)中指定請(qǐng)求通信模式的用戶。ImplementationType: ComM_UserHandleType

用戶的概念與ECU State Manager規(guī)范中的請(qǐng)求者的概念非常相似。

ComMUserEcucPartitionRef: 表示請(qǐng)求程序在其中執(zhí)行“EcucPartition”。當(dāng)分區(qū)停止時(shí),ComM中的通信請(qǐng)求將被取消,以避免由于分區(qū)停止而導(dǎo)致總線保持喚醒,這個(gè)參數(shù)基本不使用,也不配置。

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

此容器包含總線通道的配置(參數(shù))。信道參數(shù)應(yīng)在整個(gè)通信堆棧內(nèi)協(xié)調(diào)一致。

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: 調(diào)用復(fù)雜驅(qū)動(dòng)(CDD)的API時(shí)需要加上的前綴。

ComMChannelId: 總線通道ID。

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

ComMMainFunctionPeriod: ComMMainFucntion調(diào)度周期。

ComMChannel: 配置是否允許切換ComM通道狀態(tài)到COMM_SILENT_COMMUNICATION或者COMM_FULL_COMMUNICATION。在ECU運(yùn)行時(shí)可以通過(guò)以下API改變這個(gè)配置參數(shù)。

ECU/All channels: ComM_LimitECUToNoComMode().

Separate channels: ComM_LimitChannelToNoComMode().

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

ComMNoWakeUpInhibitionNvmStorage: 如果該參數(shù)設(shè)置為true,則通道的NoWakeUp抑制狀態(tài)將存儲(chǔ)在ComMGlobalNvmBlockDescriptor所指向的塊中(以某種具體實(shí)現(xiàn)的方式)。

ComMPncGatewayType: 定義該通道局部網(wǎng)絡(luò)網(wǎng)關(guān)行為。

ComMNetworkManagement: ComMChannel的子Container,該容器包含網(wǎng)絡(luò)管理的配置參數(shù)。

ComMUserPerChannel: ComMChannel的子Container,這個(gè)容器包含一個(gè)標(biāo)識(shí)符列表,這些標(biāo)識(shí)符用于引用鏈接到通道的系統(tǒng)中的用戶。

2.2.2.1ComMNetworkManagement

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

ComMNmLightTimeout: 定義COMM_FULL_COMMUNICATION子狀態(tài)COMM_FULL_COM_READY_SLEEP離開(kāi)后的超時(shí)時(shí)間(秒)。僅在ComMNmVariant配置為L(zhǎng)ight時(shí)使用。

ComMNmVariant: 定義網(wǎng)絡(luò)管理的功能。應(yīng)與NM配置相協(xié)調(diào)。

FULL: AUTOSAR NM可用(默認(rèn))。

LIGHT: 沒(méi)有AUTOSAR NM可用,但有關(guān)閉通道的功能。

NONE: 不使用NM網(wǎng)絡(luò)管理。

PASSIVE: AUTOSAR NM運(yùn)行在被動(dòng)模式可用。

如果ComMBusType = COMM_BUS_TYPE_INTERNAL則 ComMNmVariant應(yīng)該被配置為NONE。

ComMPncNmRequest: 如果這個(gè)參數(shù)等于true,那么每次由于PNC狀態(tài)機(jī)改變?yōu)镃OMM_PNC_REQUESTED而請(qǐng)求FULL Communication時(shí),Nm將使用API Nm_NetworkRequest調(diào)用。

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

2.2.2.2ComMUserPerChannel

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

ComMUserPerChannel: 引用此通道用戶對(duì)應(yīng)的ComMUser。

2.2.3ComMPnc

ComMPncId: 定義局部網(wǎng)絡(luò)ID

ComMChannelPerPnc: 局部網(wǎng)絡(luò)中的ComMChannel。

ComMPncEthIfSwitchPortGroupRef: 引用與此PNC對(duì)應(yīng)的PortGroups。

ComMUserPerPnc: 參考與此PNC對(duì)應(yīng)的ComMUsers

ComMPncComSignal: 表示PNC通信信號(hào),用于通信該P(yáng)NC的EIRA和ERA狀態(tài)。

3.ComM模塊代碼分析

AUTOSAR模塊的代碼結(jié)構(gòu)在Autosar架構(gòu)下的模塊詳細(xì)設(shè)計(jì)及代碼實(shí)現(xiàn)--基于配置的編程方法一文中我們有闡述。關(guān)注公號(hào)車端

3.1 重要數(shù)據(jù)結(jié)構(gòu)分析

(1)配置代碼

配置項(xiàng)結(jié)構(gòu)體:

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

在ComM_PBcfg.c里面定義了每一個(gè)通道配置的具體實(shí)現(xiàn)。

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

(2)模塊的實(shí)時(shí)狀態(tài)數(shù)據(jù)結(jié)構(gòu)

每個(gè)通道都會(huì)有一個(gè)實(shí)時(shí)的狀態(tài)機(jī),以及一些運(yùn)行中的實(shí)時(shí)狀態(tài),這些狀態(tài)一般保存在一個(gè)全局?jǐn)?shù)據(jù)結(jié)構(gòu)當(dāng)中。

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

ComM.c中

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

這些全局變量是我們?cè)谡{(diào)試ComM的時(shí)候需要觀測(cè)的重要數(shù)據(jù)結(jié)構(gòu),通常在排查問(wèn)題的時(shí)候,我們僅僅需要觀測(cè)這幾個(gè)全局變量。

3.2 主邏輯代碼分析

ComM_Main.c

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

ComM_Prv_ChannelMainFunction函數(shù)中的邏輯一句話概括就是:根據(jù)配置走不同的分支,根據(jù)實(shí)時(shí)請(qǐng)求切換狀態(tài)并執(zhí)行響應(yīng)動(dòng)作。

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

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

3.3 接口/回調(diào)函數(shù)使用分析

ComM.h中聲明了所有的接口函數(shù)

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

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

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

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

ComM_Nm_NetworkStartIndication函數(shù)最主要的就是根據(jù)配置,更新通道狀態(tài)結(jié)構(gòu)體變量中的PassiveRequestState_u8變量。

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

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





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • CAN通信
    +關(guān)注

    關(guān)注

    5

    文章

    93

    瀏覽量

    17810
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3237

    瀏覽量

    114467
  • AUTOSAR
    +關(guān)注

    關(guān)注

    10

    文章

    350

    瀏覽量

    21472
  • ecu
    ecu
    +關(guān)注

    關(guān)注

    14

    文章

    880

    瀏覽量

    54404

原文標(biāo)題:AUTOSAR ComM功能及配置參數(shù)詳解

文章出處:【微信號(hào):談思實(shí)驗(yàn)室,微信公眾號(hào):談思實(shí)驗(yàn)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Shield Buddy TC375開(kāi)發(fā)板是否支持將經(jīng)典AUTOSAR堆棧(COMM,DIAG)移植到該開(kāi)發(fā)板上?

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

    集成門電路邏輯功能及參數(shù)測(cè)試

    實(shí)驗(yàn)一、  集成門電路邏輯功能及參數(shù)測(cè)試一、實(shí)驗(yàn)?zāi)康?nbsp; 1、認(rèn)識(shí)集成門電路的管腳排列。  2、掌握門電路的邏輯功能及參數(shù)測(cè)試方法。&
    發(fā)表于 09-16 15:12

    linux中comm命令用法

    linux系統(tǒng)中comm命令用法詳解 linux系統(tǒng)下的comm命令是一個(gè)非常實(shí)用的文件對(duì)比命令。 comm命令功能:選擇或拒絕兩個(gè)已排序的
    發(fā)表于 07-04 08:22

    功能安全---AUTOSAR架構(gòu)深度解析 精選資料分享

    AUTOSAR架構(gòu)深度解析本文轉(zhuǎn)載于:AUTOSAR架構(gòu)深度解析AUTOSAR的分層式設(shè)計(jì),用于支持完整的軟件和硬件模塊的獨(dú)立性(Independence),中間RTE(Runtime
    發(fā)表于 07-23 08:34

    AUTOSAR應(yīng)用軟件層功能有哪些

    AUTOSAR分層結(jié)構(gòu)是怎樣組成的?AUTOSAR應(yīng)用軟件層功能有哪些?
    發(fā)表于 10-15 09:48

    CP AUTOSAR EcuM的相關(guān)資料下載

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

    AUTOSAR功能安全機(jī)制之內(nèi)存分區(qū)與實(shí)現(xiàn)

    1、AUTOSAR功能安全機(jī)制之內(nèi)存分區(qū)與實(shí)現(xiàn)  在AUTOSAR架構(gòu)中,應(yīng)用軟件位于RTE上方,由互連的AUTOSAR SWC組成,這些組件以原子方式封裝了應(yīng)用軟件
    發(fā)表于 09-19 15:55

    TDA4555各引腳功能及電壓參數(shù)資料

    TDA4555各引腳功能及電壓參數(shù)資料  
    發(fā)表于 03-08 10:07 ?2819次閱讀

    TDA4565各引腳功能及電壓參數(shù)資料

    TDA4565各引腳功能及電壓參數(shù)資料  
    發(fā)表于 03-08 10:08 ?3067次閱讀

    TAB7105各引腳功能及電壓參數(shù)資料

    TAB7105各引腳功能及電壓參數(shù)資料  
    發(fā)表于 03-08 10:08 ?2464次閱讀

    TDA3504各引腳功能及電壓參數(shù)資料

    TDA3504各引腳功能及電壓參數(shù)資料  
    發(fā)表于 03-08 10:09 ?2050次閱讀

    cisco easyvpn 配置詳解

    cisco easyvpn 配置詳解,通過(guò)貼配置可以實(shí)現(xiàn)功能,是的
    發(fā)表于 11-19 16:39 ?4次下載

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

    前言本系列請(qǐng)點(diǎn)擊:《搞一下CP AUTOSAR入門》所有系列請(qǐng)點(diǎn)擊:《汽車電子系列分享》在CP AUTOSAR架構(gòu)中定義了許多和模式管理相關(guān)的組件,其中主要包括EcuM、BswM、ComM等。在CP
    發(fā)表于 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類似,方法都可以觸類旁通。
    的頭像 發(fā)表于 06-01 10:05 ?4409次閱讀
    <b class='flag-5'>AUTOSAR</b> Fee模塊<b class='flag-5'>配置</b><b class='flag-5'>詳解</b>

    詳解工業(yè)網(wǎng)關(guān)在線探測(cè)功能及用途

    詳解工業(yè)網(wǎng)關(guān)在線探測(cè)功能及用途 工業(yè)網(wǎng)關(guān)作為工業(yè)物聯(lián)網(wǎng)(IIoT)架構(gòu)中的關(guān)鍵組件,扮演著橋梁的角色,它連接了現(xiàn)場(chǎng)的各類傳感器、執(zhí)行器以及更高級(jí)別的云平臺(tái)或企業(yè)系統(tǒng)。在線探測(cè)功能是工業(yè)網(wǎng)關(guān)諸多能力中
    的頭像 發(fā)表于 06-20 13:55 ?303次閱讀
    <b class='flag-5'>詳解</b>工業(yè)網(wǎng)關(guān)在線探測(cè)<b class='flag-5'>功能及</b>用途