日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

CAN、LIN報(bào)文的發(fā)送過程詳解

832065824 ? 來源:汽車電子嵌入式 ? 作者:汽車電子嵌入式 ? 2022-11-14 10:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

最近在研究AUTOSAR通信協(xié)議棧的時(shí)候發(fā)現(xiàn)對(duì)IPDU的Trigger Transmit很是疑惑,產(chǎn)生了以下幾個(gè)問題:

(1)Com模塊的IPDU的trigger發(fā)送和CanIf或者Can模塊的Trigger發(fā)送一樣嗎?

(2)怎么通過CanIf模塊發(fā)送trigger IPDU?

(3)哪個(gè)模塊完成Can trigger IPDU的判斷?

(4)請(qǐng)說明Can IPDR的Trigger Transmit的整個(gè)過程?

(5)Lin IPUD和Can IPDU的trigger transmit有何異同?

本文先梳理一遍CAN、LIN報(bào)文的發(fā)送過程,然后回答這些問題。

AUTOSAR 通信服務(wù)-Com模塊概念詳解

AUTOSAR 通信服務(wù)-PDU Router

AUTOSAR CAN通信協(xié)議棧分析(3)-CanIf

Can通信協(xié)議棧分析(1)-Can Driver

73bed7f6-63a7-11ed-8abf-dac502259ad0.png

正文

1.CAN報(bào)文IPDU的發(fā)送過程

1.1 COM模塊發(fā)送IPDU

73ed8394-63a7-11ed-8abf-dac502259ad0.png

在COM模塊中,周期報(bào)文通過Com_MainFunctionTx周期調(diào)度函數(shù)發(fā)送,事件觸發(fā)型報(bào)文通過Com_TriggerIPDUSend通信服務(wù)接口發(fā)送。無論是Com_MainFunctionTx還是Com_TriggerIPDUSend最后都是調(diào)用PDUR模塊的PduR_ComTransmit來發(fā)送報(bào)文,且傳入到PduR模塊的PduInfo->SDU數(shù)據(jù)buffer指針不為NULL。

740b9f1e-63a7-11ed-8abf-dac502259ad0.png

74573bea-63a7-11ed-8abf-dac502259ad0.png

1.2 PDUR模塊發(fā)送IPDU

747d2cf6-63a7-11ed-8abf-dac502259ad0.png

強(qiáng)調(diào)Com模塊過來的Can IPDU->SDU一定不為NULL是因?yàn)樗鼤?huì)影響報(bào)文的發(fā)送方式(1.3章節(jié)詳解)。PduR模塊對(duì)于Com模塊的CAN IPDU直接調(diào)用CanIf_Transmit發(fā)送,CanIf收到IPDU發(fā)送請(qǐng)求后直接調(diào)用CanDriver的接口發(fā)送報(bào)文,Copy Data到CanController發(fā)送。

74ac4220-63a7-11ed-8abf-dac502259ad0.png

PduR模塊的PduRestPdu配置容器提供了PduRDestPduDatProvision配置參數(shù)來配置每一個(gè)發(fā)送報(bào)文是直接發(fā)送還是觸發(fā)式發(fā)送。

Note: 在ETAS的集成配置環(huán)境ISOLAR中這個(gè)參數(shù)無論配置成啥都不影響PduR模塊的配置代碼。個(gè)人認(rèn)為這個(gè)PduR模塊對(duì)于Can報(bào)文的發(fā)送都是直接調(diào)用CanIf_Transmit,確實(shí)不需要這個(gè)參數(shù),所以到底是ISOLAR有問題還是確實(shí)這個(gè)參數(shù)不影響代碼的生成還有待研究。

1.3 CanIf模塊發(fā)送IPDU

74df1128-63a7-11ed-8abf-dac502259ad0.png

CanIf模塊提供CanIfTrggerTransmitSupport配置參數(shù)來配置CanIf模塊是否支持Trigger方式發(fā)送報(bào)文。

7510126e-63a7-11ed-8abf-dac502259ad0.png

