色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

AUTOSAR通信之CanIf模塊簡介3

jf_78858299 ? 來源:汽車控制與人工智能 ? 作者:Demu ? 2023-02-13 14:29 ? 次閱讀

PDU模式控制服務

每個L-PDU分配給一個專用的物理CAN通道,該通道連接CAN控制器和CAN網絡。通過這種方式,所有屬于物理通道的L-PDU都可以在處理邏輯上,單一的L-PDU通道組上進行控制。這些邏輯組表示ECU連接到底層CAN網絡的所有I-PDU。圖 展示了L-PDU信道組與上層或網絡的關系。

圖片

圖5 PDU組的通道

一個L-PDU只能分配給一個信道組。PduR或網絡管理等典型用戶負責控制PDU的操作模式。CanIf提供了服務CanIf_SetPduMode()和CanIf_GetPduMode()來防止處理:

  • 所有的I-PDU都屬于一個邏輯通道,
  • 所有發送I-PDU和接收I-PDU屬于一個邏輯通道。

只允許在對應的控制器模式等于CAN_CS_STARTED時,更改PDU通道模式。而CANIF_ONLINE和CANIF_OFFLINE在PDU信道模式下影響整個通信,分別啟用和禁用CANIF_TX_OFFLINE和CANIF_TX_OFFLINE_ACTIVE傳輸路徑。CanIf通過服務CanIf_GetPduMode()提供關于當前PDU通道模式的信息

圖片

圖6 PDU組的通道模式控制

在初始化期間,CanIf應該將每個通道切換到CANIF_OFFLINE。如果調用CanIf_SetControllerMode(),則CanIf會將對應通道的PDU通道模式設置為CANIF_OFFLINE。

對于切換到CANIF_OFFLINE模式的物理通道,CanIf應該:

  • 防止將相關L-PDU的傳輸請求CanIf_Transmit()轉發給CanDrv,
  • 清除相應的CanIf傳輸緩沖區,
  • 防止調用上層模塊的接收指示回調服務,
  • 防止調用上層模塊的傳輸確認回調服務。

如果調用CanIf_SetControllerMode()或CanIf_ControllerBusOff(),則CanIf應將相應通道的PDU通道模式設置為CANIF_TX_OFFLINE。

對于切換到CANIF_TX_OFFLINE模式的物理通道,CanIf應該:

  • 防止將相關L-PDU的傳輸請求CanIf_Transmit()轉發給CanDrv,
  • 清除相應的CanIf傳輸緩沖區,
  • 防止調用上層模塊的傳輸確認回調服務。
  • 支持調用上層模塊的接收指示回調服務。

在CANIF_OFFLINE和CANIF_TX_OFFLINE的情況下,BusOff通知被隱式地抑制,因為沒有I-PDU可以被傳輸,因此CAN控制器不能通過新請求的L-PDU進入BusOff模式進行傳輸。

如果已經在CAN transmission硬件對象中等待傳輸的L-PDU在切換到CANIF_TX_OFFLINE或CANIF_OFFLINE模式并發生后續BusOff事件后立即被傳輸,那么CanIf不禁止執行BusOff通知。喚醒通知不受PDU通道模式更改的影響。

對于切換到CANIF_ONLINE模式的物理信道,CanIf應該:

  • 允許將相關L-PDU的傳輸請求CanIf_Transmit()轉發到CanDrv,
  • 支持調用上層模塊的接收指示回調服務,
  • 允許調用上層模塊的傳輸確認回調服務。

如果CanIfTxOfflineActiveSupport為TRUE,CanIf提供通過CANIF_TX_OFFLINE_ACTIVE模式成功傳輸的模擬。該模式是通過調用CanIf_SetPduMode()來啟用的,并且只影響傳輸路徑。

對于每個被分配到CANIF_TX_OFFLINE_ACTIVE模式信道的L-PDU, CanIf會立即調用上層模塊的傳輸確認回調服務,而不是在調用CanIf_Transmit()時將L-PDU緩沖或轉發到CanDrv。

在CANIF_TX_OFFLINE_ACTIVE模式下,上層必須處理傳輸確認的執行。發送確認處理在發送請求結束時立即執行。這個功能對于實現特殊的操作模式(如診斷無源模式)是有用的,以避免總線流量而不影響通知機制。此模式通常用于診斷。

5 API

