概要

上世纪八十年代以来,汽车ECU越来越多,如ABS,电控门窗,电子燃油喷射装置。如果仍然采用常规的点对点布线方式,即电线一段与开关相接,另一端与用电设备相通,将会导致车上电线数目的急剧增加,从而带来线束的冗余及维修成本的提高。这就对汽车的线束分布及信息通讯提出了更高的要求。总线技术可以实现信息的实时共享,解决了传统布线方式中线束多,布线难,成本高等问题,CAN(Controller Area Network)总线技术应运而生。

CAN总线是由德国研发和生产汽车电子产品著称的BOSCH公司开发的,并最终成为国际标准(ISO11519),是国际上应用最广泛的现场总线之一。CAN总线是一种多主控(Multi-Master)的总线系统。传统总线系统如USB或以太网等是在总线控制器的协调下,实现从A节点到B节点大量数据的传输。CAN网络的消息是广播式的,即在同一时刻网络上所有节点侦测的数据是一致的,它是一种基于消息广播模式的串行通信总线。

CAN总线的很多优点,使得它得到了广泛的应用,如传输速度最高到1Mbps, 通信距离最远到10km,无损位仲裁机制,多主结构。

CAN总线标准

CAN总线标准之规定了物理层和数据链路层,至于应用层需要用户自定义。不同的CAN标准仅物理层不同。物理层和数据链路层:ISO11898;应用层:不同的应用领域使用不同的应用层标准。

CAN物理层

CAN拓扑网络

连接在CAN总线上的设备叫做节点设备(CAN Node),CAN网络的拓扑一般为线型。线束最常用的是双绞线,线上传输为对称的差分电平信号。下图为CAN总线网络示意图,节点主要包括Host、控制器和收发器。Host常集成有CAN控制器,CAN控制器负责处理协议相关功能,以减轻Host的负担。CAN收发器将控制器连接到传输媒介。通常控制器和总线收发器通过光耦或磁耦隔离,这样即使总线上过压损坏收发器,控制器和Host设备也可以得到保护。

在发送数据时,CAN控制器把要发送的二进制编码通过CAN_Tx线发送到CAN收发器,然后由收发器把这个普通的逻辑电平信号转化成差分信号,通过差分线CAN_High和CAN_Low输出到CAN总线网络。接收数据过程,相反。采用差分信号,可以取得更好的电磁兼容效果。因此,CAN总线物理传输媒介只需要两根线。

高速CAN总线最高信号传输速率为1Mbps,支持最长距离40m。ISO11898-2要求在高速CAN总线两段安装端接电阻RL(端接电阻一般为120Ω,因为电缆的特性阻抗为120 Ω,为了模拟无限远的传输线。)以消除反射。低速CAN最高速度只有125Kbps,所以ISO11898-3没有端接要求。

因为传输距离越大,信号时延也越大,为了保证消息的正确采样,总线上的信号速率相应也要下降。下图是推荐的信号速率与距离的关系。

CAN收发器

CAN总线分高速CAN和低速CAN,收发器也分为高速CAN收发器(1Mbps)和低速CAN收发器(125Kbps)。低速CAN也叫Fault Tolerance CAN,指的是即使总线上一根线失效,总线依然可以通信。如同串口中的MAX3232用作电平转换,CAN收发器的作用则是把逻辑信号转换为差分信号。

差分信号

CAN总线采用差分信号传输,通常情况下只需要两根信号线就可以进行正常的通信。在差分信号中,逻辑0和逻辑1是用两根差分信号线的电压差来表示。当处于逻辑1,CAN_High和CAN_Low的电压差小于0.5V时,称为隐性电平(Recessive);当处于逻辑0,CAN_High和CAN_Low的电压差大于0.9V,称为显性电平(Dominant)。

高速CAN

低速容错CAN (Fault Tolerance CAN)

CAN总线遵从“线与”机制:“显性”位可以覆 盖“隐性”位;只有所有节点都发 送“隐性”位, 总线才处于“隐性” 状态。这种“线与”机制使CAN总线呈现显性优先的特性。

CAN总线连接器

下一部分将介绍CAN总线数据链路层,和CAN总线同步机制。

