[AutoSar]BSW_Com011 CAN IF 模块配置

2024-03-11 06:52
文章标签 配置 模块 autosar bsw com011

本文主要是介绍[AutoSar]BSW_Com011 CAN IF 模块配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 关键词
  • 平台说明
  • 一、CanIfCtrlDrvCfgs
  • 二 、CanIfTrcvDrvCfgs
  • 三、CanIfDispatchCfg
  • 四、CanIfBufferCfgs
  • 五、CanIfHrhCfgs
  • 六、CanIfHthCfgs
  • 七、CanIfRxPduCfgs
  • 八、CanIfTxPduCfgs
  • 九、CanIfPrivateCfg
  • 十、CanIfPublicCfg

  

关键词

嵌入式、C语言、autosar、OS、BSW

平台说明

项目Value
OSautosar OS
autosar厂商vector , EB
芯片厂商TI 英飞凌
编程语言C,C++
编译器HighTec (GCC)
autosar版本4.3.1

在这里插入图片描述
>>>>>回到总目录<<<<<<

一、CanIfCtrlDrvCfgs

  主要是配置与底层can 驱动 相关的内容,包含了所有的CAN controller。
在这里插入图片描述
CanIfCtrlCanCtrlRef:映射到关联的CAN controller
CanIfCtrlJ1939DynAddrSupport:如果启用,CAN接口模块使用动态地址查找表根据J1939转换相应CAN控制器的地址。这些表由J1939Nm维护。(一般有:CANopen,device net和J 1939)
  J1939是一种支持闭环控制的在多个ECU之间高速通信的网络协议冈。主要运用于载货车和客车上。它是以CAN2.0为网络核心。J1939标识符包括:PRIORTY(优先权位);R(保留位);DP(数据页位);PDU FORMAAT(协议数据单元);PDU SPECIFIC(扩展单元)和SOURCE ADDRESS(源地址)。而报文单元还包括64位的数据场。
CanIfCtrlTrcvCfgRef:选择关联的CAN transceiver
CanIfCtrlWakeupSupport:是否可查询唤醒事件
CanIfCtrlWakeupSupport:引用控制器分区,以后单独讲。

二 、CanIfTrcvDrvCfgs

  主要是配置与CAN transceiver 的关联。
在这里插入图片描述
CanIfTrcvCanTrcvRef:抽象transceiver 到can if 的关联。
CanIfTrcvWakeupSupport:定义所引用的CAN收发器驱动模块的相应CAN收发器是否可查询唤醒事件

三、CanIfDispatchCfg

定义上层模块的回调
在这里插入图片描述
CanIfDispatchDataChecksumRxErrorIndicationName:定义在数据校验和rx验证失败时调用的函数名
CanIfDispatchDataChecksumRxErrorIndicationUL:定义关于rx -data校验和失败的通知必须路由到的上层(UL)模块。
CanIfDispatchUserCheckTrcvWakeFlagIndicationName:用于配置CheckTrcvWakeFlagIndication。
CanIfDispatchUserCheckTrcvWakeFlagIndicationUL:配置唤醒事件通知到CDD 还是SM。
CanIfDispatchUserClearTrcvWufFlagIndicationName:用于配置ClearTrcvWufFlagIndication
User Clear Trcv Wuf Flag Indication UL:定义了上层模块,来自CAN收发器驱动模块的ClearTrcvWufFlagIndication必须被路由到上层模块。
CanIfDispatchUserCtrlBusOffName:定义ControllerBusOff回调函数名
CanIfDispatchUserCtrlBusOffUL:定义了上层(UL)模块,来自CAN驱动模块的所有总线关闭事件的通知必须通过<User_ControllerBusOff>路由到该模块。
CanIfDispatchUserCtrlModeIndicationName:定义ControllerModeIndication回调函数名。
CanIfDispatchUserCtrlModeIndicationUL:定义上层(UL)模块,来自CAN驱动模块的所有控制器转换事件的通知必须通过<User_ControllerModeIndication>路由到该模块。
CanIfDispatchUserTrcvModeIndicationName:定义TrcvModeIndication回调函数名。
CanIfDispatchUserTrcvModeIndicationUL:定义上层(UL)模块,来自CAN收发器驱动模块的所有收发器模式转换事件的通知必须通过<User_TrcvModeIndication>路由到该模块。

四、CanIfBufferCfgs

