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

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

    文章

    2674

    瀏覽量

    47350
  • 通信協議
    +關注

    關注

    28

    文章

    861

    瀏覽量

    40274
  • AUTOSAR
    +關注

    關注

    10

    文章

    350

    瀏覽量

    21481

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

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

    北斗短報文終端如何進行雙向通信

    北斗短報文終端的雙向通信功能是基于中國北斗衛星導航系統(BDS)的衛星通信能力實現的。以下是北斗短報文終端進行雙向通信的具體過程和特點:北斗
    的頭像 發表于 07-12 11:19 ?549次閱讀
    北斗短<b class='flag-5'>報文</b>終端如何進行雙向<b class='flag-5'>通信</b>?

    北斗三號短報文終端戶外應急通信解決方案

    北斗三號短報文終端戶外應急通信解決方案主要基于我國自主研發的北斗三號全球衛星導航系統(BDS-3),為戶外應急場景提供高效、穩定的通信服務。以下是對該解決方案的詳細闡述:北斗三號短報文
    的頭像 發表于 06-13 13:56 ?379次閱讀
    北斗三號短<b class='flag-5'>報文</b>終端戶外應急<b class='flag-5'>通信</b>解決方案

    北斗短報文終端除了衛星通信,還能助力哪些行業應用?

    北斗短報文除了衛星通信外,還能在多個行業應用中發揮重要作用。以下是北斗短報文在不同行業應用的詳細歸納:交通領域:車聯網應用:我國基于北斗系統建成了世界上最大的車聯網平臺,通過北斗短報文
    的頭像 發表于 05-31 11:59 ?470次閱讀
    北斗短<b class='flag-5'>報文</b>終端除了衛星<b class='flag-5'>通信</b>,還能助力哪些行業應用?

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

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

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

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

    做STM32f103 USB雙緩存的時候,發送4K數據里面前64字節是0,為什么?

    做STM32f103 USB 雙緩存的時候, 采取ENP3的TXaddr1和TXaddr0的雙緩存ping-pong發送機制,每次上位機接收完4K數據, 4K數據前64個字節全部是0,后面才是上位
    發表于 04-28 07:07

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

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

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

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

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

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

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

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

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

    這個模塊一定是我們工程師最先接觸到的AUTOSAR信息安全機制,主要用于ECU板級的安全通信。 大家應該有印象,在以往沒有該機制,CAN
    的頭像 發表于 02-22 11:44 ?2841次閱讀
    CP <b class='flag-5'>AUTOSAR</b>信息安全<b class='flag-5'>機制</b>全面解析

    TSMaster 序列發送模塊在汽車開發測試中的應用

    眾所周知,序列發送模塊可以不需要腳本代碼實現測試中特定控制報文序列的發送,該模塊多用于循環順序控制的測試案例中。序列
    的頭像 發表于 02-19 14:00 ?637次閱讀
    TSMaster 序列<b class='flag-5'>發送</b><b class='flag-5'>模塊</b>在汽車開發測試中的應用

    TC387模塊CAN0的節點2作為CANA使用,CANA既收不到報文也發不出報文如何解決?

    TC387模塊CAN0的節點2作為CANA使用,CAN1的節點0作為CANB使用,配置基本相同。但CANB的通信正常,而在TJA1145正常情形下,CANA既收不到報文,也發不出報文
    發表于 02-19 06:43