chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

AUTOSAR通信協(xié)議棧的一些關(guān)鍵概念及重要機制梳理

832065824 ? 來源:汽車電子嵌入式 ? 2023-01-31 09:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

最近在研究AUTOSAR通信協(xié)議棧的時候產(chǎn)生了以下幾個問題:

(1)Lin數(shù)據(jù)由linif的調(diào)度表觸發(fā)發(fā)送的話,com怎么控制Lin類型的PDU停止和發(fā)送了?

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

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

正文

1.Lin報文的發(fā)送機制

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

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

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

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

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

LinIf模塊實現(xiàn)Lin調(diào)度表中報文的周期發(fā)送,且所有報文都是通過調(diào)用pdur模塊的PduR_TriggerTransmit的callback函數(shù)完成sdu數(shù)據(jù)的獲取。

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

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

LinIf模塊調(diào)用PduR_LinIfTriggerTransmit函數(shù)來獲取PDU數(shù)據(jù),如果獲取數(shù)據(jù)成功,則調(diào)用LinIf_SendFrame往LinDriver發(fā)送數(shù)據(jù),如果獲取數(shù)據(jù)失敗則不會發(fā)送Lin報文。

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

繼續(xù)往下分析PduR_LinIfTriggerTransmit函數(shù),PduR_LinIfTriggerTransmit --> Com_TriggerTransmit

分析Com_TriggerTransmit函數(shù)

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

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

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

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

2.NM報文和App報文的發(fā)送

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

如果我們使用Can網(wǎng)絡(luò)管理的話,那么Can網(wǎng)絡(luò)管理報文由CanNm模塊控制發(fā)送,而應(yīng)用報文的發(fā)送是由Com模塊和ComM模塊協(xié)同管理發(fā)送的,那么問題就來了:

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

AUTOSAR標(biāo)準(zhǔn)里面沒有規(guī)定NM報文和APP報文誰先發(fā)送出去的配置。但是NM模塊提供了一個

Std_ReturnType Nm_GetState(

NetworkHandleType nmNetworkHandle,

Nm_StateType* nmStatePtr,

Nm_ModeType* nmModePtr

)

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

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數(shù)據(jù)由Linif的調(diào)度表觸發(fā)發(fā)送的話,com怎么控制所有Lin報文所在的PDU的停止和發(fā)送了?

:LinIf通過LinIf_MainFunction --> PduR_LinIfTriggerTransmit --> Com_TriggerTransmit獲取Lin報文的PDU數(shù)據(jù),如果獲取失敗則不會調(diào)用LinIf_SendFrame發(fā)送報文。而Com_TriggerTransmit函數(shù)在獲取PDU數(shù)據(jù)時首先會檢查PDU所在的PduGroup是否Started,如果沒有Started則Com_TriggerTransmit返回E_NOT_OK,最終LinIf_MainFunction停止往驅(qū)動發(fā)送報文,也就停發(fā)Lin報文。

也就是說,我們通過BswM調(diào)用Com模塊提供的Com_IpduGroupStart,Com_IpduGroupStop同樣能控制Lin報文的停止和發(fā)送。

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

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






審核編輯:劉清

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

    關(guān)注

    145

    文章

    2008

    瀏覽量

    134181
  • AUTOSAR
    +關(guān)注

    關(guān)注

    10

    文章

    388

    瀏覽量

    23301
  • PDU
    PDU
    +關(guān)注

    關(guān)注

    0

    文章

    98

    瀏覽量

    17504
  • LIN
    LIN
    +關(guān)注

    關(guān)注

    4

    文章

    231

    瀏覽量

    41628
  • 通信協(xié)議棧
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    6264

