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/TMS570LC4357:收发器之间的 CAN 通信

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/839343/ccs-tms570lc4357-can-communication-between-transceivers

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGENSN65HVD251TMS570LS3137TMS570LS1227

工具/软件:Code Composer Studio

我在 HALCOGEN、CCS 中进行了配置、但在传输引脚上它不传输任何数据。 在收发器和另一个微控制器之后没有发生任何事情。 为什么?

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

    您好!

    请提供有关硬件设置的更多信息。

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

    这是具有 TX 配置的 halcogen 的一部分。  

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

    您好!

    我看不到任何激活的消息框。

    是否可以提供有关硬件设置(MCU、收发器、连接)的更多信息?

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

    抱歉、消息框已启用。  

    CAN 收发器 SN65HVD251、I 将引脚从第一 个 MCU 连接到第二个 MCU 上的第一个收发器 TX-TX、RX-RX 和第二个收发器的导线。

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

    请告诉我 canMessage_Box1、 canMessage_Box2等有什么关系、在哪里可以找到它们、在程序中哪里可以找到它们????

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

    您好!

    必须在两端(CANH 和 CANL 之间)连接120欧姆端接电阻器。 此外、检查是否已禁用环回模式。

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

    如何检查?电路中有电阻器。

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

    如何为 TX 和 Rx 项目正确配置 CAN msg1-8?

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

    您好!

    附加的是从 CAN1到 CAN2发送几个字节的工程(CCS 和 HALCoGen)。 代码适用于 TMS570LS3137、但您可以将其用作参考。

    e2e.ti.com/.../8831.TMS570LS3137PGE_5F00_CAN.zip

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

    但在 CAN 端、我看到您没有在 Halcogen 中配置任何内容。

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

    您好!

    抱歉、在重命名文件期间、所有设置都丢失。

    为 tms570ls3137 HDK 创建了附加项目、并使用了中断方法。 HDK 上有 CAN 收发器。

    e2e.ti.com/.../5857.TMS570LS3137ZWT_5F00_CAN1_5F00_2_5F00_CAN2.ZIP

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

    对于 TX 和 Rx 项目、必须配置相同的 CAN 模式? 对于 TX 上的 exemple CAN1和 RX 上的 CAN1?

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

    为什么不在示波器上读取 J10微控制器(我使用 DCAN1TX/3.5A)上的 YHE TX 引脚上的任何内容???

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

    您好!

    如果可能、请附加您的 HALCoGen 项目、以便我可以检查设置

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

    e2e.ti.com/.../1323.PROIECT1.zip

    我有两个项目(一个用于 TX、一个用于 Rx)

    我从传感器获取数据、到达 MCU1、然后通过 CAN 将数据发送到其他微控制器、然后再发送到计算机。  

    CAN 端无法正常工作。 基本上、最后、终端的两个不同端口中有相同的数据。 我要提到的是、我使用电阻器和收发器制作了总线。  

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

    您好!

    您没有在 VIM 模块中启用 CAN 中断。 还需要修改 notification.c 中的 canMessageNotification。

    我建议您查看示例"example_canIntCommunication.c"。 此示例不适用于 TMS570LC4357、但您可以看到 TMS570LS3137的说明(您可以打开 TMS570LS3137的帮助文件、或者您可以为 TMS570LS3137创建项目并阅读帮助)。

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

    如何在"VIM 模块"中启用中断?

    "canMessageNotification in notification.c"中需要更改什么?

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

    您好!

    中断可由 HALCoGen 管理(例如、从"VIM 通道0-31"选项卡中、您可以启用/禁用通道16、CAN1高电平中断)。

    TRM 中的第15章专门用于矢量中断管理器(VIM)模块。 您可以在此处找到有关 VIM 的更多信息。

    我在上一个帖子中附加了项目以供参考。 canMessageNotification 函数位于 notification.c 文件中。 HALCoGen 示例文件夹中也提供了 CAN 示例。 您可以找到一个不使用中断方法的示例。

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

    我想我的问题是在 halcogen。 代码与示例中的代码完全相同、TX 引脚上的微控制器不会向我发送任何内容、它只会向我发送 START 位。

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

    Rs 引脚连接到收发器的什么位置?

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

    我想我的问题是 在 halcogen。 代码与示例中的代码完全相同、TX 引脚上的微控制器不会向我发送任何内容、它只会向我发送 START 位。

    为什么???

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

    Hei、  

    当我在 Halcogen 中为 CAN1 TX 进行配置时、我必须将某个设置为 CAN1端口???

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

    您好!

    DCAN1TX 暴露在连接器 J10的引脚45上。 检查您是否正在探测正确的引脚。

    我没有在我的地方使用 TMS570LC4357、但我希望下周能收到一份。 接收到后、我可以为 TMS570LC4357制作代码

    我刚刚针对 TMS570LS3137测试了我在这个线程中附加的代码、它运行正常。

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

    该引脚正确。 问题可能出在配置中的 Halcogen、因为代码段如示例中所示已修复。  

    CAN 发送和 CAN 接收。  

    在 Halcogen 的这个部分、我想、如果我改变某个东西:  

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

    当我在此处进行设置时、我最终应该在源代码中拥有多少个文件?

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

    在这里、我必须更改某个内容吗?

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

    您好!  

    您是否知道引脚为什么不能传输任何内容?

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

    在器件上、我应该选择什么? TMS570LC4357ZWT 和 TMS570LC4357ZWT_FreeRTOS 有何区别?

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

    您好!

    FreeRTOS 选件可生成文件和驱动程序、以便将 TMS570LC4357与 FreeRTOS 配合使用。 在您的情况下、您应该使用"其他"选项(不带 FreeRTOS)。

    附加是一个使用 TMS570LC4357并将消息从 CAN1发送到 CAN2的项目。 我使用了 HDK、它连接了板载 CAN 收发器。 hL_notification.c 文件也被修改。

    e2e.ti.com/.../0028.CAN1_5F00_TO_5F00_CAN2_5F00_4357.ZIP

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

    什么是 HDK?  

    为什么要对"notification.c"进行更改?

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

    您好!

    HDK 来自 Hercules 开发套件:

    中断处理程序调用 canMessageNotification(),它位于 notification.c 中,我已连接 HALCoGen 和 CCS 项目,因此您可以按照代码进行操作。

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

    如果我有两个项目、CAN_TX 和 CAN_RX、我会在两个项目中进行更改?例如在 CAN_TX 和 CAN_RX 中进行更改、还是仅在其中一个项目中进行更改?

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

    您好!

    更改取决于您的应用。 在附加的项目中、更改是为了确认接收到数据。

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

    我有两个微控制器和牵引 CAN 收发器、我必须从传感器获取数据、转到微控制器、然后跟随 CAN 的一部分、一个在另一个微控制器之后、一个在 PC 之后。 我不理解这部分包含两个收发器、也不了解 halcogen 中的配置、例如、我必须拥有多少个项目、一个用于 TX、 另一个用于 RX、或者如何操作?  

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

    您好!

    在这里、您可以找到控制器局域网简介:

    之后、我建议您从 HALCoGen 安装文件夹下的 CAN 示例开始。 在本示例中、您可以开始处理 CAN 问题、而无需将收发器与 LaunchPad 配合使用。 之后、您可以尝试连接收发器并连接两个 LaunchPad 或单个 LaunchPad 的两个 CAN 模块。 将收发器连接到 MCU 的方法可在 HDK 原理图(TMS570LS1227 HDK 的原理图可在此处找到: processors.wiki.ti.com/.../TMS570LS12x_HDK_Kit: )中找到。另外,请尝试运行我在该主题中附加的代码。

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

    CAN 控制器和 CAN 收发器之间有何区别?

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

    您好!

    以下内容来自 Wikipedia:

    每个节点都需要

    • 中央处理器、微处理器或主机处理器
      • 主机处理器决定接收到的消息是什么意思以及要传输的消息。
      • 传感器、传动器和控制器件可连接到主机处理器。
    • CAN 控制器;通常是微控制器的组成部分
      • 接收:CAN 控制器存储从总线接收到的串行位、直到一个完整的消息可用、然后主机处理器可以提取该消息(通常由 CAN 控制器触发中断)。
      • 发送:主机处理器将发送消息发送到 CAN 控制器、CAN 控制器在总线空闲时将这些位串行传输到总线上。
    • 收发器 、符合 ISO 11898-2/3媒介访问单元[MA]标准
      • 接收:它将数据流从 CANbus 电平转换为 CAN 控制器使用的电平。 它通常具有保护电路来保护 CAN 控制器。
      • 发送:它将数据流从 CAN 控制器转换为 CANbus 电平。
        例如、这是 Hercules 开发套件中使用的 CAN 收发器:
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我为什么不读取 CAN 引脚上的任何数据、

    例如、我在微控制器上加载程序、当我尝试读取时、程序不起作用、就像引脚无效一样。