【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.rhkb.cn/news/311524.html

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

相关文章

前端console用法分享

console对于前端人员来讲肯定都不陌生&#xff0c;相信大部分开发者都会使用console来进行调试&#xff0c;但它能做的绝不仅限于调试。 最常见的控制台方法 作为开发者&#xff0c;最常用的 console 方法如下&#xff1a; 控制台打印结果&#xff1a; 今天我分享的是一些 co…

网络爬虫:定义、应用及法律道德考量

网络爬虫技术在当今数据驱动的世界中发挥着重要作用。本文将从网络爬虫的定义和主要功能&#xff0c;其在业界的应用实例&#xff0c;以及涉及的法律和道德问题三个方面进行深入探讨。 1. 爬虫的定义和主要功能 网络爬虫&#xff0c;也称为网页爬虫或蜘蛛&#xff0c;是一种…

【C++对于C语言的扩充】函数重载、引用以及内联函数

文章目录 &#x1f680;前言&#x1f680;函数重载注意&#xff1a;✈️为什么C可以实现函数重载&#xff0c;而C语言却不行呢&#xff1f; &#x1f680;引用✈️引用的特性✈️C中为什么要引入引用✈️引用与指针的区别 &#x1f680;内联函数✈️内联函数特性 &#x1f680;…

【云计算】云数据中心网络(四):IPv6 网关

云数据中心网络&#xff08;四&#xff09;&#xff1a;IPv6 网关 1.什么是 IPv6 网关2.IPv6 网关设计思路3.IPv6 网关的主要应用场景3.1 IPv6 私网通信3.2 IPv6 互联网通信3.3 IPv6 互联网通信&#xff08;仅主动访问&#xff09; 1.什么是 IPv6 网关 2017 年&#xff0c;中国…

【十一】MyBatis Plus 原理分析

MyBatis Plus 原理分析 摘要 Java EE开发中必不可少ORM框架&#xff0c;目前行业里最流行的orm框架非Mybatis莫属了&#xff0c;而Mybatis框架本身没有提供api实现&#xff0c;所以市面上推出了Mybatis plus系列框架&#xff0c;plus版是mybatis增强工具&#xff0c;用于简化My…

JavaWeb前端/后端开发规范——接口文档概述及YApi平台的使用

前言&#xff1a; 整理下笔记&#xff0c;打好基础&#xff0c;daydayup!!! 接口文档 什么是接口文档&#xff1f; 目前主流的开发模式为前后端分离式开发&#xff0c;为了方便前后端的对接&#xff0c;就需要使用接口文件进行统一规范。 接口文档记载什么信息&#xff1f; 1&…

中国科学院大学学位论文LaTeX模版

Word排版太麻烦了&#xff0c;公式也不好敲&#xff0c;推荐用LaTeX模版&#xff0c;全自动 官方模版下载位置&#xff1a;国科大sep系统 → \rightarrow → 培养指导 → \rightarrow → 论文 → \rightarrow → 论文格式检测 → \rightarrow → 撰写模板下载百度云&#…

MongoDB爬虫:(某扑)实战

https://bbs.hupu.com/bxj网页地址: https://bbs.hupu.com/bxj 然后我们在网页上定义帖子名称、帖子链接、创建时间、回复数、最后回复用户...... 除此之外,我们发现虎扑步行街最多显示的页数(20): 、 当我们打开第3页的时候,网页的URL的地址变为了:https://bbs.hupu.…

交通部 JT/T 808(809 1076 1078 )车辆卫星定位系统 通信协议介绍

1 行业标准协议 1.1 官方网站 交通运输标准化信息系统 (mot.gov.cn) 附上官方下载地址&#xff1a; JT/T 808-2019 道路运输车辆卫星定位系统 终端通信协议及数据格式 JT/T 809-2019 道路运输车辆卫星定位系统 平台数据交换 JT/T 1076-2016 道路运输车辆卫星定位系统 车…

基于React Router6 TS实现路由守卫

定义路由表 import {BrowserRouter, Route, RouteObject, Routes,} from "react-router-dom"; import {Home, Login, NotFound} from "/views"; import {RouterGuard} from "/routers/router_guard.tsx"; import {ReactNode} from "react&…

基于Qt的二维码生成与识别

基于Qt的二维码生成与识别 一、获取QZxing开源库 1.通过封装的QZxing开源库生成和识别二维码&#xff0c;下载地址&#xff1a;GitCode - 开发者的代码家园https://gitcode.com/mirrors/ftylitak/qzxing/tree/master。 2.下载解压后&#xff0c;使用Qt Creator xx&#xff0…

关于HTTP1.0、1.1、1.x、2.0、3.0与HTTPS之间的理解

关于HTTP1.0、1.1、1.x、2.0、3.0与HTTPS之间的理解 HTTP的由来 HTTP是Hyper Text Transfer Protocol&#xff08;超文本传输协议&#xff09;的缩写。它的发展是万维网协会&#xff08;World Wide Web Consortium&#xff09;和Internet工作小组IETF&#xff08;Internet Eng…

成都百洲文化传媒有限公司电商领域的新锐力量

在电商服务领域&#xff0c;成都百洲文化传媒有限公司凭借其专业的服务理念和创新的策略&#xff0c;正逐渐成为行业内的翘楚。这家公司不仅拥有资深的电商团队&#xff0c;还以其精准的市场定位和高效的服务模式&#xff0c;赢得了众多客户的信赖和好评。 一、专业团队&#…

策略模式:灵活调整算法的设计精髓

在软件开发中&#xff0c;策略模式是一种行为型设计模式&#xff0c;它允许在运行时选择算法的行为。通过定义一系列算法&#xff0c;并将每个算法封装起来&#xff0c;策略模式使得算法可以互换使用&#xff0c;这使得算法可以独立于使用它们的客户。本文将详细介绍策略模式的…

eclipse .project

.project <?xml version"1.0" encoding"UTF-8"?> <projectDescription> <name>scrm-web</name> <comment></comment> <projects> </projects> <buildSpec> <buil…

Compose UI 之 Card 卡片组件

Card Card 是用于显示带有圆角和可选阴影的矩形内容容器。它通常用于构建用户界面,并可以包含标题、文本、图像、按钮等元素,表示界面上的可交互元素,我们称它是 “卡片”。 Card 使用的一些经典的场景: 列表数据,例如 新闻列表,产品列表等。信息提示框,使用 Card 组件…

20240416,对象初始化和清理,对象模型和THIS指针

哈哈哈乌龟越狱了 目录 2.5 深拷贝&浅拷贝 2.6 初始化列表 2.7 类对象作为类成员 2.8 静态成员 2.9 成员变量和成员函数分开存储 2.10 THIS指针的用途 2.11 空指针访问成员函数 2.12 COSNT修饰成员函数 2.5 深拷贝&浅拷贝 浅拷贝&#xff1a;简单的赋值拷贝…

android不同版本(支持>10)获取当前连接的wifi名称

1、AndroidManifest.xml 配置权限 <uses-permission android:name"android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name"android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name&q…

设定延迟任务和定时任务并优化定时任务

一丶设定延时任务 1.设定延迟任务要求如下 ①在系统中建立easylee用户&#xff0c;设定其密码为easylee ②延迟任务由root用户建立 ③要求在5小时后备份系统中的用户信息文件到/backup中 ④确保延迟任务是使用非交互模式建立 ⑤确保系统中只有root用户和easylee用户可以执…