【问题标题】:what will happen if two nodes with same name claiming same address in j1939?如果两个同名的节点在 j1939 中声明相同的地址会发生什么?
【发布时间】:2014-09-18 12:38:56
【问题描述】:

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

【问题讨论】:

  • 我认为这是不允许的!
  • 同名是什么意思?你能详细说明一下吗?

标签: can-bus j1939


【解决方案1】:

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

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

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-05-05
      • 2014-04-30
      • 1970-01-01
      • 2022-01-04
      • 2014-08-05
      • 1970-01-01
      • 2012-06-27
      • 1970-01-01
      • 2016-07-11
      相关资源
      最近更新 更多