衡阳派盒市场营销有限公司

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

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

3天內不再提示

AUTOSAR通信服務-Com模塊報文的發送機制

832065824 ? 來源:汽車電子嵌入式 ? 2023-01-04 14:27 ? 次閱讀

前言

最近在研究AUTOSAR通信協議棧的時候發現對Com模塊的報文發送時機很是疑惑,產生了以下幾個問題:

(1)Com模塊如何實現事件幀發送?

(2)Com模塊如何實現報文周期的快慢切換發送?

本文先梳理一遍Com模塊的一些關鍵概念及重要機制,然后回答這些問題。

正文

1.幾個關鍵概念

1.1ComTransferProperty

ComTransferProperty:信號(Signal)最重要的一個配置屬性,定義一個信號的寫訪問是否可以觸發相應的I-PDU的傳輸。如果I-PDU被觸發,這也取決于相應的I-PDU的傳輸模式。有以下可選屬性:

PENDING:對該信號的寫訪問永遠不會觸發相應的I-PDU的傳輸。

TRIGGERED:根據傳輸模式,對該信號的寫訪問可以觸發相應的I-PDU的傳輸。

TRIGGERED_ON_CHANGE:根據傳輸模式的不同,對該信號的寫訪問可以觸發相應的I-PDU的傳輸,但只有在寫入值與本地存儲的(最后發送或初始值)不同的情況下。

TRIGGERED_ON_CHANGE_WITHOUT_REPETITION:根據傳輸模式的不同,對該信號的寫訪問可以觸發相應的I-PDU的傳輸一次而不重復,但只有在寫入值與本地存儲的(最后發送或初始值)不同的情況下。

TRIGGERED_WITHOUT_REPETITION:根據傳輸模式,對該信號的寫訪問可以觸發相應的I-PDU的傳輸一次,而無需重復。

1.2ComFilter

ComFilter是信號Signal的一個配置容器,發送端和接收端信號都可以配置ComFilter。

對于接收信號(Signal)配置了ComFilter的話,如果過濾條件判斷為True,就將信號更新到RTE,如果過濾條件判斷為False,則就會丟棄這個信號值。

對于發送信號(Signal)配置了ComFilter的話,COM模塊應使用發送端的過濾機制進行傳輸模式條件(TMC),但不得過濾發送端的信號。也就是通過一個發送IPDU上所有配置了ComFilter的Signal來進行ComTxMode的選擇,如果有一個配置了ComFilter的Signal的過濾機制判斷為True就選擇ComTxModeTrue的發送TMS配置參數,如果所有配置了ComFilter的Signal的過濾機制判斷為False的話,則選擇ComTxModeFalse的發送TMS配置參數(后面詳解TMS機制)。

AUTOSAR COM提供了以下Signal濾波機制:

· ALWAYS

· NEVER

· MASKED_NEW_EQUALS_X

· MASKED_NEW_DIFFERS_X

· MASKED_NEW_DIFFERS_MASKED_OLD

· NEW_IS_WITHIN

· NEW_IS_OUTSIDE

· ONE_EVERY_N

AUTOSAR文檔沒有詳解每一個濾波機制,從字面意思猜測:

ALWAYS:過濾條件永遠判斷為TRUE

NEVER:過濾條件永遠判斷為FALSE

MASKED_NEW_EQUALS_X:Signal值為X時過濾條件判斷為TRUE

MASKED_NEW_DIFFERS_X:Signal值不為X時過濾條件判斷為TRUE

MASKED_NEW_DIFFERS_MASKED_OLD:Signal值和COM模塊保存的上一次(老的)值不同時過濾條件判斷為TRUE

NEW_IS_WITHIN:Signal值在范圍內時過濾條件判斷為TRUE

NEW_IS_OUTSIDE:Signal值在范圍外時過濾條件判斷為TRUE

ONE_EVERY_N:周期性的過濾條件判斷為TRUE。

. set OCCURRENCE to zero when OCCURRENCE == PERIOD

. set FILTER to true, when OCCURRENCE == OFFSET

. increment OCCURRENCE after filter processing

1.3ComTxMode

