Vector - CAPL - CANoe硬件CANCANFD参数

news2024/12/29 8:18:02

如何更改与 CAPL 的 CAN 总线通信的波特率?

解决办法

        通常我们常见的配置方法主要有两种方法可以使用 CAPL 更改波特率,使用函数 setBtr或使用 canSetConfigurationcanFdSetConfiguration。

1. setBtr(long channel, byte btr0, byte btr1)

        setBtr仅适用于 CAN,不适用于 CAN FD。该函数的参数是 CAN 通道号和两个总线时序寄存器:BTR0 和 BTR1。根据使用的 CAN 控制器,它们采用不同的值来确定波特率、采样点、采样数和同步跳转宽度,不过该函数无法直接配置波特率。

       该函数的参数的获取方法我们可以通过Network Hardware Configuration配置获取需要的参数,打开方法如下图: 

        在功能区中转到 Hardware并选择按钮Network Hardware。网络硬件配置打开。选择所需的 CAN 通道并单击“setup”。如果您更改波特率 您可以在下表中看到两个 BTR 的所有有效值。现在您可以在列出的组合中选择 BTR 值作为函数的输入。

setBtr

注意:请确保在使用 CAPL 函数调用函数后执行 CAN 控制器的重置resetCAN().

2. canSetConfiguration(long channel, canSettings setting) 
canFdSetConfiguration(long channel, canSettings abrSettings, canSettings dbrSettings)

        函数canSetConfiguration和canFdSetConfiguration分别适用于CAN和CANFD,这2个函数可以直接配置波特率;它们的功能与函数setBtr一样,在设置波特率的时候我们一定要确定当前被测件和CANoe通道可以配置的参数值;并且在修改波特率的时候一定要与其他参数一起设置,否则可能设置的波特率无效,这里需要参考CANSetting结构体,具体如下:波特率

  • baudrate:波特率
  • tseg1tseg2:时间片中时间段1和2的长度
  • sjw:时间量子中的同步跳跃宽度
  • sam:采样点数(1或3)
  • flags

                canGetConfiguration:

                        bit 0、bit 1:0,未知传输模式;1,低速;2:单线;3,高速

                        bit 8:0x100,该通道被配置为高速CAN

                        All other:保留值

                canSetConfiguration:

                        bit 0:0,正常模式;1,静默模式(确认未创建)

                        All Other:保留值全部设置为0

        函数canSetConfiguration和canFdSetConfiguration虽然大部分参数都是一致的,不过还是有一定的差异,下面我们一起来看下。

CAN:

        CAN相关的参数我们可以通过Network Hardware Configuration去查看并获取相关的参数;包含波特率、tseg1和tesg2可以在下图中看到,并且可以通过每个部分的时间份额获得,下面示例中,tseg1 = 5和tseg2 = 2,,此处flags的值设置为0(正常模式)。

CANFD:

        在输入字段中输入所需的波特率。单击三个点时,将打开位时序配置(右侧)的 对话框。tseg1、tseg2sjw。采样点数始终1用于 CAN FD。此处flags的值设置为0(正常模式)。

注意:使用这些函数设置值后,CAN 控制器会自动复位。

重要说明:

  • 更改波特率后,应验证正确的值。这可以使用函数canGetConfiguration和来完成canFdGetConfigurations
  • 总线配置的更改仅在运行时发生。停止测量后, “网络硬件配置”对话框中看不到任何变化 。重新开始测量时,将再次获取此对话框中的值。

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

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

相关文章

flink watermark介绍及watermark的窗口触发机制

Flink的三种时间 在谈watermark之前,首先需要了解flink的三种时间概念。在flink中,有三种时间戳概念:Event Time 、Processing Time 和 Ingestion Time。其中watermark只对Event Time类型的时间戳有用。这三种时间概念分别表示: …

[golang gin框架] 30.Gin 商城项目- 购物车商品确认页面以及收货地址的增删改查

