概要:CAN总线网络在应用时,工程师常常会建议总线支线不要太长,那么为什么CAN总线支线不能太长,如果某些环境下必须使用长支线又该怎么办呢?
一、CAN网络的拓扑种类
控制器局域网CAN(Controller Area Network),是国际上应用最广泛的现场总线之一,最初是由德国Bosch公司设计的,为解决现代汽车中众多控制单元、测试仪器之间的实时数据交换而开发一种串行通信协议。CAN网络的拓扑结构主要有线形拓扑、星形拓扑、树形拓扑和环形拓扑等。
线形结构如下图所示,其特点是一条主干总线,在总线上分出支线到各个节点,其优点在于布线施工简单,阻抗匹配规则固定,接线比较方便,缺点是拓扑不够灵活,在一定程度上影响通讯距离;
星形拓扑如下图所示,其特点是每个节点通过中央设备连到一起,优点是容易扩展,缺点是一旦中央设备出故障会导致总线集体故障,而且分支线长不同,阻抗匹配复杂,可能需要通过一些中继器或集线器进行扩展;
树形拓扑如下图所示,其特点是分支比较多,且分支长度不同,优点是布线方便,缺点是网络拓扑复杂,阻抗匹配困难,通讯中极易出现问题,必须加一些集线器设备;
环形拓扑如下图所示,其特点是将CAN总线头尾相连,形成环状,优势是线缆任意位置断开,总线都不会出现问题,缺点是信号发射严重,无法用于高波特率和远距离传输。
虽然CAN总线可以有多种网络拓扑,但在实际应用当中比较推荐使用线形拓扑,且在IOS-11898-2中有高速CAN物理层规范,其中推荐的CAN网络拓扑也是线形拓扑,下面就针对线形拓扑网络CAN支线过长问题进行分析。
二、支线过长带来的问题
在讲CAN支线之前,我们来看一个CAN的波形图,如下图所示,大家仔细查看CAN波形图,会发现CAN波形上存在明显的上升沿和下降沿台阶现象,因为台阶的存在,从而引起波特率变化,导致接收节点采样出错(也称位宽错误)。
边沿台阶出现的源头主要是CAN节点的分支,分支过长形成的反射就变强,将会导致位宽度失调的错误。ISO11898中只规定1M波特率下分支不超过0.3米,支线过长会直接导致总线阻抗匹配问题发生,阻抗匹配是指信号源或者传输线跟负载之间达到一种适合的搭配,阻抗匹配主要为了调整负载功率和抑制信号反射,所以一旦阻抗匹配出现问题,就出现了上图中的上升沿和下降沿的台阶。
三、解决支线过长的办法
如果我们的总线存在支线过长的问题,那么该怎么办呢?我们下面提供几种解决方案:
减小分支长度
在CAN网络布局的根源上解决问题的方式就是减少CAN节点的分支长度,从而降低信号反射,保证位宽的稳定性。如上图波形实验中,其它条件不变,只将分支长度减少为20cm,此时并没有看到边沿台阶的出现。由此可见,减少分支长度是消除边沿台阶的最直接方式。
长分支上加适当电阻
在网络布局无法改变,分支引起的信号反射必须存在的情况下。最实用的方法就是在长分支末端加上电阻,消除信号反射。同样的在上述实验中,在分支节点处加上一个200Ω的电阻,其它条件不变进行通信实验。下图为实验的CAN波形图,此时可以看到边沿台阶已被消减,但是加了电阻之后差分电压变小,注意差分电压不得小于0.9V。这里值得一提的是:阻值大于500Ω的电阻吸收反射的能力很弱,所以在末端挂电阻的时候应小于500Ω。
增加CAN中继器或集线器
当然很多场合是在出现了问题之后才发现支线过长,当重新布线或更改节点本身都无法操作的情况下,我们也有解决方案,那就是在过长的支线上增加CAN中继器,典型的如致远电子CANBridge,甚至可以支持不同波特率的CAN网络的连接。
关键字:CAN总线
引用地址:
你知道吗—为什么CAN总线支线长度不能太长
推荐阅读最新更新时间:2024-11-11 20:31
找到CAN总线(故障)节点的三种办法
CAN总线的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持,在带来便利的同时,也为工程师们故障排查增加了难度,所以本文主要给大家介绍了找到CAN总线(故障)节点的三种办法。 1、 将所有节点都拔掉,依次往上接。 当CAN总线出现故障后将所有节点都拔掉,之后一个一个节点往上接,接到系统出错时,即找到最后一个插入节点为故障节点。如下这种情况,图1为新能源车控制总线,车辆启动后仪表显示滞后,显示错误。导致司机判断延迟与错误,影响交通安全。将所有节点拔掉之后,采用此方法挨个节点往上接,直到电机控制器接到总线上出现了通信故障,初步判断为电动机运行产生的强干扰,串扰到CAN总线上,导致帧错误增加,重发频繁,正
[嵌入式]
基于CAN总线的一体化步进电机驱动器的设计与实现
0 引言 当前,步进电机已经在工业应用,如自动剥线机、工业机器人、雕刻机、植毛机工作台等涉及到精确定位的场合,得到广泛的应用。常用的步进电机控制系统由驱动模块和控制器模块组成。驱动模块实现功率放大,控制器模块用于产生电机转动的控制信号,上述控制方法将会大量占用控制核心的资源,影响控制系统的实时性及灵活性。本文设计的步进电机驱动器,将控制电路和驱动模电路集成在同一个模块上,减少系统中主控核心的负担,提高系统的实时性、可靠性,可以使系统设计变得更加灵活、方便。 1 CAN中继器硬件的设计 1.1 系统的硬件结构 本文设计的基于CAN总线的一体化两相步进电机驱动器系统框图如图1所示,包括CAN收发器L9616、MCU STM32F103
[单片机]
关于CAN总线汽车仪表的研究
随着电子技术的不断发展并在汽车控制系统中的广泛应用,使得汽车的电子化程度越来越高,电子装置越来越多,汽车上每一个总成几乎都是机械、电子和信息一体化装置。汽车正在由一个拥有大量的电子技术与装置的机械系统,转变为一个由一定机械装置支撑的电子电气系统。为了减少车内连线实现数据的共享和快速交换,现代汽车以CAN总线通讯技术实现相互之间信息共享。成都盘沣科技有限公司小编就CAN总线汽车仪表做出以下介绍:
汽车仪表是汽车与驾驶员进行信息交流的窗口,是汽车信息的中心,能够集中、直观、迅速地反映汽车在行驶过程中的各种动态指标,如行驶速度、里程、电系状况、制动、压力、发动机转速、冷却液温度、油量、各种危险报警。随着科技进步,汽车排放、节能、安
[嵌入式]
今天的CAN总线还有什么不能做的?
本文作者:Microchip的Tim Bresien CAN总线(Controller Area Network)上世纪90年代初建立时并不起眼,但它已经从汽车和工业应用基础扩展到连接和互连众多其他行业的控制系统。 在传统汽车中,线路系统是十分令人可畏的,电线、数据线和纵横交错的控制线束,使得车辆很难进行维修,然而尽管有如此众多的线束,老式汽车的电子功能却很少很少。 当时,第一款采用CAN网络方式实现车内连接的汽车即将下线。这一独特的事件将简化汽车布线,并为难以置信的先进车辆通信铺平道路。它将启动一系列网络里程碑,并在汽车制造商中迅速达到巅峰。早在商业互联网、智能手机或数字媒体出现之前,CAN总线的引入重新定义了车内通
[汽车电子]
stm32f4关于can总线的学习心得
今天花了一天的时间学习了stm32f4的can模块的相关知识,首先我学的时候显示从can协议这块入手,而后进入stm32的配置和使用上,期间子啊百度上找了好多资料这里吧我的理解跟大家分享一下,希望我理解不足和错误的地方大家给指出来。 对于stm32的使用就是三个步骤 1:学习怎么配置相应的寄存器 2:学习怎样发送数据 3:学习怎样接收数据;但是在这个之前的学会对can总线协议的一些了解; 这里我拿我学习的时候看的一篇百度文章来说明吧: 当CAN总线上的一个节点(站)发送数据时,它以报文的形式广播给网络中所有节点,对每个节点来说,无论数据是否是发给自己的,都对其接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格
[单片机]
基于CAN总线的高压开关柜状态监测单元通讯模块的设计
1. 引言 高压开关柜是电力系统的关键主设备之一,其运行状态对电力系统的可靠性具有重大影响。 统计表明,20世纪90年代中国电力系统开关事故类型分布如下:机械故障(拒分、拒合、误动)33.3%,尽缘故障37.3%,温升故障(载流)8.9%,其它20.5% 。 因此,有必要对高压开关柜的机械、温升及尽缘状态实施在线监测,及时发现事故隐患,防止事故发生。 现有高压开关柜监测单元的核心一般采用单片机(MCU),其处理能力有限、存贮空间很小,只能对数据进行简单的处理和存放少量的历史数据 。为了存放大量的历史数据以便对已有的数据进行复杂的处理(如寿命评估、故障诊断等),也为了对电力系统运行状态进行远程检测和诊断,有必要使监测单元具有通讯能
[单片机]
基于CAN总线和PIC单片机的汽车开关电器盒设计
0 引 言 随着现代汽车工业技术的不断发展进步,车上安装的电子设备在不断增加,从而使汽车综合控制系统中,有大量控制信号需要进行实时交换。CAN 总线作为一种可靠的汽车计算机网络总线,已经被广泛地推广到汽车控制系统的各个应用领域。将CAN 总线技术应用到汽车开关电器盒中,可使得各汽车计算机控制单元能够通过CAN 总线得到开关电器盒中的工作数据,又能对开关电器盒的各个继电器进行精准的控制,从而达到减少汽车线束、提高通信可靠性、降低系统成本、避免系统功能重复、提高系统工作效率的目的。 1 汽车开关电器盒设计方案 本开关电器盒采用的是基于Microchip 公司生产的PIC18F45K80 芯片作为主芯片的设计方案。
[单片机]
基于μCOSⅡ的CAN总线车身控制系统
0 引言 由于车身系统线路复杂,且很多动作都存在相互的关联性,必须对所有关联性作出非常周密的考虑,才能真正实现汽车车身的全部安全控制功能。随着汽车工业的发展和汽车功能的增强,这种情况将更突出,一方面给电路设计人员带来困难,同时又增加成本和给生产、检修带来麻烦,反过来又限制汽车工业的发展。正是在这种情况下,德国Bosch公司为解决现代汽车中众多的控制与检测仪器之间的数据交换而开发了一种通讯协议即现场总线CAN。在国外,尤其在欧洲,CAN网络已被广泛地应用在汽车上如BENZ,BMW,PORSCHE等车,而在国内CAN在汽车上的研究才刚起步。 μCOSⅡ操作系统平台一方面具有足够的安全性与稳定性,已得到美国联邦航空管理局对用于商用
[嵌入式]