ComTxModeMode定了IPDU的傳輸模式。

NONE:不會發送

DIRECT:事件觸發發送

MIXED:周期觸發或者事件觸發發送

PERIODIC:周期發送

ComTxModeNumberOfRepetitions:定義傳輸模式DIRECT和傳輸模式MIXED的事件驅動部分的重復次數。

ComTxModeRepetitionPeriod:當ComTxModeNumberOfRepetitions配置大于等于1且ComTxModeMode配置為DIRECT或MIXED時,定義多次傳輸的重復周期(以秒為單位)。在混合傳輸模式下,只有事件驅動部分受到影響

ComTxModeTimeOffset:定義ComTxModeMode配置為PERIODIC或MIXED時,從Com_IpduGroupStart開始I-PDU到第一個傳輸請求之間的時間間隔(以秒為單位)。在混合傳輸模式下,只有周期部分受到影響。如果ComTxModeTimeOffset被省略或配置為0,第一次周期性傳輸將在下一次調用Com_MainFunctionTx時傳輸。

ComTxModeTimePeriod:在ComTxModeMode配置為periodic或MIXED的情況下,定義周期傳輸請求的重復周期(以秒為單位)。在混合傳輸模式下,只有周期部分受到影響。

2.傳輸模式選擇(TMC & TMCS)

TMC: Transmission Mode Condition。傳輸模式條件

TMS: Transmission Mode Selector。傳輸模式選擇器

每一個IPDU的配置容易ComIPdu下可以配置兩個不同發送模式的配置容器ComTxModeFalse和ComTxModeTrue,ComTxModeFalse和ComTxModeTrue下可以配置不同的IPDU發送時間參數。所謂的傳輸模式的選擇,也就是根據模式選擇結果選擇使用ComTxModeFalse和ComTxModeTrue下的哪一個時間參數。

c42da654-8bf2-11ed-bfe3-dac502259ad0.png

一個發送(SEND)IPDU中包含有多個Signal,Signal如果配置了ComFilter,那么配置了ComFilter的Signal就會參與到IPDU的發送模式的選擇當中,作為仲裁的輸入條件。

發送模式的選擇規則:假如有1...N個Signal配置了ComFilter,在仲裁的時候這N個Signal里面只要有一個Signal的濾波結果為TRUE,則Signal所在的IPDU的發送模式選擇為TRUE,就會選用ComTxModeTrue里面的時間參數,如果N個Signal的的濾波結果為False,則Signal所在的IPDU的發送模式選擇為False,就會選用ComTxModeFalase里面的時間參數。默認選擇ComTxModeTrue里面的時間參數,如果一個發送IPDU里面所有的Signal都沒有配置ComFilter則使用默認的發送時間參數。

c4427bf6-8bf2-11ed-bfe3-dac502259ad0.png

問題:什么情況下會發生發送模塊的仲裁選擇?

答:在上層(RTE)調用Com_SendSignal的時候。

3.不同傳輸模式的用例和必要的配置

c45be316-8bf2-11ed-bfe3-dac502259ad0.png

3.1Use case 1

用例1顯示了一個周期時間為tc的循環發送的I-PDU。這個I-PDU由所有具有ComTransferProperty PENDING的信號組成。它被配置為當TMS計算為true時發生傳輸。

c49385d2-8bf2-11ed-bfe3-dac502259ad0.png

c4a22ace-8bf2-11ed-bfe3-dac502259ad0.png

c4b0889e-8bf2-11ed-bfe3-dac502259ad0.png

由于配置了ComFilter的參數ComFilterAlgorithm ALWAYS,當TMS計算為false時,不需要配置傳輸模式。

對于I-PDU內的所有信號,ComFilter的ComFilterAlgorithm參數是否設置為ALWAYS或是否未定義ComFilter(對TMS的評估沒有貢獻),對行為沒有任何影響。

3.2Use case 2

用例2顯示了一個I-PDU,每當上層(Com_SendSignal或Com_SendSignalGroup)給出一個值時,這個I-PDU就會被發送三次。兩次傳輸之間的時間是td。這個I-PDU由信號組成,這些信號都具有ComTransfer屬性觸發。它被配置為當TMS計算為true時發生傳輸。

