CAN总线布线规范
CAN总线布线规范
摘要:今天的CAN总线已从汽车电子慢慢渗透入工业自动化,医疗,铁路等众多领域。据我们的数据统计,客户在使用CAN总线时约80%的问题均是由总线布局布线不合理导致,今天我们就来扒一扒CAN总线的布局布线规范。
所谓磨刀不误砍柴功,合理的总线布局布线等于成功的一半,那么总线布线时如何选取导线?如何选取布线拓扑结构呢?
一、 导线选型
1、 导线类型
CAN总线布线时必须采用双绞线,且需采用特征阻抗约120Ω的双绞线,在通信距离较长或电磁环境恶劣的情况下最好用屏蔽双绞线,这样可以有效抑制电磁干扰,保证可靠的通信。
2、 线长与直流电阻
当客户的通信距离较长时就不得不考虑线路损耗了,如果使用的线缆太细,导线的直流电阻太大。那么在总线起始端发出的信号在经历漫长的路途之后到达末端的节点时信号将大幅衰减,最终导致通信失败。那么线长和传输线截面积,线长与通信波特率又有什么关系呢?我们总结如下图1所示。
CAN总线布线规范
图1传输线相关参数推荐值
二、布线拓扑结构
1、“手牵手”式连接
在直线型拓扑中,由于分支存在一定的长度以及分支长度的积累会造成总线上阻抗不连续,继而产生信号反射的现象,所以直线型拓扑中最常用的是手牵手连接方式。如图 2所示,为了保证通信的可靠性,起始端和末端的节点都需要加120Ω的终端电阻,不可只接一端或两端均不接。
CAN总线布线规范
图2手牵手连接方式接线图
2、T型分支式连接
在大多数的工业现场、轨道机车中,由于整体线缆非常多均需要使用接线排,方便后期维护。所以CAN总线上的节点分支不可避免,只能尽量减小分支长度,如图 3。
CAN总线布线规范
图3 T型分支结构图
这个分支长度在最高波特率1M时最好在0.3m以内,我们可以推断在其他波特率条件下如果分支长度满足小于0.3m,那么总线通信可以稳定运行。
在某些场合无法做到这么短的分支怎么办呢?我们可以根据不同的波特率,选择不同的分支长度。如图4可知,随着波特率的增加,分支约束越来越严格,相反如果想增加分支的长度那么波特率必须降低以获得稳定的通信。
CAN总线布线规范
图 4 波特率与分支长度的关系
3、星型拓扑
CAN总线布线规范
图 5 等长星型连接
如图 5所示,若采用等长星型拓扑进行接线可以不使用集线器设备,适当调整每个节点的终端电阻即可实现组网。
R=N×60Ω
N:分支数量
R:每个分支的终端电阻
注意每个节点必须加终端电阻,不能在星型网络的中心加任何电阻。
在现实应用中很多场合无法做到等长星型连接,这个时候我们需要使用CAN集线器来进行分支,如图6所示。
CAN总线布线规范
图 6 集线器用于复杂的分支网络
使用集线器布线灵活性很大,可以根据需要任意分支,少了很多约束条件。
摘要:今天的CAN总线已从汽车电子慢慢渗透入工业自动化,医疗,铁路等众多领域。据我们的数据统计,客户在使用CAN总线时约80%的问题均是由总线布局布线不合理导致,今天我们就来扒一扒CAN总线的布局布线规范。
所谓磨刀不误砍柴功,合理的总线布局布线等于成功的一半,那么总线布线时如何选取导线?如何选取布线拓扑结构呢?
一、 导线选型
1、 导线类型
CAN总线布线时必须采用双绞线,且需采用特征阻抗约120Ω的双绞线,在通信距离较长或电磁环境恶劣的情况下最好用屏蔽双绞线,这样可以有效抑制电磁干扰,保证可靠的通信。
2、 线长与直流电阻
当客户的通信距离较长时就不得不考虑线路损耗了,如果使用的线缆太细,导线的直流电阻太大。那么在总线起始端发出的信号在经历漫长的路途之后到达末端的节点时信号将大幅衰减,最终导致通信失败。那么线长和传输线截面积,线长与通信波特率又有什么关系呢?我们总结如下图1所示。
CAN总线布线规范
图1传输线相关参数推荐值
二、布线拓扑结构
1、“手牵手”式连接
在直线型拓扑中,由于分支存在一定的长度以及分支长度的积累会造成总线上阻抗不连续,继而产生信号反射的现象,所以直线型拓扑中最常用的是手牵手连接方式。如图 2所示,为了保证通信的可靠性,起始端和末端的节点都需要加120Ω的终端电阻,不可只接一端或两端均不接。
CAN总线布线规范
图2手牵手连接方式接线图
2、T型分支式连接
在大多数的工业现场、轨道机车中,由于整体线缆非常多均需要使用接线排,方便后期维护。所以CAN总线上的节点分支不可避免,只能尽量减小分支长度,如图 3。
CAN总线布线规范
图3 T型分支结构图
这个分支长度在最高波特率1M时最好在0.3m以内,我们可以推断在其他波特率条件下如果分支长度满足小于0.3m,那么总线通信可以稳定运行。
在某些场合无法做到这么短的分支怎么办呢?我们可以根据不同的波特率,选择不同的分支长度。如图4可知,随着波特率的增加,分支约束越来越严格,相反如果想增加分支的长度那么波特率必须降低以获得稳定的通信。
CAN总线布线规范
图 4 波特率与分支长度的关系
3、星型拓扑
CAN总线布线规范
图 5 等长星型连接
如图 5所示,若采用等长星型拓扑进行接线可以不使用集线器设备,适当调整每个节点的终端电阻即可实现组网。
R=N×60Ω
N:分支数量
R:每个分支的终端电阻
注意每个节点必须加终端电阻,不能在星型网络的中心加任何电阻。
在现实应用中很多场合无法做到等长星型连接,这个时候我们需要使用CAN集线器来进行分支,如图6所示。
CAN总线布线规范
图 6 集线器用于复杂的分支网络
使用集线器布线灵活性很大,可以根据需要任意分支,少了很多约束条件。
CAN总线布线规范的更多相关文章
- PCB主线布线规范—高速线之DDR2
一.DDR2时钟线走线规则a)时钟线包括 MEM_CLKOUT#0.MEM_CLKOUT0.MEM_CLKOUT#1.MEM_CLKOUT1,MEM_CLKOUT#2.MEM_CLKOUT2: MEM ...
- PCB布线规范
模拟电路和数字电路PCB设计的不同点 http://linear.eefocus.com/module/forum/thread-593593-1-1.html 合集 PCB给种设计资料 http ...
- Altium Designer 总线式布线
1.常规布线:不详细说了,是个人就知道怎么弄.需要说明的是在布线过程中,可按小键盘的*键或大键盘的数字2键添加一个过孔:按L键可以切换布线层:按数字3可设定最小线宽.典型线宽.最大线宽的值进行切换. ...
- openrisc 之 Wishbone总线学习笔记——总线互联
一,总线命名规范 1,wishbone总线接口信号都是高电平有限 2,wishbone接口信号都是以 _i ,或者是 _o 结束.i表示输入, o表示输出. ()表示该信号为总线信号,总线位宽可以大于 ...
- 【转】认识物理I/O构件- 主机I/O总线
在数据离开系统内存总线后,它通常传输到另一条总线,即主机I/O总线.在今天的产品中,最常见的主机I/O总线是PCI总线,但也存在着几种其他的总线,如S -总线,EIS A总线及VME总线.主机I/O总 ...
- vxi总线
20世纪80年代后期,仪器制造商发现GPIB总线和VME总线产品无法再满足军用测控系统的需求了.在这种情况下,HP.Tekronix等五家国际著名的仪器公司成立了VXIbus联合体,并于1987年发布 ...
- AD各种布线方法总结
1.常规布线:不详细说了,是个人就知道怎么弄.需要说明的是在布线过程中,可按小键盘的*键或大键盘的数字2键添加一个过孔:按L键可以切换布线层:按数字3可设定最小线宽.典型线宽.最大线宽的值进行切换. ...
- PCB布线经验
查看: 3645|回复: 11 [经验] PCB设计经验(1)——布局基本要领 [复制链接] ohahaha 927 TA的帖子 0 TA的资源 纯净的硅(中级) 发消息 加好友 电 ...
- Altium_Designer-各种布线总结
1.常规布线:不详细说了,是个人就知道怎么弄.需要说明的是在布线过程中,可按小键盘的*键或大键盘的数字2键添加一个过孔:按L键可以切换布线层:按数字3可设定最小线宽.典型线宽.最大线宽的值进行切换. ...
随机推荐
- 前端学习之HTML(1)
HTML标签学习 2018-10-31 记录一下学习的网站 http://www.w3school.com.cn http://www.runoob.com/ <!DOCTYPE html> ...
- springboot 文件上传和下载
文件的上传和下载 1.文件上传 html页面代码如下 <form method="post" action="/file/upload1" enctype ...
- 转:PHP中的使用curl发送请求(GET请求和POST请求)
原文地址:http://www.jb51.net/article/104974.htm 使用CURL发送请求的基本流程 使用CURL的PHP扩展完成一个HTTP请求的发送一般有以下几个步骤: 1.初始 ...
- html基础-标题标签-文字标签(2)
昨天说道了我的第一个网页,今天接着继续带大家深入,前期学习千万不要用代码工具哦!那样就少了深入了解的机会了哦! 一.大家都知道文章会有各种标题,网页其实也跟文章差不多也有专门来写标题的元素. (1). ...
- 使用servicestack连接redis
引言:作为少有的.net架构下的大型网站,stackoverflow曾发表了一篇文章,介绍了其技术体系,原文链接http://highscalability.com/blog/2011/3/3/sta ...
- mysql 日期时间类型
datetime timestamp year date time drop table test;create table test (dt datetime, ts timestamp, y ye ...
- Django html标签make_safe
from django.utils.safestring import mark_safe a = mark_safe("<a href='#'>test</a>&q ...
- JQuery 引用方式
# head里面 <script src="jquery.min.js"></script> <script src="common.js& ...
- 一个Interface 继承多个Interface 的总结
我们知道在Java中的继承都是单继承的,就是说一个父类可以被多个子类继承但是一个子类只能有一个父类.但是一个接口可以被不同实现类去实现,这就是我们说的Java中的多态的概念.下面我们再来说一下接口的多 ...
- 【Java】多线程
class RunnableDemo implements Runnable { private Thread t; private String threadName; RunnableDemo( ...