你知道吗—为什么CAN总线支线长度不能太长

2019-06-13来源: EEWORLD作者: ZLG立功科技·致远电子关键字:CAN总线

概要: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米,支线过长会直接导致总线阻抗匹配问题发生,阻抗匹配是指信号源或者传输线跟负载之间达到一种适合的搭配,阻抗匹配主要为了调整负载功率和抑制信号反射,所以一旦阻抗匹配出现问题,就出现了上图中的上升沿和下降沿的台阶。

 

三、解决支线过长的办法

 

如果我们的总线存在支线过长的问题,那么该怎么办呢?我们下面提供几种解决方案:

 

  1. 减小分支长度

 

在CAN网络布局的根源上解决问题的方式就是减少CAN节点的分支长度,从而降低信号反射,保证位宽的稳定性。如上图波形实验中,其它条件不变,只将分支长度减少为20cm,此时并没有看到边沿台阶的出现。由此可见,减少分支长度是消除边沿台阶的最直接方式。

 

 

  1. 长分支上加适当电阻

 

在网络布局无法改变,分支引起的信号反射必须存在的情况下。最实用的方法就是在长分支末端加上电阻,消除信号反射。同样的在上述实验中,在分支节点处加上一个200Ω的电阻,其它条件不变进行通信实验。下图为实验的CAN波形图,此时可以看到边沿台阶已被消减,但是加了电阻之后差分电压变小,注意差分电压不得小于0.9V。这里值得一提的是:阻值大于500Ω的电阻吸收反射的能力很弱,所以在末端挂电阻的时候应小于500Ω。

 

 

  1. 增加CAN中继器或集线器

 

当然很多场合是在出现了问题之后才发现支线过长,当重新布线或更改节点本身都无法操作的情况下,我们也有解决方案,那就是在过长的支线上增加CAN中继器,典型的如致远电子CANBridge,甚至可以支持不同波特率的CAN网络的连接。

 


关键字:CAN总线 编辑:muyan 引用地址:http://news.eeworld.com.cn/qcdz/ic464425.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:CAN/RS-485总线的终端电阻应如何设置?
下一篇:汽车总线向CAN FD升级 需要简化设计并降低成本

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM32F103 CAN总线配置总结
stm32的can总线的配置如下:      CAN_InitStructure.CAN_TTCM=DISABLE;//禁止时间触发通信模式      CAN_InitStructure.CAN_ABOM=DISABLE;      CAN_InitStructure.CAN_AWUM=DISABLE;      CAN_InitStructure.CAN_NART=DISABLE;//CAN报文只被发送1次,不管发送的结果如何(成功、出错或仲裁丢失)      
发表于 2019-10-08
STM32 CAN总线调试经验
前言STM32 CAN代码网上很多,但大都是讲如何配置的,对于一些原理以及注意事项没有很清楚的说明。在实际调试过程中,两个设备间的通信只要设备CAN的配置一样基本就可以调通,但在增加设备的过程中,很容易出现多设备无法通信的问题,这里主要就这一问题进行说明。硬件STM32F042G4 + MAX3051测试过程测试板回来后,两个设备间的通信轻松搞定,但在增加设备的过程中,增加的设备总是不能正常通信。详细比对了一下配置,也没有任何问题。后来,仔细研读MAX3051的芯片手册,得到以下几个重要信息:MAX3051有四种工作模式高速模式:数据传输速率可达1Mbps,但抗干扰能力弱,需要双绞线斜率控制:可编程控制最高500kbps的传输速率
发表于 2019-10-08
STM32 CAN总线通信学习笔记(一)
一、CAN总线简介CAN 是控制器局域网络(Controller Area Network, CAN)的简称。CAN采用数据块编码的方式,数据块根据帧的类型,能够让挂载在总线上的不同节点接收到相同的数据,再根据每个节点的配置对信息进行选择性处理(处理or丢弃)。CAN总线具有以下特点:1. 多主控制在总线空闲时,所有的单元都可以发送消息;具有CSMA/CA机制,即最先访问总线的单元可获得发送权;多个单元同时发送消息时,优先级高的标志(ID)单元可获得发送权,其中ID并不是发送的目的地址,而是表示访问总线的消息的优先级,仲裁机制会对消息ID的每个位继续比较,仲裁为高优先级的单元可继续发送消息,仲裁失败的单元则停止发送而进行
发表于 2019-10-08
STM32 CAN总线通信学习笔记(一)
STM32的CAN总线调试——与以太网转CAN联调的小问题
的数据却会丢呢?调试过程:将测试次数减少,只要发生丢失数据的情况就立即停止。于是单片机与服务器继续通信,在丢失第一个数据的时候停下来查看状态,发现单片机发送请求的同时,服务器也在发送请求。那么为什么单片机的请求却失败后没有再次发送?回到单片机的代码当中发现在CAN模块初始化的时候禁止自动重发的功能为使能状态,也就是单片机在发送数据的时候,只发送一次,即使发送失败了也不会去管,而是返回发送完成的状态。所以,单片机在与服务器端用的以太网转CAN模块的较量当中,丢掉了数据,服务器发送成功。那么,还有一个问题,就是为什么单片机给服务器发的响应都会成功?这与上层代码的逻辑有关,因为服务器向单片机发送完请求后会等待单片机响应,此时的总线只有单片机
发表于 2019-10-08
STM32的CAN总线调试——与以太网转CAN联调的小问题
STM32的CAN总线的接收双FIFO使用方法
通过下面的框图我们可以看到,STM32F013有两个接收FIFO但是实际的使用中如何让着两个FIFO都被使用呢,解决办法就在这里,1. STM32F103有0-13共14个过滤器组,每个过滤器组都可以绑定指定的FIFO。2. 特别需要注意的一点是,FIFO0和FIFO1的接收对应不同的中断入口,切记。分别是DCD     USB_LP_CAN1_RX0_IRQHandler ; USB Low  Priority or CAN1 RX0DCD     CAN1_RX1_IRQHandler   
发表于 2019-09-30
STM32的CAN总线的接收双FIFO使用方法
STM32F105 CAN总线数据收发调试
STM32F105 CAN通讯端口:STM32F105有2路CAN,不是两路独立的CAN,而是一个主端口CAN1和一个从端口CAN2,其隐含的意思就是如果只使用1路CAN进行通讯,可以使用主端口CAN1,此时可以忽略CAN2,但是如果只用从端口CAN2进行通讯的话,需要先打开CAN1的时钟,否则CAN2也不能正常工作,如果使用两路CAN同时工作时,需要注意CAN1复位时,CAN2也被复位了,所以如果在CAN2初始化之后CAN1复位,则CAN2还有重新初始化;调试CAN总线的发送:运行发送程序,如果TX引脚有输出信号脉冲,说明引脚的配置正确,如果引脚没有输出脉冲,需要检查GPIO的配置;用示波器检测TX引脚的信号波形,查看波特率是否
发表于 2019-09-30
小广播
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved