如何更改与 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
  • 总线配置的更改仅在运行时发生。停止测量后, “网络硬件配置”对话框中看不到任何变化 。重新开始测量时,将再次获取此对话框中的值。

Vector - CAPL - CANoe硬件CANCANFD参数相关推荐

  1. Vector - CAPL - CANoe硬件配置函数 - 03

    目录 canFlushTxQueue -- 刷新已定义的Tx队列 代码示例 canSetChannelAcc -- CANoe接收过滤器设置 代码示例 canSetChannelMode -- CAN ...

  2. Vector - CAPL - CANoe硬件配置函数 - 02

    Hardware Configuration 硬件配置中包含CAN或者CANFD的参数配置,其中包含波特率.时间片1.时间片2.时间量子中的同步跳跃宽度.采样点数等信息:随着研发系统中各类型的平台化, ...

  3. Vector - CAPL - CANoe硬件配置函数 - 05

    目录 resetCan -- 重置CAN控制器 代码示例 ResetCanEx -- 重置CAN控制器的特定CAN通道 代码示例 ScanBaudrateActive -- 特定通道设置波特率 Sca ...

  4. Vector - CAPL - CANoe硬件配置函数 - 04

    目录 getChipType -- 确定当前所用的CAN控制器类型 代码示例 setCanCabsMode -- 设置 CANcab 模式 代码示例 setOcr -- 设置输出寄存器 代码示例 se ...

  5. Vector - CAPL - 获取相对时间函数

    在自动化开发中,无论是CAN通信测试,还是网络管理测试,亦或是休眠唤醒等等存在时间相关的,都可能会使用相关的时间函数:今天主要介绍的就是获取当前时间,我们知道vector工具的最大优势就是稳定和精确度 ...

  6. Vector - CAPL - 字符串函数杂项

    在脚本开发过程中,特别是相较于底层语言C/CAPL来说,一般字符串都是以ASCII码来识别,这样我们会遇到的问题就是大小写未统一的情况下无法进行字符串识别,导致测试脚本出现bug后很难查找到bug问题 ...

  7. 使用计算机的硬件及参数,硬件参数怎么看?如何选配电脑硬件?

    原标题:硬件参数怎么看?如何选配电脑硬件? 现在正值假期,很多小伙伴出去玩吧,天气太热不想出去,那就不如买个电脑学学软件,或者打打游戏那是一件多么惬意的事情呢?可是想买点电脑去不懂如何配置,我该怎么办 ...

  8. 16.集合框架(ArrayList,Vector,LinkedList,泛型(Generic),可变参数,增强for循环)

    1.ArrayList存储字符串并遍历 JDK1.8新增的一个方法也能遍历集合 void forEach(Consumer<? super E> action) 执行特定动作的每一个元素的 ...

  9. 瑞芯微RK3188硬件规格参数,RK3188芯片处理器介绍

    RK3188是一款适用于移动电话.个人移动互联网设备和其他数字多媒体应用的低功耗.高性能处理器,并将四核Cortex-A9与NEON和FPU协处理器分别集成在一起. 许多嵌入式强大的硬件引擎为高端应用 ...

最新文章

  1. 前端工程师成长之多读好书
  2. 如何生成存储器配置文件?
  3. opengl 预览摄像头
  4. python程序代码解析_Python源码分析3 – 词法分析器PyTokenizer
  5. 关闭SQLite3中的journal暂存档
  6. oracle10g 监听服务无法启动
  7. 【IDEA工具】java通过IDEA打包项目
  8. python临时笔记
  9. 问题 I: 简单的整数排序
  10. 将Vim打造成Python快速开发环境(一)
  11. sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
  12. docker安装教程
  13. python简易病毒制作
  14. java幸运抽奖项目
  15. 用matlab开环增益,自控原理实验仿真部份
  16. simplelink_cc13x0_sdk中GPIO的使用
  17. MATLAB打开后一直在初始化,或者初始化很慢问题
  18. 追星必备神器 -- 爱豆APP
  19. 在阿里云盘扩容过程中遇到的坑
  20. Delphi如何开发游戏外挂

热门文章

  1. 关于三星Note4无限重启
  2. JavaScript “跑马灯”抽奖活动代码解析与优化(一)
  3. 编写10个线程,第一个线程从1加到10,第二个线程从11加到20…第十个线程从91加到100, 最后再把10个线程结果相加。
  4. 使用Camera2实现预览功能
  5. C语言中函数名的意义深究
  6. HTML期末大学生网页设计作业——奇恩动漫HTML (1页面) HTML+CSS+JS网页设计期末课程大作业...
  7. SSM框架整合+配置
  8. 赶紧收藏起来!新手做自媒体赚了1W多,全靠这4个素材工具
  9. 微软内置输入法使用指南
  10. 台式计算机操作系统的安装,自己要怎么给台式电脑安装windows操作系统