从前到后的CAN总线(一)相关推荐

  1. 从前到后的CAN总线(二)

    上一篇文章讲了CAN总线的历史.标准.物理层,现在接着介绍CAN总线数据链路层,和CAN总线同步机制. CAN数据链路层 在SPI通信中,片选.时钟信号.数据输入及数据输出这四个信号都有单独的信号线. ...

  2. G120变频器在通信恢复后如何自动复位总线故障

    在很多情况下,用户希望变频器能在其通讯恢复后自动复位总线故障.例如用户在下载PLC硬件组态时,变频器一般就会报总线故障,这时用户需要先确认这个故障后才能启动变频器.本文介绍了SINAMICS G120 ...

  3. 从前中后序遍历构造二叉树,三题无脑秒杀

    如果只是前中后序遍历的其中一种,是不可能唯一确定一个二叉树的,必须是其中两个的结合,由此便产生了三道题目,在这里可以全部秒杀. 需要记住的要点是: 前序(根左右)--第一个节点一定是根节点: 中序(左 ...

  4. 电子商务系统的设计与实现(十三):分页组件,从前到后,从JS到Java

    一.概述    学习实践Web开发5年多了,直到今天,我才算真正实现了最基本最常用的分页组件. 包括:     a.前端JS异步加载并渲染:     b.前端JSP.Freemarker.Struts ...

  5. android 支付宝插件红包,[android]支付宝红包集成,从前到后

    首先,申请appid,签约"收发现金红包接口",配置公私钥啥的,就不说了. 1.支付宝收发现金红包的文档连接, 坑点: 1).请求示例跟响应示例不对应. 简单的说,响应示例并不是请 ...

  6. 数据结构—冒泡排序 C语言代码实现(从前向后/从后向前两种)

    冒泡排序的思想就是交换,假设要使序列排为递增 如果从左到右比较,则如果左边的比较大就交换, 如果从右向左比较,则右边的比较小就交换. //冒泡排序-从左到右交换 void Bubblesort(int ...

  7. 彩电主板更换后图像是矩型怎么处理_液晶彩电主板常见故障维修

    由于主板工作于低电压状态,其故障率远低于电源板和背光灯板,但维修难度却高于电源板和背光灯板.由于主板集图像处理.伴音处理.控制系统于一身,其功能较多,引发的故障现象也多.不同的主板,采用的集成电路不同 ...

  8. 《Linux总线、设备与驱动》USB设备发现机制

    http://blog.csdn.net/tankai19880619/article/details/11639185 说明:本分析基于mstar801平台Linux2.6.35.11内核,其他内核 ...

  9. I2C与SPI总线对比

    最近2周一直在调试IIC和SPI总线设备,这里记录一下2种总线,以备后忘. 一 IIC总线 I2C--INTER-IC串行总线的缩写,是PHILIPS公司推出的芯片间串行传输总线.它以1根串行数据线( ...

最新文章

  1. 程序员肿么了?为何总被认为是“屌丝”
  2. 有赞MySQL自动化运维之路—ZanDB
  3. c# 对象json互相转换_C#匿名对象(转JSON)互转、动态添加属性
  4. 浪潮as5300技术方案_混闪存储AS5300G5
  5. mysql 优化表的作用_mysql实战优化之三:表优化
  6. spring的PathMatchingResourcePatternResolver基于ant通配符匹配路径遍历项目所有xml文件
  7. JVM调优-GC参数
  8. c语言数组最大可定义多少位_C语言求数组的最大值三种方法
  9. centos7救援模式--单机模式(单用户模式)
  10. java8的日期API总结(JSR310)
  11. Mysql -- 外键的变种 三种关系
  12. day6--pandas
  13. oracle dba_tables degree default,oracle中如何将表的并行度设定为DEFAULT?如下:
  14. unity xlua 在vs2019下断点调试(babelua)
  15. vue中使用DataV做大屏展示
  16. 年终固定资产大盘点的具体步骤
  17. 怎样无损压缩视频?试试这个视频压缩大小的工具
  18. VR眼镜连接android设备,如何将VR眼镜的屏幕投影到计算机或电视上?
  19. 服务器组装 华硕主板,华硕主板装机教程 华硕主板装机步骤
  20. leetcode Rotate Image

热门文章

  1. MFC中的CString.Format及CString,string,char*之间的转换
  2. wordpress漏洞_聊聊 WordPress 5.1.1 CSRF to RCE 漏洞
  3. redis cli 删除key 模糊_redis 常用函数
  4. sqlplus可以连接plsql连接不上_为什么有的iPhone/iPad连接不上电脑?
  5. Machine Learning:如何选择机器学习算法?
  6. firefox的plugin-container.exe进程如何关闭?
  7. 【Spring学习笔记-MVC-13.2】Spring MVC之多文件上传
  8. [转载]Android开发常用调试技术记录
  9. Google服务完整清单
  10. 前工404见闻,让我怀疑我是不是身处东南大学……