CAN总线网络中为什么需要安装终端电阻?

简介: 在详解CAN总线:高速CAN总线和低速CAN总线的特性文章中,高速CAN网络和低速CAN网络都需要安装终端电阻。高速CAN网络需要在CAN_H和CAN_L加终端电阻,电缆上的终端电阻应与电缆的标称阻抗相匹配,终端匹配电阻一般为120Ω,每个终端电阻应能消耗0.25W的功率(标准来源:ISO 11898-2:2003)。

在详解CAN总线:高速CAN总线和低速CAN总线的特性文章中,高速CAN网络和低速CAN网络都需要安装终端电阻。


高速CAN网络需要在CAN_H和CAN_L加终端电阻,电缆上的终端电阻应与电缆的标称阻抗相匹配,终端匹配电阻一般为120Ω,每个终端电阻应能消耗0.25W的功率(标准来源:ISO 11898-2:2003)。


9b9362d3bff049f68806513a36115c91[1].png



低速CAN网络的终端电阻数值不固定,Philips建议低速CAN网络,一个整体的RTH和RTL终端电阻为100Ω到500Ω(每个)。整个网络终端电阻可以确定如下公式:


df415cab25b9465baf6a3d641dd853ed[1].png


为什么CAN总线网络中为什么需要安装终端电阻?主要有3方面原因:


提高抗干扰能力,让高频低能量的信号迅速走掉;

确保总线快速进入隐性状态,让寄生电容的能量更快走掉;

提高信号质量,放置在总线的两端,让反射能量降低。


1、提高抗干扰能力

CAN总线上的信号区分“显性”和“隐性”两种状态,“显性”对应二进制的“逻辑0”,“隐性”对应二进制的“逻辑1”。“显性”或“隐性”由CAN收发器决定,下图为一款CAN收发器内部逻辑框图:


9404f0d9570e492db3a3bd388855bbc1.png


总线“显性”时,收发器内部Q1、Q2导通,CANH、CANL之间产生压差;“隐性”时,Q1、Q2截止,CANH、CANL处于无源状态,压差为0。


总线负载时,“隐性”时差分电阻阻值很大,外部的干扰只需要极小的能量即可令总线进入“显性”(一般的收发器显性门限最小电压仅500mV,压差为500mV时,总线就判断为“显性”)。总线上有差模干扰时,总线上就会有明显的波动,而这些波动没有地方能够吸收掉他们,就会在总线上创造一个显性位出来。


所以为提升总线隐性时的抗干扰能力,可以增加一个差分负载电阻,且阻值尽可能小,以杜绝大部分噪声能量的影响。然而,为了避免需要过大的电流总线才能进入“显性”,阻值也不能过小。


2、确保总线尽快进入隐性状态

由于总线上不可避免的存在寄生电容,CAN总线数据传输时,“隐性”和“显性”状态变化会对寄生电容进行充电和放电,若总线中无阻性负载,信号波形会出现“缓慢变化”的过程。如下图所示:


925feba9e6780a9021a4268143473d71.png


将上图放大后可发现显性恢复到隐性的时间长达1.44μS。在采样点较高的情况下勉强能够通信,若通信速率更高,或寄生电容更大,则很难保证通信正常。如下图所示:


b99f40c6c53a40d7aae8bc40c4fed2bc.png


为了让总线寄生电容快速放电,确保总线快速进入隐性状态,需要在CANH、CANL之间放置一个负载电阻。



d7ceec0736f6ad4576dfe678800d7a14.png

900fb3705d604ab7b3939ea41c65afd6.png


增加一个60Ω的电阻后,从上图中看出,显性恢复到隐性的时间缩减到128nS,与显性建立时间相当。


由以上的波形对比可发现,终端电阻会使总线更快的在“显性”和“隐性”状态间变化。


3、吸收反射的信号,提高信号质量

信号在较高的转换速率情况下,信号当信号遇到阻抗变化时,会产生信号反射;传输线缆横截面的几何结构发生变化,线缆的特征阻抗会随之变化,也会造成反射。反射的信号则会返回来影响质量,在总线上产生“振铃”,如下图所示:


20decb4895805d4016c6689f5a8c7b99.png


若“振铃”信号过大,就会影响信号质量,甚至造成总线数据传输错误。


在线缆末端增加一个与线缆特征阻抗一致的终端电阻,可以将反射信号的能量吸收,避免振铃的产生,如下图所示:

0090bd31db9014506f76f26dd1d43495.png


相关文章
|
6月前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 向指定用户或终端发送消息 write命令 使用指南
【Shell 命令集合 网络通讯 】Linux 向指定用户或终端发送消息 write命令 使用指南
139 0
|
6月前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
【Shell 命令集合 网络通讯 】Linux管理终端设备的登录过程 getty命令 使用指南
88 0
|
6月前
|
Linux
CentOS8设置网络镜像安装源
CentOS8设置网络镜像安装源
907 0
|
1月前
|
Kubernetes 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
117 0
|
3月前
|
监控 安全 网络协议
这10款网络扫描工具,是个网工,都想全部安装!
这10款网络扫描工具,是个网工,都想全部安装!
203 1
|
3月前
|
Linux
虚拟机安装Linux系统的网络配置
该博客文章提供了解决虚拟机中Linux系统网络问题的多种方法,包括重置网络服务、修改网络配置文件、使用不同网络模式等,以确保虚拟机能够成功连接到网络。
虚拟机安装Linux系统的网络配置
|
3月前
|
机器学习/深度学习 数据可视化 数据挖掘
【Macos系统】安装VOSviewer及使用VOSviewer教程!!以ESN网络的研究进行案例分析
本文介绍了如何在MacOS系统上安装VOSviewer软件,并以ESN(Echo State Network)网络的研究为例,通过VOSviewer对相关科学文献进行可视化分析,以深入了解ESN在学术研究中的应用和发展情况。
241 0
【Macos系统】安装VOSviewer及使用VOSviewer教程!!以ESN网络的研究进行案例分析
|
3月前
|
网络协议 Linux Shell
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性
|
6月前
|
安全 Shell Linux
【Shell 命令集合 网络通讯 】Linux 打开终端设备 mingetty命令 使用指南
【Shell 命令集合 网络通讯 】Linux 打开终端设备 mingetty命令 使用指南
84 0
|
3月前
|
存储 Kubernetes 调度
使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)
使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)
57 0