0

如果两个同名的节点在 j1939 中声明相同的地址,在这种情况下会发生什么?任何一个节点都会要求地址或错误会发生吗?

4

2 回答 2

0

我的规范副本已过时,但我确信这条规则自 2003 年以来没有改变(SAE J1939-81):

“ECU 制造商和网络集成商必须确保所有打算在特定网络上传输的 CA 的名称都是唯一的。”

当然,话虽如此,当然可以将具有相同名称的设备放在同一组电线上,无论是出于无知还是恶意。

我个人没有玩过,但理论上,如果您的设备与另一个设备具有完全相同的名称,您的地址声明将与另一个完全重叠,两者都不会知道另一个的存在,消息将成功通过,并且每个设备都会假设它是发送它的设备。

我可能是错的,但我认为 CA 可能看到的唯一奇怪的是来自它认为它声称声称的地址的消息,它甚至可能没有检查这个问题。

于 2015-02-16T19:28:27.947 回答
0

从网络的角度来看,没有办法区分节点是不同的,因为它们将自己标识为同一实体。会发生的情况是第一个请求将被处理,而第二个请求将被忽略。换句话说,这是竞争条件,因为在数据链路中一次只处理一条消息。当第二个节点尝试声明相同的地址时,地址表已经被占用,延迟请求的节点将无法获得地址已分配给它的通知。请记住,每个节点都有自己的内部状态/配置。

于 2015-09-17T20:15:08.727 回答