c4cfd06e-8bf2-11ed-bfe3-dac502259ad0.png

c4e0cd56-8bf2-11ed-bfe3-dac502259ad0.png

如果RTE在正在進行的重復周期完成之前有一個新的發送請求,則開始新的重復周期,并丟棄上一個重復周期的其余部分。

3.3Use case 3

用例3顯示了一個I-PDU,如果值v = a (TMS計算為真),則循環時間tc1發送,如果值v = b (TMS計算為假),則循環時間tc2發送。I-PDU由信號組成,這些信號都具有ComTransferProperty PENDING。

c4edc8c6-8bf2-11ed-bfe3-dac502259ad0.png

c5050d06-8bf2-11ed-bfe3-dac502259ad0.png

由新值v = b引起的TMS切換,在下一個主函數中開始一個新的循環,并將新值發送出去。然而,必須考慮最小延遲時間dt,因為ComEnableMDTForCyclicTransmission被設置為true.

3.4User case 4

用例4顯示了一個I-PDU,如果值v = a (TMS計算為true),如果值v = b (TMS計算為false),則該I-PDU以循環時間tc循環發送,當RTE給出該值時,該I-PDU將發送三次。兩次傳輸之間的時間為td。I-PDU由所有具有ComTransferProperty triggers的信號組成。

c51426ce-8bf2-11ed-bfe3-dac502259ad0.png

c528c9c6-8bf2-11ed-bfe3-dac502259ad0.png

從ComTxModeMode DIRECT切換到PERIODIC之后,在下一個主函數中開始循環,并根據ComMin imumDelayTime dt發送新值a。

3.5Use case 5

用例5顯示了一個I-PDU,它以周期時間tc循環發送,如果RTE給出的值(相同或新的值)也會直接發送三次。這三次傳輸之間的時間總是td。I-PDU由所有具有ComTransferProperty triggers的信號組成。

c54970c2-8bf2-11ed-bfe3-dac502259ad0.png

c5608064-8bf2-11ed-bfe3-dac502259ad0.png

c57dd560-8bf2-11ed-bfe3-dac502259ad0.png

如果由ComTxModeMode MIXED的周期部分引起的下一次傳輸應該發生在DIRECT (N-Times)部分傳輸后的超時dt (ComMinimumDelayTime)內,則該發送將被延遲,直到最小延遲時間過去。然而,在此之后,周期部分的下一個周期被縮短,因此只有周期部分的中間相移,而沒有連續相移。

3.6Use case 6

用例6顯示了一個I-PDU,如果值v = b (TMS計算為false),則該I-PDU以周期時間tc2循環發送。如果值v = a (TMS計算為真),它將以周期時間tc1循環發送,當值v = a由RTE給出時,它也將直接發送三次。這三次傳輸之間的時間總是td。I-PDU由所有具有ComTransferProperty triggers的信號組成。

c58fa100-8bf2-11ed-bfe3-dac502259ad0.png

c5a779e2-8bf2-11ed-bfe3-dac502259ad0.png

這在實踐中的一個用法是,例如,控制窗戶升降電機的按鈕的信號。如果沒有按下按鈕,則會有一個很長的循環時間tc1。如果按下,此信息以短周期時間tc2分布。如果按鈕再次釋放,則從下一個主要功能開始,此信息將使用td分發三次,之后再次使用較長的循環時間。

3.7Use case 7

用例7類似于用例5,但是禁用了ComEnableMDTForCyclicTransmission,并將ComTxModeNumberOfRepetitions設置為1。

c5cc240e-8bf2-11ed-bfe3-dac502259ad0.png

c5dd10de-8bf2-11ed-bfe3-dac502259ad0.png

c5f82202-8bf2-11ed-bfe3-dac502259ad0.png

與用例5相反,這里的最小延遲計時器既沒有為循環部分的周期性傳輸啟動,也沒有為混合模式的直接部分的重復傳輸啟動。這可能導致在時間跨度dt內連續兩次傳輸,如場景b和c所示。

4.問題回答

