解读CANDT测试项-采样点测试

news2024/10/6 14:34:04

原标题:解读CANDT测试项-采样点测试

一、为什么要进行采样点测试?

本文引用地址:http://www.eepw.com.cn/article/202004/411611.htm

为了保证有效的通信,对于一个只有两个节点的CAN网络,其两边距离不超过最大的传输延迟和每个节点的时钟容差能够正确地接收和解码每个传输的消息,这需要每个节点都能对每个位正确采样。

CAN总线的每一帧可以看作一连串的电平信号。大多数设备使用单点采样,也就是在一个位时间内从采样点的位置读取一个电平信号,以此确定这个“位”的显隐性。在CAN网络中,当每个节点的采样点位置不一样时,由于总线过长引起的通信延迟或现场对总线的干扰,就容易发生读取的电平不一致现象,产生CRC错误报文。为了提高CAN网络的通信成功率,各节点的采样点应设置一致。

二、如何计算采样点?

在讲采样点之前,我们先了解一下位时间的相关定义。一个位时间可以看作一条水平的时间轴,一般分为四个段,如图1:

图1  位时间图

●   同步段:通过此段实现时序调整,一个位的输出从同步段开始;用于同步总线上的各个节点,跳变沿产生在此段内;通常为1Tq;

●   传播段:用于补偿信号通过网络和节点传播的物理延迟;传播段长度应能保证2倍的信号在总线的延迟;其长度可编程(1-8Tq);

●   相位缓冲段1和相位缓冲段2:重同步在此段作用,用于补偿细微的时钟误差。作用方式为加长相位缓冲段1或者缩短相位缓冲段2;

●   Tq:是指一个最小时间量子,来源于对系统时钟可编程的分频;

●   时间段1:为了方便编程,许多CAN模块将传播段和相位缓冲段1合并为一个时间段(TSEG1)。

根据图1,采样点的计算公式如下:

公式1

公式2

Prescaler:波特率分频系数

例:时钟频率为8M,Prescaler = 2,Tseg1 = 13,Tseg2 = 2;

由公式2 可得:

由公式1可得:

图2  采样点配置

有图2可以看出:在同一波特率的条件下,Tseg1、Tseg2、Prescaler有不同的组合,不同的组合有不同的采样点配置,可自行配置适合采样点位置;

三、CANDT采样点测试的测试原理是什么?

连接CANDT设备和电脑后,再在电脑上打开CANDT软件,选中“采样点”并设置好对应的参数,然后开始测试即可进行采样点的测试,如图3,最终的测试结果为:84%。

图3  CANDT测试结果

CANDT测试原理及过程如下:

1.         用CANScope发送ID 为0的报文100帧,在此报文的第一个ID位(注1[i])的0%处施加一个宽度为27%位宽(注2[ii])的干扰(如图4),记录这100帧报文中出现的错误帧数,但由于此时距离采样点位置较远,暂时不会出现错误帧。

图4  干扰1

2.   27%位宽的干扰逐渐以1%位宽的步进向右移动,在干扰的右边沿快靠近采样点时(如图5),由于通信延迟的关系,此时采到的电平和CANScope发送的不一致了,导致DUT接收到的CRC校验和DUT计算的CRC校验不一致,DUT就会主动发出错误帧,把每一个不同干扰位置的错误帧数记录下来。从此刻开始,继续往右步进,错误帧数也会有所增加。

图5  干扰2

3.   继续步进,当干扰的左边沿位置过了采样点后(如图6),此时DUT就不会再出现错误帧了。因此,最后一个出现错误帧的位置就是我们想要知道的采样点位置。

图6  干扰3

四、注意事项

1.   确保CAN总线上的终端电阻为60Ω。当CAN总线上终端电阻为120Ω或其他值时,虽然在正常情况下可以通信,但在采样点测试时,会对结果产生一定的偏差。

2.   采样点测试过程中不允许DUT发送报文,因为采用的是发送100帧报文和检测错误帧的方法,DUT发送报文会造成判断的误差,影响测试结果的准确性。

其他参考资料:https://blog.csdn.net/weixin_39990660/article/details/111631715

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

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

相关文章

day12 共享内存(内存映射的使用、注意事项、进程间通信、systemV共享内存)