API這里羅列一下,就不展開贅述了,后續有機會再串起來介紹。

  • CanIf_Init
  • CanIf_DeInit
  • CanIf_SetControllerMode
  • CanIf_GetControllerMode
  • CanIf_GetControllerErrorState
  • CanIf_Transmit
  • CanIf_ReadRxPduData
  • CanIf_ReadTxNotifStatus
  • CanIf_ReadRxNotifStatus
  • CanIf_SetPduMode
  • CanIf_GetPduMode
  • CanIf_GetVersionInfo
  • CanIf_SetDynamicTxId
  • CanIf_SetTrcvMode
  • CanIf_GetTrcvMode
  • CanIf_GetTrcvWakeupReason
  • CanIf_SetTrcvWakeupMode
  • CanIf_CheckWakeup
  • CanIf_CheckValidation
  • CanIf_GetTxConfirmationState
  • CanIf_ClearTrcvWufFlag
  • CanIf_CheckTrcvWakeFlag
  • CanIf_SetBaudrate
  • CanIf_SetIcomConfiguration
  • CanIf_GetControllerRxErrorCounter
  • CanIf_GetControllerTxErrorCounter
  • CanIf_EnableBusMirroring

回調函數

  • CanIf_TriggerTransmit
  • CanIf_TxConfirmation
  • CanIf_RxIndication
  • CanIf_ControllerBusOff
  • CanIf_ConfirmPnAvailability
  • CanIf_ClearTrcvWufFlagIndication
  • CanIf_CheckTrcvWakeFlagIndication
  • CanIf_ControllerModeIndication
  • CanIf_TrcvModeIndication
  • CanIf_CurrentIcomConfiguration

總****結

CanIf位于底層CAN驅動、CAN收發器和上層通信服務層、CanTp、PduR之間。它表示上層通信層的CAN驅動程序服務接口。其中涉及眾多API函數和回調函數,具體功能最好結合函數的定義和應用場景理解。

縮略詞:

L-PDU : CAN Protocol Data Unit,

CAN協議數據單元

L-SDU : CAN Service Data Unit,

CAN服務數據單元

CanDrv : CAN Driver module,

CAN驅動模塊

CAN FD : CAN with Flexible Data-Rate

CanId : CAN Identifier,

CAN標識符

CanIf: CAN Interface module,

CAN接口模塊

Can Nm : CAN Network Management module,

CAN網絡管理模塊

CanSm : CAN State Manager module,

CAN狀態管理模塊

CanTp : CAN Transport Layer module,

CAN傳輸層模塊

CanTrcv : CAN Transceiver Driver module,

CAN收發器驅動模塊

CanTSyn : Global Time Synchronization overCAN,

ComM : Communication Manager module,

通信管理模塊

DCM: Diagnostic Communication Manager module,診斷通信管理模塊

EcuM : ECU State Manager module,

ECU狀態管理模塊

HOH : CAN hardware object handle,

硬件對象句柄

HRH : CAN hardware receive handle,

硬件接收句柄

HTH: CAN hardware transmit handle,

硬件發送句柄

PduR : PDU Router module,

PDU路由模塊

SchM : Scheduler Module,

進程模塊

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

    關注

    10

    文章

    3436

    瀏覽量

    106056
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2756

    瀏覽量

    463881
  • 路由器
    +關注

    關注

    22

    文章

    3734

    瀏覽量

    113961
  • PDU
    PDU
    +關注

    關注

    0

    文章

    94

    瀏覽量

    16992
