[AutoSar]BSW_Com08 CAN driver 模块介绍及参数配置说明 (二)

目录

  • 关键词
  • 平台说明
  • 一、CanControllers
  • 二、CanTxProcessing
  • 三、CanFilterMask
  • 四、CanHardwareObjects
  • 五、CanGeneral

  

关键词

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

平台说明

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

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

一、CanControllers

在这里插入图片描述
  1.CanBasisAddressEnum:选择用哪个CAN 控制器。
  2.Busoff Processing:选择出来busoff 的方式,中断还是轮询(Can_MainFunction_BusOff())来通知上层。
  3.Common CAN:针对特殊平台的选项,例如可以将两个物理CAN通道连接到一个逻辑CAN控制器时,激活此参数。这允许你为这个控制器使用更多的FullCAN对象。只能在第二个物理通道上配置Rx FullCAN对象。
  4.CanControllerActivation:是否使用该控制器。
  5.CanCpuClockRef:引用在MCU模块配置的时钟。
  6.Interrupt Priority:CAN模块的中断优先级。发送、接收共用同一个中断优先级。
  7.CanRxProcessing:接收方式:轮询还是中断。
  8.CanWakeupProcessing:唤醒处理方式:轮询还是中断。
  9.CanTxProcessing:发送方式:轮询还是中断。
  10.CanWakeupSourceRef:引用在ECUM中定义的唤醒源。
  
  
  
  

二、CanTxProcessing

在这里插入图片描述
  1.Baudrate Clock:CAN模块配置的波特率的时钟,通过Controller Default Baudrate定义。
  2.Baudrate Prescaler:简称BRP,波特率预分频,通过CanBaudrateClock计算。
  3.Controller Baud Rate:设置CAN波特率的值
  4.Controller Baud Rate Config ID:该ID值被SetBaudrate函数作为参数使用,用于设置哪个控制器的波特率。
  5.Controller Prop Seg:传播段的时间。它定义了CAN总线上发送输出驱动器和收发电路的物理传播延迟。
  6.Controller Segl:采样点前的时间段。
  7.Controller Seg2:采样点后的时间段。
  8.Controller Sync Jump Width:同步跳跃宽度,用于重同步的时间。
采样点简介:
在这里插入图片描述

Sync Seg(同步段):长度固定为1Tq, 所以配置工具中没有它的配置.
在Vector的配置工具中, 定义Prop+Seg1 = TSeg1, Seg2 = TSeg2,
以采样点为80%计算:
(同步段(1) + TSeg1)/(同步段+Tseg1+Tseg2) = 80%,如果一个BitTime中Tq总和固定了,比如为16个Tq,同步段(1) + TSeg1 + TSeg2 = 16。根据这个二元一次方程组则很容易算出各段的值.Sync Seg固定为1, TSeg1 = 11, Seg2 = 4.
SyncJumpWidth:它的值是用于调整相位缓冲段1和相位缓冲段2的值, 用于CAN的同步,比如相位缓冲段1向前增长了3个,则相位缓冲段2向后减少3个Tq.—也就是一次同步中相位缓冲段改变的长度.所以Sync Jump Width的设置有2个原则:
Sync Jump Width <= 3,Sync Jump Width <= Min(Seg1, Seg2), 因为一次同步调整的幅度不能超出相位缓冲段1和2中任意一个。

三、CanFilterMask

在这里插入图片描述
根据MASK 将不符合的报文过滤(只用于接收报文)。
公式:Received CAN ID &.Mask== Code。

四、CanHardwareObjects

在这里插入图片描述
该配置主要是配置硬件物理层的参数。
  1.Common CAN Node:如果参数Common CAN被激活,那么该参数用于该硬件message object 选择它所属的物理CHANNEL。注意:只有RX_FULLCAN的硬件message object才可以配置,其他的message object的值都是A
  2.Controller Ref:该 message object所属的 CAN 节点。
  3.Enable Polling Processing:该 message object是否使用轮循的方式去发送CAN报文。
  4.CanFdPaddingValue:该值用于填充CAN FD帧中> 8字节的未指定数据进行传输。这是必要的,因为如果> 8字节,DLC的可能值是离散的。
  5.Handle Type:FULL CAN或者 BASIC CAN
