虹科技术分享 | CAN XL总线测试与译码

news2024/11/20 2:32:37

CAN XL是第三代控制器局域网协议,建立在经典CAN和CAN FD网络的基础上,并支持向后兼容。它面向车载网络,使用单个差模总线连接多个控制器和传感器。由于高度的耐用性和对布线需求最小的总线拓扑结构,控制器局域网协议越来越多地进入新的工业应用。

CAN XL支持比其前代产品更高的数据比特率和更长的数据有效载荷,允许高达20Mbit/s的传输速率和高达每帧2048字节的传输速率。为了支持更高的数据传输速率,引入了一种新的CAN SIC XL收发器类型,用于提供高速数据传输所需的快速信号边沿、低振铃和对称性。

CAN XL仍可与混合模式总线上的典型CAN、高速CAN或CAN SIC收发器一起使用,或者如果应用不需要高比特率时也可一起使用。

更高的比特率和数据有效载荷能力使CAN XL能够弥合CAN FD和汽车以太网100BASE-T1之间的差距。CAN XL支持以太网隧道,旨在集成到TCP/IP网络系统中。

CAN XL的信号构成

CAN XL使用差分两线总线,由CAN高电平(H)和CAN低电平(L)信号组成。

实际信号的电压电平取决于总线拓扑结构和所使用的收发器类型(如:总线是仅由 CAN XL 器件组成,还是将 CAN XL 与经典 CAN 和/或 CAN FD 器件混合使用)。

CAN XL帧由仲裁段、XL数据段和第二个仲裁段组成。

图1 CAN XL帧结构

在仲裁段,帧位以“标称”比特率传输,通常高达 500kbit/s。XL 数据段通常以至少几兆比特/秒的更高比特率传输,称为 XL 数据比特率。

有两种逻辑状态:逻辑 0 和逻辑 1。在总线空闲和仲裁段,逻辑 0 由“显性”状态表示,而逻辑 1 由“隐性”状态表示。

当总线未驱动时,会进入隐性状态;当至少有一个节点驱动总线时,会进入显性状态。这提供了一种仲裁机制,允许来自一个节点的显性位覆盖另一个节点传输的隐性位,每个节点在发送时必须主动读取总线状态,如果总线状态与传输的状态不匹配,则立即停止传输。在这种情况下,另一个节点“赢得”了仲裁。

仲裁只能在仲裁段进行,并且在CAN XL数据段一次只能有一个节点在总线上传输。

总线在隐性状态下空闲,CAN H和CAN L信号都在2.5V左右。注意其差分电压等于或接近于0。在显性状态下,CAN H被驱动至5V,而CAN L被驱动至0V,从而产生正差分电压。

CAN XL波形测试与串行译码

测试工具:虹科Pico4425A示波器(EP014)

图2 CAN总线示波器(EP014)

测得的CAN XL波形如下图。接下来,我们将在配套的PicoScope 7 Automotive软件中进行串行译码。

图3 CAN XL波形数据

CAN XL 译码工具包含在虹科PicoScope 7 Automotive软件中。要在 PicoScope 7 Automotive软件中译码 CAN XL 波形,请从【更多】工具菜单里选择并启动【串行译码】话框。如下图

图4 选择【更多】中的【串行译码】

在软件支持的协议列表里,选择【CAN XL】,然后点【下一步】:

图5 选择【CAN XL】

为CAN XL数据信号选择相应的输入通道,例如下图的A通道。数据源可以是来自CAN XL TXD 的信号、差分总线的CAN H 或 CAN L。

CAN XL译码只需要一个差分通道。但是,如果需要,也可以通过捕获CAN H和CAN L并使用数学通道来计算差分信号电压,并进行译码。数学通道可以用作译码器的数据源。

图6 配置CAN XL参数

一旦选择了数据的来源通道,接着根据所测的CAN XL总线的参数来设置以下选项:

(1)阈值

一般设置为信号电压水平的中间值为阈值,即CAN XL的差分电压在0至5V之间变化,我们设置为2.5V的阈值。

(2)XL Data Bit Rate (XL数据比特率)

XL数据段所使用的波特率

(3)FD Data Bit Rate (FD数据比特率)

