永发信息网

CAN总线通信中,如果是多节点通信。多通信中遇到了问题。问题在补充中:

答案:2  悬赏:40  手机版
解决时间 2021-03-27 11:50
  • 提问者网友:留有余香
  • 2021-03-26 19:34
CAN总线通信中,如果是多节点通信。多通信中遇到了问题。问题在补充中:
最佳答案
  • 五星知识达人网友:詩光轨車
  • 2021-03-26 19:58
首先,CAN总线不分主机,最多是整车厂在网络规划的时候定义了一个功能比较多的节点,各家车厂不一样(如网关),或者类似PowerMaster。但是CAN本身协议里是不存在主、从的。
其次,楼上说的仲裁延时的问题,CAN协议本身是考虑到这个问题的,当然按他的方法通过协议延时可以解决,但是既然CAN协议已经给了我们解决方法那肯定是更科学更有效的,具体的去看CAN的仲裁吧,你需要一个节点的报文发送不存在延时,只需要给它分配一个优先级很高的ID即可,当然这得从网络规划的角度出发,不是这么简单说说的。

回到你的问题,你说的主机请求数据,在CAN中只能是远程帧(一个远程标志位为1,数据场为空的帧),当这个帧出现在总线上时,拥有这个ID数据的节点就要发送这个同ID的完整帧(远程帧标志位为0)。但是只能有一个节点接受这个远程帧的请求。
这里强调一个概念,同一个ID的帧只能由一个节点发送,不然可想而知总线上都是冲突。

你补充问一下,你想实现什么效果吧追问那请问您一个问题:如果两个节点同时抢占总线,ID值小的抢占了总线,ID值小的值还会发么?还是被覆盖了 丢失了?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