**Full CAN:**一般表示仅存在1个的Hardware Object与之对应,且该Full CAN类型的Hardware Object与特定的CAN ID Message绑定;
**Basic CAN:**一般表示存在1个或者多个的Hardware Object与之对应,且该Basic CAN类型的Hardware Object与非特定的CAN ID Message或者一定范围内的CAN ID Message绑定;

  6.Id Type:标准帧或扩展帧。
  7.Id Value:CAN ID。
  8.Main Function RW Period Ref:引用一个读写发送周期的值,该值在CanGeneral→CanMainFunction RWPeriods中定义。
  9.Object Hw Handle:定义硬件message object的索引号。
  10.Object Hw Size:定义该消息使用硬件缓冲区的个数。
  11.Object Id:定义该硬件message object所属的逻辑handle的ID号。
  12.Object Type:接收还是发送。
  

五、CanGeneral

后续更新

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

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

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

相关文章

游戏引擎分层简介

游戏引擎分层架构&#xff08;自上而下&#xff09; 工具层&#xff08;Tool Layer&#xff09; 在一个现代游戏引擎中&#xff0c;我们最先看到的可能不是复杂的代码&#xff0c;而是各种各样的编辑器&#xff0c;利用这些编辑器&#xff0c;我们可以制作设计关卡、角色、动画…

数据类型和变量

1.数据类型 在Java中数据类型主要分为两类&#xff1a;基本数据类型和引用数据类型。 基本数据类型有四类八种&#xff1a; 1. 四类&#xff1a;整型、浮点型、字符型以及布尔型 2.八种&#xff1a; 整形是分为如上四种 byte short int long 浮点型分为 float 和double …

【大厂AI课学习笔记NO.64】机器学习开发框架

机器学习开发框架本质上是一种编程库或工具&#xff0c;目的是能够让开发人员更容易、更快速地构建机器学习模型。 机器学习开发框架封装了大量的可重用代码&#xff0c;可以直接调用&#xff0c;目的是避免“重复造轮子’大幅降低开发人员的开发难度&#xff0c;提高开发效率…

Spring框架精髓:带你手写IoC

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️…

足球青训俱乐部|基于Springboot的足球青训俱乐部管理系统设计与实现(源码+数据库+文档)

足球青训俱乐部管理系统目录 目录 基于Springboot的足球青训俱乐部管理系统设计与实现 一、前言 二、系统设计 1、系统架构设计 三、系统功能设计 1、管理员登录界面 2、公告信息管理界面 3、学员管理界面 4、商品信息管理界面 5、课程安排管理界面 四、数据库设计…

ArcGIS Runtime For Android开发之符号化和图层渲染

一、用Symbol对要素进行符号化 首先我们看一下Symbol 接口关系&#xff1a; 1、SimpleFillSymbol 他是用来进行简单的Graphic面要素填充符号化的&#xff0c;它可以设置要素的填充颜色&#xff0c;边线颜色、线宽&#xff0c;其用法如下&#xff1a; Polygon polygonnew Po…

常用的电阻、电容的种类和应用场合?

电阻的 a.按阻值特性:固定电阻、可调电阻、特种电阻(敏感电阻)&#xff0c;不能调节的,我们称之为固定电阻,而可以调节的,我们称之为可调电阻.常见的例如收音机音量调节的,主要应用于电压分配的,我们称之为电位器. b.按制造材料:碳膜电阻、金属膜电阻、线绕电阻&#xff0c;捷…

二叉树叶节点个数,根节点个数,树的深度,查找数据为x的节点

文章目录 一、计算二叉树叶节点个数二、叶节点的个数 引言&#xff1a;补充树的概念 节点的度&#xff1a;一个节点含有的子树的个数称为节点的度 叶节点或终端节点&#xff1a;度为0的节点称为叶节点 节点的层次&#xff1a;从根开始为第一层&#xff0c;以此类推 树的度&…

