Thread 中讨论的其他器件:controlSUITE
工具/软件:TI C/C++编译器
如何使用 CAN 总线将一些数据从 f28377s 发送到 f28377s?
如果有人对我有一些建议、我非常感激。
谢谢、
Kanthanet
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.
工具/软件: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
"如果我的帖子解答了您的问题、请单击验证答案按钮。"
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
如果我的帖子解答了您的问题、请点击"验证答案"按钮。
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/microcontrollers/c2000/f/171/p/373610/1315272#1315272
我将从闪存引导两个 MCU、并将主机作为第三个节点连接到 CAN 总线、以监控两个 MCU 之间的 CAN 通信。
如果我的帖子回答了您的问题、请单击 "验证答案" 按钮。