CanIf為每一Tx IPDU提供了CanIfTxPduTriggerTransmit的配置參數(shù)。如果該報(bào)文的上層發(fā)送模塊是PduR模塊且配置了該參數(shù)為True,這在PduR模塊就是生成PduR_CanIfTriggerTransmit的函數(shù)。

1.3.1 DIRECT發(fā)送

75a1dc80-63a7-11ed-8abf-dac502259ad0.png

CanIf模塊的CanIf_Transmit接口函數(shù)本身并不會(huì)判斷傳入的IPDU是否是需要Trigger發(fā)送(僅僅會(huì)做一些Det的檢測(cè)),而是直接調(diào)用Can_Write來發(fā)送IPDU,由Can模塊通過傳入的IpduInfo->Sdu是否為NULL來確定是DIRECT發(fā)送還是TRIGGER發(fā)送IPDU。

如果是IpduInfo->Sdu不為NULL,則為DIRECT發(fā)送方式,Can_Write直接完成Copy Data into controller完成報(bào)文的發(fā)送。

1.3.2 Trigger發(fā)送

75c9977a-63a7-11ed-8abf-dac502259ad0.png

如果是IpduInfo->Sdu為NULL,則為TRIGGER發(fā)送方式,Can_Write --> CanIf_TriggerTransmit --> PduR_CanIfTriggerTransmit --> Com_TriggerTransmit完成IpduInfo->Sdu into Controller的數(shù)據(jù)拷貝,也就是所謂的Trigger數(shù)據(jù)發(fā)送。

1.4 Can模塊發(fā)送IPDU

75fa0fd6-63a7-11ed-8abf-dac502259ad0.png

Can模塊提供CanTriggerTransmitEnable配置參數(shù)來配置是否使用Trigger Transmit功能。Can模塊完成IPDUD最終的Trigger發(fā)送。

2.LIN報(bào)文IPUD的發(fā)送過程

2.1 COM模塊發(fā)送IPDU

COM模塊統(tǒng)一了所有IPUD的處理方式,和1.1節(jié)完全一樣。

2.2 PDUR模塊發(fā)送IPDU

2.2.1 Lin偶發(fā)幀sporadic frame發(fā)送

761b5812-63a7-11ed-8abf-dac502259ad0.png

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

2.2.2 Lin非偶發(fā)幀sporadic frame發(fā)送

76501642-63a7-11ed-8abf-dac502259ad0.png

2.3 LinIf模塊發(fā)送IPDU

76775be4-63a7-11ed-8abf-dac502259ad0.png

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

76a35622-63a7-11ed-8abf-dac502259ad0.png

LinIf模塊的LinIfTxPdu配置容器中提供了LinifTxTriggerTransmitUL的配置參數(shù),但是這個(gè)參數(shù)依賴于LinIfUserTxUL參數(shù),如果LinIfUserTxUL配置為PDUR,則LinifTxTriggerTransmitUL參數(shù)不管有無配置,則一定為PduR_TriggerTransmit,也就是PduR模塊一定會(huì)生成一個(gè)PduR_TriggerTransmit配置callback函數(shù)。

2.4 Lin模塊發(fā)送IPDU

Lin模塊沒有trigger transmit的判斷,提供Lin_SendFrame的接口即可。

3.問題回答

問題1:Com模塊的IPDU的trigger發(fā)送和CanIf或者Can模塊的Trigger發(fā)送一樣嗎?

答:Com模塊的IPDU的trigger發(fā)送和CanIf或者Can模塊的Trigger發(fā)送不一樣。

Com模塊的trigger transmit是某個(gè)事件觸發(fā)是調(diào)用Com_TriggerIPDUSend發(fā)送IPDU,但是無論是Com的周期發(fā)送Com_MainFunctionTx還是Com_TriggerIPDUSend發(fā)送IPDU,都是調(diào)用PduR_ComTransmit,而PDUR->CanIf->Can對(duì)于Com來的IPDU都是統(tǒng)一以DIRECT的方式直接Copy Data到Can Controller。

