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.

[参考译文] CCS/LAUNCHXL-F280049C:CAN 通信

Guru**** 2524550 points
Other Parts Discussed in Thread: LAUNCHXL-F280049C, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/852411/ccs-launchxl-f280049c-can-communication

器件型号:LAUNCHXL-F280049C
主题中讨论的其他器件: C2000WARE

工具/软件:Code Composer Studio

尊敬的 TI 社区:  

我刚开始使用 LAUNCHXL-F280049C、我的问题是关于 CAN 接口或任何其他外部或内部方法、这可以帮助我执行以下操作:

我需要做的是生成 PWM 信号、并能够在测试运行期间更改这些 PWM 的频率和占空比。 输出任何外部硬件(电阻器、电容器...)
我的想法是将 cape 作为用户界面、并  通过 CANL 和 CANH 引脚将 CAN 消息发送到 LAUNCHXL-F280049C。 但我不知道如何在 Code Composer 中实现和解释这些 CAN 消息。 是否有使用 CAN 消息的示例?

如果您能帮助我解决这个问题、那将是非常好的。  

期待您的回复:)
Mohammad

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

    您好、Mohammad、

    您当然可以将 PWM 的这些属性传递到 CAN 总线、并让 F280049C 器件中的 CAN 接收 PWM 的属性、并将 CAN 消息用于 PWM 变量。

    您可以在 C2000Ware 中遵循一个示例。  示例为 CAN_ex3_external_transmit  在本示例中、它使用 CANA 发送数据、使用 CANB 通过板载收发器通过 CAN 总线接收数据。  由于您只需要接收数据、因此您只需要使用一个 CAN 模块。  您可以选择使用 CANA 来接收数据 、因为板载收发器的 Launchpad 连接是为 GPIO32 (CANATX)和 GPIO33 (CANARX)连接的。

    在该示例中、首先删除 CANA 的所有实例、以便只保留 CANB 的实例。  这样、所有 CAN 接收例程都将被保留。   接下来、将 CANB 实例替换为 CANA。  接下来、您需要确保 GPIO_setPinConfig (DEVICE_GPIO_CFG_CANTXA)和 GPIO_setPinConfig (DEVICE_GPIO_CFG_CANRXA)语句分别正确映射到 GPIO32和 GPIO33。

    通常有8个字节的数据可以在 CAN 帧中发送、因此也可以在您的架构接口中对其进行配置、并将波特率设置为500kbps、因为这是示例代码配置的结果。  在接收例程中,函数 CAN_readMessage()读取数据,并在参数 rxMsgData 上传递消息。   rxMsgData 应保留通过 CAN 传输的已接收消息。

    很抱歉、我不能为您提供编写完整 CAN 代码的分步过程、但上面的指导应该是连接 CAN 总线和接收 CAN 消息的良好起点。

    此致、

    Joseph

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

    穆罕默德

    我假设您已开始使用 CAN 示例代码和上面的指针来启动您的项目、因此我将关闭此线程。  如果您仍有疑问、请将其发布在论坛中。

    此致、

    Joseph

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

    我想知道是否 可以通过 XCP 与此板进行通信。  

    我已经问 过另一个 有关饼图所需微控制器文件的问题、但专家们告诉我他们不知道饼图、我应该联系 Vector 并询问他们。 我这样做了、引导程序回答我: "引导程序不向控制器提供 A2L 或映射文件。 这必须由控制单元的制造商提供。"  

    我很困惑。 我想使用此板上提供的 CAN 选项、但我完全不能。

    请帮我、应该有一个解决方案。

    此致、

    Mohammad

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

    您好、Mohammad、

    抱歉、与 Chris 在另一篇文章中的重播一样、我也不熟悉架构、但在 Vector 的网站上、架构看起来像是一个通过 CAN 总线发送测量数据的 CAN 接口。  我的假设是、实用程序会进行一些测量、处理测量数据并将其转换为某种标准格式、然后通过 CAN 总线将其传输成一组数据字节。  CAape 可能具有另一层软件、用于处理和转换数据、但通过 CAN、数据的传输和接收是相同的、无论通过总线发送或接收的实用程序/接口如何。

    在基础知识方面、让我们从 CAN 帧开始:它有帧起始、ID 字段、控制字段、数据字段(最多8个字节)、CRC 字段、确认和帧结束。  只要 CAN 总线中存在 CAN 帧、F280049就应该能够接收到该数据、前提是为 Launchpad 配置的 CAN 波特率与发送帧的波特率相匹配。  

    如果您已经有可使用的卡普接口、只需将 CAN 总线直接连接到 LaunchPad 的 J14 (收发器的输出)上、然后开始发送数据。  C2000Ware 中提供了几个示例、可用于对 CAN 进行编程以接收数据。  这可能是第一步、如果您使接收工作、请检查邮箱中是否有接收到的数据。  遗憾的是、C2000Ware 中的例程处理的是低级 CAN 数据帧、因此您需要将其转换为适用于您的应用的可用格式。

    希望您可以从这个开始。  如果您有疑问、请告诉我。

    此致、

    Joseph

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

    您好、Mohammad、

         该实验是否有任何进展?  您是否尝试寻求这些建议?

    谢谢、此致、

    Joseph

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

    您好、Mohammad、

    没有听到过您关于此主题的反馈、因此我假设您已经解决了您的 CAN 问题、因此将此主题标记为已关闭。  如果您在如何使用 F280049上的 CAN 模块方面仍然存在问题、请将其发布在论坛中。

    此致、

    Joseph