收藏 人收藏

    評論

    相關推薦

    AUTOSAR MCAL MCU模塊的相關資料分享

    簡介MCU驅動程序提供微控制器初始化,掉電功能,復位和微控制器其他MCAL軟件模塊所需的特定功能的服務(這里主要指那些公共寄存器的設置)。需要注意的是,啟動代碼和用于升級的Bootloader是不在AUTOSAR負責范圍內的,
    發表于 11-03 08:18

    AUTOSAR的相關資料推薦

    AUTOSAR基礎篇EcuM_wto9109的博客-CSDN博客【AutoSAR】【EcuM】ECU狀態管理專注汽車軟件開發、AutoSAR、車載以太網、SOA、EE架構。07-08
    發表于 01-27 08:25

    AUTOSAR_MCAL_CAN_IM.pdf提示找不到 config/CanIf.xdm怎么解決?

    AUTOSAR_MCAL_CAN_IM.pdf 文件中聲明還需要 CanIf 插件來實現 CAN 插件。但是,當我嘗試在 Tresos 上添加 CanIf 模塊時,它給出了一個錯誤
    發表于 03-30 08:48

    AUTOSAR通信CanIf模塊簡介1

    CAN接口模塊(下文簡“CanIf”)位于底層CAN驅動(CanDrv)、CAN收發器(CanTrcv)和上層通信服務層(CanSm、CanNm)、CAN傳輸協議(CanTp)、PDU路由器(PduR)之間。它表示上層
    的頭像 發表于 02-13 14:29 ?4140次閱讀
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>通信</b><b class='flag-5'>之</b><b class='flag-5'>CanIf</b><b class='flag-5'>模塊</b><b class='flag-5'>簡介</b>1

    AUTOSAR通信CanIf模塊簡介2

    CAN接口模塊(下文簡“CanIf”)位于底層CAN驅動(CanDrv)、CAN收發器(CanTrcv)和上層通信服務層(CanSm、CanNm)、CAN傳輸協議(CanTp)、PDU路由器(PduR)之間。它表示上層
    的頭像 發表于 02-13 14:29 ?2516次閱讀
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>通信</b><b class='flag-5'>之</b><b class='flag-5'>CanIf</b><b class='flag-5'>模塊</b><b class='flag-5'>簡介</b>2

    AutosarBSWM配置簡介

    AUTOSAR基礎軟件層主要用于提供基礎軟件服務,包括標準化的系統功能以及功能接口,并且由一系列的基礎服務軟件組件構成,包括系統服務、內存服務、通信服務等。
    的頭像 發表于 05-26 11:15 ?1730次閱讀
    <b class='flag-5'>Autosar</b><b class='flag-5'>之</b>BSWM配置<b class='flag-5'>簡介</b>

    AUTOSAR通信協議棧配置詳解

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

    AUTOSAR軟件開發流程簡介

    軟件功能和性能要求。這包括確定軟件組件、接口和模塊的功能和規格要求。 架構設計:在這個階段,根據需求分析的結果,設計AUTOSAR軟件的整體架構。這包括定義軟件組件的功能和接口,以及確定軟件模塊的分層結構和
    的頭像 發表于 10-27 15:55 ?3161次閱讀
    <b class='flag-5'>AUTOSAR</b>軟件開發流程<b class='flag-5'>簡介</b>

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

    AUTOSAR(Automotive Open System Architecture)即汽車開放系統架構,該架構支持汽車電子控制單元(ECU)之間的通信,實現了高度模塊化和可重用性。AUTO
    的頭像 發表于 12-17 14:54 ?676次閱讀

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

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

    AUTOSAR通信與CAN協議的關系

    AUTOSAR通信模型: AUTOSAR定義了一個分層的軟件架構,其中包括應用層、基礎軟件層和微控制器抽象層。在這些層中,通信模型是實現ECU之間
    的頭像 發表于 12-17 14:57 ?228次閱讀

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

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

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

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

    AUTOSAR通信實現中的常見問題

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

    AUTOSAR通信與網絡安全 AUTOSAR通信在車輛中的應用

    隨著汽車行業的發展,車輛的電子化和智能化水平不斷提高,這使得車輛的通信系統變得日益復雜。AUTOSAR(AUTomotive Open System ARchitecture)是一個全球性的汽車軟件
    的頭像 發表于 12-17 15:06 ?286次閱讀
    主站蜘蛛池模板: 欧洲最强rapper潮水喷视频| 久久伊人男人的天堂网站| 国产午夜精品福利久久| 欧美内射深插日本少妇| 13小箩利洗澡无码视频APP| 国产亚洲人成网站在线观看播放 | 动漫美女人物被黄漫在线看| 欧美大香线蕉线伊人久久| 最新亚洲人成网站在线影院| 久久精品一卡二卡三卡四卡视频版| 亚洲偷自拍精品视频在线观看| 蝴蝶中文娱乐| 孕妇泬出白浆18P| 麻豆XXXX乱女少妇精品| 97人人添人人澡人人澡人人澡 | 美女不要啊| 99无码熟妇丰满人妻啪啪| 欧洲美女高清一级毛片| 成人人观看的免费毛片| 无码乱人伦一区二区亚洲一| 国产在线aaa片一区二区99| 亚洲无吗精品AV九九久久| 久久热最新网站获取3| 99国产精品免费视频| 人人妻免费线| 国产小视频在线高清播放| 野花高清影视免费观看| 免费成人高清在线视频| 成人短片迅雷下载| 亚洲AV色香蕉一区二区9255| 久久精品观看影院2828| 99热最新网站| 亚洲 国产 日韩 欧美 在线| 久久精品热线免费| x8国产精品视频| 学生小泬无遮挡女HD| 老男人粗大猛| 国产成人在线视频| 一个人在线观看免费高清视频在线观看 | 最近中文字幕高清中文| 日本50人群体交乱|