内存映射的基本使用 概念: 功能共享内存可以通过mmap()映射普通文件。 是一个磁盘文件与内存中的一个缓冲区相映射,进程可以像访问普通内存一样对文件进行访问,不必在调用read 、write。 mmap(&#xf…

ChatGPT 与 MindShow 一分钟搞定一个PPT

前言 PPT制作是商务、教育和各种场合演讲的重要组成部分。然而,很多人会花费大量时间和精力在内容生成和视觉设计方面。为了解决这个问题,我们可以利用两个强大的工具——ChatGPT和MindShow,来提高制作PPT的效率。 一、ChatGPT 与 MindShow…

JUC-01 线程的创建和状态转换

本次我们主要讲三个问题 线程是什么?线程有哪些状态?各状态间的转换了解吗?创建线程的3种方法你都了解吗? 1. 线程是什么?(了解即可) 进程: 进程是一个具有一定独立功能的程序在一…

四次挥手刨根问底19问详解,全网最全

1.请描述一下TCP连接的四次挥手过程? 回答:TCP连接的四次挥手过程包括以下步骤: 步骤1:客户端向服务器端发送一个FIN报文段,请求关闭连接。 步骤2:服务器端收到FIN报文段后,向客户端发送一个…

python列表,元组和字典

1、python列表 1.1.列表的定义 list是一种有序的集合、基于 链表实现,name[ ] ,全局定义:list2list([ ])。 1.2下标索引 python不仅有负索引也有正索引。正索引从0开始,负索引从-1开始。这两个可以混用,但指向还是那个位置 a[0]a[-9]//length为10的数组a1.3列表的切片 列表可…

navicat如何使用orcale(详细步骤)

目录前言操作1.连接数据库2.建库问题总结前言 看过我昨天文章的兄弟姐妹都知道最近接手另一个国企项目,数据库用的是orcale。实话实说,也有快三年没用过orcale数据库了。 这期间问题不断,因为orcale日渐消沉,网上资料也是真真假…

UE4 回放系统升级到UE5之后的代码报错问题解决

关键词: UE4 回放系统 升级 UE5 报错 DemoNetDriver GetDemoCurrentTime GetDemoTotalTime 背景 照着网上教的UE4的回放系统,也叫重播系统,英文Replay。做完了,测试运行正常,可升级到UE5却报了一堆 WorldSetting 和 …

(20230417)最大数合并区间重新排列单词间的空格 按奇偶排序数组 II 数组形式的整数加法

最大数(回顾等级:值得,已达最优解) 来源:自己LeetCode刷题 usa long cmp(const void* e1, const void* e2) {int* p1(int*)e1;int* p2(int*)e2;long n110;long n210;while(*p1>n1){n1*10;}while(*p2>n2){n2*1…

利用AOP实现统一功能处理

目录 一、实现用户登录校验 实现自定义拦截器 将自定义的拦截器添加到框架的配置中,并且设置拦截的规则 二、实现统一异常处理 三、实现统一数据格式封装 一、实现用户登录校验 在之前的项目中,在需要验证用户登录的部分,每次都需要利…

RK3568平台开发系列讲解(环境篇)使用USB线缆升级固件

🚀返回专栏总目录 文章目录 一、进入升级模式1.1、硬件方式进入Loader模式1.2、软件方式进入Loader模式二、安装烧写工具2.1、Windows操作系统2.2、Linux操作系统沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍了如何将主机上的固件,通过USB数据线烧录到…

Typora(Mckbook版)的使用方法

1、标题(⌘ 数字) 一级标题:(⌘ 1) 二级标题:(⌘ 2) 三级标题:(⌘ 3) 四级标题:(⌘ 4) ... 六级标…

0303github搜索案例-react应用

文章目录1 前言2 静态组件2.1 静态页面和样式2.2 静态组件3 axios请求github接口4 优化案例结语1 前言 学习了脚手架配置axios,我们通过访问github的接口来做个练习。实例效果如下所示: 搜索框输入github用户名关键字,点击搜索,列…

AD633JRZ-ASEMI代理ADI亚德诺AD633JRZ车规级芯片

编辑-Z AD633JRZ芯片参数: 型号:AD633JRZ 总误差:1% 标度电压错误:0.25% 电源干扰:0.01% 输出偏移电压:5mV 小信号带宽:1MHz 斜率:20V/s 沉降时间达到1%:2s 宽…

在 Rocky linux 8.7 使用 Kubespray v2.21.0 离线部署 kubernetes v1.24.0 集群

文章目录前言创建7台虚拟机要求配置代理下载介质介质初始化安装工具包配置互信编写 inventory.ini创建 offline.ymlt他、部署 offline repo部署 kubespray报错2报错3报错报错:container-engine/containerd : containerd | Create registry directories分…

5.Dockerfile

1.什么是Dockerfile Dockerfile其实就是一个文本文件,由一系列命令和参数构成,Docker可以读取Dockerfile文件并根据Dockerfile文件的描述来构建镜像。 1、对于开发人员:可以为开发团队提供一个完全一致的开发环境; 2、对于测试人…

Servlet API

目录 1.HttpServlet 1.doGet 2.doPost 2.HttpServletRequest 2.1方法 2.2打印请求信息 2.3获取GET请求的参数 2.4post请求body格式 1.x-www-form-urlencoded 2.json 3.HttpServletResponse 3.1方法 3.2设置状态码 3.3自动刷新 3.4构造重定向的响应 1.HttpServlet 方法…

VMware Workstation Pro17安装并导入旧虚拟机系统

VMware Workstation Pro17 VMware是一个虚拟机软件,可以用来虚拟化各种系统,便于进行开发和其他相关工作 VMware Workstation Pro17支持window11版本,如果vm版本太低了升级window的时候会提示卸载旧版本的 下载VMware Workstation Pro17 h…

网格贪心搜索逼近最优组合解

如有错误,感谢不吝赐教、交流 文章目录背景描述实现方法一、寻找两组合的最优二、基于两组合的最优结果寻找四组合最优三、基于四组合的最优结果寻找八组合最优四、基于八组合的最优结果寻找十六组合最优总结适用场景背景描述 假如list [0, 1, 2, 3, 4, 5, 6, 7, …

2023年第三届智能机器人与系统国际会议(ISoIRS 2023) | IEEE-CPS独立出版

2023年第三届智能机器人与系统国际会议(ISoIRS 2023) | IEEE-CPS独立出版 会议简介 Brief Introduction 2023年第三届智能机器人与系统国际会议(ISoIRS 2023) 会议时间:2023年5月26日-28日 召开地点:中国长沙 大会官网:www.isoirs.org ISoIRS…

软件测试别再被“薪资陷阱”困扰了,这份攻略带你轻松查薪资

大家好,我是锦都不二。 测试岗面试 当HR问你期望薪资是多少时, 如果你回答: 10K 恭喜,你已经被HR成功套路, 拿到offer时你会在心里这么嘀咕:我要是当时报价15k该多好。 所以如何知道自己在这个市场上的价值&#xff0c…