原文標(biāo)題:AUTOSAR 通信協(xié)議棧的幾個問題(一)

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    分布式能源并網(wǎng)的通信協(xié)議有哪些?

    ”“工業(yè)通用協(xié)議”“國內(nèi)自主標(biāo)準(zhǔn)” 三大類別,梳理主流通信協(xié)議及其應(yīng)用場景: 、國際標(biāo)準(zhǔn)協(xié)議(主流且通用性強) 這類
    的頭像 發(fā)表于 09-18 16:40 ?531次閱讀
    分布式能源并網(wǎng)的<b class='flag-5'>通信協(xié)議</b>有哪些?

    如何實現(xiàn)安全的AUTOSAR通信

    隨著軟件定義汽車(SDV)理念的普及,車輛內(nèi)部各電子控制單元(ECU)之間的通信已經(jīng)突破傳統(tǒng)的控制邊界,成為支撐自動駕駛、高度互聯(lián)和OTA更新的關(guān)鍵基礎(chǔ)設(shè)施。在這樣的背景下,通信安全的重要
    的頭像 發(fā)表于 09-08 16:43 ?747次閱讀

    詳解REST API通信協(xié)議

    環(huán)。 為了實現(xiàn)這目標(biāo),我們采用了多種通信協(xié)議,包括MQTT、OPC UA、AMQP和REST API,它們共同構(gòu)成了智能通信的堅實基礎(chǔ)。本期內(nèi)容,讓我們聚焦REST API
    的頭像 發(fā)表于 01-17 12:40 ?1454次閱讀
    詳解REST API<b class='flag-5'>通信協(xié)議</b>

    總線通信協(xié)議解析及應(yīng)用

    在現(xiàn)代計算機系統(tǒng)中,總線通信協(xié)議扮演著至關(guān)重要的角色。它們定義了數(shù)據(jù)如何在處理器、內(nèi)存、輸入/輸出設(shè)備等組件之間傳輸。 總線通信協(xié)議的基本概念 總線
    的頭像 發(fā)表于 12-31 10:07 ?1634次閱讀

    RS232接口通信協(xié)議詳解 如何測試RS232接口的性能

    RS232接口通信協(xié)議詳解 RS232接口通信協(xié)議種廣泛應(yīng)用的串行通信協(xié)議,它規(guī)定了數(shù)據(jù)在設(shè)備之間的傳輸方式和格式。以下是RS232接口通信協(xié)議
    的頭像 發(fā)表于 12-18 18:03 ?4791次閱讀

    AUTOSAR通信對自動駕駛的影響 AUTOSAR通信與嵌入式系統(tǒng)設(shè)計

    ,AUTOSAR通信與嵌入式系統(tǒng)設(shè)計緊密相連,共同推動著自動駕駛技術(shù)的發(fā)展。 AUTOSAR通信對自動駕駛的影響 提高通信效率和可靠性
    的頭像 發(fā)表于 12-17 15:09 ?986次閱讀

    AUTOSAR通信實現(xiàn)中的常見問題

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

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

    )的開發(fā)和生產(chǎn)。通信堆棧是AUTOSAR架構(gòu)中的關(guān)鍵組成部分,負(fù)責(zé)處理ECU之間的通信。 AUTOSAR
    的頭像 發(fā)表于 12-17 15:01 ?1334次閱讀

    AUTOSAR通信框架的優(yōu)勢 AUTOSAR通信實例與應(yīng)用場景

    一些主要優(yōu)勢: 標(biāo)準(zhǔn)化 :AUTOSAR通信框架提供了套標(biāo)準(zhǔn)化的接口和協(xié)議,這有助于不同供應(yīng)商之間的軟件組件
    的頭像 發(fā)表于 12-17 14:58 ?1528次閱讀

    AUTOSAR通信與CAN協(xié)議的關(guān)系

    AUTOSAR通信模型: AUTOSAR定義了個分層的軟件架構(gòu),其中包括應(yīng)用層、基礎(chǔ)軟件層和微控制器抽象層。在這些層中,通信模型是實現(xiàn)EC
    的頭像 發(fā)表于 12-17 14:57 ?1290次閱讀

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

    實現(xiàn)汽車電子控制單元(ECU)的軟件設(shè)計和開發(fā)。這個架構(gòu)包括多個層,其中通信層是AUTOSAR架構(gòu)中的關(guān)鍵組成部分之。 1. 通信組件概述
    的頭像 發(fā)表于 12-17 14:55 ?1937次閱讀

    AUTOSAR通信協(xié)議解析 如何實現(xiàn)AUTOSAR通信

    通信協(xié)議個復(fù)雜的系統(tǒng),它涵蓋了多種通信方式和模塊,以實現(xiàn)車內(nèi)ECU之間的高效、可靠的數(shù)據(jù)交換。以下是對AUTOSAR
    的頭像 發(fā)表于 12-17 14:54 ?3702次閱讀

    串口通信協(xié)議解析 串口通信應(yīng)用實例

    串口通信協(xié)議解析 串口通信協(xié)議是指規(guī)定了數(shù)據(jù)包的內(nèi)容,內(nèi)容包含了起始位、主體數(shù)據(jù)、校驗位及停止位,雙方需要約定致的數(shù)據(jù)包格式才能正常收發(fā)數(shù)據(jù)的有關(guān)規(guī)范。以下是串口通信協(xié)議的介紹: 基
    的頭像 發(fā)表于 11-21 17:03 ?2702次閱讀

    PLC控制系統(tǒng)的通信協(xié)議解析

    在現(xiàn)代工業(yè)自動化中,PLC控制系統(tǒng)扮演著至關(guān)重要的角色。它們不僅需要處理復(fù)雜的邏輯控制任務(wù),還需要與其他系統(tǒng)和設(shè)備進行通信。為了實現(xiàn)這目標(biāo),PLC系統(tǒng)必須遵循系列的
    的頭像 發(fā)表于 11-08 09:46 ?3092次閱讀

    諧波的概念及應(yīng)用

    本文簡單介紹了諧波的概念及應(yīng)用。
    的頭像 發(fā)表于 10-18 14:14 ?1708次閱讀
    諧波的<b class='flag-5'>概念及</b>應(yīng)用