比特率可切换(BRS=1)的CAN FD数据包,其数据段所用的波特率。

如果总线上没有节点发送CAN FD数据,这个选项可以被忽略。

(4)Nominal Bit Rate (标称比特率)

CAN XL数据包仲裁段所使用的波特率。

此设置也适用于总线上可能存在的任何经典CAN数据包和任何CAN FD数据包的仲裁段。

(5)Hing or Low (高或低)

所选择的数据来源是CAN高还是CAN低信号。

如果是对CAN TXD进行译码,请选择CAN Low

配置完所有选项后,单击【下一步】进入【显示】选项卡。在【显示】选项卡中,根据需要配置以下字段:

名称

设置译码器实例名称。PicoScope 会自动使用默认名称填充此名称,但你可以根据需要进行更新。

图形显示格式。

为原始的数据包选择一种在波形图上显示的数据格式。

表格显示格式

为原始的数据包选择一种在译码器输出表格里显示的数据格式。

表格内容

选择让表格只显示当前缓冲区里的数据,还是显示所有缓冲区里的数据。

时间标尺间解码

如果设置了时间标尺,译码器将仅解码两条时间标尺之间的数据。

图7 配置显示字段

到此,你可点击上图的“完成”,完成所有设置,软件即开始译码。

图8 CAN XL译码结果

如需波形源文件,可点此获取:

https://bbs.qichebo.com/forum.php?mod=viewthread&tid=71867&extra=page%3D1&_dsign=7495e943icon-default.png?t=O83Ahttps://bbs.qichebo.com/forum.php?mod=viewthread&tid=71867&extra=page%3D1&_dsign=7495e943

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

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

相关文章

虚拟社交的新时代:探索Facebook的元宇宙愿景

随着技术的不断进步,社交媒体的形态也在悄然变化。Facebook(现名Meta)正站在这一变革的前沿,积极探索元宇宙的愿景。元宇宙不仅是虚拟现实(VR)和增强现实(AR)的结合,更是…

Spring Boot房屋租赁系统:技术架构解析

2 关键技术简介 2.1 JAVA技术 Java是一种多用途并且强大的编程语言,可用于开发运行在移动设备、台式计算机以及服务器端的软件。Java已及其流行。Java只要编写一次,无论什么地方都可以运行启动[1]。 Java语言是应用很广泛的语言,用它编写出的…

【JVM原理】运行时数据区(内存结构)

JVM (Java Virtual Machine)原理 文章目录 四、运行时数据区(内存结构)4-1 线程私有区域程序计数器(program counter Register)本地方法栈(Native Method Stacks)Java 虚拟机栈&…

Python办公自动化教程(004):PDF添加水印

1.4 PDF文档水印添加 【1】安装库 pip install reportlab pip install PyPDF2【2】代码 import iofrom PyPDF2 import PdfWriter, PdfReader from reportlab.lib import pagesizes # 页面样式 from reportlab.lib.units import cm from reportlab.pdfbase import pdfmetric…

【Verilog学习日常】—牛客网刷题—Verilog企业真题—VL68

同步FIFO 描述 请设计带有空满信号的同步FIFO,FIFO的深度和宽度可配置。双口RAM的参考代码和接口信号已给出,请在答案中添加并例化此部分代码。 电路的接口如下图所示。端口说明如下表。 接口电路图如下: 双口RAM端口说明: 端口…

828华为云征文|使用Flexus X实例集成ES搜索引擎

目录 一、应用场景 1.1 Flexus X实例概述 1.2 ES搜索引擎 二、安装相关服务 2.1 安装Elasticsearch7.17.0 2.2 安装kibana7.17.0 三、开通安全组规则 四、整体感受 4.1 Flexus X实例 4.2 使用感觉 一、应用场景 1.1 Flexus X实例概述 Flexus X实例是华为云推出的一款…

Windows内核编程基础(2)

上下文环境 应用层应用程序工作在用户模式,内核驱动程序工作在内核模式。这里的用户模式和内核模式是基于CPU的特权环来定义的,CPU提供了0环~3环(ring 0 ~ ring 3)共四个特权环,Windows操作系统使用了其中的0环和3环,0环为内核模…

