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.

[参考译文] 编译器/TMS320F28377S:如何使用 CAN 总线将一些数据从 f28377s 发送到 f28377s?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/585935/compiler-tms320f28377s-how-to-send-some-data-from-f28377s-to-f28377s-by-using-can-bus

器件型号:TMS320F28377S
Thread 中讨论的其他器件:controlSUITE

工具/软件:TI C/C++编译器

如何使用 CAN 总线将一些数据从 f28377s 发送到 f28377s?

如果有人对我有一些建议、我非常感激。

谢谢、

Kanthanet  

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

    您可以在 controlSUITE 中找到 CAN 消息示例并将其用作起点。 (例如 C:\ti\controlSUITE\device_support\F2837xS\V210\F2837xS_Examples_CPU1)

    您需要在两个 F28377S 之间使用 CAN 总线、或者将两个器件的 CAN_TX/RX 信号连接在一起:

    1. CAN 总线传输:  

    如果您使用的是 LAUNCHXL-F28377S、则电路板上组装有一个 CAN 收发器(SN65HVD234D):

    MCU 通过 GPIO71和 GPIO70发布 CAN_TX 和 CAN_RX、然后通过 CAN 总线发布 CAN_H 和 CAN_L。 只需将两个 LUNCHXL 连接到 CAN 总线并开始通信。  请注意、电路板上只有一个 CAN 收发器、因此请确保在软件中使用 eCANA。

    2.非 CAN 总线传输:

    在这种情况下、您需要将第一个 MCU 的 CAN_TX 和 CAN_RX 分别连接到第二个 MCU 的 CAN_RX 和 CAN_TX。 不要忘记在 TX 和 RX 之间的两端添加120欧姆电阻器以终止您的 CAN 总线。 在此架构中、您无需 CAN 收发器、因此请勿使用 SN65HVD234D 的 CAN_H 和 CAN_L 输出。  

    祝您好运!

    -Kash

    "如果我的帖子解答了您的问题、请单击验证答案按钮。"

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

    因此、我使用2个 LAUNCHXL-F28377S、我必须在另一个较大的上将 CAN_L 连接到 CAN_L、在另一个较大的上将 CAN_H 连接到 CAN_H、对吧?
    您能给我推荐一下我必须使用的 controlSUITE 中的源代码吗?

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

    Kanthanet、

    正确、如果您使用两个 LAUNCHXL-F28377S、则需要通过将 CAN_H 和 CAN_L 连接在一起来创建 CAN 总线。 不要忘记正确端接总线(每端120欧姆)。

    我通常使用 Simulink 进行编码、但 controlSUITE 中有许多示例可供您使用、例如"CAN_EXTERNAL_SEND"、其中显示了如何通过 CAN 总线发送不同的值可能是您的良好开端。 您可以在以下位置找到它:"C:\ti\controlSUITE\device_support\F2837xS\V210\F2837xS_Examples_CPU1\CAN_EXTERNAL_Transmit。"

    祝您好运!

    -Kash

    如果我的帖子解答了您的问题、请点击"验证答案"按钮。

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

    如何同时控制 LAUNCHXL-F28377S 中的2个、因为我曾尝试这样做、但当我运行代码时、它只运行一个 LAUNCHXL-F28377S?

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

    Kanthanet、

    您的意思是 "当我运行代码时,它只运行一个 LAUNCHXL-F28377S" ?  

    这是否意味着您无法使用一台主机刷写两个 MCU? 如果您使用的是 CCS、请查看以下链接:

    http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/p/321615/1119328#1119328 

    http://e2e.ti.com/support/wireless_connectivity/proprietary_sub_1_ghz_simpliciti/f/156/p/282659/985627#985627   

    http://e2e.ti.com/support/microcontrollers/c2000/f/171/p/373610/1315272#1315272  

     我将从闪存引导两个 MCU、并将主机作为第三个节点连接到 CAN 总线、以监控两个 MCU 之间的 CAN 通信。

     -Kash

    如果我的帖子回答了您的问题、请单击 "验证答案" 按钮。  

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    关于 2:您可以在没有收发器的情况下在两个/多个器件之间进行通信、但不能按照您描述的方式进行通信。 www.mikrocontroller.net/.../siemens_AP2921.pdf 是实现该目标的方法。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Kanthanet 正在使用 CAN 收发器、希望设置 CAN 总线。
    如果没有 CAN 收发器、您可以通过在 MCU 侧使用 CAN TX/RX 在两个 MCU 之间进行通信、但无法与基于 CAN 且需要 CAN_H 和 CAN_L 的器件进行通信