CanIf模塊本身不做IPDU是否需要trigger transmit的判斷,而是直接將IpudInfoPtr傳遞給Can模塊,Can模塊中通過IpduInfoPtr->Sdu是否為NULL來絕對(duì)是使用DIRECT的方式還是trigger transmit/也就是向上調(diào)用callback后set buffer來發(fā)送報(bào)文。

問題2:怎么通過CanIf模塊發(fā)送trigger IPDU?

答:CanIfUser(可以自定義一個(gè)模塊,或者是其他模塊)在調(diào)用CanIf_Transmti發(fā)送報(bào)文的時(shí)候傳入的IpduInfoPtr->Sdu == NULL同時(shí)CAN模塊需要enable trigger transmit就可以實(shí)現(xiàn)CAN IPDU使用CanIf模塊trigger transmit。

問題3:哪個(gè)模塊完成Can trigger IPDU的判斷?

答:CanDriver模塊。

問題4:請(qǐng)說明Can IPDR的Trigger Transmit的整個(gè)過程?

答:CanDriver模塊通過判斷CanIf模塊傳入的IpduInfoPtr-Sdu為NULL且Can模塊enbale了trigger transmit后調(diào)用CanIf_TriggerTransmt -> PduR_TriggerTransmt -> Com_TriggerTransmt完成Copy Data into Controller的數(shù)據(jù)拷貝操作,之后通過Can發(fā)送報(bào)文。

問題5:Lin IPDU和Can IPDU的trigger transmit有何異同?

答:

相同點(diǎn):IPDU的trigger transmit都是最后調(diào)用Com_TriggerTransmit函數(shù)實(shí)現(xiàn)的。

不同點(diǎn):Lin IPDU如果是非偶發(fā)幀(sporadic frame)在通過調(diào)度表發(fā)送時(shí)都是使用trigger transmit分方式發(fā)送的且COM -> PDUR對(duì)LIN IPDU的發(fā)送無影響;而Can IPDU的周期發(fā)送主要是通過COM -> PDUR向下傳遞IpduInfoPtr通過DIRECT方式發(fā)送的。

審核編輯:郭婷

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

    關(guān)注

    59

    文章

    3097

    瀏覽量

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

    關(guān)注

    4

    文章

    234

    瀏覽量

    42132

