【CAN】采样点介绍及测试方法

文章目录

  • 1 什么是采样点
  • 2 为什么需要采样点
  • 3 采样点的计算公式
  • 4 VH6501测试原理和方法
    • 4.1 VH6501测试采样点原理
    • 4.2 VH6501测试方法


>>返回总目录<<

1 什么是采样点

采样点是节点判断信号逻辑电平的位置,是CAN控制器读取总线电平,并解释各个比特的逻辑值的时间点。

2 为什么需要采样点

合适的采样点位置是CAN控制器正常通信的保证。对于CAN网络这个整体而言,多个节点要尽量保持同一个采样点。若网络中节点采样点不一致可能会导致同样的采样频率出现采样错误,进而使整个网络出现故障。

3 采样点的计算公式

CAN控制器的最小时间周期称作时间份额(Time quantum,简称Tq),它是通过对芯片晶振周期进行分频而得来的。一个位时间由若干个Tq组成(通常为8到25个),同时根据功能分为4个阶段:同步段、传播段、相位缓冲段1和相位缓冲段2。在这里插入图片描述
在这里插入图片描述
采样点计算公式:CAN Simple Point = (SS+PTS+PBS1)/(SS+PTS+PBS1+PBS2)
仲裁段采样点计算得(1+7+8)/(1+7+8+4)*100%=80%
数据段采样点计算得(1+7+6)/(1+7+6+6)*100%=70%

4 VH6501测试原理和方法

4.1 VH6501测试采样点原理

采用VH6501(俗称干扰仪)作为总线干扰设备,连接方式如下。在这里插入图片描述
基本测试原理:干扰一帧报文中某一位的采样点附近的总线电平,利用CAN错误帧机制,根据ECU是否发送错误帧来判断是否出现采样错误,进而计算ECU的采样点。在这里插入图片描述
具体步骤如下:

  1. VH6501在检测到总线空闲时,发送高优先级的干扰报文(报文ID:0x00),完成一个干扰循环。
  2. 每次干扰循环发送结束,以Tq为单位微调CRC界定符位,使其逐次缩短,相应ACK位长度增加,保证整帧报文长度不变。
  3. 当显性电平依次由后往前移,移至ECU采样点位置,会被ECU采到并判定CRC界定符位为高电平,出现格式错误,ECU随即发送错误帧,并被CANoe采集到,如下图所示:
    在这里插入图片描述测试时需要将CANoe逻辑通道(VH6501所在通道)的采样点选取尽量靠前,避免VH6501本身先被干扰到而报错。另外,每次干扰循环结束,VH6501会发送一定数目的正常报文,使DUT始终保持在Error Active状态,该状态下发送的主动错误帧容易被识别。

4.2 VH6501测试方法

  1. 波特率和采样点配置与软件所测CAN一致,并勾选Activate选项使能VH6501总线干扰功能。
    在这里插入图片描述
  2. VH6501的采样点设置尽量小于ECU上CAN控制器采样点,确保优先干扰到DUT的采样点,BTL Cycles和SJW选择数值较大的组合。在这里插入图片描述
  3. 点击⚡符号,然后点击Active Sample Point Test开始测试。在这里插入图片描述
  4. 下图红色框线中时采样点的测试结果。79.38%的测量结果是VH6501逐步缩短CRC Delimiter位至该位宽度为254ticks(500K通讯速率下标称位宽度为320ticks)时DUT报错,即表明干扰到DUT采样点,计算254/320得到。右侧的计算结果是根据DUT采用的时钟频率、预分频值考虑了DUT标称位宽度的TQ数量后,经过换算得到仲裁段采样点位置在80.00%~80.63%之间,数据段采样点在77.50%~80.00%之间。
    在这里插入图片描述

参考:
[1] 基于VH6501的CAN/CAN FD采样点测试
[2] 科普系列:CAN/CAN FD 采样点及其测试简介
[3] 如何使用VH6501进行busoff和采样点测试

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

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

相关文章

Big Data and Cognitive Computing (IF=3.7) 计算机/大数据/人工智能期刊投稿