一.界面展示 购物车页面 增加功能: 展示用户加入的购物车数据,并点击‘去结算’按钮, 判断是否选中商品 确认订单页面 展示 选中的购物车商品数据(商品标题,图片,数量等)以及 结算的数据(总的价格,总的数量…

【Spring】初识MyBatis (二)

(接上一篇【Spring】[初识MyBatis(一)]) 目录 1.2 根据用户名模糊查询用户信息2 添加客户3 更新用户4 删除用户 1.2 根据用户名模糊查询用户信息 【示例6-2】模糊查询的实现只需要在映射文件中通过元素编写相应的SQL语句&#x…

华为手机如何进入开发者模式?连接studio真机调试

对于安卓开发者来说,真机调试是非常好的选择,对电脑配置也没有过分的要求。如果采用Android Studio自带安卓虚拟机调试,真的很慢,一点都不友好。 真机调试的步骤:打开设置->关于手机->版本号,然后连…

并发编程12:AQS

文章目录 12.1 前置知识12.2 AQS入门级别理论知识12.2.1 是什么?12.2.2 AQS为什么是JUC内容中最重要的基石12.2.3 能干嘛?12.2.4 小总结 12.3 AQS源码分析前置知识储备12.3.1 AQS内部体系架构图12.3.2 AQS内部体系架构----AQS自身12.3.1 AQS内部体系架构…

一、H3C-NE实验-抓包实验

实验一:抓包实验(PING包) 实验拓扑结构图 1. 修改设备名称 步骤1:启动设备 步骤2:在路由器1,进入系统视图,并修改设备名称为R1 步骤3:在路由器2,进入系统视图&#xf…

【Java|基础篇】类和对象

文章目录 1. 前言2. 什么是面向对象3. 类的定义4. 类的实例化5. 对象的构造及初始化6. this引用7. 总结 1. 前言 本篇文章主要讲解了下面三个问题 类的定义和实例化构造方法this关键字 2. 什么是面向对象 众所周知面向过程和面向对象是两种重要的编程思想,而Java是属于面向…

C语言函数大全-- v 开头的函数

C语言函数大全 本篇介绍C语言函数大全-- v 开头的函数 1. va_start 1.1 函数说明 函数声明函数功能void va_start(va_list ap, last_arg);用于初始化一个 va_list 类型的变量,使其指向可变参数列表中的第一个参数 参数: ap: 一个指向 va_…

我的创作纪念日(个人感悟)

昨天2023年5月10日是我成为创作者的第128天纪念日,感谢CSDN官方的纪念信让我铭记这特殊的一天。 机缘 要说与CSDN的初次相遇,还是2022年的高考结束完的暑假,当时对于大学的学习没有什么概念,当初的高考志愿报的有计算机相关的专…

spring集成mybatis的原理

spring是怎样和mybatis继承的? 在idea里点mapper.queryOne()直接跳到了接口或xml,它究竟是怎样利用jdbc执行的? 我直接调用mapper.queryOne是怎么使用的sqlsession?怎么去connect的? mybatis是怎样根据mapper找到对应的…

【Java面试】Java并发基础(1)

文章目录 1. 可见性,有序性,原子性2. java中并发和并行3. 通常线程有哪几种使用方式? 1. 可见性,有序性,原子性 可见性(Visibility): 指一个线程修改了共享变量的值之后,其他线程能…

学习网络通信必备的DNS解析和Socket通信知识

OkHttp是一个开源的网络请求框架,由Square公司开发。它通过封装Java底层的HttpURLConnection和Okio等库,提供一个简单易用的API,让开发人员能够方便地向服务器发送HTTP/HTTPS请求,支持异步请求和响应回调,并提供丰富的…

未来已来, 新能源与IT的技术碰撞;学习Android车载开发的必然趋势

Android工程师前景 Android车载工程师扮演着关键的角色,他们致力于将最新的Android技术和汽车技术相结合,为汽车行业提供优质的产品。随着越来越多的汽车制造商投资于智能汽车技术和车联网技术,Android车载工程师成为了一个越来越重要的职业…

MATLAB实现二维稳态导热

MATLAB实现二维稳态导热 一、理论基础二、代码实现 一、理论基础 步骤: Step.1 二维模型传热控制微分方程的确定,具体推导可以在任何一本传热学的书中找到。 d 2 T d x 2 d 2 T d y 2 0 \frac{d^{2}T}{dx^{2}}\frac{d^{2}T}{dy^{2}}0 dx2d2T​dy2d2T…

Ansible 自动化运维工具(一)——部署以及命令行模块

文章目录 一、 ansible 的概述1、ansible简介2.、官方网站3、ansible 的特点4、ansible的工作机制5、ansible的组成模块 二、ansible部署1、Asible的安装 三、ansible 命令行模块1、command 模块2、shell 模块3、cron 模块4、user 模块5、group 模块6、copy 模块7、file 模块8、…

【ros/ros2】ros1和ros2的区别-要点记录

dds data distribution service,数据分发服务 rcl ros client libraries,ros客户端库文件 rmw ros middle ware interface,ros中间件接口 lcn life cycle node,生命周期节点,受控节点 lmn lifecycle manageme…

C++二叉树递归方法存入和三种递归方法读出(前序,中序,后序)

#include <stdio.h> #include <malloc.h> typedef struct op //定义子树结构 { int data; struct op *lchild; struct op *rchild; }treestruct; treestruct *createtree() //这里这种表达形式意思是bittree类型的函数 最终要返回bitt…

【Linux】版本管理器Git

&#x1f3d6;️作者&#xff1a;malloc不出对象 ⛺专栏&#xff1a;Linux的学习之路 &#x1f466;个人简介&#xff1a;一名双非本科院校大二在读的科班编程菜鸟&#xff0c;努力编程只为赶上各位大佬的步伐&#x1f648;&#x1f648; 目录 前言一、Git是什么二、Git有什么…

开源C#代码生成器,专注.NET,Sqlserver,最简单,最干净,支持自编码的开源工具,SmartSoftHelp 开发辅助优化工具

开源C#代码生成器&#xff0c;专注.NET&#xff0c;Sqlserver&#xff0c;最简单&#xff0c;最干净&#xff0c;支持自编码的开源工具&#xff0c;SmartSoftHelp 开发辅助优化工具&#xff01; 下载地址&#xff1a;https://pan.baidu.com/s/1XLL_fLxVTw4erYZLj8-MzA?pwd888…

搭建python运行环境

安装Miniconda3 清华镜像 https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/ 下载 安装 next————agree————这俩选哪个都行&#xff0c;他选的第二个————安装路径———— 配置系统环境变量 Path miniconda3所在的路径 D:\Autils\miniconda3 Scri…