对CAN总线的终端电阻,你知道多少?
欢迎关注公众号【玩转单片机与嵌入式】,回复【终端电阻】,获取更多关于终端电阻的资料和相关文章。
大家好,很高兴和各位一起分享我的第17篇原创文章,喜欢和支持我的工程师,一定记得给我点赞、收藏、分享。
加微信[xyzn3333]与作者沟通交流,免费获取更多单片机与嵌入式的海量电子资料。
使用过CAN或RS-485总线的同学应该对终端电阻有所了解,用485和CAN总线的时候只知道要加一个120欧的终端电阻,但是终端电阻具体的作用是什么呢?什么是终端电阻?百度百科中对终端电阻的解释为:
终端电阻,是一种电子信息在传输过程中遇到的阻碍。高频信号传输时,信号波长相对传输线较短,信号在传输线终端会形成反射波,干扰原信号,所以需要在传输线末端加终端电阻,使信号到达传输线末端后不反射。对于低频信号则不用。在长线信号传输时,一般为了避免信号的反射和回波,也需要在接收端接入终端匹配电阻。
看了上面的定义,可能大家都清楚终端电阻的作用主要是用于消除信号反射。我相信很多人对信号反射仍然一知半解。小编为大家总结了一下的几个疑问:
终端电阻的具体作用是什么?
信号反射是怎么产生的?
终端电阻如何消除信号反射?
为什么终端电阻的阻值是120欧姆?
终端电阻怎么测量?
终端电阻怎么接线?
一:终端电阻的具体作用是什么?
CAN总线终端电阻的作用有3个:
1、提高抗干扰能力,让高频低能量的信号迅速走掉
2、确保总线快速进入隐性状态,让寄生电容的能量更快走掉;
3、提高信号质量,放置在总线的两端,让反射能量降低。
01提高抗干扰能力
我们都知道CAN总线上的信号区分“显性”和“隐性”两种状态。“显性”对应二进制的“逻辑0”,“隐性”对应二进制的“逻辑1”;如下图所示。
CANH与CANL差分电压为0V左右时为“隐性”,差分电压为2V左右时为“显性”,“显性”或“隐性”由CAN收发器决定。以TJA1042T收发器为例,内部逻辑框图如下:
总线“显性”时,收发器内部Q1、Q2导通,CANH、CANL之间产生压差;“隐性”时,Q1、Q2截止,CANH、CANL处于无源状态,压差为0。
总线负载时,“隐性”时差分电阻阻值很大,外部的干扰只需要极小的能量即可令总线进入“显性”(一般的收发器显性门限最小电压仅500mV,压差为500mV时,总线就判断为“显性”)。总线上有差模干扰时,总线上就会有明显的波动,而这些波动没有地方能够吸收掉他们,就会在总线上创造一个显性位出来。
所以为提升总线隐性时的抗干扰能力,可以增加一个差分负载电阻,且阻值尽可能小,以杜绝大部分噪声能量的影响。然而,为了避免需要过大的电流总线才能进入“显性”,阻值也不能过小。
02确保总线尽快进入隐性状态
由于总线上不可避免的存在寄生电容,CAN总线数据传输时,“隐性”和“显性”状态变化会对寄生电容进行充电和放电,若总线中无阻性负载,信号波形会出现“缓慢变化”的过程。如下图所示;
将上图放大后可发现显性恢复到隐性的时间长达1.44μS。在采样点较高的情况下勉强能够通信,若通信速率更高,或寄生电容更大,则很难保证通信正常。如下图所示:
为了让总线寄生电容快速放电,确保总线快速进入隐性状态,需要在CANH、CANL之间放置一个负载电阻。
增加一个60Ω的电阻后,从上图中看出,显性恢复到隐性的时间缩减到128nS,与显性建立时间相当。
由以上的波形对比可发现,终端电阻会使总线更快的在“显性”和“隐性”状态间变化。
03、吸收反射的信号,提高信号质量
信号在较高的转换速率情况下,信号当信号遇到阻抗变化时,会产生信号反射;传输线缆横截面的几何结构发生变化,线缆的特征阻抗会随之变化,也会造成反射。反射的信号则会返回来影响质量,在总线上产生“振铃”,如下图所示:
若“振铃”信号过大,就会影响信号质量,甚至造成总线数据传输错误;
在线缆末端增加一个与线缆特征阻抗一致的终端电阻,可以将反射信号的能量吸收,避免振铃的产生,如下图所示。
二:信号反射是怎么产生的?
阻抗不连续和阻抗不匹配时,均会产生信号反射。
01、阻抗不连续时的反射
当交流电在导体中时,一旦阻抗发生变化,比如从一种材质的导线进入了另一种材质的导线,电流就会分成两部分,一部分进入下一段介质继续传输,另一部分则沿原路径返回,干扰后面的信号。
这个现象与光的传播类似。当光线从一种介质射入另一种介质时,一部分衰减后继续前进,另一部分则返回原介质。
CAN信号传输至在线缆终点时,由于阻抗突然发生变化,就相当于让电流从导线进入空气这种介质。由于两种介质差异很大,因此电流的反射效果较明显。
反射的信号会叠加在后面正常的信号上。如果反射的信号较强,使得接收节点不能从叠加后的电波中辨识出有用的信息,通讯就无法正常进行。
在线缆终点处,增加与线缆阻抗相匹配的终端电阻(比如120欧),不会出现阻抗突然变化的情况,即可有效避免信号的反射。
02、阻抗不匹配时的信号反射
当CAN收发器与传输电缆之间的阻抗不匹配时,也会引起信号反射。
在高频电路中,当信号的频率很高时,则信号的波长就很短,当波长短得跟传输线长度可以比拟时,反射信号叠加在原信号上将会改变原信号的形状。如果传输线的特征阻抗跟负载阻抗不匹配时,在负载端就会产生反射。
【请关注本公众号的其他文章,了解什么是阻抗匹配,什么是阻抗不匹配】。
三:为什么终端电阻是120欧姆?
通过以上信号反射产生的原因,我们可以总结出:终端电阻的阻值取决于线缆的阻抗。
任何一根线缆的特征阻抗都可以通过实验的方式得出。线缆的一端接方波发生器,另一端接一个可调电阻,并通过示波器观察电阻上的波形。调整电阻阻值的大小,直到电阻上的信号是一个良好的无振铃的方波,此时的电阻值可以认为与线缆的特征阻抗一致。
在CAN总线中使用的典型线缆,将它们扭制成双绞线,就可根据上述方法得到特征阻抗大约为120Ω,这也是CAN标准推荐的终端电阻阻值,所以这个120Ω是测出来的,不是算出来的,都是根据实际的线束特性进行计算得到的。
这也是CAN标准中推荐的阻值
四:CAN终端电阻怎么接线?
如下图所示是CAN总线的经典拓扑图。终端电阻一般选择放在最远的两个节点上。如果其中一个放在中间位置,终端电阻外面的CAN收发器处于支路上,这将大大增加该节点的信号反射,进而影响总线通讯。
对CAN总线的终端电阻,你知道多少?相关推荐
- CAN总线的终端电阻选择
CAN总线的终端电阻选择 CAN总线的特点 终端电阻的作用 基础相关知识 低频电路 高频电路 高速CAN 低速CAN 终端电阻的选择 由终端电阻导致的CAN出现问题的检测方法 CAN总线的特点 CAN ...
- 关于CAN总线的终端电阻
CAN总线的终端电阻 CAN总线终端电阻,一般来说都是120欧姆,实际上在设计的时候,也是两个60欧姆的电阻串起来,而总线上一般有两个120Ω的节点,基本上稍微知道点CAN总线的人都知道这个道理. 终 ...
- 【转】CAN总线的终端电阻选择
CAN总线的终端电阻选择 CAN总线的特点 终端电阻的作用 基础相关知识 低频电路 高频电路 高速CAN 低速CAN 终端电阻的选择 由终端电阻导致的CAN出现问题的检测方法 CAN总线的特点 CAN ...
- CAN总线的终端电阻为什么常用120Ω*】
CAN总线的终端电阻为什么常用120Ω CAN总线终端电阻,一般来说都是120欧姆,实际上在设计的时候,也是两个60欧姆的电阻串起来,而总线上一般有两个120Ω的节点,基本上稍微知道点CAN总线的人都 ...
- CAN总线的终端电阻为什么常用120Ω?
CAN总线终端电阻,一般来说都是120欧姆,实际上在设计的时候,也是两个60欧姆的电阻串起来,而总线上一般有两个120Ω的节点,基本上稍微知道点CAN总线的人都知道这个道理. 但是作为学渣的我,知道这 ...
- CAN总线的终端电阻为什么常用120Ω(一)-CAN总线概述及终端电阻添加要求
版本记录:V1.0-初稿 一.概述 使用过CAN或RS-485总线的同学应该对终端电阻有所了解,用485和CAN总线的时候只知道要加一个120欧的终端电阻. 如果我们查询百度百科,终端电阻的档案似乎十 ...
- CAN总线的终端电阻为什么是120Ω
CAN总线终端电阻,一般来说都是120欧姆,实际上在设计的时候,也是两个60欧姆的电阻串起来,而总线上一般有两个120Ω的节点,基本上稍微知道点CAN总线的人都知道这个道理. 但是这两个终端电阻的具体 ...
- CAN总线的终端电阻一定要120Ω吗?
CAN总线终端电阻,一般来说都是120欧姆,实际上在设计的时候,也是两个60欧姆的电阻串起来,而总线上一般有两个120Ω的节点,基本上稍微知道点CAN总线的人都知道这个道理. 但是作为学渣的笔者,知道 ...
- CAN总线加终端电阻的原因
最新文章
- rxjava获取异步请求的结果_我为什么不再推荐用 RxJava
- PHP中没用的验证码
- MVC3 Razor @RenderSection
- strtol,strtoll,strtoul, strtoull函数的使用
- Response.Redirect ,Server.Excute和Server.Transfer区别详解
- 今后最有前途的媒体格式 MXF
- 工作笔记-关于工具函数的编写问题
- 快速上手 flask
- 2020-我的后端开发秋招之路
- 比较sql server两个数据库
- 计算机组成原理 - x86 x64 arm64的区别 - 学习/实践
- 如何调整金格电子章服务器印章_【​金格统一电子印章平台V2.0】版本正式发布!...
- 项目管理工具 - TAPD
- 攻防演练怎样防止个人信息泄露
- Android AsyncTask的使用及泛式参数
- 从汇编角度看一个C函数调用
- Linux USB 驱动开发(三)—— 编写USB 驱动程序
- windows 命令大全
- alpine 服务器系统,alpine系统装zerotier-one
- 知识图谱技术原理介绍