[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错误导致大量笔记被…

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;抹去部分像素的算法。…

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. 确定需求和目标 在开始对接…

【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出现以来就引…

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

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

MyBatisPlus理解

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

使用Spring的AOP

使用Spring的AOP 一、AOP 的常用注解1.切面类Aspect2.Pointcut3.前置通知Before4.后置通知AfterReturning5.环绕通知Around6.异常通知AfterThrowing7.最终通知After8.切面顺序Order9.启用自动代理EnableAspectJAutoProxy 二、AOP注解方式开发三、AOP 全注解开发四、基于XML配置…

5G网络助力智慧文旅发展:实现旅游资源的优化配置与高效利用

目录 一、5G网络在智慧文旅中的关键作用 1、高速率传输提升数据处理能力 2、低时延助力实时决策与调度 3、大连接实现全面覆盖与精细化管理 二、5G网络助力实现旅游资源的优化配置 1、精准匹配游客需求与旅游资源 2、促进旅游资源的跨区域合作与共享 三、5G网络助力实现…

【Python】科研代码学习:七 TrainingArguments,Trainer

【Python】科研代码学习&#xff1a;七 TrainingArguments&#xff0c;Trainer TrainingArguments重要的方法 Trainer重要的方法使用 Trainer 的简单例子 TrainingArguments HF官网API&#xff1a;Training 众所周知&#xff0c;推理是一个大头&#xff0c;训练是另一个大头 之…

XSS-Labs靶场“11-13、15-16”关通关教程

君衍. 一、第十一关 referer参数注入二、第十二关 user-agent参数注入三、第十三关 cookie参数绕过四、第十五关 ng-include文件包含五、第十六关 回车代替空格 点击跳转&#xff1a; XSS-Labs靶场“1-5”关通关教程 XSS-Labs靶场“6-10”关通关教程 一、第十一关 referer参数…

[uni-app ] createAnimation锚点旋转 及 二次失效问题处理

记录一下: 锚点定位到左下角, 旋转动画 必须沿Z轴,转动 但是,此时会出现 后续动画在微信小程序失效问题 解决: 清空 this.animationData