精华内容
下载资源
问答
  • can总线仲裁

    2017-03-27 14:42:04
    这种总线仲裁方式允许总线上的任何一个设各都有机会取得总线的控制权并向外发送数据。如果在同一时刻有2个或2个以上的设各要求发送数据,就会产生总线冲突,CAN总线能够实时地检测这些冲突并对其进行仲裁,从而使...

    CAN总线的仲裁

    • CAN总线采用的是一种叫做“载波监测,多主掌控/冲突避免”(CSMA/CA)的通信模式。这种总线仲裁方式允许总线上的任何一个设各都有机会取得总线的控制权并向外发送数据。如果在同一时刻有2个或2个以上的设各要求发送数据,就会产生总线冲突,CAN总线能够实时地检测这些冲突并对其进行仲裁,从而使具有高优先级的数据不受任何损坏地传输

      当总线处于空闲状态时呈隐性电平,此时任何节点都可以向总线发送显性电平作为帧的开始。如果2个或2个以上同时发送就会产生竞争。CAN总线解决竞争的方法同以太网的CSMA/CD(Carrier Sense Multiple Access with Collislon Detection)方法基本相似,如图1所示。此外,CAN总线做了改进并采用CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)访问总线,按位对标识符进行仲裁各节点在向总线发送电平的同时,也对总线上的电平读取,并与自身发送的电平进行比较,如果电平相同继续发送下一位不同则停止发送退出总线竞争剩余的节点继续上述过程直到总线上只剩下1个节点发送的电平,总线竞争结束,优先级高的节点获得总线的控制权

      图1 Ethernet采用的CSMA/ CD总线访问过程

      CAN总线以报文为单位进行数据传输,报文的优先级结合在44位标识符中(扩展帧的标识符29位),具有最小二进制数的标识符的节点具有最高的优先级。这种优先级一旦在系统设计时确定就不能随意地更改总线读取产生的冲突主要靠这些位仲裁解决。之所以CAN总线不采用以太网使用的延时避免冲突,主要是为了保证具有更高优先级的节点能够完整地实时传输,而且CSMA/CA可以有效地避免冲突。

      如图2所示,节点A和节点B的标识符的第lO、9、8位电平相同,因此两个节点侦听到的信息和它们发出的信息相同。第7位节点B发出一个“1”,但从节点上接收到的消息却是“0”,说明有更高优先级的节点占用总线发送消息。节点B会退出发送处于单纯监听方式而不发送数据;节点A成功发送仲裁位从而获得总线的控制权,继而发送全部消息。总线中的信号持续跟踪最后获得总线控制权发出的报文,本例中节点A的报文将被跟踪。这种非破坏性位仲裁方法的优点在于,在网络最终确定哪个节点被传送前,报文的起始部分已经在网络中传输了,因此具有高优先级的节点的数据传输没有任何延时。在获得总线控制权的节点发送数据过程中,其他节点成为报文的接收节点,并且不会在总线再次空闲之前发送报文。

      图2  CAN总线节点访问总线过程

      图3为CAN总线上节点的电平逻辑,总线上的节点电平对于总线电平而言是相与的关系,只有当3个节点的电压都等于1(隐性电平),总线才会保持在ycc(隐性电平)状态。只要有1个节点切换到0状态(显性电平),总线就会被强制在显性状态(0)。这种避免总线冲突的仲裁方式能够使具有高优先级的消息没有延时地占用总线传输。

      图3 CAN总线上节点的电平逻辑

    展开全文
  • CAN总线仲裁机制回顾

    2020-06-10 09:34:59
    1〉因为CAN 的模块在发送数据的时候,也同时会对总线进行监听,假设两个节点同时发送数据,A节点发送的前3 个位是100,B节点为101,在前2 个位发送完毕的时候,两个节点都会认为自己发送成功,但是当发送到第三个位...

    1〉因为CAN 的模块在发送数据的时候,也同时会对总线进行监听,假设两个节点同时发送数据,A节点发送的前3 个位是100,B节点为101,在前2 个位发送完毕的时候,两个节点都会认为自己发送成功,但是当发送到第三个位的时候,B 节点会失去仲裁,因为0 的优先级高于1的优先级,B 节点监听到总线上不是1,因此失去仲裁,等待重新发送数据。CAN 节点在仲裁丢失后,根据CAN2.0B 协议规范,会自动重发。如果高优先级的报文一直占用着总线,则其他低优先级的报文将无法获得仲裁,但是会尝试重新发送。只有当高优先级报文不再占用总线时,低优先级的报文才可能发送成功。否则低优先级报文会出现“假饿死”状态。(例如在CAN_ NM 的逻辑环网络管理中,利用T_ max,T_ type 等定时器来防止报文假饿死)

    2〉如果在某一时刻CAN总线上的多个单元同时向总线发送数据,优先级高的继续发送,那么怎样保证优先级低的数据不丢失呢? 如果整个can 网络都是自己管理的,那么可以通过应用层协议来调整每个节点的发送时间,无论优先级高低,如果发送时间过长(长短程度这个根据您的项目来把握) 则暂停发送,让其他节点发送。或者每个节点都在某个特定时间触发发送,以便每个节点都有机会。总的意思就是一定要做时间管理。如果项目不是像你说的优先级高占用带宽那么严重,就采用(非实时信息空闲时候) 轮询+ (实时信息) 主动发送的方式管理网络。

    展开全文
  • can总线仲裁问题

    千次阅读 2014-04-25 10:11:59
    首先,你要明确一个概念,CAN总线上的节点都是自顾自的发送报文,抢夺总线资源的;然后,一个CAN节点在发送报文的同时也在接收总线上的信息,每个报文都是从ID先开始发送,并且通过ID判断优先级(显性覆盖隐性),当...
              首先,你要明确一个概念,CAN总线上的节点都是自顾自的发送报文,抢夺总线资源的;然后,一个CAN节点在发送报文的同时也在接收总线上的信息,每个报文都是从ID先开始发送,并且通过ID判断优先级(显性覆盖隐性),当它发现接收到的数据(ID)与它发送的不一致时就退出发送,等待一会;再然后,为什么数据(ID)不一致就退出呢,因为只有优先级比它高的报文才能覆盖它的ID场,最后,回答你第一个问题,几个报文在抢,优先级最高的就抢到了总线,其实它并不知道有人跟它抢(因为它优先级高),她认为总线对它来说是空闲的。
     在CAN总线上,若同一个时刻,既有节点向总线上发送隐形电平(1),也有节点发送显性电平(0),那么此时总线上表现出来的为显性(0)。  当总线空闲时,有多个节点同时需要发送报文,那么每个节点的发送器将会对发送位的电平和被监控的总线电平做比较,如果电平相同,那么该节点可以继续发送,如果发送的为一“隐性”电平(1),但是监控到一“显性”电平(0),那么该节点失去仲裁,必须退出发送状态,只到下一次总线空闲的时候在参与总线的仲裁竞争。
     由以上也可以看出,当有多个节点同时争夺总线的控制权,ID最小的那个节点将会胜出,所以在CAN总线上,节点的ID越小,优先级越高。

    展开全文
  • CAN总线仲裁示意图

    千次阅读 2014-11-27 16:05:29
    最近因为项目需要,开始进行STM32 CAN总线的嵌入式程序设计,关于CAN总线,也是慢慢的积累。  关于CAN地址(标识符)问题,基本上清楚了,CAN本身通过标识符来确定每个CAN节点,总线上标识符不能有相同的。  CAN...
          最近因为项目需要,开始进行STM32 CAN总线的嵌入式程序设计,关于CAN总线,也是慢慢的积累。
          关于CAN地址(标识符)问题,基本上清楚了,CAN本身通过标识符来确定每个CAN节点,总线上标识符不能有相同的。
          CAN是多主机的方式,所有节点都可以发送数据,发送时,标识符是本机的标识符,发送数据为群发方式,广播方式,具体数据,所有CAN节点都可以同时得到,但可以每个CAN节点可以设置CAN标识符滤波,可设置只接收需要的节点的数据,设置后由硬件完成筛选,这样优于485单主机的主从传输总线传输方式,物理上采用差分信号传输。
          因为CAN收发器的特点,适合多主机的发送方式,多主机是否可以同时发送数据呢?是可以的,因为CAN 总线相当于一个“线与”的结构,显性(逻辑0)与隐性(逻辑1)相遇,变为显性(逻辑0),就像孙悟空说的,雄的与雌的,雌的见了雄的,就不灵了。其实就是逻辑运算里的:0&0=0, 0&1=0,这里就是显性为主。所有CAN节点相当于一个个与门,低电平(逻辑0)有效,一个拉低,所有全低。
          总线仲裁的示意图(标准帧格式)如下:
      






          因此得到标识符是有优先级的,因为高位在前,低位在后,CAN标识符组成的数值越小优先级越高。
    展开全文
  • 最近在学习CAN总线,原先一直不太明白,若有A,B 2个节点同一时刻一起向总线上发送数据,CAN总线是怎么仲裁的,来让A,B其中一个节点退出,保证高优先级的节点优先传输,今天又在网上查了一些资料,总算搞明白了...
  • CAN总线仲裁

    万次阅读 2017-02-13 13:55:00
    CAN总线仲裁
  • CAN总线学习①-总线仲裁机制

    千次阅读 2019-02-14 16:13:09
    CAN总线总线仲裁机制是我觉得设计的非常精妙的,下面总结几个CAN总线的特征点,这几个特征点对理解CAN的总裁机制非常重要。 1、CAN总线在物理层上只有两根线CANH和CANL,根据两根线的的电位差来...
  • CAN物理层的形式主要分为闭环总线及开环总线网络两种,一个适合于高速通讯,一个适合于远距离通讯。CAN闭环通讯网络是一种遵循ISO11898标准的高速、短距离网络,它的总线最大长度为40m,通信速度最高为1Mbps,总线的...
  • CAN总线仲裁技术

    千次阅读 2018-04-03 09:31:23
    CAN总线仲裁技术 只要总线空闲,任何单元都可以开始发送报文。 要对数据进行实时处理,就必须将数据快速传送,这就要求数据的物理传输通路有较高的速度。在几个站同时需要发送数据时,要求快速地进行总线分配。 ...
  • 这种总线仲裁方式允许总线上的任何一个设各都有机会取得总线的控制权并向外发送数据。如果在同一时刻有2个或2个以上的设各要求发送数据,就会产生总线冲突,CAN总线能够实时地检测这些冲突并对其进行仲裁,从而使...
  • CAN总线仲裁机制简述

    千次阅读 多人点赞 2018-01-22 11:09:19
    CAN总线总线仲裁机制是我觉得设计的非常精妙的,下面总结几个CAN总线的特征点,这几个特征点对理解CAN的总裁机制非常重要。 1、CAN总线在物理层上只有两根线CANH和CANL,根据两根线的的电位差
  • CAN总线仲裁机制

    千次阅读 2018-04-17 17:39:24
    根据前面对物理层的分析我们知道如果总线上同时出现显性电平和隐性电平,总线的状态会被置为显性电平, CAN 正是利用这个特性进行仲裁。对于CAN来说,0为显性,1为隐性。所以当对不同的ID号来进行仲裁时,ID号越小,...
  • 正常情况下,逻辑高电平为1,逻辑低电平为0,但是CAN总线却是逻辑高电平为0,称为显性,逻辑低电平为1,称为隐性。 所以很多收发器的驱动器输入端都会内置上拉电阻,在没有任何输入时,CAN总线就会表现为隐性(逻辑...
  • CAN总线技术白皮书

    2018-10-17 12:19:03
    2.4.1 CAN 总线仲裁机制 ............................................................................................ 7 2.4.2 DLC ..........................................................................
  • 1.CAN总线具有高抗干扰性、自诊断和数据侦错功能,这些特性使得CAN总线在各种工业场合广泛使用,包括楼宇自动化、医疗和制造业。 2.CAN总线由德国BOSCH公司开发...4.CAN总线具有总线仲裁机制,可以组建多主系统。 ...
  • CAN总线详解

    万次阅读 多人点赞 2019-07-23 18:00:12
    1、简介 CAN是控制器局域网络(Controller Area Network, CAN)的简称,是一种能够实现分布式实时控制的串行通信网络。 优点: 传输速度最高到1Mbps,通信...Ø 高集成:CAN总线系统允许在所有ECUs上进行集中错误诊...
  • 1. 简介CAN总线由德国BOSCH公司开发,最高速率可达到1Mbps。CAN的容错能力特别强,CAN控制器内建了强大的检错和处理机制。...CAN总线具有总线仲裁机制,可以组建多主系统。2. CAN标准CAN是一个由国际化标准...
  • CAN总线通信原理分析

    2021-01-31 06:47:58
    基于CAN总线系统结构构成,通过工程实践的具体应用以及对CAN控制器及收发器硬件结构的深入理解,并从通信的角度出发着重深入分析了CAN总线通信的节点同步机制、总线地址机制、总线仲裁机制(即总线的冲突解决机制)...
  • 1. 简介CAN总线由德国BOSCH公司开发,最高速率可达到1Mbps。CAN的容错能力特别强,CAN控制器内建了强大的检错和处理机制。...CAN总线具有总线仲裁机制,可以组建多主系统。2. CAN标准CAN是一个由国际化标准...
  • CAN总线

    2020-05-27 14:55:04
    它总线上挂接的设备不分主从(或者可以成为多主的工作方式),这种工作方式得益于总线采用了非破坏性的总线仲裁技术。相比于一些总线采用的站地址编码,CAN总线使用了报文标识符。通过对于报文标识符的过滤可以实现...
  • CAN 总线

    2021-01-23 15:18:22
    CAN 总线 CAN (Controller Area Network)是二十世纪八十年代初德国Bosch公司为解决现代汽车中众多电控单元(ECU)之间的数据交换而开发的一种串行通信协议。 CAN总线基本概念 ...最高优先级的报文在总线仲裁
  • CAN总线的物理层定义了连接车内各控制器的相关介质以及接口。由于CAN总线的数据传输实质是通过总线上的电压变化传输的,所以CAN的总线电压是CAN总线技术的核心所在,总线电压在物理层中定义。为了深刻理解CAN总线,...
  • CAN总线基础介绍

    2018-12-13 16:55:06
    can总线 基础 通信简介 电气特性 分层结构报文传输 仲裁 典型介绍
  • CAN总线在硬件系统中占有一席之地,国际上应用最广泛的现场总线之一,与我们讲过的SPI、UART不同,属于"高端高效"系列。很多小伙伴希望我们讲讲CAN总线,今天就来了。一句话总结:CAN总线是将离散独立的数据线整理到...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,645
精华内容 1,058
关键字:

can总线仲裁