[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

相关文章

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Python中的getopt模块用法小结

《Python中的getopt模块用法小结》getopt.getopt()函数是Python中用于解析命令行参数的标准库函数,该函数可以从命令行中提取选项和参数,并对它们进行处理,本文详细介绍了Pyt... 目录getopt模块介绍getopt.getopt函数的介绍getopt模块的常用用法getopt模

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据