终端电阻对CAN总线的影响

news2024/9/21 0:52:18

在进行CAN总线通信前,应保证正确的总线配置,比如终端电阻。它是影响总线通信的重要组件,下面我们不考虑信号的完整性,只从信号幅度和时间常数方面分析不加终端电阻时的影响。

根据ISO11898-2对终端电阻的取值规定,必须在总线的首尾两端各挂一个120Ω的终端电阻,即总线上加60Ω的终端电阻,而中间节点则不需要挂终端电阻,如图

 


不加终端电阻时的影响

假如我们按照ISO11898标准要求,使用CANScope测试时,加上60Ω的终端电阻,然后以250Kbps的波特率自发自收数据,可以看到报文可以正常发送,且关联的波形也正常。

 

 假如CANScope在不加终端电阻的时候,以250Kbps的波特率自发自收数据,如图所示,发送的数据都是帧ID错误,且关联的波形也出现异常。

 

 对于报文数据,从关联的波形数据可以看到,上升沿没有任何问题,但是下降沿相对于加终端电阻的波形缓慢很多,一直未达到隐性状态,这些是为什么呢?下面我们对其进行一一的解析。


为什么影响下降沿?

众所周知,CAN总线的传输方式是差分传输方式,而总线电平的判断,就是CAN收发器根据CANH和CANL线缆之间的差分电压(CANH-CANL)来判断的,总线上传输的电平信号只有两种可能,一是显性电平,二是隐性电平,其中显性电平代表逻辑0,隐性电平代表逻辑1。

首先我们看一下CAN收发器的内部结构,如图

 当总线电平为显性时,收发器内部的Q1、Q2处于导通状态,此时CANH、CANL之间会产生压差;当总线电平为隐性时,收发器内部的Q1、Q2处于截止状态,此时CANH、CANL处于无源状态,压差为0。所以当隐性状态变为显性状态(上升沿)时,主要由收发器中的驱动模块作用,当显性状态变为隐性状态(下降沿)时,是通过整条总线与终端电阻放电产生的,所以总线的终端电阻是影响下降沿缓慢程度的主要物理因素。


下降沿为什么迟迟达不到隐性状态

前面提到,下降沿缓慢程度,受终端电阻的影响,是如何影响的,那这就和时间常数τ有关系了。我们知道,时间常数可由电容(C)和负载电阻(R)确定,即τ=RC,所以当总线上无终端电阻时,CANH和CANL之间的阻值很大,例如CANScope,在未加终端电阻时,测量的电阻值,约91KΩ左右,所以根据时间常数的公式,τ值会很大,所以无法快速消耗掉总线上寄生电容上的电能,从而导致下降沿缓慢,迟迟达不到隐性状态。

 


为什么会产生错误帧

从图中看出,当光标区域的ΔX为一个位,即4us时,差分信号在光标B处的电压YB为3.341V,远高于CAN规范中的隐性电平判断上限值0.5V,显性电平判断下限值0.9V,所以此时的位被判断为显性位,而又由于时间常数远大于250Kbps波特率下的位时间,所以会有超过5个位被判断为显性位,从而破坏了CAN规范中的填充规则,出现了帧ID填充错误。

 


为了加深对错误帧产生原因的了解,我们举一个反例,看位时间远大于无终端电阻情况下的时间常数时,会出现什么样的现象。

下面以CANScope不加终端电阻,波特率为10Kbps进行自发自收为例,如图所示,CANScope报文列表中,无错误帧产生。

通过观察同步的示波器截图,如图所示,光标区域ΔX为45.6us时,差分信号在光标B处的电压YB为0.4813V,又由于CANScope默认的采样点是75%在光标区域之后,所以此时可正常判断该位为隐性,从而不会导致错误帧的产生。

 

 

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

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

相关文章

八股文大全

