在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

AUTOSAR通信協議棧的幾個問題(一)

832065824 ? 來源:汽車電子嵌入式 ? 2023-01-31 09:23 ? 次閱讀

前言

最近在研究AUTOSAR通信協議棧的時候產生了以下幾個問題:

(1)Lin數據由linif的調度表觸發發送的話,com怎么控制Lin類型的PDU停止和發送了?

(2)怎么保證NM報文先發送的?

本文先梳理一遍通信協議棧的一些關鍵概念及重要機制,然后回答這些問題。

正文

1.Lin報文的發送機制

Lin報文的發送機制在<<Can/Lin報文的觸發發送(Trigger Transmit) >>一文中已經詳細講解過,這里再簡單回顧下。

da97f4b6-a098-11ed-bfe3-dac502259ad0.png

Lin報文的周期發送是通過調度表實現的,而Lin調度表存在于LinIf模塊,LinIf模塊在周期調用調度表的時候通過callback的方式實現IPDU的trigger transmit,也就是向上獲取到sdu數據,然后調用Lin_SendFrame發送報文。調度表中的報文都是需要周期發送處理的報文,對于偶發sporadic frame的發送,COM --> PDUR -->CanIf_Transmit中設置發送flag,實現偶發幀發送。我們這里主要討論Lin周期報文的發送機制。

daba90fc-a098-11ed-bfe3-dac502259ad0.png

daf4cfba-a098-11ed-bfe3-dac502259ad0.png

LinIf模塊實現Lin調度表中報文的周期發送,且所有報文都是通過調用pdur模塊的PduR_TriggerTransmit的callback函數完成sdu數據的獲取。

db0c7e3a-a098-11ed-bfe3-dac502259ad0.png

db350562-a098-11ed-bfe3-dac502259ad0.png

LinIf模塊調用PduR_LinIfTriggerTransmit函數來獲取PDU數據,如果獲取數據成功,則調用LinIf_SendFrame往LinDriver發送數據,如果獲取數據失敗則不會發送Lin報文。

那也就是說,如果找到PduR_LinIfTriggerTransmit返回失敗的原因也就找到了LinIf停止發送報文的原因。

繼續往下分析PduR_LinIfTriggerTransmit函數,PduR_LinIfTriggerTransmit --> Com_TriggerTransmit

分析Com_TriggerTransmit函數

db4bfc72-a098-11ed-bfe3-dac502259ad0.png

db741b80-a098-11ed-bfe3-dac502259ad0.png

Com_TriggerTransmit函數會首先會檢查PDU所在的PduGroup是否Started了,如果沒有Started,則Com_TriggerTransmit函數返回E_NOT_OK。、

也就是說如果PDU所在的PduGroup沒有Started則Com_TriggerTransmit返回E_NOT_OK,PduR_LinIfTriggerTransmit返回失敗,則LinIf_ManiFunction_<>不會往LinDriver發送數據。

2.NM報文和App報文的發送

db8aa13e-a098-11ed-bfe3-dac502259ad0.png

如果我們使用Can網絡管理的話,那么Can網絡管理報文由CanNm模塊控制發送,而應用報文的發送是由Com模塊和ComM模塊協同管理發送的,那么問題就來了:

NM報文由CanNm模塊控制發送,App報文由Com/ComM模塊控制發送,那么我們怎么保證每次上電/Reset后NM報文首先發送到總線上去了

AUTOSAR標準里面沒有規定NM報文和APP報文誰先發送出去的配置。但是NM模塊提供了一個

Std_ReturnType Nm_GetState(

NetworkHandleType nmNetworkHandle,

Nm_StateType* nmStatePtr,

Nm_ModeType* nmModePtr

)

接口可以獲取當前NM模式和狀態,如果我們在請求ComM到FullCom前先確包NM模式進入到Network狀態的話,那么NM報文一定會在APP報文之前發送出去。

Example:

Nm_StateType NmCurrentState;


Nm_ModeType NmCurrentMode; Nm_GetState(ComMConf_ComMChannel_ComMChannel_Can_Network_0,&NmCurrentState,&NmCurrentMode);


if(( NM_MODE_SYNCHRONIZE == NmCurrentMode )||( NM_MODE_NETWORK == NmCurrentMode ))


