码迷,mamicode.com
首页 > 其他好文 > 详细

CAN总线冲突裁决

时间:2018-04-27 16:48:32      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:重要   技术分享   jsb   log   fill   发送数据   技术   MF   http   

当总线上的几个器件同时发送数据的时候,CAN总线必须决定哪个器件可以发送,而其他的器件必须等待。冲突裁决是CAN协议最重要的一个特性。

    以下图为例。总线上有器件A,B,C,D。A,B,C同时发出SOF位为显性。而D为隐形,当它发现总线上的状态与自己的状态不一致时,D就进入监听状态。A,B,C继续发送数据。发送到ID的第5位时A,C为显性,B为隐形。B检测到总线的状态于自己的状态不一致,进入监听状态。A,C继续发送数据。这也说明B的ID比A,C要大。当发送到ID的第1位时A为隐形,C为显性,A进入监听状态。C继续发送。最终ID最小的C发送成功,A,B只能等待C发送完成之后再进行发送。然后A会发送成功,B等待,最后才是B发送。从上面的裁决过程可以看出,对于C来说,它的数据发送没有因为冲突而产生延迟。

技术分享图片

CAN总线冲突裁决

标签:重要   技术分享   jsb   log   fill   发送数据   技术   MF   http   

原文地址:https://www.cnblogs.com/yzl050819/p/8963007.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!