can总线_can总线通信 - CSDN
can总线 订阅
CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。 展开全文
CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。
信息
开发公司
德国BOSCH公司
地    区
北美和西欧
特    点
国际上应用最广泛的现场总线之一
中文名
CAN总线
应用范围
汽车计算机控制系统和嵌入式工业控制局域网
外文名
Controller Area Network
CAN总线基本概念
CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低功耗、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,在欧洲已是汽车网络的标准协议。CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。
收起全文
精华内容
参与话题
  • CAN总线原理简介

    万次阅读 多人点赞 2019-09-23 17:46:50
    一.CAN总线简介: 是一种串行通信协议,能有效的支持具有很高安全等级的分布实时控制 应用范围十分广泛,从高速网络到低价位的多路接线都可以使用CAN 主要运用于汽车电子航天等行业,使用CAN连接发动机的控制单元...

    一.CAN总线简介:

    • 是一种串行通信协议,能有效的支持具有很高安全等级的分布实时控制
    • 应用范围十分广泛,从高速网络到低价位的多路接线都可以使用CAN
    • 主要运用于汽车电子航天等行业,使用CAN连接发动机的控制单元等汽车部件
    • 具有可靠,实时以及灵活的特性.

    二.CAN工作原理:

    1. 以广播的形式发送报文.当CAN总线上的某个节点需要给其他节点发送消息时,会以广播的形式发送给总线上所有的节点,因为总线上的节点不适用地址来进行配置CAN系统,而是根据报文的开头的11位标识符决定是否要接受其他节点发来的报文.(面向内容的编制方案)
    2. 每个节点都有自己的处理器和CAN总线接口控制器;
    3. 当一个节点需要发送数据到另一个节点时,自身节点的处理器需要将要发送的数据和自己的标识符传给自身的总线控制接口,处于准备状态;当获取到总线的使用权后,将数据和标识符组装成报文,将报文以一定格式发出,此时其他的节点处于接收状态.至于其他节点是否接收,由其他节点决定,是都会对某些报文进行过滤.
    4. 当新增的节点仅仅是纯粹的数据接收设备时,只需要该设备直接从总线上接收数据即可.

    三.总线工作的特点:

    • 特权阶级.不论计算机还是真是社会中,都有特权阶级的存在,CAN总线上的节点会被划分为不同优先级,为满足的是不同的实时要求,采用的是非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点会主动的停止数据发送,优先级高的就可以不受影响继续传输数据.仲裁(Arbitration) 只要总线空闲,任何节点都可以向总线发送报文。如果有两个或两个以上的节点同时发送报文,就会引起总线访问碰撞。通过使用标识符的逐位仲裁可以解决这个碰撞。仲裁的机制确保了报文和时间均不损失。当具有相同标识符的数据帧和远程帧同时发送时,数据帧优先于远程帧。在仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送,如果发送的是“隐性”电平而监视到的是“显性”电平,那么这个单元就失去了仲裁,必须退出发送状态
    • 报文(Message)总线上的数据以不同报文格式发送,但长度受到限制。当总线空闲时,任何一个网络上的节点都可以发送报文
    • 信息路由(Information Routing)在CAN中,节点不使用任何关于系统配置的报文,比如站地址,由接收节点根据报文本身特征判断是否接收这帧信息。因此系统扩展时,不用对应用层以及任何节点的软件和硬件作改变,可以直接在CAN中增加节点
    • 标识符(Identifier) 要传送的报文有特征标识符(是数据帧和远程帧的一个域),它给出的不是目标节点地址,而是这个报文本身的特征。信息以广播方式在网络上发送,所有节点都可以接收到。节点通过标识符判定是否接收这帧信息
    • 数据一致性应确保报文在CAN里同时被所有节点接收或同时不接收,这是配合错误处理和再同步功能实现的
    • 位传输速率不同的CAN系统速度不同,但在一个给定的系统里,位传输速率是唯一的,并且是固定的
    • 优先权 由发送数据的报文中的标识符决定报文占用总线的优先权。标识符越小,优先权越高
    • 远程数据请求(Remote Data Request) 通过发送远程帧,需要数据的节点请求另一节点发送相应的数据。回应节点传送的数据帧与请求数据的远程帧由相同的标识符命名
    • 总线状态 总线有“显性”和“隐性”两个状态,“显性”对应逻辑“0”,“隐性”对应逻辑“1”。“显性”状态和“隐性”状态与为“显性”状态,所以两个节点同时分别发送“0”和“1”时,总线上呈现“0”。CAN总线采用二进制不归零(NRZ)编码方式,所以总线上不是“0”,就是“1”。但是CAN协议并没有具体定义这两种状态的具体实现方式
    • 故障界定(Confinement) CAN节点能区分瞬时扰动引起的故障和永久性故障。故障节点会被关闭
    • 应答接收节点对正确接收的报文给出应答,对不一致报文进行标记
    • CAN通讯距离最大是10公里(设速率为5Kbps),或最大通信速率为1Mbps(设通信距离为40米)
    • CAN总线上的节点数可达110个。通信介质可在双绞线,同轴电缆,光纤中选择
    • 报文是短帧结构,短的传送时间使其受干扰概率低,CAN有很好的校验机制,这些都保证了

    CAN通信的可靠性:

    (1)具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点;
    (2)采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作;
    (3)具有优先权和仲裁功能,多个控制模块通过CAN 控制器挂到CAN-bus 上,形成多主机局部网络;
    (4)可根据报文的ID决定接收或屏蔽该报文;
    (5)可靠的错误处理和检错机制;
    (6)发送的信息遭到破坏后,可自动重发;
    (7)节点在错误严重的情况下具有自动退出总线的功能;
    (8)报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。

    四.总线协议层次结构: 分为3层,物理层,传输层以及对象层

    1. 物理层
      在物理层中定义实际信号的传输方法,包括位的编码和解码、位的定时和同步等内容,作用是定义不同节点之间根据电气属性如何进行位的实际传输;
      在物理连接上, CAN 总线结构提供两个引脚 --CANH 和 CANL ,总线通过 CANH 和 CANL 之间的差分电压完成信号的位传输;
      在不同系统中, CAN 总线的位速率不同;在系统中, CAN 总线的位速率是唯一的,并且是固定的,这需要对总线中的每个节点配置统一的参数。

    2. 传输层
      传输层是 CAN 总线协议的核心。传输层负责把接收到的报文提供给对象层,以及接收来自对象层的报文。传输层负责位的定时及同步、报文分帧、仲裁、应答、错误检测和标定、故障界定。

    3. 对象层
      在对象层中可以为远程数据请求以及数据传输提供服务,确定由实际要使用的传输层接收哪一个报文,并且为恢复管理和过载通知提供手段.

    五.CAN总线报文结构:

    1. 数据帧:大多数情况下使用的报文结构
      从标识符长度上,又可以把数据帧分为标准帧 (11 位标识符 ) 和扩展帧 (29 位标识符 ) 。
      数据帧由 7 个不同的位场组成:帧起始、仲裁场、控制场、数据场、 CRC 场、应答场、帧结束。其中,数据场的长度为 0~8 个字节。标识符位于仲裁场中,报文接收节点通过标识符进行报文滤波
      在这里插入图片描述
      2.远程帧:用来向某一个节点请求数据
      由总线上的节点发出,用于请求其他节点发送具有同一标识符的数据帧。当某个节点需要数据时,
      可以发送远程帧请求另一节点发送相应数据帧。与数据帧相比,远程帧没有数据场,结构如图所示。
      在这里插入图片描述

    3.错误帧:任何单元,一旦检测到总线错误就发出错误帧
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4.过载帧:用于先行和后续的数据帧或者远程帧之间提供附加延时,保证接收端能够来得及处理前面收到的数据,包括过载标志和过载界定符.
    在这里插入图片描述
    在这里插入图片描述

    参考链接:https://blog.csdn.net/huan447882949/article/details/80042417

    展开全文
  • CAN总线入门学习(一)

    万次阅读 2018-07-11 22:08:31
    今天带着大家学习,CAN总线 。。。。1. 概要本资料是面向 CAN 总线初学者的 CAN 入门。对 CAN 是什么、CAN 的特征、标准规格下的位置分布等、CAN 的概要及 CAN 的协议进行了说明。2. 使用注意事项本...

    今天带着大家学习,CAN总线 。。。。

    1. 概要

    本资料是面向 CAN 总线初学者的 CAN 入门。对 CAN 是什么、CAN 的特征、标准规格下的位置分布等、CAN 的概要及 CAN 的协议进行了说明。

    2. 使用注意事项
    本资料对博世(BOSCH)公司所提出的 CAN 概要及协议进行了归纳,可作为实际应用中的参考资料。对于具有 CAN 功能的产品不承担任何责任。

    3. CAN 是什么?
    CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO*1 国际标准化的串行通信协议。

    在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统 被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很 多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个 LAN,进行大量数据的高速通信”的需 要,1986 年德国电气商博世公司开发出面向汽车的 CAN 通信协议。此后,CAN 通过 ISO11898 及 ISO11519 进 行了标准化,现在在欧洲已是汽车网络的标准协议。

    现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。 图 是车载网络的构想示意图。CAN 等通信协议的开发,使多种 LAN 通过网关进行数据交换得以实现。

    3.1 CAN 的应用示例

    2CAN的应用示例

    3.2 总线拓扑图
    CAN 控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。 图3CAN的连接示意图

    4. CAN 的特点
    CAN 协议具有以下特点。

    (1) 多主控制在总线空闲时,所有的单元都可开始发送消息(多主控制)。 最先访问总线的单元可获得发送权(CSMA/CA 方式*1)。 多个单元同时开始发送时,发送高优先级 ID 消息的单元可获得发送权。

    (2) 消息的发送
    在 CAN 协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新 消息。两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为 ID)决定优先级。ID 并不 是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消 息 ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的 单元则立刻停止发送而进行接收工作。

    (3) 系统的柔软性与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬 件及应用层都不需要改变。

    (4) 通信速度根据整个网络的规模,可设定适合的通信速度。

    在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。

    (5) 远程数据请求
    可通过发送“遥控帧” 请求其他单元发送数据。

    (6) 错误检测功能·错误通知功能·错误恢复功能
    所有的单元都可以检测错误(错误检测功能)。 检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。 正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送 此消息直到成功发送为止(错误恢复功能)。

    (7) 故障封闭
    CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部

    故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上

    隔离出去。

    (8) 连接
    CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元 数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接 的单元数减少。



    5. 错误
    5.1 错误状态的种类

    单元始终处于 种状态之一。

    (1) 主动错误状态主动错误状态是可以正常参加总线通信的状态。 处于主动错误状态的单元检测出错误时,输出主动错误标志。

    (2) 被动错误状态
    被动错误状态是易引起错误的状态。 处于被动错误状态的单元虽能参加总线通信,但为不妨碍其它单元通信,接收时不能积极地发送错误通知。 处于被动错误状态的单元即使检测出错误,而其它处于主动错误状态的单元如果没发现错误,整个总线也被 认为是没有错误的。
    处于被动错误状态的单元检测出错误时,输出被动错误标志。 另外,处于被动错误状态的单元在发送结束后不能马上再次开始发送。在开始下次发送前,在间隔帧期间内 必须插入“延迟传送
    ”(8 个位的隐性位)

    (3) 总线关闭态
    总线关闭态是不能参加总线上通信的状态。
    信息的接收和发送均被禁止。 这些状态依靠发送错误计数和接收错误计数来管理,根据计数值决定进入何种状态。错误状态和计数值的关 系如表
    1及图4所示。

    5.2 错误计数值

    发送错误计数值和接收错误计数值根据一定的条件发生变化。 错误计数值的变动条件如表 所示。 一次数据的接收和发送可能同时满足多个条件。 错误计数器在错误标志的第一个位出现的时间点上开始计数。




    关注微信公众号嵌入式软件开发学习圈获取更多嵌入式学习资讯

    如需获取其他学习资料,直接在微信公众号留言



    展开全文
  • CAN总线详解

    万次阅读 多人点赞 2019-07-24 09:56:01
    1、简介 CAN是控制器局域网络(Controller Area Network, CAN)的简称,是一种能够实现分布式实时控制的串行通信网络。 优点: 传输速度最高到1Mbps,通信...Ø 高集成:CAN总线系统允许在所有ECUs上进行集中错误诊...

    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总线上的节点都可以决定自己是否需要总线上的数据。具体的引脚定义如下:

    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相同的标准帧和扩展帧,标准帧优先级比扩展帧高。

    img

    数据段

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

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

     

    注:更多详细请参考https://blog.csdn.net/liuligui5200/article/details/79030676

    展开全文
  • CAN总线基础知识(一)

    万次阅读 多人点赞 2014-03-13 14:49:29
    1.CAN总线是什么?  CAN(Controller Area Network)是ISO国际标准化的串行通信协议。广泛应用于汽车、船舶等。具有已经被大家认可的高性能和可靠性。  CAN控制器通过组成总线的2根线(CAN-H和CAN-L)的电位差来...

    1.CAN总线是什么?

        CAN(Controller Area Network)是ISO国际标准化的串行通信协议。广泛应用于汽车、船舶等。具有已经被大家认可的高性能和可靠性。

        CAN控制器通过组成总线的2根线(CAN-H和CAN-L)的电位差来确定总线的电平,在任一时刻,总线上有2种电平:显性电平和隐性电平。

        “显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上即为显性电平,并且,“隐性”具有“包容”的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。(显性电平比隐性电平更强)。

        总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。

        下图显示了一个典型的CAN拓扑连接图。

        连接在总线上的所有单元都能够发送信息,如果有超过一个单元在同一时刻发送信息,有最高优先级的单元获得发送的资格,所有其它单元执行接收操作。


    2.CAN总线的特点

         CAN总线协议具有下面的特点:

        1) 多主控制

        当总线空闲时,连接到总线上的所有单元都可以启动发送信息,这就是所谓的多主控制的概念。

        先占有总线的设备获得在总线上进行发送信息的资格。这就是所谓的CSMA/CR(Carrier Sense MultipleAccess/Collosion Avoidance)方法

        如果多个设备同时开始发送信息,那么发送最高优先级ID消息的设备获得发送资格。

        2) 信息的发送

        在CAN协议中,所有发送的信息要满足预先定义的格式。当总线没有被占用的时候,连接在总线上的任何设备都能起动新信息的传输,如果两个或更多个设备在同时刻启动信息的传输,通过ID来决定优先级。ID并不是指明信息发送的目的地,而是指示信息的优先级。如果2个或者更多的设备在同一时刻启动信息的传输,在总线上按照信息所包含的ID的每一位来竞争,赢得竞争的设备(也就是具有最高优先级的信息)能够继续发送,而失败者则立刻停止发送并进入接收操作。因为总线上同一时刻只可能有一个发送者,而其它均处于接收状态,所以,并不需要在底层协议中定义地址的概念。

        3) 系统的灵活性

        连接到总线上的单元并没有类似地址这样的标识,所以,添加或去除一个设备,无需改变软件和硬件,或其它设备的应用层软件。

        4) 通信速度

        可以设置任何通讯速度,以适应网络规模。

        对一个网络,所有单元必须有相同的通讯速度,如果不同,就会产生错误,并妨碍网络通讯,然而,不同网络间可以有不同的通讯速度。

        5) 远程数据请求

    可以通过发送“遥控帧”,请求其他单元发送数据。

        6) 错误检测、错误通知、错误恢复功能

    所有单元均可以检测出错误(错误检测功能)。

    检测到错误的单元立刻同时通知其它所有的单元(错误通知功能)。如果一个单元发送信息时检测到一个错误,它会强制终止信息传输,并通知其它所有设备发生了错误,然后它会重传直到信息正常传输出去(错误恢复功能)。

        7) 错误隔离

    在CAN总线上有两种类型的错误:暂时性的错误(总线上的数据由于受到噪声的影响而暂时出错);持续性的错误(由于设备内部出错(如驱动器坏了、连接有问题等)而导致的)。CAN能够区别这两种类型,一方面降低常出错单元的通讯优先级以阻止对其它正常设备的影响,另一方面,如果是一种持续性的错误,将这个设备从总线上隔离开。

        8) 连接

    CAN总线允许多个设备同时连接到总线上且在逻辑上没有数目上的限制。然而由于延迟和负载能力的限制,实际可连接得设备还是有限制的,可以通过降低通讯速度来增加连接的设备个数。相反,如果连接的设备少,通讯的速度可以增加。

    3.错误

    3.1 错误状态

        设备总是处于下面三个状态之一:

        1)主动错误状态

        在此状态下,设备能够参加总线上的正常通讯。如果处于主动错误状态的设备检测到一个错误,它会发送一个主动错误标志,更细节见第6章的“CAN协议”。

        2)被动错误状态

        是指易于引起错误的状态。

        尽管处于被动错误状态的设备能够参加总线上的通讯,但是在接收期间,它不可能主动地向其它设备发送错误通知,以避免影响它们的通讯。处于被动错误状态的设备即使检测到一个错误,如果其它处于主动错误状态的设备没曾检测到错误,那么也认为在总线上未曾出现过任何错误。

        当处于被动错误状态的设备检测到一个错误的时候,它发送一个被动错误标志。

        另外,处于被动错误状态的单元在发送结束后不能立刻再次开始发送。在开始下次发送前,在间隔帧期间内必须插入“暂停发送期”(由8个位的隐性位组成)。

    更细节见第6章的“CAN协议”。

        3)总线切断状态

        处于此状态下时,设备不能参加总线的通讯。设备所有的收发操作都被禁止。

        这些状态是通过发送错误计数器和接收错误寄存器来管理,相关错误状态由这些计数器值的组合来标识,错误状态和计数器值之间的关系见表1和图4。




    3.2 错误计数器的值

        发送和接收错误计数器的值按照规定的条件来改变。

        表2小结了错误计数器值改变的条件。

        在一个数据收发操作中可能会发生多个条件重叠。

        错误计数器增加的时间发生在错误标志的第一bit位置。


    4.CAN协议的基本概念

        CAN协议包括OSI参考模型的传输层、数据链路层、物理层。图5显示了CAN协议每个层的定义。

        数据链路层划分为MAC(Medium Access Control媒体存取控制)和LLC(Logical Link Control罗辑链路控制)。MAC子层组成CAN协议的核心。数据链路层的功能是将从物理层接收到的信号组织成有意义的信息,提供如传输错误控制等数据传输控制流程。更具体来说,包括:信息如何封装成一帧,数据冲突仲裁、应答、错误的检测或通知。数据链路层的这些功能通常由CAN控制器硬件来实现。

        物理层定义信号的实际传输方式、位的时序、位的编码、同步的过程步骤,然而,CAN协议并没有定义了信号电平、通讯速度、采样点值、驱动器和总线电气特征、连接器形式。对每个系统,这些特征由用户自行确定。

        在BOSCH公司的CAN协议中,并没有关于收发器和总线的电气特征的定义,而在ISO CAN协议中,如ISO11898和ISO11519-2却对此有明确的定义。





    展开全文
  • CAN总线知识点梳理

    万次阅读 多人点赞 2018-09-01 17:20:57
    嵌入式的工程师一般都知道CAN总线广泛应用到汽车中,其实船舰电子设备通信也广泛使用CAN,随着国家对海防的越来越重视,对CAN的需求也会越来越大。这个暑假,通过参加苏州社会实践,去某船舶电气公司实习几周,也借...
  • CAN总线通信原理分析

    万次阅读 2015-04-13 18:26:38
    摘要:介绍了控制器局域网总线(CAN总线)的应用特性以及将其应用于具体的工程项目时CAN总线系统的分层结构及各层的主要功能。基于CAN总线系统结构构成,通过工程实践的具体应用以及对CAN控制器及收发器硬件结构的深入...
  • CAN总线基础知识(三)

    万次阅读 多人点赞 2014-03-13 14:48:21
    1.CAN协议 1.1 帧类型 通讯时使用下面5个类型的帧:  数据帧  遥控帧  错误帧  过载帧  帧间空隙  在所有这些帧中,数据帧和遥控帧由用户设置,而其它帧则由CAN硬件设置。  数据和遥控帧有两种格式:标准和...
  • can总线深入分析教程

    千次阅读 多人点赞 2018-08-30 15:36:12
    因为公司的部分产品涉及到CAN总线传输信号,所以有段时间一直在网上找相关的资料了解,但大部分资料介绍的都比较正式,看的话很难把握要点。 CAN总线简明易懂教程——《CAN总线呕心沥血教程》 后来在网上看到这...
  • CAN总线传输协议

    万次阅读 多人点赞 2019-07-16 22:13:03
    一、控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯...公元1991年,CAN总线技术规范(CAN Version2.0)制定并发布,该技术规范共包括A和B两部分,称为CAN2.0A和CAN2.0B。其中CAN2.0...
  • CAN总线简明易懂教程(二)

    万次阅读 多人点赞 2018-02-28 21:36:55
    接上一篇:我们先研究数据帧吧。一,数据帧由 7 个不同位场组成(帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结尾)。这里的位场,就是不同位的组合,这名字起的很烂,让人看了感觉很抽象。...
  • CAN总线的物理层定义了连接车内各控制器的相关介质以及接口。由于CAN总线的数据传输实质是通过总线上的电压变化传输的,所以CAN的总线电压是CAN总线技术的核心所在,总线电压在物理层中定义。为了深刻理解CAN总线,...
  • CAN总线电平(隐性与显性)

    万次阅读 2018-03-25 14:16:45
    CAN2.0B规范定义了两种互补的逻辑数值:显性和隐性。同时传送显性和隐性位时,总线呈现显性状态;同时传送显性状态位时,总线呈现显性状态;同时传送隐性状态位时,...CAN总线为显性(逻辑0)时,CAN_H和CAN_L电平分
  • CAN总线学习笔记(1)- CAN基础知识

    万次阅读 多人点赞 2018-04-13 19:39:33
    依照瑞萨公司的《CAN入门书》的组织思路来学习CAN通信的相关知识,并结合网上相关资料以及学习过程中的领悟整理成笔记。...通俗来讲,CAN总线就是一种传输数据的线,用于在不同的ECU之间传输数据。 C...
  • 学习CAN总线物理层除了总线电压这一部分需要深刻理解之外,剩下的无非都是一些物理介质以及接口的规定。针对CAN总线的拓扑结构图:  我们对CAN总线的介质以及接口做一些说明讲解:  CAN总线的终端电阻需要...
  • CAN总线的仲裁

    万次阅读 2017-02-13 13:55:00
    CAN总线的仲裁
  • CAN总线与RS485的比较

    万次阅读 2011-02-18 14:57:00
    CAN总线与RS485的比较
  • 汽车CAN总线关闭故障的诊断与恢复

    万次阅读 2017-10-12 16:19:34
    本文在原创的基础上,添加了部分自己的理解,特此说明。 ... 1 研究的背景和意义  ... 从改革开放到现在,汽车产业对我国经济发展产生巨大的推动,对社会进步产生了深远的影响,逐渐成为了我国的支柱行业。...
  • CAN总线和以太网对比

    万次阅读 多人点赞 2018-02-28 13:42:35
    以太网和CAN总线传输方式比较 发布时间:2018-02-27 08:23:25 来源:网络 标签:以太网CAN总线雷达分享到: 信号譬如视频、雷达等等也开始使用以太网来进行传输。隐隐有取代CAN总线成为汽车总线的趋势,然而事实真的...
  • 汽车CAN/LIN总线系统测试的关键是测试流程、测试标准和测试工具,掌握专业的总线分析和测试工具的使用技术,开发测试软件并将它们应用到测试过程是对中国汽车厂家和汽车工程师的重大挑战,本文介绍CAN/LIN总线设计、...
  • Modbus协议和CAN总线

    千次阅读 2016-09-15 16:47:56
    Modbus和CAN做为两种工业上常用的总线协议在仪器仪表,汽车,轨道交通设备上获得了广泛的...CAN总线是一种对等的总线或者是多主总线,总线上的每一个设备都可以是主设备.CAN总线根据ID的大小来竞争获取总线控制权. 现在
1 2 3 4 5 ... 20
收藏数 31,073
精华内容 12,429
关键字:

can总线