如果两个具有相同名称的节点在j1939中声称具有相同的地址,那么在这种情况下会发生什么?任何一个节点都会声明地址或错误会出现吗?
答案 0 :(得分:0)
我的规范副本已过时,但我确信此规则自2003年以来没有变化(SAE J1939-81):
“ECU和网络集成商的制造商必须确保所有CA的名称 在特定网络上传输是唯一的。“
当然,话虽如此,当然可以将具有相同NAME的设备放在上面 同一套电线,无论是通过无知还是恶意。
我个人没有玩过它,但从理论上讲,如果你的设备与另一个设备具有完全相同的名称, 你的地址声明与另一个完全重叠,也不会意识到对方的存在, 消息将成功通过,每个设备都会认为它是发送它的那个。
我可能错了,但我认为CA可能看到的唯一奇怪的是来自地址的消息 它认为它已声称,这个问题甚至可能都没有检查。
答案 1 :(得分:0)
从网络角度来看,没有办法区分节点是不同的,因为它们将自己标识为同一个实体。会发生的是第一个请求将被解决,第二个请求将被忽略。换句话说,这是竞争条件,因为在数据链接中一次只处理一条消息。到第二个节点尝试声明相同的地址时,地址表已经被占用,并且后期请求节点不能获得地址被分配给它的通知。请记住,每个节点都有自己的内部状态/配置。