八股文大全 1. 基础篇1.1 网络基础1.1.1 TCP 三次握手1.1.2 TCP四次挥手![在这里插入图片描述](https://img-blog.csdnimg.cn/90a6997e8d414c84b499167c99da0397.png)1.1.3 TCP常见面试题 1. 基础篇 1.1 网络基础 1.1.1 TCP 三次握手 三次握手过程: 客户端——发…

Thread线程学习(3) 了解Linux线程中的pthread_cancel()函数

目录 一、了解pthread_cancel()函数 二、使用pthread_cancel()函数的基础示例 三、使用pthread_cancel()函数取消线程的进阶示例 (1) 注意事项 (2) 进阶示例 四、pthread_cancel()函数的扩展内容 (1) 如何定义取消点: (2) 使用pthread_cancel()函数需要谨慎…

电极法测污水常规五参数(PH、电导率、溶解氧、温度、浊度)

检测水质常规五参数的意义: pH:地表水水质中pH值的变化会影响藻类对氧气的摄入能力及动物对食物的摄取敏感度; 电导率:主要是测水的导电性,监测水体中总的离子浓度。包含了各种化学物质、重金属、杂质等等各种导电性物…

vue+elementui+nodejs校园生活信息服务快递系统v62911

语言 node.js 框架:Express 前端:Vue.js 数据库:mysql 数据库工具:Navicat 开发软件:VScode 学生登录,学生通过填写用户名、密码、权限等信息,输入完成后选择登录即可进入校园快领服务系统 学生登录进入校…

ESP32-C2系列开发板简介

C2是一个芯片采用4毫米x 4毫米封装,与272 kB内存。它运行框架,例如ESP-Jumpstart和ESP造雨者,同时它也运行ESP-IDF。ESP-IDF是Espressif面向嵌入式物联网设备的开源实时操作系统,受到了全球用户的信赖。它由支持Espressif以及所有…

阿里P6经验分享,这8种不同类型的自动化测试框架,你会吗?

以下为作者观点: 在自动化测试中,框架提供了一种组织和执行测试案例的结构化方式。它们提供了一套准则和最佳实践,使测试人员能够编写可重复使用、可维护和可扩展的测试脚本。在这篇文章中,我们将讨论自动化测试中不同类型的框架…

最近火起的 Bean Searcher 与 MyBatis Plus 到底有啥区别?

专属小彩蛋:前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站(前言 - 床长人工智能教程) 福利:taobao扫码赚个零花钱~ Bean Searcher 号称 任…

使用Python爬取给定网页的所有链接(附完整代码)

💂 个人网站:【海拥】【摸鱼游戏】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 此脚本从给定的网页中…

C++基础讲解第五期(继承、多继承、虚继承、向上转型、同名函数)

C基础讲解第五期 代码中也有对应知识注释,别忘看,一起学习! 一、继承(接第四期)1. const修饰成员函数2. 同名函数3. 继承中的static关键字4. 继承中类型兼容性原则5. 多继承(使用参数初始化列表)&#xff0…

SDN控制器三平面(软件定义网络、OOB)

又名 软件定义网络 软件定义网络SDN(Software Defined Network)是由美国斯坦福大学CLean Slate研究组提出的一种新型网络创新架构,可通过软件编程的形式定义和控制网络,其控制平面和转发平面分离及开放性可编程的特点,被认为是网络领域的一场革命,为新型互联网体系结…

Gitlab----基于Kubernetes安装Gitlab

【原文链接】Gitlab----基于Kubernetes安装Gitlab (1)创建命名空间gitlba kubectl create namespace gitlab(2)然后创建Gitlab用的PVC,编写yaml配置文件如下 kind: PersistentVolumeClaim apiVersion: v1 metadata:…

002 - STM32固件库GPIO(一)操作LED灯

STM32固件库操作LED灯 1、创建板级支持包文件 在User目录下创建LED文件夹,包含bsp_led.c及头文件bsp_led.h,之后在Keil中将bsp_led.c加入 2、程序代码 bsp_led.c #include ".\LED\bsp_led.h" //相对路径访问,可以在工程配置内…

LeetCode 199. 二叉树的右视图

199. 二叉树的右视图 描述 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 示例1 输入:[1,2,3,null,5,null,4] 输出:[1,3,4] 示例2 输入&#xf…

【笔试强训选择题】Day14.习题(错题)解析

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训选择题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!! 文章目录…

Linux环境搭建与历史

目录 前言 1.操作系统是什么 2. 为什么我们要选择Linux 3.Linux操作系统发展历史 4.企业应用现状 Linux在服务器领域的发展 Linux在桌面领域的发展 Linux在移动嵌入式领域的发展 Linux在云计算/大数据领域的发展 5.发行版本 6. Linux环境配置 6.1 Linux搭建的方式 …

程序员挣够了钱,到中年你还害怕失业吗?

最近一刷知乎全部都是大龄程序员失业危机 真的有这么可怕吗? 程序员35岁就真的到了瓶颈期? 我不这么认为 挣够了钱,当然不可怕,问题是没挣够啊~!!! 按题主的算法是,大城市薪资1…

C++基础STL-map容器

map容器介绍: 作为关联式容器的一种,map 容器存储的都是 pair 对象,也就是用 pair 类模板创建的键值对。其中,各个键值对的键和值可以是任意数据类型,包括 C基本数据类型(int、double 等&#xff0…

快速入门matlab——变量练习

学习目标:1.掌握matlab编程中最常用的几种变量类型 2.对变量类型的属性有所熟悉,不要求记忆,知道了解即可 3.要求熟练运用这几种变量类型创建自己的变量 clear all; % 清除Workspace中的所有…

服务网格:优化微服务通信与保障系统安全性的架构利器

文章目录 服务网格:优化微服务通信与保障系统安全性的架构利器1. 什么是服务网格?微服务架构概述:服务网格的定义和作用: 2. 服务网格的特点:透明性:无需修改应用代码服务发现与负载均衡:动态发…

GPT3.5 VS GPT-4写领导讲话稿,谁是最强笔杆子?

正文共 1240 字,阅读大约需要 5 分钟 文秘/公务员必备技巧,您将在5分钟后获得以下超能力: 快速生成领导讲话稿 Beezy评级 :B级 *经过简单的寻找, 大部分人能立刻掌握。主要节省时间。 推荐人 | Kim 编辑者 | Linda ●…