各位大神,关于CAN总线优先级和仲裁权的问题

2020-11-29 11:54:54 字数 5449 阅读 7483

1楼:匿名用户

1、如果这个节点发得足够快,就是一帧和一帧之间几乎不留空隙那么有可能。不过能否完全达到效果不好说。

2、通过应用层的管理来实现,用定时的办法发送之类的。硬件层基本无法去完全的做到,即使有优先级的区分。

3、如果总线数据负载不是很大的情况,可以不考虑被第二个节点岔开的影响,因为两个点的id毕竟不同,所以接收节点的软件自然能够以此为依据分开两个节点的数据。广州研煌——can系统

各位大神,关于can总线优先级和仲裁权的问题。

2楼:燕寄灵忻野

1、如果这个节点发得足够快,就是一帧和一帧之间几乎不留空隙那么有可能。不过能否完全达到效果不好说。

2、通过应用层的管理来实现,用定时的办法发送之类的。硬件层基本无法去完全的做到,即使有优先级的区分。

3、如果总线数据负载不是很大的情况,可以不考虑被第二个节点岔开的影响,因为两个点的id毕竟不同,所以接收节点的软件自然能够以此为依据分开两个节点的数据。广州研煌——can系统

3楼:陶思柔悟雁

由发送数据的报文中的标识符决定报文占用总线的优先权。标识符越小,优先权越高。

【【广州研煌——can总线全面产品和技术支持,搜adawin】】

大神,你好!我有几个关于can总线的问题问你,比如说的总线电平值怎么确定的?仲裁失败的报文怎么处理?

4楼:匿名用户

你好,偶然间发现有人找我,很荣幸。大神愧不敢当,只是接触过一些can总线方面的东西,可以互相**一下。

can总线是一种双绞线,他的电平值是一种差分电压,也就是说总线电平值是双绞线两根线电平的差值,一般制定can协议的时候会定义好,如果差分电压高于某个值(自己定义)就表示当前总线是显性状态,用逻辑0表示。

只要总线空闲,任何单元都可以开始发送报文。如果2 个或2 个以上的单元同时开始传送报文,那么就会有总线访问冲突。通过使用识别符的位形式仲裁可以解决这个冲突。

仲裁的机制确保信息和时间均不会损失。当具有相同识别符的数据帧和远程帧同时初始化时,数据帧优先于远程帧。仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。

如果电平相同,则这个单元可以继续发送。如果发送的是一隐性电平而监控视到一显性电平,那么该单元就失去了仲裁必须退出发送状态。仲裁竞争失败的节点,必须等总线空闲时,参与下一次仲裁竞争,直至竞争成功才能把报文发送出去。

5楼:匿名用户

当总线处于空闲状态时呈隐性电平,此时任何节点都可以向总线发送显性电平作为帧的开始。如果2个或2个以上同时发送就会产生竞争。can总线解决竞争的方法同以太网的c**a/cd(carrier sense multiple access with collislon detection)方法基本相似。

此外,can总线做了改进并采用c**a/ca(carrier sense multiple access with collision avoidance)访问总线,按位对标识符进行仲裁。各节点在向总线发送电平的同时,也对总线上的电平读取,并与自身发送的电平进行比较,如果电平相同继续发送下一位,不同则停止发送退出总线竞争。剩余的节点继续上述过程,直到总线上只剩下1个节点发送的电平,总线竞争结束,优先级高的节点获得总线的控制权。

can总线仲裁 5

6楼:匿名用户

首先,你要明确

一个概念,can总线上的节点都是自顾自的发送报文,抢夺总线资源的;

然后,一个can节点在发送报文的同时也在接收总线上的信息,每个报文都是从id先开始发送,并且通过id判断优先级(显性覆盖隐性),当它发现接收到的数据(id)与它发送的不一致时就退出发送,等待一会;

再然后,为什么数据(id)不一致就退出呢,因为只有优先级比它高的报文才能覆盖它的id场,既然

最后,回答你第一个问题,几个报文在抢,优先级最高的就抢到了总线,其实它并不知道有人跟它抢(因为它优先级高),她认为总线对它来说是空闲的。

我觉得我解释得很通俗易懂!

7楼:匿名用户

而can总线是使用的无损仲裁方式(即你所指的非破坏性仲裁):就是当两个或者以上的不同id节点“同时”向总线发送数据时候,优先级最高的就能直接发送,

can总线的仲裁方式具体是什么?

8楼:云纹抹额小忘机

总线的仲裁方式:抢夺,高级的比低级优先接受。

首先,你要明确一个概念,can总线上的节点都是自顾自的发送报文,抢夺总线资源的。

一个can节点在发送报文的同时也在接收总线上的信息,每个报文都是从id先开始发送,并且通过id判断优先级,当它发现接收到的数据与它发送的不一致时就退出发送,等待一会。

再然后,数据不一致就退出呢,因为只有优先级比它高的报文才能覆盖它的id场,最后,几个报文在抢,优先级最高的就抢到了总线,其实它并不知道有人跟它抢,认为总线是空闲的。