問題1:Com模塊如何實現事件幀發送?

答:我們需要把需要事件幀發送的IPDU的ComTxModeMode配置為DIRECT,同事IPDU中的Signal的ComTransferProperty配置為TRIGGERED(或者TRIGGERED_xxx)。這樣當我們在SWC通過RTE寫這個信號的(調用Com_SendSignal)的時候就會觸發事件幀的發送。

問題2:Com模塊如何實現報文周期的快慢切換發送?

答:我們需要把需要切換報文周期時間的IPDU的ComTxModeTrue和ComTxModeFalse兩個配置容器里面的時間參數配置為快慢周期兩種不同配置,然后把IPDU中用來觸發發送模式切換的Signal的ComFilter配置為符合我們需求(例如配置為Value == X濾波值為True,否則為False),這樣在SWC中通過寫Signal(調用Com_SendSignal)的不同值就能觸發IPDU以不同的周期發送。

審核編輯 :李倩

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

    關注

    7

    文章

    2733

    瀏覽量

    47747
  • 通信協議
    +關注

    關注

    28

    文章

    915

    瀏覽量

    40439
  • AUTOSAR
    +關注

    關注

    10

    文章

    363

    瀏覽量

    21779

原文標題:AUTOSAR 通信服務-Com模塊報文的發送機制