{


    ComM_RequestComMode(ComMConf_ComMUser_ComMUser_Can_Network_0,COMM_FULL_COMMUNICATION);


    ComM_RequestComMode(ComMConf_ComMUser_ComMUser_Can_Network_1,COMM_FULL_COMMUNICATION);


}

3.問題回答

問題1:Lin數據由Linif的調度表觸發發送的話,com怎么控制所有Lin報文所在的PDU的停止和發送了?

:LinIf通過LinIf_MainFunction --> PduR_LinIfTriggerTransmit --> Com_TriggerTransmit獲取Lin報文的PDU數據,如果獲取失敗則不會調用LinIf_SendFrame發送報文。而Com_TriggerTransmit函數在獲取PDU數據時首先會檢查PDU所在的PduGroup是否Started,如果沒有Started則Com_TriggerTransmit返回E_NOT_OK,最終LinIf_MainFunction停止往驅動發送報文,也就停發Lin報文。也就是說,我們通過BswM調用Com模塊提供的Com_IpduGroupStart,Com_IpduGroupStop同樣能控制Lin報文的停止和發送

問題2:怎么保證NM報文先發送的?

:需要手寫代碼或者通過BswM模式控制和仲裁實現。具體就是在請求APP報文所在Network進入到FullCom之前確保NM模式已經進入了NetWork狀態。

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

    關注

    10

    文章

    375

    瀏覽量

    22464
  • 函數
    +關注

    關注

    3

    文章

    4374

    瀏覽量

    64389
  • LIN
    LIN
    +關注

    關注

    4

    文章

    223

    瀏覽量

    41000
  • 通信協議棧
    +關注

    關注

    0

    文章

    7

    瀏覽量

    6227
  • 報文
    +關注

    關注

    0

    文章

    39

    瀏覽量

    4166
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    如何實現基礎通信協議的設計?

    常見的通信協議格式是什么?如何實現基礎通信協議的設計?
    發表于 02-14 07:35

    基于ARM的EPA通信協議優化技術的研究與實現

    本文敘述基于ARM的EPA通信協議優化技術的研究與實現的案例分析。
    發表于 10-13 16:48 ?32次下載
    基于ARM的EPA<b class='flag-5'>通信協議</b><b class='flag-5'>棧</b>優化技術的研究與實現

    基于嵌入式的實時通信協議研究與設計

    傳統的TCP/IP協議重點在于保證數據傳輸的可靠性及流量控制,而在實時性要求相對較高的嵌入式領域, 其實時性方面的性能顯得不足。為此,對基于TCP/IP協議的嵌入式通信協議進行了
    發表于 09-23 17:55 ?27次下載

    Modbus通信協議教程

    Modbus通信協議教程Modbus通信協議教程Modbus通信協議教程
    發表于 12-08 14:14 ?75次下載

    個簡單的基礎通信協議的設計與實現

    個簡單的基礎通信協議的設計與實現種常見的通信協議格式搭建串口收發環境配置STM32CubeMX添加USART部分代碼通信協議的實現不同設
    發表于 12-14 18:38 ?10次下載
    <b class='flag-5'>一</b>個簡單的基礎<b class='flag-5'>通信協議</b>的設計與實現

    嵌入式開發常見通信協議

    本文介紹了幾個可用的物聯網通信協議,它們具有不同的性能、數據速率、覆蓋范圍、功率和內存,而且每協議都有各自的優點和或多或少的缺點。其中
    的頭像 發表于 02-28 17:03 ?1835次閱讀
    嵌入式開發常見<b class='flag-5'>通信協議</b>

    AUTOSAR通信協議配置詳解

    通訊協議幾乎是CP AUTOSAR中最龐雜的塊。由于其涉及的模塊比較多(僅實現CAN信號的收發就需要ECUC/CAN/CANIF/CANTP/PDUR/COM/XCP這么多模塊的協
    的頭像 發表于 09-21 10:02 ?7772次閱讀
    <b class='flag-5'>AUTOSAR</b>中<b class='flag-5'>通信協議</b><b class='flag-5'>棧</b>配置詳解

    AUTOSAR實戰教程-通信協議介紹

    不同的DBC屬性決定不同功能的報文, 般實際項目中涉及的報文為4類:應用報文,診斷報文,網絡管理報文,XCP報文。不同作用的報文其在協議中的信號流路徑是不同的。
    的頭像 發表于 10-07 14:15 ?4115次閱讀
    <b class='flag-5'>AUTOSAR</b>實戰教程-<b class='flag-5'>通信協議</b><b class='flag-5'>棧</b>介紹

    CAN協議與LIN協議介紹

    CAN協議 汽車CAN協議種軟件組件,用于實現汽車電子系統中的CAN總線通信功能。它包含
    的頭像 發表于 10-27 16:16 ?3742次閱讀
    CAN<b class='flag-5'>協議</b><b class='flag-5'>棧</b>與LIN<b class='flag-5'>協議</b><b class='flag-5'>棧</b>介紹

    PROFINET協議通信技術介紹

    PROFINET協議是PROFINET通信協議的實現基礎,它由多個層次組成,每個層次都有特定的功能和作用。
    的頭像 發表于 02-03 16:22 ?2935次閱讀

    AUTOSAR平臺研究報告:國產基礎軟件+芯片全方案加快量產

    2023年12月7日,AUTOSAR組織發布了最新版本AUTOSAR R23-11標準,從功能角度方面,更新主要集中在信息安全、功能安全以及通信協議等三個方面。
    的頭像 發表于 02-21 15:30 ?4219次閱讀
    <b class='flag-5'>AUTOSAR</b>平臺研究報告:國產基礎軟件+芯片全<b class='flag-5'>棧</b>方案加快量產

    PROFINET通信協議是什么

    PROFINET通信協議種專為工業自動化領域設計的基于以太網的實時通信協議。以下是對PROFINET通信協議的詳細解析,包括其定義、特點、體系結構、工作原理、
    的頭像 發表于 09-25 18:13 ?4777次閱讀

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

    通信協議個復雜的系統,它涵蓋了多種通信方式和模塊,以實現車內ECU之間的高效、可靠的數據交換。以下是對AUTOSAR
    的頭像 發表于 12-17 14:54 ?2588次閱讀

    AUTOSAR通信實現中的常見問題

    AUTOSAR(Automotive Open System Architecture)汽車開放系統架構旨在實現汽車電子的軟硬件分離,降低ECU軟件開發的復雜度,提高軟件可重用性。 通信協議
    的頭像 發表于 12-17 15:03 ?1034次閱讀

    AUTOSAR通信對自動駕駛的影響 AUTOSAR通信與嵌入式系統設計

    AUTOSAR通信與嵌入式系統設計緊密相連,共同推動著自動駕駛技術的發展。 AUTOSAR通信對自動駕駛的影響 提高通信效率和可靠性
    的頭像 發表于 12-17 15:09 ?682次閱讀
    主站蜘蛛池模板: 亚洲色图第一页 | 多男一女一级淫片免费播放口 | 欧美 亚洲 国产 丝袜 在线 | 在线你懂的网址 | 波多野结衣的毛片 | 国产精品五月天 | 最色网在线观看 | 一本到午夜92版免费福利 | 久久福利青草精品资源站免费 | 久99频这里只精品23热 视频 | 色噜噜狠狠狠狠色综合久一 | 成人看的午夜免费毛片 | 亚洲1卡二卡3卡四卡不卡 | 插插插叉叉叉 | 高级毛片 | 2017av在线 | 国产色av | 中文字幕第一区 | 日本加勒比在线播放 | 天天射天天干天天操 | 中文字幕va | 轻点灬大ji巴太粗太大了小说 | 男男小说高h | 日本视频一区二区 | 亚洲日本欧美日韩高观看 | 福利视频自拍 | 久草资源免费 | 免费a级午夜绝情美女视频 免费jlzzjlzz在线播放视频 | 啪啪免费视频 | 亚洲人色大成年网站在线观看 | 久久午夜网 | 9966国产精品视频 | 天天操夜操 | 欧美日韩国产成人精品 | 久久精品国产福利国产琪琪 | 日本xxxxxxxx69 | 美女和美女 | 成年ssswww中国女人 | 伊人久操 | 一级毛片aaaaaa视频免费看 | 国产一区二区三区四卡 |