CAN总线详解

1、简介

CAN是控制器局域网络(Controller Area Network, CAN)的简称,是一种能够实现分布式实时控制的串行通信网络。

优点:

传输速度最高到1Mbps,通信距离最远到10km,无损位仲裁机制,多主结构。近些年来,CAN控制器价格越来越低。

Ø 低成本:ECUs通过单个CAN接口进行通信,布线成本低。

Ø 高集成:CAN总线系统允许在所有ECUs上进行集中错误诊断和配置。

Ø 可靠性:该系统对子系统的故障和电磁干扰具有很强的鲁棒性,是汽车控制系统的理想选择。

Ø 高效率:可以通过id对消息进行优先级排序,以便最高优先级的id不被中断。

Ø 灵活性:每个ECU包含一个用于CAN总线收发芯片,随意添加CAN总线节点。

2、CAN总线网络

CAN总线网络主要挂在CAN_H和CAN_L,各个节点通过这两条线实现信号的串行差分传输,为了避免信号的反射和干扰,还需要在CAN_H和CAN_L之间接上120欧姆的终端电阻。为什么是120Ω,因为电缆的特性阻抗为120Ω,为了模拟无限远的传输线。

3、CAN收发器

CAN收发器的作用是负责逻辑电平和信号电平之间的转换。

即从CAN控制芯片输出逻辑电平到CAN收发器,然后经过CAN收发器内部转换将逻辑电平转换为差分信号输出到CAN总线上,CAN总线上的节点都可以决定自己是否需要总线上的数据。具体的引脚定义如下:

4、CAN信号表示

CAN总线采用不归零码位填充技术,也就是说CAN总线上的信号有两种不同的信号状态,分别是显性的(Dominant)逻辑0和隐形的(recessive)逻辑1,信号每一次传输完后不需要返回到逻辑0(显性)的电平。

显性与隐性电平的解释:

CAN的数据总线有两条,一条是黄色的CAN_High,一条是绿色的CAN_Low。当没有数据发送时,两条线的电平一样都为2.5V,称为静电平,也就是隐性电平。当有信号发送时,CAN_High的电平升高1V,即3.5V,CAN_Low的电平降低1V,即1.5V。

按照定义的:

  • CAN_H-CAN_L < 0.5V 时候为隐性的,逻辑信号表现为'逻辑1'- 高电平。

  • CAN_H-CAN_L > 0.9V 时候为显性的,逻辑信号表现为'逻辑0'- 低电平。

5、CAN信号传输

发送过程: CAN控制器将CPU传来的信号转换为逻辑电平(即逻辑0-显性电平或者逻辑1-隐性电平)。CAN发射器接收逻辑电平之后,再将其转换为差分电平输出到CAN总线上。

接收过程: CAN接收器将CAN_H 和 CAN_L 线上传来的差分电平转换为逻辑电平输出到CAN控制器,CAN控制器再把该逻辑电平转化为相应的信号发送到CPU上。

5、CAN数据传输

CAN总线传输的是CAN帧,CAN的通信帧分成五种,分别为数据帧、远程帧、错误帧、过载帧和帧间隔。

数据帧根据仲裁段长度不同分为标准帧(2.0A)和扩展帧(2.0B)

帧起始

由一个显性位(低电平)组成,发送节点发送帧起始,其他节点同步于帧起始;

帧结束

由7个隐形位(高电平)组成。

仲裁段

只要总线空闲,总线上任何节点都可以发送报文,如果有两个或两个以上的节点开始传送报文,那么就会存在总线访问冲突的可能。但是CAN使用了标识符的逐位仲裁方法可以解决这个问题。

CAN总线控制器在发送数据的同时监控总线电平,如果电平不同,则停止发送并做其他处理。如果该位位于仲裁段,则退出总线竞争;如果位于其他段,则产生错误事件。

帧ID越小,优先级越高。由于数据帧的RTR位为显性电平,远程帧为隐性电平,所以帧格式和帧ID相同的情况下,数据帧优先于远程帧;由于标准帧的IDE位为显性电平,扩展帧的IDE位为隐形电平,对于前11位ID相同的标准帧和扩展帧,标准帧优先级比扩展帧高。

数据段

一个数据帧传输的数据量为0~8个字节,这种短帧结构使得CAN-bus实时性很高,非常适合汽车和工控应用场合如图27所示。

数据量小,发送和接收时间短,实时性高,被干扰的概率小,抗干扰能力强。

(0)