原文標(biāo)題:Can/Lin報(bào)文的觸發(fā)發(fā)送(Trigger Transmit)

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    測(cè)試高溫實(shí)驗(yàn)時(shí)出現(xiàn)睡眠喚醒后第三幀3C診斷報(bào)文未響應(yīng)的情況,為什么?如何處理?

    54 31 00 CB,100,點(diǎn)亮,0 2、發(fā)送的間隔超過4s因此21這條點(diǎn)亮接收報(bào)文用作MCU的第一幀喚醒,再之后第二幀: 2025-07-16 06:48:00:.323,主機(jī)讀,增強(qiáng)校驗(yàn),0E
    發(fā)表于 04-16 07:00

    【CANopen實(shí)戰(zhàn)】如何實(shí)現(xiàn)PDO數(shù)據(jù)變化即刻發(fā)送(事件觸發(fā)模式詳解

    【CANopen實(shí)戰(zhàn)】如何實(shí)現(xiàn)PDO數(shù)據(jù)變化即刻發(fā)送(事件觸發(fā)模式詳解
    的頭像 發(fā)表于 04-09 14:39 ?207次閱讀
    【CANopen實(shí)戰(zhàn)】如何實(shí)現(xiàn)PDO數(shù)據(jù)變化即刻<b class='flag-5'>發(fā)送</b>(事件觸發(fā)模式<b class='flag-5'>詳解</b>)

    CAN總線報(bào)錯(cuò)看不懂?5種錯(cuò)誤幀+5步排查法一次講清

    CAN總線通信異常?錯(cuò)誤幀頻繁出現(xiàn)?本文詳解五種錯(cuò)誤幀類型,并提供五步排查法,助你快速定位問題根源。錯(cuò)誤幀的作用錯(cuò)誤幀是CAN總線用于錯(cuò)誤通知的報(bào)文。當(dāng)任一節(jié)點(diǎn)檢測(cè)到通信錯(cuò)誤時(shí),會(huì)立即
    的頭像 發(fā)表于 03-16 11:36 ?484次閱讀
    <b class='flag-5'>CAN</b>總線報(bào)錯(cuò)看不懂?5種錯(cuò)誤幀+5步排查法一次講清

    工業(yè)級(jí) LIN 收發(fā)器、LIN 模塊優(yōu)選:德國 Lipowsky LIN 線產(chǎn)品介紹

    本文將全面解析 Lipowsky 的 LIN 線產(chǎn)品,深入介紹虹科 Baby-LIN 系列 LIN 收發(fā)器與 LIN 模塊的技術(shù)特點(diǎn)、型號(hào)選型及行業(yè)應(yīng)用,為汽車電子研發(fā)、測(cè)試人員提供專
    的頭像 發(fā)表于 02-10 17:09 ?275次閱讀
    工業(yè)級(jí) <b class='flag-5'>LIN</b> 收發(fā)器、<b class='flag-5'>LIN</b> 模塊優(yōu)選:德國 Lipowsky <b class='flag-5'>LIN</b> 線產(chǎn)品介紹

    中科芯CKS32F107XX系列MCU的bxCAN介紹

    CKS32F107xx系列產(chǎn)品的bxCAN支持CAN協(xié)議2.0A和2.0B標(biāo)準(zhǔn)。 該CAN 控制器支持最高的通訊速率為1Mb/s;可以自動(dòng)地接收和發(fā)送CAN
    的頭像 發(fā)表于 01-22 09:06 ?3979次閱讀
    中科芯CKS32F107XX系列MCU的bxCAN介紹

    探索UJA113xA系列Buck/Boost HS - CAN/(Dual) LIN系統(tǒng)基礎(chǔ)芯片的卓越性能

    探索UJA113xA系列Buck/Boost HS - CAN/(Dual) LIN系統(tǒng)基礎(chǔ)芯片的卓越性能 在汽車電子控制單元(ECU)的設(shè)計(jì)領(lǐng)域,系統(tǒng)基礎(chǔ)芯片(SBC)的性能起著至關(guān)重要的作用
    的頭像 發(fā)表于 12-24 14:15 ?611次閱讀

    LIN總線相關(guān)知識(shí)

    )包含主任務(wù)和從任務(wù); (3)從節(jié)點(diǎn)(slave)只包含從任務(wù); (4)主任務(wù)(master)決定總線上的報(bào)文,從任務(wù)發(fā)送數(shù)據(jù); (5)LIN網(wǎng)絡(luò)中的所有節(jié)點(diǎn)(包括主機(jī)節(jié)點(diǎn))都具有從機(jī)任務(wù),當(dāng)接到主機(jī)任務(wù)的
    發(fā)表于 12-10 08:14

    LIN/CAN(FD)/FlexRay總線靜電二極管國產(chǎn)替代

    雷卯電子(Leiditech)作為國內(nèi)ESD保護(hù)領(lǐng)域的領(lǐng)先廠商,為Nexperia(安世半導(dǎo)體)的產(chǎn)品線提供了成熟且完備的國產(chǎn)替代方案,尤其在LIN、CAN(FD)、FlexRay等車載網(wǎng)絡(luò)接口領(lǐng)域。在替代選型上,雷卯產(chǎn)品不僅在關(guān)鍵參數(shù)
    的頭像 發(fā)表于 10-13 18:38 ?886次閱讀
    <b class='flag-5'>LIN</b>/<b class='flag-5'>CAN</b>(FD)/FlexRay總線靜電二極管國產(chǎn)替代

    如何同時(shí)指定can硬件濾波器的只接收id為0 和id為3的報(bào)文呢?

    如何同時(shí)指定can硬件濾波器的 只接收id為0 和id為3的報(bào)文呢 我目前只會(huì)用 RT_CAN_FILTER_STD_INIT(3, RT_NULL, RT_NULL)去指定id為3的報(bào)文
    發(fā)表于 09-28 07:46

    什么,以太網(wǎng)能傳CAN報(bào)文?

    ),為控制指令在車內(nèi)網(wǎng)絡(luò)不同控制節(jié)點(diǎn)間的傳輸提供了新的選擇。通俗來講,ACF就是將目前較為成熟的控制協(xié)議(如CAN、LIN、FlexRay甚至是RS232串口指令等)
    的頭像 發(fā)表于 09-09 15:59 ?2409次閱讀
    什么,以太網(wǎng)能傳<b class='flag-5'>CAN</b><b class='flag-5'>報(bào)文</b>?

    ProfiNet轉(zhuǎn)CAN/CANopen網(wǎng)關(guān)技術(shù)詳解

    CAN 報(bào)文,提供了更高的靈活性。 其核心工作原理是數(shù)據(jù)映射,即在網(wǎng)關(guān)內(nèi)部建立 PROFINET IO 數(shù)據(jù)區(qū)與 CANopen 對(duì)象字典或 CAN 報(bào)文標(biāo)識(shí)符之間的對(duì)應(yīng)關(guān)
    的頭像 發(fā)表于 08-26 16:54 ?930次閱讀
    ProfiNet轉(zhuǎn)<b class='flag-5'>CAN</b>/CANopen網(wǎng)關(guān)技術(shù)<b class='flag-5'>詳解</b>

    虹科技術(shù)分享 | LIN總線譯碼功能與LIN控制交流發(fā)電機(jī)(二)

    上一期,我們?cè)敿?xì)分享了LIN總線的結(jié)構(gòu)、譯碼方法、休眠與喚醒過程。那如何借助串行譯碼分析總線故障?我們能否從譯碼結(jié)果中,進(jìn)一步提取LIN發(fā)送的信息?答案是肯定的。這一期,我們就將結(jié)合
    的頭像 發(fā)表于 08-07 11:28 ?1101次閱讀
    虹科技術(shù)分享 | <b class='flag-5'>LIN</b>總線譯碼功能與<b class='flag-5'>LIN</b>控制交流發(fā)電機(jī)(二)

    LIN協(xié)議:汽車電子中的隱形功臣

    在汽車電子通信領(lǐng)域,CAN/CANFD和車載以太網(wǎng)常被提及,但有一個(gè)低調(diào)卻不可或缺的協(xié)議—LIN,正默默支撐著車窗、車燈等車身系統(tǒng)的智能化控制。LIN協(xié)議LIN是面向汽車底端分布式應(yīng)用
    的頭像 發(fā)表于 07-01 11:40 ?2120次閱讀
    <b class='flag-5'>LIN</b>協(xié)議:汽車電子中的隱形功臣

    ATS失效請(qǐng)求報(bào)文問題的故障排除步驟

    本篇文章提供了解決 ATS 失效請(qǐng)求報(bào)文問題的故障排除步驟,主要聚焦在 CQ 接口上未顯示主機(jī)發(fā)送報(bào)文的情況。
    的頭像 發(fā)表于 06-09 15:17 ?1959次閱讀
    ATS失效請(qǐng)求<b class='flag-5'>報(bào)文</b>問題的故障排除步驟
    繁峙县| 石台县| 江陵县| 建平县| 桐城市| 镶黄旗| 绵竹市| 海宁市| 邵阳县| 泽库县| 岑巩县| 广州市| 潢川县| 交口县| 遵义县| 北海市| 临沂市| 汉阴县| 嵊州市| 天祝| 霍林郭勒市| 南丹县| 土默特左旗| 柳州市| 阿克苏市| 蚌埠市| 遵义市| 宽甸| 安国市| 怀宁县| 渝北区| 甘孜县| 鄂托克旗| 阿巴嘎旗| 分宜县| 原阳县| 河曲县| 兴义市| 启东市| 满城县| 高要市|