[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控制器的所有消息。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/736251.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

目前最强大语言模型!谷歌开源 | 开源日报 No.196

google/gemma_pytorch Stars: 3.4k License: Apache-2.0 gemma_pytorch 是 Google Gemma 模型的官方 PyTorch 实现。 提供了 Gemini 模型技术的轻量级、最新开放模型支持文本到文本、仅解码器大语言模型提供英文版本&#xff0c;包含开源权重、预训练变体和指导调整变体支持…

natfrp和FRP配置SSL的基本步骤和bug排查

获取免费/付费SSL 我直接买了一年的ssl证书 设置 主要参考&#xff1a;https://doc.natfrp.com/frpc/ssl.html 遇到的Bug root域名解析是ALIAS&#xff0c;不是CNAME不要用NATFRP &#xff08;SakuraFrp&#xff09;同步Joplin&#xff0c;会出现webdav错误导致大量笔记被…

javascript 对象的几种创建方式

话不多说&#xff0c;直接开干 第一种&#xff1a;Object 构造函数创建 var Person new Object(); Person.name "Nike"; Person.age 29;这行代码创建了 Object 引用类型的一个新实例&#xff0c;然后把实例保存在变量 Person 中。 第二种&#xff1a;使用对象字…

linux上安装fastdfs及配置

一、基础环境准备 1、所需软件 名称说明libfastcommonfastdfs分离出的一些公用函数包fastdfsfastdas软件包fastdfs-nginx-modulefastdfst和nginx的关联模块nginxnginxl软件包 2、编辑环境 安装一些基础的支持环境 yum install git gccc gcc-c make automake autoconf libto…

线性代数(一)——向量基础

向量基础 1、向量和线性组合2、向量的模和点乘3、矩阵4、参考 线性代数的核心是向量的加和乘两种运算的组合&#xff0c;本篇博客为线性代数的一个引子&#xff0c;主要从向量、线性组合和矩阵逐步引出线性代数的相关知识。 1、向量和线性组合 首先介绍的是向量相关&#xff0…

DHCP中继实验(思科)

华为设备参考&#xff1a;DHCP中继实验&#xff08;华为&#xff09; 一&#xff0c;技术简介 DHCP中继&#xff0c;可以实现在不同子网和物理网段之间处理和转发DHCP信息的功能。如果DHCP客户机与DHCP服务器在同一个物理网段&#xff0c;则客户机可以正确地获得动态分配的IP…

PCL 约束Delaunay三角网(版本二)

目录 一、算法概述二、代码实现三、结果展示四、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法概述 PCL 点云Delaunay三角剖分一文给出了PCL中Delaunay三角网算法的基础用法。本文在基础用法的基…

Python与FPGA——膨胀腐蚀

文章目录 前言一、膨胀腐蚀二、Python实现腐蚀算法三、Python实现膨胀算法四、Python实现阈值算法五、FPGA实现腐蚀算法总结 前言 腐蚀是指周围的介质作用下产生损耗与破坏的过程&#xff0c;如生锈、腐烂等。而腐蚀算法也类似一种能够产生损坏&#xff0c;抹去部分像素的算法。…

Open CASCADE学习|读取STEP模型文件到XDE中

目录 1、XDE组件简介 2、读取STEP模型文件到XDE中的步骤 3、案例 1、XDE组件简介 Open CASCADE的XDE&#xff08;扩展数据交换&#xff09;组件是一个关键的工具&#xff0c;它允许用户通过转换附加到几何BREP&#xff08;边界表示&#xff09;数据的附加数据来扩展数据交换…

Gafana Redis Overview dashboard

1. 简介 根据提供的 Redis 监控仪表盘 JSON 文件,包含的监控指标及其简要描述如下: redis_uptime_in_seconds: Redis 实例的运行时间(秒)。 redis_connected_clients: 当前连接到 Redis 实例的客户端数量。 redis_memory_used_bytes: Redis 实例使用的内存量(字节)。 redis_m…

SAP 消息编号 SG037

在日常外币银行结汇的时候&#xff0c;汇率小数点有可能是6位&#xff0c;但是SAP的汇率字段长度小数点后只有5位 所以&#xff0c;客户在F-02的时候&#xff0c;会出现一下报错“条目过长” 解决方法&#xff1a; 更改汇率的比率 OB08重新修改汇率 F-02界面 但是这种方法的风…

对接外卖平台接口的实践总结

当开发者需要将自己的系统或应用程序与外卖平台接口对接时&#xff0c;这项任务可能会涉及到一系列复杂的步骤和技术挑战。在本篇博客文章中&#xff0c;我们将总结对接外卖平台接口的实践经验&#xff0c;并分享关键的注意事项和最佳实践。 ### 1. 确定需求和目标 在开始对接…

主流开发语言与环境介绍

主流开发语言与环境介绍 1. 引言 随着计算机科学的不断发展&#xff0c;各种编程语言和开发环境层出不穷。选择一种适合自己的主流开发语言和环境是每个开发者都必须面临的问题。本文将为大家介绍几种目前最为流行的主流开发语言和环境&#xff0c;帮助读者选择合适的工具进行…

【leetcode热题】对链表进行插入排序

给定单个链表的头 head &#xff0c;使用 插入排序 对链表进行排序&#xff0c;并返回 排序后链表的头 。 插入排序 算法的步骤: 插入排序是迭代的&#xff0c;每次只移动一个元素&#xff0c;直到所有元素可以形成一个有序的输出列表。每次迭代中&#xff0c;插入排序只从输…

OD_2024_C卷_200分_7、5G网络建设【JAVA】【最小生成树】

package odjava;import java.util.Scanner;public class 七_5G网络建设 {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt(); // 基站数量&#xff08;节点数&#xff09;int m sc.nextInt(); // 基站对数量&#xff08;边数&…

超越DragGAN和DragDiffusion!StableDrag:基于点的图像编辑新框架(南大腾讯) 原创 Yutao Cui等 AI生成未来

超越DragGAN和DragDiffusion&#xff01;StableDrag:基于点的图像编辑新框架(南大&腾讯) 原创 Yutao Cui等 AI生成未来 文章链接&#xff1a;https://arxiv.org/pdf/2403.04437 开源地址&#xff1a;https://stabledrag.github.io/ 基于点的图像编辑自DragGAN出现以来就引…

浅谈单元测试和JUnit4使用

什么是单元测试 单元测试&#xff08;unit testing&#xff09;&#xff0c;是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义&#xff0c;一般来说&#xff0c;要根据实际情况去判定其具体含义&#xff0c;如C语言中单元指一个函数&#xff0c;Java里单…

【计算机视觉】图像处理算法(其他篇)

来源&#xff1a;《OpenCV3编程入门》&#xff0c;怀念毛星云大佬&#x1f56f;️ 说明&#xff1a;本系列重点关注各种图像处理算法的原理、作用和对比 漫水填充 漫水填充法是一种用特定的颜色填充连通区域&#xff0c;通过设置可连通像素的上下限以及连通方式来达到不同的填…

为什么传奇服务器经常被攻击?

传奇服务器攻击类型大致分三种&#xff0c;一、CC假人登录攻击&#xff0c;这种攻击类型是不断的模仿真的传奇&#xff0c;玩家在登录你的游戏&#xff0c;但一直不登录进入&#xff0c;让你的登录网关饱满&#xff0c;这个是很常见的攻击类型&#xff0c;经常到了广告时间&…

MyBatisPlus理解

MyBatisPlus是mybatis的增强&#xff0c;mybatis是数据库持久化的框架&#xff0c;但mybatisplus并不是替代mybatis&#xff0c;而是相辅相成的关系 MyBatisPlus不会对以前使用mybatis开发的项目进行影响&#xff0c;引入后仍然正常运行。 使用方法&#xff1a; 1.在引入了对…