[求助]CAN的仲裁 点击:1428 | 回复:6



Ted

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 2回
  • 年度积分:0
  • 历史总积分:62
  • 注册:2004年11月24日
发表于:2006-07-21 10:36:00
楼主
如果2个设备因为某种原因,同时发送了两帧标识符完全相同的数据,后果会怎样?



小斗

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 27回
  • 年度积分:0
  • 历史总积分:30
  • 注册:2003年12月30日
发表于:2006-08-23 09:25:00
1楼
结果是,如果后面的数据部分相同则不会出错,如果数据不同则会出错,发送不成功

ting

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 9回
  • 年度积分:0
  • 历史总积分:68
  • 注册:2002年12月20日
发表于:2006-08-31 11:25:00
2楼
数据都能完全正常的被总线接受,2个设备谁先发,一般来说CAN卡地址低的能优先发送数据,CAN总线自己会保证的。

ting

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 9回
  • 年度积分:0
  • 历史总积分:68
  • 注册:2002年12月20日
发表于:2006-08-31 11:28:00
3楼
数据都能完全正常的被总线接受,2个设备谁先发,一般来说CAN卡地址低的能优先发送数据,CAN总线自己会保证的。

zuoshou_2006

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2006年9月08日
发表于:2006-09-08 08:53:00
4楼
因为CAN的模块在发送数据的时候,也同时会对总线进行监听,如果在实际情况中发生了LZ所说的情况,这时候会体现出CAN总线的仲裁机制,假设两个节点同时发送数据,A节点发送的前3个位是100,B节点为101,在前2个位发送完毕的时候,两个节点都会认为自己发送成功,但是当发送到第三个位的时候,B节点会失去仲裁,因为0的优先级高于1的优先级,B节点监听到总线上不是1,因此失去仲裁,等待重新发送数据.

小斗

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 27回
  • 年度积分:0
  • 历史总积分:30
  • 注册:2003年12月30日
发表于:2006-09-19 12:30:00
5楼
LZ的前提是“两帧标识符完全相同”,看清楚,不要误导

LN2000分散控制系统

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 228回
  • 年度积分:0
  • 历史总积分:448
  • 注册:2005年4月20日
发表于:2006-12-28 17:47:00
6楼
提供CAN光纤模块、ISA接口CAN适配卡,CAN总线采集模块,多重冗余,稳定第一 gsjcn@163.com

热门招聘
相关主题

官方公众号

智造工程师