【Godot 4.2】Tree控件与TreeItem完全解析

概述 本篇是控件完全解析系列之一&#xff0c;主要总结一下Tree控件与TreeItem的使用。 Tree控件是一个非常强大的控件&#xff0c;尤其是在编写一些相关的程序或编辑器插件时&#xff0c;非常适合展示树形组织的节点型数据。 本篇将从简单的添加根节点&#xff0c;根节点子…

uniapp和vue项目配置多语言,实现前端切换语言

在uniapp中配置多语言功能&#xff0c;实现前端切换语言&#xff0c;可以按照以下步骤进行&#xff1a; 1. 创建语言包 首先&#xff0c;创建一个名为 lang 的目录&#xff0c;并在该目录下为每种支持的语言创建对应的JSON或JS文件。例如&#xff1a; lang/en.js&#xff08…

Microsoft PyRIT能自动化完成AI红队的任务

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

《异常检测——从经典算法到深度学习》26 Time-LLM:基于大语言模型的时间序列预测

《异常检测——从经典算法到深度学习》 0 概论1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法3 基于One-Class SVM的异常检测算法4 基于高斯概率密度异常检测算法5 Opprentice——异常检测经典算法最终篇6 基于重构概率的 VAE 异常检测7 基于条件VAE异常检测8 Donut: …

Windows10 安装Neo4j流程

1、下载并安装ava运行环境 官网链接&#xff08;需要注册Oracle账号&#xff09;&#xff1a;https://www.oracle.com/java/technologies/downloads/ 根据自己Neo4j版本确认需要的JDK版本 百度网盘链接&#xff1a; 链接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/…

Sodinokibi勒索病毒最新变种,解密工具更新到2.0版本

Sodinokibi勒索病毒 Sodinokibi勒索病毒又称REvil&#xff0c;自从2019年6月1日&#xff0c;GandCrab勒索病毒运营团伙宣布停止运营之后&#xff0c;Sodinokibi勒索病毒马上接管了GandCrab的大部分传播渠道&#xff0c;同时它也被称为是GandCrab勒索病毒的“接班人”&#xff…

VMware 虚拟机安装windows 10操作系统

先提前准备好镜像文件 1.创建新的虚拟机 2.选择自定义&#xff0c;然后下一步 v Windows 建议选择2G以上&#xff0c;下一步 选择网络地址转换&#xff08;NAT&#xff09;&#xff0c;下一步 这里可按自己的需求来分区&#xff0c;也可以安装好后再分区 选择立即重启&#xff…

Vue组件置底方法,ElementPlus布局

问题描述 在开发网页时使用了elementplus的el-container组件 组件里分成了main和footer两块&#xff0c;但是想要将两个按钮置底在容器底部遇到了困难 如下图所示&#xff0c;在网页开发者工具可见两个按钮与左侧的图片没有底部对齐 此时我的代码是这样 <el-footer>&…

文件底层的深入理解之文件输入输出重定向

目录 一、文件fd的分配规则 二、对输出重定向现象的理解 三、输出输入重定向的简单实现 1、输出重定向 2、输入重定向 一、文件fd的分配规则 最小的没有被使用的数组下标&#xff0c;会被分配给最新打开的文件。 二、对输出重定向现象的理解 正如上面这段代码所示&#xff0…

从零开始学习Netty - 学习笔记 -Netty入门【半包,黏包】

Netty进阶 1.黏包半包 1.1.黏包 服务端代码 public class HelloWorldServer {private static final Logger logger LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());public static void main(String[] args) {NioEventLoopGroup bossGroup new NioEventL…

Ubuntu上Jenkins自动化部署Gitee上VUE项目

文章目录 1.安装NodeJS插件2.配置全局工具配置-NodeJS环境变量3.新建自由风格的软件项目任务4.配置General配置丢弃旧的构建配置参数化构建过程 5.配置源码管理6.构建触发器7.设置构建环境8.配置构建步骤9.配置构建后操作10测试构建 前文链接&#xff1a; Ubuntu上Jenkins自动…