9楼:_____良人未归

can总线是使用的无损仲裁方式。

在总线空闲态,最先开始发送消息的单元获得发送权。多个单元同时开始发送时,各发送单元从仲裁段的第一位开始进行仲裁。连续输出显性电平最多的单元可继续发送。

即逐位地对比各个结点发出的报文id。由于线与的关系,显示位“0”可以覆盖隐性位“1”,因此id最小的节点赢得仲裁,总线上表现为该结点的报文,其他结点失去仲裁,退出发送,转为接收状态。

标准格式id与具有相同id的远程帧或者扩展格式的数据帧在总线上竞争时,标准格式的rtr位为显性位的具有优先权,可继续发送。

而can总线是使用的无损仲裁方式(即你所指的非破坏性仲裁):就是当两个或者以上的不同id节点“同时”向总线发送数据时候,优先级最高的就能直接发送。

10楼:匿名用户

can本身通过标识符来确定每个can节点,总线上标识符不能有相同的。

can是多主机的方式,所有节点都可以发送数据,发送时,标识符是本机的标识符,发送数据为**方式,广播方式,具体数据,所有can节点都可以同时得到,但可以每个can节点可以设置can标识符滤波,可设置只接收需要的节点的数据,设置后由硬件完成筛选,这样优于485单主机的主从传输总线传输方式,物理上采用差分信号传输。

如果项目不是像你说的优先级高占用带宽那么严重,就采用(非实时信息空闲时候)轮询+(实时信息)主动发送的方式管理网络。

有关can总线仲裁

11楼:胜利之

1、如果这个节点发得足够快,就是一帧和一帧之间几乎不留空隙那么有可能。不过能否完全达到效果不好说。

2、通过应用层的管理来实现,用定时的办法发送之类的。硬件层基本无法去完全的做到,即使有优先级的区分。

3、如果总线数据负载不是很大的情况,可以不考虑被第二个节点岔开的影响,因为两个点的id毕竟不同,所以接收节点的软件自然能够以此为依据分开两个节点的数据。广州研煌——can系统

can总线的有关仲裁机制,具体问题在问题补充中,求大侠 30

12楼:匿名用户

1,讨论谁更间接的,实际的仲裁机制。

谁第一个问题,第一次收到。

所以现在,看看谁能够第一个问题,该仲裁管,所以很容易,头发,小高优先级的id值,第一个问题。 id为0的第一个问题。

2,仲裁失败也不会丢失,将检测到的间隙自动重传,重传次数过多产生一个错误都将被丢弃。

can总线的优点?

13楼:匿名用户

1、废除传统的站地址编码,代之以对通信数据块进行编码,可以多主方式工作。

2、采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响继续传输数据,有效避免了总线冲突。

3、采用短帧结构,每一帧的有效字节数为8个,数据传输时间短,受干扰的概率低,重新发送的时间短。

4、每帧数据都有crc校验及其他检错措施,保证了数据传输的高可靠性,适于在**扰环境下使用。

5、节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其他操作不受影响。

6、可以点对点,一对多及广播集中方式传送和接受数据。

7、具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点。

8、采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作。

9、具有优先权和仲裁功能,多个控制模块通过can控制器挂到can-bus上,形成多主机局部网络。

10、可根据报文的id决定接收或屏蔽该报文。

11、可靠的错误处理和检错机制。

12、发送的信息遭到破坏后,可自动重发。

13、节点在错误严重的情况下具有自动退出总线的功能。

14、报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。

14楼:春素小皙化妆品

1、具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点。

2、采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作。

3、具有优先权和仲裁功能,多个控制模块通过can 控制器挂到can-bus上,形成多主机局部网络。

4、可根据报文的id决定接收或屏蔽该报文。

5、可靠的错误处理和检错机制。

6、发送的信息遭到破坏后,可自动重发。

7、节点在错误严重的情况下具有自动退出总线的功能。

8、报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。

扩展资料

can控制器工作于多种方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且can协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据。

这些特点使得can总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。

can节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现像在网络中,因个别节点出现问题,使得总线处于“死锁”状态。

can具有的完善的通信协议可由can控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是仅有电气协议的rs-485所无法比拟的。

15楼:匿名用户

can总线也叫控制器局域网,一般来说它有如下几个优点:

1、数据传输速度快,在四十米的范围内,can总线的波特率数值能够达到1mbps,这在各类总线当中属于特别厉害的一种。

2、数据传输的距离远,最远能够达到十千米。

3、抗外界干扰能力强,由于采用差分电压信号进行数据传输,can总线的抗干扰能力相较于一般的工业总线有了质的飞跃,即使某一个节点设备出现问题,这个节点也会主动切断和总线之间的连接,而不会继续发送错误数据造成整条总线的崩溃。

4、一条can总线就能同时连接128个节点设备,仅次于rs485总线,特别适合汽车这种对空间要求比较大的工业设备使用。

如果对你有帮助,请点个采纳呀!