文章出處:【微信號:汽車電子嵌入式,微信公眾號:汽車電子嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AUTOSAR通信實現中的常見問題

    配置與使用問題 通信協議棧模塊理解不足 問題 :開發者可能對AUTOSAR通信協議棧的組成模塊(如Com
    的頭像 發表于 12-17 15:03 ?483次閱讀

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

    )的開發和生產。通信堆棧是AUTOSAR架構中的關鍵組成部分,負責處理ECU之間的通信。 AUTOSAR通信堆棧的配置
    的頭像 發表于 12-17 15:01 ?373次閱讀

    AUTOSAR通信框架的優勢 AUTOSAR通信實例與應用場景

    ,以簡化汽車電子控制單元(ECU)的開發和生產。AUTOSAR通信框架是該架構的核心組成部分之一,它提供了一套標準化的通信機制,使得不同ECU之間的
    的頭像 發表于 12-17 14:58 ?431次閱讀

    AUTOSAR通信與CAN協議的關系

    的概念,允許應用層組件(如軟件組件和ECU抽象層)通過定義良好的接口進行通信。 1. 通信服務AUTOSAR提供了一系列通信服務,包括復雜驅動
    的頭像 發表于 12-17 14:57 ?369次閱讀

    AUTOSAR通信組件介紹 AUTOSAR通信層功能分析

    AUTOSAR通信組件介紹 AUTOSAR(AUTomotive Open System ARchitecture)是一個全球性的汽車軟件架構合作伙伴計劃,旨在創建和建立一個開放的標準化軟件架構,以
    的頭像 發表于 12-17 14:55 ?545次閱讀

    AUTOSAR通信協議解析 如何實現AUTOSAR通信

    通信服務組成部分 AUTOSAR通信協議棧主要由以下幾個模塊組成: Com模塊 :為應用程序提
    的頭像 發表于 12-17 14:54 ?1005次閱讀

    單北斗短報文以及北斗設備的出現會影響到什么?

    北斗短報文通信服務是北斗衛星導航系統獨有的一項功能,它允許用戶在沒有移動通信網絡覆蓋的地區,通過北斗衛星發送和接收短消息。這項服務對于應急
    的頭像 發表于 09-21 11:53 ?554次閱讀
    單北斗短<b class='flag-5'>報文</b>以及北斗設備的出現會影響到什么?

    北斗短報文終端支持民用嗎?

    北斗短報文終端支持民用,北斗短報文終端作為北斗衛星導航系統的重要組成部分,不僅具有高精度定位功能,還實現了短報文通信服務,這一獨特優勢使其在民用領域具有廣泛的應用前景。北斗短
    的頭像 發表于 08-09 13:41 ?356次閱讀
    北斗短<b class='flag-5'>報文</b>終端支持民用嗎?

    什么是北斗短報文功能?如何實現北斗短報文通信?

    北斗短報文功能是指通過北斗衛星進行短報文通信的功能。這種功能允許用戶在沒有移動通信信號覆蓋的偏遠山區、海洋、沙漠等地帶,通過北斗短報文終端
    的頭像 發表于 05-25 10:16 ?4806次閱讀
    什么是北斗短<b class='flag-5'>報文</b>功能?如何實現北斗短<b class='flag-5'>報文</b><b class='flag-5'>通信</b>?

    北斗三短報文通信一次能發多少文字?又有什么優勢呢?

    北斗短報文通信一次能發送的文字數量取決于通信服務的類型。對于區域短報文通信服務(RSMC),北斗
    的頭像 發表于 05-18 12:02 ?1606次閱讀
    北斗三短<b class='flag-5'>報文</b><b class='flag-5'>通信</b>一次能發多少文字?又有什么優勢呢?

    CAN報文為什么會發送失敗?

    CAN總線調試過程中出現報文發送失敗。很多工程師都對此只知其一不知其二,今天我們就以CAN報文發送失敗的問題來做一次探討。在了解CAN報文
    的頭像 發表于 04-12 08:25 ?2302次閱讀
    CAN<b class='flag-5'>報文</b>為什么會<b class='flag-5'>發送</b>失敗?

    北斗三號短報文通信原理跟作用

    北斗三號短報文通信原理主要基于其獨特的衛星導航系統和短報文通信服務體制。 北斗三號衛星導航系統由5顆靜止軌道衛星和30顆非靜止軌道衛星組成,采用混合星座模式,包括MEO衛星(地球中圓軌
    的頭像 發表于 03-23 10:28 ?1142次閱讀

    北斗三短報文終端是什么?看完你就懂了

    北斗三短報文終端是基于中國北斗衛星導航系統(BDS)的一種通信終端設備。它利用北斗衛星的特殊功能,實現了短報文通信服務,即使用戶所處的環境沒有傳統的
    的頭像 發表于 03-19 11:05 ?1229次閱讀

    北斗短報文是什么?看完你就懂了

    北斗短報文通信服務是北斗衛星導航系統提供的一種獨特的通信功能,它利用衛星信號實現用戶與用戶、用戶與中心控制系統之間的雙向簡短文字通信。在沒有地面通信
    的頭像 發表于 03-14 12:03 ?1467次閱讀

    CP AUTOSAR信息安全機制全面解析

    這個模塊一定是我們工程師最先接觸到的AUTOSAR信息安全機制,主要用于ECU板級的安全通信。 大家應該有印象,在以往沒有該機制,CAN
    的頭像 發表于 02-22 11:44 ?3487次閱讀
    CP <b class='flag-5'>AUTOSAR</b>信息安全<b class='flag-5'>機制</b>全面解析
    澳门百家乐官网必胜看路| 百家乐赌博牌路分析| 澳门百家乐官网游戏说明| 博彩网站| 德州扑克概率| 大发888娱乐城电话| 真人百家乐赌场娱乐网规则| 大发888游戏出纳| 无锡百家乐的玩法技巧和规则| 三公百家乐官网在线哪里可以| 百家乐官网斗地主炸金花| 永利百家乐官网现金网| 肯博88网| 至尊国际| 足球开户| 金濠国际| 明升备用网站| bet365注册| 丽都棋牌下载| 六合彩即时开奖| 大佬娱乐城怎么样| 澳门顶级赌场手机在线链接| 大发888 bet娱乐场下载| 棋牌银商| 赌场回忆录| 百家乐官网公式与赌法| 百家乐官网如何捕捉长龙| 百家乐官网游戏解码器| 聚龍社百家乐官网的玩法技巧和规则 | 辽中县| 永利高百家乐官网怎样开户| 博彩百家乐官网规则| 真人百家乐官网试玩账号| 玩百家乐官网的高手| 风水24山详解| 百家乐赌场讨论群| 百家乐平注法到65688| 36棋牌的深海捕鱼| 网上真钱娱乐| 澳门百家乐官网网上| 伯爵百家乐官网赌场娱乐网规则 |