目 录CONTENT

文章目录

AUTOSAR - CanIf - 学习二:CanIf配置

moke
2024-07-26 / 0 评论 / 0 点赞 / 64 阅读 / 1157 字

1、概述

        规范基于《AUTOSAR_SWS_CANInterface.pdf》,配置工具基于ETAS的ISOLAR-AB

2、配置介绍

2.1 配置界面总览

导图如下:

配置如下:

规范里面的描述

2.2  CanIfPublicCfg

        配置CanIf的公共信息,能对各个模块产生影响的部分,本文档只描述部分我们关注的点。

2.2.1 CanIfMetaDataSupport

        CanIfMetaDataSupport:是否使能动态ID处理L-SDU Metadata。

        个人理解:也就是说Basic CAN的时候使能这个开关,批量操作范围内的CANID,CANID越小优先级越大。

2.2.2 CanIfPublicCancelTransmitSupport

规范描述

但是ETAS尚未实现

2.2.3  CanIfPublicHandleTypeEnum

        Can_HwHandleType表示CAN的硬件单元,当邮箱数大于255的时候,需要是UINT16的数据类型,

        这个点是必须选择的。

2.2.4  CanIfPublicIcomSupport

         这点是非常不理解的,伪网络是什么?后面文章描述,意思上是为了节能,减少总线上的负载。ETAS尚未实现此功能

2.2.5 CanIfPublicReadRxPduDataApi

此函数便于读取CAN的SDU信息

接口描述

 函数原型

CanIfRxSduId参数表示如下

表示RX的PDUID

2.2.6 CanIfTriggerTransmitSupport 

COM层面要是由触发传输,此处应该开启

2.3 CanIfCtrlDrvCfg

       配置下层和CanDrv相关联的地方

2.4 CanIfDispatchCfg

Dispatch:调度,本配置包含项,主要是配置回调函数。

2.4.1 CanIfDispatchUserCtrlBusOffName

        这个意思是假设CanIfDispatchUserCtrlBusOffUL选择为CANSM,那么这接口不用去填写了,直接就是CanIf_ControllerBusOff();

解释一个地方

UL表示upper layer

上述归CANSM管理是非常正常的流程。

2.5 CanIfPrivateCfg

私有配置项,其中DLC检查就在这里配置的,外部有一个DLC检查的回调函数。

这块非常重要,分为四个模块

各个部分含义

2.6 CanIfInitCfg

2.6.1 CanIfTxPduCfg

配置发送CAN Message的信息,包含 CANID  CANIDType 发送方向之类的,如下图

上述在DBC导入的时候就会存在,赘述一下。

注意一个配置项

2.6.2 CanIfRxPduCfg

主要的关注点是

PduR_CanIfRxIndication 函数名是固定的

2.6.3 CanIfInitHohCfgs

主要配置属于哪一个CAN的硬件object,属于哪一个CAN的Node

2.6.4 CanIfBufferCfgs

主要是给发送Message开辟一个缓存器。

FullCan的时候CanIfBufferSize配置为0

博主关闭了所有页面的评论