相关推荐

  • CAN总线学习笔记(1)- CAN基础知识

    本专辑是依照瑞萨公司<CAN入门书>的组织思路来学习CAN通信的相关知识,并结合网上相关资料以及学习过程中的领悟整理成的笔记.希望对初学者有所帮助. 01 CAN的一些基本概念 1.1 什 ...

  • UC头条:通信协议

    首先了解一下,什么是通信? 通信是指两个对象之间能够进行信息的数据传输. 通信的两个对象是指什么呢? 如果不谈具体的领域,通信的两个对象可以是想要完成信息交换的任何对象.但是今天我们聚焦于汽车领域,我 ...

  • 干货分享:CAN总线详解 整车的控制只需要一条线

    CAN("Controller Area Network",控制器局域网) 作用:将整车中各种不同的控制器连接起来,实现信息的可靠共享,并减少整车线束数量.可以设想一种极端情况,如 ...

  • 如何用示波器测试CAN信号?

    作为目前车载网络领域最成熟.应用最广泛的通信总线之一,CAN总线具有传输可靠性高.速度快.易用等特点.由于其涉及到用户的人身安全,所以在汽车研发.生产.检测.维修等过程中均需做严格的测试. 由于CAN ...

  • CAN总线学习笔记(2)- CAN协议数据帧、遥控帧、错误帧

    本专辑是依照瑞萨公司<CAN入门书>的组织思路来学习CAN通信的相关知识,并结合网上相关资料以及学习过程中的领悟整理成的笔记.希望对初学者有所帮助. 01 CAN 协议中的帧 在了解CAN ...

  • 详解CAN中继器原理常见的问题和正确的设计方案

    描述 CAN中继器的主要作用是延长传输距离,改变拓扑结构和隔离干扰,是在can网络中大受欢迎的硬件设备,但因此增加了它的设计成本.许多人在设计CAN中继器时都会犯错,那我们来发现会有哪些常见错误,又如 ...

  • 一文读懂CAN

    一文读懂CAN

  • CAN总线的显性电平为什么能覆盖隐性电平?

    大家都知道,CAN总线的差分电平分为显性电平和隐性电平,显性电平的逻辑为0,隐性电平的逻辑为1,在同一个位时间,一个节点发显性电平,另一个节点发隐性电平,则总线电平为显性电平,这是CAN总线仲裁的基础 ...

  • 汽车四大总线技术详解

    我们最熟悉的汽车总线是CAN,对于LIN和Flexray大家或许还有点陌生.那么接下来,就为大家介绍一下这四种汽车总线. 车用总线就是车载网络中底层的车用设备或车用仪表互联的通信网络.目前,有四种主流 ...

  • 总线56讲,UDS协议测试,全套详解

    老规矩,我们要从入门到精通,做系统性的介绍,帮助大家对这项技能一网打尽.UDS是一种高层应用协议.所谓"应用协议",指的就是在CAN报文传输的基础上,进一步封装的特殊含义的传输命令 ...

  • 一文详解CAN总线错误帧

    来源: 公众号车辆技术,侵删 01 错误帧的帧结构 在发送和接收报文时,总线上的节点如果检测出了错误,那么该节点就会发送错误帧,通知总线上的节点,自己出错了. 错误帧由错误标志和错误界定符两个部分组成 ...

  • 技术干货 | 4大汽车总线:CAN、LIN、FlexRay和MOST技术详解

    汽车总线 四大总线技术详解 2021.09.01 汽车智能化促进了汽车电子设备的繁荣发展,电子电气架构迎来必然变革,其核心是车内数据传输和控制方式的转变,车内总线作为电子电气架构的物理体现,其重要性不 ...

  • 详解CAN总线

    来源:一口Linux 嵌入式的工程师一般都知道CAN总线广泛应用到汽车中,其实船舰电子设备通信也广泛使用CAN,随着国家对海防的越来越重视,对CAN的需求也会越来越大.这个暑假,通过参加苏州社会实践, ...

  • CAN总线技术详解

    CAN,全称为"Controller Area Network",即控制器局域网,是国际上应用最广泛的现场总线之一.最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制 ...

  • 胎元命宫详解

    胎元命宫详解 胎元命宫 8.1 胎元 胎, 指人受精怀胎的月份. 其起法是: 人生月后紧接着这个月的天干与生月后第三个月的地支相配, 就为胎元. 如1998年八月生人, 八月为辛酉, 辛后一干是壬, ...

  • 批八字算婚姻详解

    批八字算婚姻详解 很多人喜欢在孩子一出生的时候就给他们算一下八字,因为他们相信孩子的八字和命运是相对注定了的,通过算命之后可以顺利的避免一些可能在生活中遇到的一些问题和坎坷,也可以顺利度过一些&quo ...