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.
我们有一些 TMS320F280039C Launchpad、我想知道如何通过 Simulink 使用 MCAN 模块。 在 C2000电机控制 Blockset 中、我只能查看 CAN FD PACK 和解包块。 之前、我使用了具有 eCAN 接收和 eCAN 传输块的经典 CAN、但我看不到更改这些块的选项。 当我尝试运行代码时、我收到一个错误、因为预期的输入数据类型不是 CAN FD (它被设置为 CAN 消息)。 是否有办法通过 Simulink 利用 CAN FD?
我的第二个问题是 TMS320F280037C MCU CAN FD 的速度有多快。 我们得到了 TMS320F280039C Launchpad、因为它是离我们计划使用的 MCU 最近的 MCU、但其板载 CAN 收发器为1Mbps (与传统 CAN 相同)。 如果具有更快的收发器、这些 MCU 中的任何一个能否以更快的速度运行 MCAN?
你好、Joshua、
关于您的 Simulink 问题、请查看以下链接中的 MathWorks 常见问题解答:
如果您还有其他问题、获取有关 MathWorks 产品支持的最佳方式是 联系 MathWorks 现场技术支持。
您还可以在 MATLAB Answers C2000论坛上搜索答案或发布问题。 此外、还在 "文档 和 示例"中提供了有关 MathWorks 支持 C2000的信息。
此致、
阿米尔·奥马尔
你好、Joshua、
对于第二个问题、当前 Launchpad 不使用修订版 G TCAN。 它使用1Mbps 版本。 如果您能够将 Launchpad 上的收发器替换为与 TCAN332封装兼容的 TCAN332G、您应该能够在 MCAN 上实现5Mbps 的速率。 使用下面的位时序设置来达到5Mbps:
// // Configure the divisor for the MCAN bit-clock // SysCtl_setMCANClk(SYSCTL_MCANCLK_DIV_2); // This should give you 60 MHz input to the MCAN module // // Initialize bit timings. // bitTimes.nomRatePrescalar = 0x2U; // Nominal Baud Rate Pre-scaler. bitTimes.nomTimeSeg1 = 0x9U; // Nominal Time segment before SP bitTimes.nomTimeSeg2 = 0x8U; // Nominal Time segment after SP bitTimes.nomSynchJumpWidth = 0x4U; // Nominal SJW bitTimes.dataRatePrescalar = 0x0U; // Data Baud Rate Pre-scaler. bitTimes.dataTimeSeg1 = 0x7U; // Data Time segment before SP bitTimes.dataTimeSeg2 = 0x2U; // Data Time segment after SP bitTimes.dataSynchJumpWidth = 0x4U; // Data SJW
此致、
约瑟夫
我要说明的主要问题是该库没有用于 CAN FD 的 eCAN 接收的块、或者至少我在 C2000电机控制 Blockset 中看不到它。 但是、我确实看到了用于解包和打包的 CAN FD。
谢谢你,约瑟夫! 我们正在计划在设计中使用其他收发器、但只是想确保我了解 MCU 的功能。 再次感谢您
你好、Joshua、
有关 Simulink 主题、请参阅 Omer 的帖子。
此致、
约瑟夫
我看过了 Omer 的博文、但没有看到有关如何在 TMS320f280039C Launchpad 上为 Simulink 设置 MCAN 消息的信息。 我在 C2000电机控制 Blockset (针对28003x 部分)中没有看到任何 MCAN 接收块。 如果我使用 CAN FD 解包来自28003x Blockset 的 eCAN 接收器、则会出现错误、因为消息为"CAN NOT CANFD"。 我看到2838x 部分的 MCAN 接收块。 我已经下载 Simulink 编码器、嵌入式编码器、C2000附加以及其他第三方软件以生成代码。 我可以正常使用 CAN 消息、但现在我们需要 CANFD。 如果有其他专门用于 CANFD 的软件、请告诉我
你好、Joshua、
您是否因此问题尝试联系 Matlab 支持?
此致、
约瑟夫
我刚刚和他们一起开了一张票。 感谢您的支持。
TMS320F28003x 的 C2000 MCAN 代码- MATLAB 答案- MATLAB 中心(mathworks.com)
你好、Joshua、
不用担心。 希望 MATLAB 支持团队帮您解决这个问题、
此致、
约瑟夫