定义包含tx缓冲区配置。可以配置多个大小不同的缓冲区。如果CanIfBufferSize (CANIF834_Conf)等于0,则caniftx L-PDU仅通过该CanIfBufferCfg引用相应的CanIfHthCfg。
在这里插入图片描述
CanIfBufferHthRef:映射到相应HTH buffer。
CanIfBufferSize:该参数定义了在一个Tx-buffer中可以缓冲的CanIf Tx l - pdu的数量。如果该值为0,则CAN接口模块不对分配到该Tx缓冲区的CanIf Tx l - pdu进行Tx缓冲。如果’CanIfPublicTxBuffering’ = False,则该参数对所有Tx-buffer都等于0。如果被引用的HTH的’CanHandleType’等于’FULL’,则此参数对该tx缓冲区等于0。
CanIfTxBufferHandlingType:选择缓冲类型,FIFO 、none 还是PRIO_BY_CANID。区别见:XXX
CanIfTxBufferMappedTxPdus:多少TX-PDU被映射到这儿。
CanIfTxBufferMaxPduLength:用于估计配置的处理类型为FIFO的tx缓冲区的内存消耗。只有FIFO才能用。

五、CanIfHrhCfgs

包含每个硬件接收对象(HRH)的配置参数。
在这里插入图片描述
CanIfHrhCanCtrlIdRef:对HRH所属控制器的引用。一个控制器可以包含一个或多个hrh。
CanIfHrhCanHandleTypeRef:not use
CanIfHrhIdSymRef:映射到CAN driver中的anHardwareObject

六、CanIfHthCfgs

包含每个硬件接收对象(HTH)的配置参数。类似上一节。

七、CanIfRxPduCfgs

包含每个接收CAN L-PDU的配置(参数)。
在这里插入图片描述
挑重点:
CanIfRxPduCanIdType:用于切换接收CAN L-PDU的CAN标识类型(扩展/标准)。
Rx Pdu Data Checksum Pdu:启用/禁用Rx-PDU的数据校验和。
CanIfRxPduDlcCheck:开关消息特定的DLC检查。
CanIfRxPduUserRxIndicationUL:这个message 从上面哪一级来的。
参考:[AutoSar]BSW_Com02 PDU详解
诊断报文: CANIF UL 是CANTP,(CAN->CANIF->CANTP->PDUR->DCM)
NM报文:CANIF UL 是CANNM,(CAN->CANIF->CANNM)
XCP报文:CANIF UL 是XCP,(CAN->CANIF->XCP)
应用报文:CANIF UL 是PDUR, (CAN->CANIF->PDUR->COM)

八、CanIfTxPduCfgs

包含每个发送CAN L-PDU的配置(参数)。
参考第七节。

九、CanIfPrivateCfg

CAN if 私有参数。
在这里插入图片描述

CanIfDataChecksumRxSupport:使能接收checksum。
CanIfDataChecksumTxSupport:使能发送checksum。
CanIfPrivateDlcCheck:该参数切换对DLC检查的支持,DLC检查在接收rx - pdu时执行。
CanIfPrivateSoftwareFilterType:选择接收的软件过滤机制。
CanIfTxBufferType:配置处理类型为PRIO_BY_CANID的Tx-buffer的queue-flag类型。

十、CanIfPublicCfg

在这里插入图片描述
Change Baudrate Support:启用/禁用CanIf_ChangeBaudrate和CanIf_CheckBaudrate接口。该接口用于更改/检查can控制器的波特率。
Meta Data Support:通过使用SDU元数据来切换对动态CAN标识符处理的支持。
Wakeup Check Validation By NM:用于切换是只接收NM (Network Management)消息验证检测到的唤醒事件,还是验证相应CAN控制器的所有消息。

>>>>>回到总目录<<<<<<

这篇关于[AutoSar]BSW_Com011 CAN IF 模块配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/797002

相关文章

SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤

《SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤》本文主要介绍了SpringBoot+MyBatis-Flex配置ProxySQL的实现步骤,文中通过示例代码介绍的非常详... 目录 目标 步骤 1:确保 ProxySQL 和 mysql 主从同步已正确配置ProxySQL 的

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

nginx-rtmp-module模块实现视频点播的示例代码

《nginx-rtmp-module模块实现视频点播的示例代码》本文主要介绍了nginx-rtmp-module模块实现视频点播,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录预置条件Nginx点播基本配置点播远程文件指定多个播放位置参考预置条件配置点播服务器 192.

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构