《AUTOSAR谱系分解(ETAS工具链)》之CanIf

文章详细介绍了AUTOSAR架构下,使用ETAS工具链对CANIf的配置,包括初始化配置CanIfInitCfg、传输缓冲区配置、CAN接收和发送PDU的详细参数、驱动配置CanIfCtrlDrvCfgs以及调度和私有、公共配置等,同时提到了与CAN驱动的关联和标准接口函数CanIf_Transmit的功能。
摘要由CSDN通过智能技术生成

《AUTOSAR谱系分解(ETAS工具链)》之CanIf

CanIf

在这里插入图片描述

CanIfInitCfg

  • CanIfBufferCfgs

    • EXP:

      • EXP:它是CanIfInitCfg的子容器。此容器包含传输缓冲区配置。必须为将用于传输帧的每个CanController添加此容器的一个实例。
  • CanIfInitHohCfgs

    • CanlfHrhCfgs
    • CanlfHthCfgs
  • CanIfRxPduCfgs

    • CanIfRxPduHrthIdRef

    • CanIfRxPduRef

    • CanIfRxPduCfg

      • EXP:它是CanIfInitCfg的子容器。它包含发送CAN L-PDU的配置参数。每次需要发送CAN L-PDU时都要对其进行配置。
    • CanIfRxPduCanId

      • EXP:定义发送CAN标识符,11位标准帧或29位扩展帧。(多重性:1)
    • CanIfRxPduCanIdMask

      • EXP:CanFilterMaskValue:它描述用于基于硬件的CAN标识符过滤的掩码值。如果EXTENDED或MIXED类型的CAN帧,则使用29位掩码,而对于STANDARD CAN帧类型,则使用11位掩码。
    • CanIfRxPduCanIdType

      • CAN
      • CANFD
      • EXP:定义发送CAN标识符的类型,是标准格式(11位)还是扩展格式(29位)。(多重性:1)
    • CanIfRxPduDlc

      • EXP:定义发送L-PDU的数据长度(以字节为单位)。范围是0到8个字节。(多重性:1)
    • CanIfRxPduUserRxIndicationName

    • CanIfRxUseRxInicationUL

      • CNA NM
      • CNA TP
      • XCP
      • PDUR
      • J1939NM
      • CNA TSYN
      • CDD
      • EXP:此帧数据向上层UL的流向,如果都不是(手动处理)则删除这个配置项即可。
        普通数据走PDUR,
        诊断数据走CAN_TP,
    • EXP:

      • 在这里插入图片描述

      • 在这里插入图片描述

      • 在这里插入图片描述

      • 在这里插入图片描述

  • CanIfTxPduCfgs

    • CanIfTxPduHthIdRef

    • CanIfTxPduRef

    • CanIfTxPduCfg

    • CanIfTxPduUserTxConfirmationName

      • EXP:
  • EXP:

    • EXP:

      • EXP:它包含CanIf的所有初始化参数。此容器至少有一个实例。它定义了所有与PDU相关的配置。

CanIfCtrlDrvCfgs【收发器】

  • CanlfCtrICfgs

    • Can_Network_CANNODE_0
    • Can_Network_CANNODE_1
    • Can_Network_CANNODE_2
    • 。。。。。。
  • CanlfRbCtrlDrvPrefix - CanConfCanHardwareObjectCanlflnitHohCfg

  • CanHardwareObject

  • CanlflnitHohCfg

  • EXP:

    • EXP:

      • EXP:它提供了基础CAN驱动程序模块的配置参数。一个CanIfDrvCfg引用一个Can Driver模块

CanIfDispatchCfg【调度】

  • EXP:

CanIfPrivateCfg【私有配置】

  • CanIfPrivateDlcCheck

    • EXP:

      • EXP:选择是否支持DLC检查。如果启用,则如果该帧的DLC小于配置的DLC,则该帧将不会转发到上层。如果接收到的帧的DLC大于或等于配置的DLC,则将帧转发到上层。
  • EXP:

    • EXP:

      • EXP:该容器包含CanIf的专用配置参数。

CanIfPublicCfg【公共配置】

  • CanIfDevErrorDetect

    • EXP:

      • EXP:如果设置为true,它将打开开发错误检测和通知功能。如果设置为false,则关闭。(多重性:1)
  • CanIfPublicVersionInfoApi

    • EXP:

      • EXP:启用或禁用用于读取版本信息的API。(多重性:1)
  • CanIfReadMsgIdApi

  • EXP:

    • EXP:

      • EXP:该容器包含CanIf的公共配置参数。

CanIfTrcvDrvCfg【关联CAN驱动】

  • EXP:

标准接口函数

  • {prj}\src\BSW\src\BSW\Gen\CanIf\src\CanIf_Transmit.c

  • {prj}src\BSW\src\BSW\Gen\CanIf\api\CanIf.h

  • CanIf_Transmit

    • EXP:

      • EXP:
        {\src\BSW\src\BSW\Gen\CanIf\src\CanIf_Transmit.c}
        FUNC(Std_ReturnType, CANIF_CODE) CanIf_Transmit(VAR(PduIdType,AUTOMATIC) CanIfTxSduId,
        P2CONST(PduInfoType, AUTOMATIC, CANIF_APPL_CONST) CanIfTxInfoPtr)
        {
        。。。
        lRetVal_en = CanIf_XCore_LocalCore_Transmit(CanIfTxSduId, CanIfTxInfoPtr);
        。。。
        }
      • EXP:
        {\src\BSW\src\BSW\Gen\CanIf\src\CanIf_Transmit.c}
        FUNC(Std_ReturnType, CANIF_CODE) CanIf_XCore_LocalCore_Transmit(
        VAR(PduIdType,AUTOMATIC) CanIfTxSduId,
        P2CONST(PduInfoType, AUTOMATIC, CANIF_APPL_CONST) CanIfTxInfoPtr
        )
        {
        。。。
        lCanStatus_en = Can_Write(lHth_uo, &lPduInfo_st);
        。。。
        }

EXP:

  • EXP:

    • EXP:

      • 在这里插入图片描述

《AUTOSAR谱系分解(ETAS工具链)》之总目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值