【深度学习】(7)--保存最优模型

文章目录 保存最优模型一、两种保存方法1. 保存模型参数2. 保存完整模型 二、迭代模型 总结 保存最优模型 我们在迭代模型训练时,随着次数初始的增多,模型的准确率会逐渐的上升,但是同时也随着迭代次数越来越多,由于模型会开始学…

大数据-148 Apache Kudu 从 Flink 下沉数据到 Kudu

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

Spring Boot房屋租赁平台:现代化解决方案

1 绪论 1.1 研究背景 中国的科技的不断进步,计算机发展也慢慢的越来越成熟,人们对计算机也是越来越更加的依赖,科研、教育慢慢用于计算机进行管理。从第一台计算机的产生,到现在计算机已经发展到我们无法想象。给我们的生活改变很…

Recaptcha2 图像识别 API 对接说明

Recaptcha2 图像识别 API 对接说明 本文将介绍一种 Recaptcha2 图像识别2 API 对接说明,它可以通过用户输入识别的内容和 Recaptcha2验证码图像,最后返回需要点击的小图像的坐标,完成验证。 接下来介绍下 Recaptcha2 图像识别 API 的对接说…

8.12DoG (Difference of Gaussians)

基本概念 不同尺度的高斯模糊图像之间的差异(DoG),用于边缘检测。函数: cv::GaussianBlur() 结合 cv::Laplacian() 或者自定义DoG实现。 在OpenCV中并没有直接提供一个名为“DoG”(Difference of Gaussians)的函数&a…

【学术会议征稿】第四届人工智能、机器人和通信国际会议(ICAIRC 2024)

第四届人工智能、机器人和通信国际会议(ICAIRC 2024) 2024 4th International Conference on Artificial Intelligence, Robotics, and Communication 第四届人工智能、机器人和通信国际会议(ICAIRC 2024)定于2024年12月27-29日…

css 自定义滚动条样式

* { scrollbar-color: auto !important; scrollbar-width: auto; } //滚动条宽高 ::-webkit-scrollbar { width: 4px; height: 4px; background: transparent; } ::-webkit-scrollbar-thumb { //滑块部分 border-radius: 5px; background-color: rgba(32, 224, 254, 1); } ::-…

【Python报错已解决】TypeError: can only concatenate str (not “float“) to str

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

docker compose的使用

docker compose 1.概述 是 Docker 官方提供的一款开源工具,主要用于简化在单个主机上定义和运行多容器 Docker 应用的过程。它的核心作用是容器编排,使得开发者能够在一个统一的环境中以声明式的方式管理多容器应用的服务及其依赖关系。 也就是说Docker…

用 Django 5 快速生成一个简单 进销存 系统 添加 个打印 按钮

一、前置条件: 1.安装好python 【关联网址】 2. 安装好vscode 【关联网址】 插件 3. 登陆海螺AI【关联网址】 4. 安装好 pip install django 【关联网址】 pip install django -i https://mirrors.aliyun.com/pypi/simple/ 二、开始生成 1. 打开vscode 打开…

[数据库实验五] 审计及触发器

一、实验目的与要求: 1.了解MySQL审计功能及实现方式 2.掌握触发器的工作原理、定义及操作方法 二、实验内容: 注: 在同一个触发器内编写多行代码,需要用结构begin ……end 函数current_user()获得当前登录用户名 1.自动保存…

Linux 应用层自定义协议与序列化

文章目录 一、应用层1、协议2、序列化 && 反序列化3、通过Json库进行数据的序列化 && 反序列化Json::Value类Json::Reader类Json::Writer类 二、为什么read、write、recv、send和Tcp支持全双工?发数据的本质:tcp支持全双工通信的原因&am…

gitlab-runner集成CI/CD完整项目部署

目录 1.环境安装 2.gitlab代码仓库搭建 3.gitlab-runner-安装以及注册 4..gitlab-ci.yml脚本 5.脚本说明 6.build.sh 7.test.sh 8. deploy.sh 9.运行流水线 10.选择流水线分支 11.查看运行阶段 12.查看运行日志 13.查看服务器真实日志 1.环境安装 确保服务器的Java环…