Special Issue: Artificial Cognitive Systems for Computer Vision 欢迎计算机/大数据/人工智能/计算机视觉相关工作的投稿&#xff01; 影响因子3.7&#xff0c;截止时间2024年12月31日 投稿咨询&#xff1a;lqyan18fudan.edu.cn 投稿网址&#xff1a;https://www.mdpi.com/j…

【多模态检索】Coarse-to-Fine Visual Representation

快手文本视频多模态检索论文 论文&#xff1a;Towards Efficient and Effective Text-to-Video Retrieval with Coarse-to-Fine Visual Representation Learning 链接&#xff1a;https://arxiv.org/abs/2401.00701 摘要 近些年&#xff0c;基于CLIP的text-to-video检索方法…

二维旋转变换

求点 P(x1, y1) 绕点 Q(x2, y2) 逆时针旋转 θ 得到的点的坐标 先看绕原点旋转的情况&#xff1a; 如图所示点 v 绕 原点旋转 θ 角&#xff0c;得到点v’&#xff0c;假设 v点的坐标是(x, y) &#xff0c;那么可以推导得到 v’点的坐标&#xff08;x’, y’)&#xff1a; { x …

JVM主要知识点详解

目录 1. 性能监控和调优 1.1 调优相关参数 1.2 内存泄漏排查 1.3 cpu飙⾼ 2. 内存与垃圾回收 2.1JVM的组成&#xff08;面试题&#xff09; 2.2 Java虚拟机栈的组成 2.3 本地方法栈 2.4 堆 2.5 方法区&#xff08;抽象概念&#xff09; 2.5.1 方法区和永久代以及元空…

【终于明白为啥有团队禁止使用lombok】

终于明白为啥有团队禁止使用lombok 背景我们的问题难点如何解决是什么东西&#xff1f;最后 背景 团队内部&#xff0c;idea版本不一样&#xff0c;有2021&#xff0c;有2022&#xff0c;有2023。 项目pom中lombok版本过低。 我们的问题 有用较新版本idea的同学&#xff0c;…

计算机组成原理【CO】Ch2 数据的表示和应用

文章目录 大纲2.1 数制与编码2.2 运算方法和运算电路2.3 浮点数的表示和运算 【※】带标志加法器OFSFZFCF计算机怎么区分有符号数无符号数? 【※】存储排列和数据类型转换数据类型大小数据类型转换 进位计数制进制转换2的次幂 各种码的基本特性无符号整数的表示和运算带符号整…

【电控笔记6.2】拉式转换与转移函数

概要 laplace&#xff1a;单输入单输出&#xff0c;线性系统 laplace 传递函数 总结

使用Python模仿文件行为

在Python中&#xff0c;你可以通过文件操作函数&#xff08;如open()函数&#xff09;以及模拟输入输出流的库&#xff08;如io模块&#xff09;来模拟文件行为。下面是一些示例&#xff0c;展示了如何使用这些工具在Python中模拟文件行为。 1、问题背景 在编写一个脚本时&…

MSQL DML数据操作语言

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 往期热门专栏回顾 专栏…

随机游走的艺术-图嵌入表示学习

图嵌入引入 机器学习算法&#xff1a; 厨师 样本集&#xff1a; 食材 只有好的食材才能做出好的饭菜 我们需要把数据变成计算机能够读懂的形式&#xff08;将数据映射成为向量&#xff09; 图嵌入概述 传统图机器学习 图表示学习 自动学习特征&#xff0c;将…

【Altium Designer 20 笔记】PCB铺铜过程

PCB铺铜步骤 切换到Keep-Out Layer&#xff08;禁止布线层&#xff09; 使用shifts键切换单层显示 画禁止布线范围&#xff08;防止铺铜过大&#xff09; 切换到需要铺铜的层 选择铺铜网络&#xff0c;通常是地&#xff08;GND&#xff09;或某个电源网络 隐藏覆铜&#xff1a;…

leetcode:42.接雨水

单调栈解题思路&#xff1a; 需要知道当前遍历到的元素左边和右边第一个比该元素大的元素。 如果当前遍历到的元素大于栈顶元素&#xff0c;则该元素为栈顶元素右边第一个比它大的元素&#xff0c;此时&#xff0c;栈顶元素的栈内相邻元素是该元素左边第一个比它大的元素。【…