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总线布线规范

出处:周立功致远电子 发布于:2015-10-14 | 6343 次阅读

  摘要:今天的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总线布线规范的更多相关文章

  1. PCB主线布线规范—高速线之DDR2

    一.DDR2时钟线走线规则a)时钟线包括 MEM_CLKOUT#0.MEM_CLKOUT0.MEM_CLKOUT#1.MEM_CLKOUT1,MEM_CLKOUT#2.MEM_CLKOUT2: MEM ...

  2. PCB布线规范

    模拟电路和数字电路PCB设计的不同点 http://linear.eefocus.com/module/forum/thread-593593-1-1.html 合集   PCB给种设计资料 http ...

  3. Altium Designer 总线式布线

    1.常规布线:不详细说了,是个人就知道怎么弄.需要说明的是在布线过程中,可按小键盘的*键或大键盘的数字2键添加一个过孔:按L键可以切换布线层:按数字3可设定最小线宽.典型线宽.最大线宽的值进行切换. ...

  4. openrisc 之 Wishbone总线学习笔记——总线互联

    一,总线命名规范 1,wishbone总线接口信号都是高电平有限 2,wishbone接口信号都是以 _i ,或者是 _o 结束.i表示输入, o表示输出. ()表示该信号为总线信号,总线位宽可以大于 ...

  5. 【转】认识物理I/O构件- 主机I/O总线

    在数据离开系统内存总线后,它通常传输到另一条总线,即主机I/O总线.在今天的产品中,最常见的主机I/O总线是PCI总线,但也存在着几种其他的总线,如S -总线,EIS A总线及VME总线.主机I/O总 ...

  6. vxi总线

    20世纪80年代后期,仪器制造商发现GPIB总线和VME总线产品无法再满足军用测控系统的需求了.在这种情况下,HP.Tekronix等五家国际著名的仪器公司成立了VXIbus联合体,并于1987年发布 ...

  7. AD各种布线方法总结

    1.常规布线:不详细说了,是个人就知道怎么弄.需要说明的是在布线过程中,可按小键盘的*键或大键盘的数字2键添加一个过孔:按L键可以切换布线层:按数字3可设定最小线宽.典型线宽.最大线宽的值进行切换. ...

  8. PCB布线经验

      查看: 3645|回复: 11    [经验] PCB设计经验(1)——布局基本要领 [复制链接]     ohahaha 927 TA的帖子 0 TA的资源 纯净的硅(中级) 发消息 加好友 电 ...

  9. Altium_Designer-各种布线总结

    1.常规布线:不详细说了,是个人就知道怎么弄.需要说明的是在布线过程中,可按小键盘的*键或大键盘的数字2键添加一个过孔:按L键可以切换布线层:按数字3可设定最小线宽.典型线宽.最大线宽的值进行切换. ...

随机推荐

  1. Docker for Windows(三)Docker镜像与容器的区别&常用命令

    Docker镜像(Image)是一堆只读文件(read-only layer),容器(container)的定义和镜像(image)几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是 ...

  2. windows下生成上传git时需要用的SSH密钥

    参考:Windows上传代码到Github 打开“Git Bash” 输入 ssh-keygen -C "your email" -t rsa 出现如下结果: 成功后,信息里会显示 ...

  3. Linux安装Tomcat服务器发布项目教程

    前面小Alan跟大家聊了在Linux服务器上jdk运行环境的安装以及redis非关系型数据库的安装,今天继续跟大家聊聊Tomcat的安装,以及将我们的项目发布上去并成功的访问. 第一步:将tomcat ...

  4. HBase Scan流程分析

    HBase Scan流程分析 HBase的读流程目前看来比较复杂,主要由于: HBase的表数据分为多个层次,HRegion->HStore->[HFile,HFile,...,MemSt ...

  5. 用华为eNSP模拟器配置Hybrid、Trunk和Access三种链路类型端口

    上一篇文章写到三层交换机实现多个VLAN之间互相通讯,有朋友提问要如何进行配置,可有案例分析.其实那天我在写的时候也有做过模拟,只是后来没有保存.今天重新模拟一次,并附上详细配置命令,希望能够帮助到大 ...

  6. js 时间日期函数小结

    Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1, //month &quo ...

  7. 4 个用于构建优秀的命令行用户界面的 Python 库

    作者: Amjith Ramanujam 译者: LCTT Lv Feng 在这个分为两篇的关于具有绝佳命令行界面的终端程序的系列文章的第二篇教程中,我们将讨论 Prompt.Toolkit.Clic ...

  8. 通过runtime获取对象相关信息

    通过runtime获取对象相关信息 在这里,本人给大家提供一个runtime关于NSObject的扩展,用来显示各种NSObject中的信息,这有助于你来分析类的组成:) 先准备以下类供测试: Mod ...

  9. python面试十题

    问题1: 请问如何修改以下python代码,使得下面的代码调用类A的show方法? class A(): def show(self): print("base show") cl ...

  10. 铁乐学python_day23_面向对象进阶1_反射

    铁乐学python_day23_面向对象进阶1_反射 以下内容大部分摘自博客http://www.cnblogs.com/Eva-J/ isinstance()和issubclass() 两者的返回值 ...