This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSPM0G3519:两个节点具有相同的节点 ID、两个节点发送具有相同数据的 PDO&#39

Guru**** 2689775 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1588457/mspm0g3519-two-node-with-same-node-id-and-both-nodes-sending-pdo-s-with-same-data

器件型号: MSPM0G3519

尊敬的 TI:

我们有一个基于 CAN 的系统、其中包含一个主节点和多个从节点。
,我们联系了 具有相同节点 ID 的两个节点 和两个节点也以相同的方式响应  SDO 数据

在这种情况下、我们的主设备应检测重复的节点并做出必要的决策。

然而、我们面临一个问题:

当两个节点尝试同时向主器件的请求发送 SDO 响应帧时、 我们可以在 CAN 总线上仅看到一个 SDO 帧(监听器日志)
第二个节点的响应永远不可见。

您能否解释一下、为什么即使有两个节点正在响应、总线上也只观察到一个帧?

 

对于容差: image.png

 

预计会得到:

image.png

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Prajesh、

    MSPM0 是否作为 CAN “主器件“或“从器件“工作?

    根据您的描述、您在中只看到一个从器件响应帧 CAN BUS 对吗? 因此、问题是您无法在总线上观察到所需的两个从器件响应帧。

    我认为、两个从节点具有完全相同的 ID 和数据内容、如果它们同时响应 CAN 主节点消息、则可能在总线中仅显示一帧。

    我建议进行以下测试:

    • 使用不同的 ID 设置两个从节点、以检查从节点本身是否正常工作。
    • 设置具有相同 ID 的两个从节点、并为其中一个从节点添加小延迟。 然后观察总线波形。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    使用不同的 ID 设置两个从属节点,以检查从属节点本身是否工作正常。

    对于不同的从站 ID、从站节点运行良好。

    -设置两个具有相同 ID 的从属节点,并为其中一个从属节点添加一个小延迟。 然后观察总线波形。

    通过在其中一个从节点中添加小延迟、它会按预期工作、显示两个 ID 相同的节点数据、如第二个图中所示。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此外、我注意到的一点是、当一个电路板上 SDO 子索引的数据略有变化并使另一个电路板数据保持不变时  

    然后、仅显示特定的子索引数据、两个节点的 ID 相同。

    如下图所示、来自两个相同 ID 节点的最后第 4 个子索引回复。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Prajesh、

    您能否检查所显示的数据是否是  值较小的节点数据?

    我认为这可能是由于两个节点都响应了 CAN 主设备造成的。 在之前的测试中、由于它们具有完全相同的内容、因此在总线上只观察到一条消息。