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.

[参考译文] AM62P:MCU_MCAN 与外部 CAN 源进行通信

Guru**** 2419530 points
Other Parts Discussed in Thread: SN65HVD230, SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1538655/am62p-mcu_mcan-communication-with-external-can-sources

部件号:AM62P
主题中讨论的其他器件:SN65HVD230SysConfig

工具/软件:

您好支持团队:

我正在尝试在 AM62P-LP 板上的 MCAN_0(MCU_R5 内核)与连接到 Linux 主机的 Innomaker USB2CAN 模块之间建立 CAN 通信。 我按照 TI E2E 指南中的步骤操作:
常见问题解答 — SK-AM62x MCAN 外部环回、尝试了线程中建议的所有软件更改、但无法正常工作。

硬件:

  1. AM62P-LP 电路板

  2. SN65HVD230 CAN 收发器

  3. DB9 连接器

  4. Innomaker USB2CAN 模块

连接:

  • D6(引脚 22、MCU 接头)→CAN 收发器的 RX

  • CAN 收发器的 E8(引脚 16、MCU 接头)→TX

  • 引脚 1(MCU 接头)→3.3V(CAN 收发器)

  • 引脚 2(MCU 接头)→GND(CAN 收发器)

  • 引脚 3(MCU 接头)→GND (DB9 连接器、引脚 3)

  • CANL(收发器)→DB9 引脚 2

  • CANH(收发器)→DB9 引脚 7

  • DB9 连接到 USB2CAN 模块、然后连接到 Linux 主机

问题:
我尝试使用从主机发送 CAN 帧cansend。 该接口 设置为 5Mbps、但通信无法正常工作。

请告知可能出现的问题或建议执行任何调试步骤。

谢谢、
Abhishek S S.

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

    尊敬的 Abhishek:

    我尝试使用从主机发送 CAN 帧cansend。 接口 设置为 5 Mbps、但通信不起作用。

    您能否进一步阐述这个问题? 您能否尝试使用 CCS 调试应用并告诉我代码流的具体滞留位置、如果应用中有任何问题、还请共享应用程序的 UART 日志。

    环回示例也有一个 Tx 器件、您是否至少看到通过 USB2CAN 正确接收的数据、如共享常见问题解答所述、 成功接收数据后、必须从 CAN 分析仪/工具传输 10 次数据才能进行测试

    此致、

    会面。

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

    大家好、

    您能进一步阐述这个问题吗? [/报价]

    没问题。 因此、我尝试 在 ospi 引导模式下在外部模式下刷写 mcan_loopback_interrupt_am62px-sk_mcu-R5fss0-0_freertos_ti-arm-clang 示例应用程序。  根据常见问题解答、我更改了软件要求、即-> App_mcanConfig (false)。 这是我得到的日志->  

    您能否尝试使用 CCS 调试应用程序并告诉我代码流的确切位置、如果应用程序指示有任何问题、也请共享这些应用程序的 UART 日志


    还没有尝试调试应用程序。 我会尝试一下、然后回复您。

    环回示例也有一个 Tx 部分、您是否至少可以看到通过 USB2CAN 正确接收的数据、如共享常见问题解答所述、 成功接收数据后、必须从 CAN 分析仪/工具传输 10 次数据、以便测试结束。

    否、也不能使用 USB2CAN 模块接收数据。 但我可以向您保证 USB2CAN 处于完美的工作状态、因为我将其用于不同的实验。

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

    尊敬的 Abhishek:

    从您共享的日志中、似乎传输本身未成功、这表明 USB2CAN 模块无法接收消息。 我没有看到代码有任何问题、因为您已经处理了共享常见问题解答中提到的内容、因为该示例现在滞留在传输本身中、您将无法继续进入 Rx 部分并从 USB2CAN 模块发送消息。

    请确保比特率和采样点在您的不适宜的软件中正确设置。

    此致、

    会面。

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

    尊敬的会议:

    最初、我根据常见问题解答中提供的信息将比特率设置为 5 Mbps。 我在 Linux 计算机上用于启动 Innomaker CAN 模块的命令是:
    sudo IP link set CAN0 up type can bitrate  5000000。  

    但是、由于它不起作用、我计划验证我配置的比特率和采样点是否正确。

    根据常见问题解答->使用以下公式计算比特率和采样点:

    • 比特率 (bps) =(CAN 时钟(以 Hz 为单位)/ BRP /(1 + TSEG1 + TSEG2)

    • 采样点 (%) =(1 + TSEG1)/(1 + TSEG1 + TSEG2)

    (注意:SysConfig 或结构中配置的值直接写入 MCAN 寄存器位字段。 硬件会将这些值解释为比编程值多一个值。)

    在常见问题解答中、还给出了此示例、用于标称比特率的默认值为:

    • MCAN_BitTimingParams::nomRatePrescalar = 7(SO BRP = 8)

    • MCAN_BitTimingParams::nomTimeSeg1 = 12(SO TSEG1 = 13)

    • MCAN_BitTimingParams::nomTimeSeg2 = 5(SO TSEG2 = 6)

    使用这些值:
    bitrate = 80MHz / 8 /(1 + 13 + 6)= 0.5Mbps

    我有几个疑问:

    1. 如何找到 CAN 时钟的值(以 Hz 为单位)?

    2. example.sys文件中、我找到了 BRP、TSEG1 和 TSEG2 的值。 我还附上了一个屏幕截图供参考。 基于此、我是否应该将这些值解释为:

      • Brp = 8

      • TSEG1 = 6

      • TSEG2 = 3
        (考虑硬件的“+1"解释“解释)解释)?

    请告诉我我我的理解是否正确。

    此致、
    Abhishek

     

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

    尊敬的 Abhishek:

    如何找到 CAN 时钟的值(以 Hz 为单位)?

    默认情况下、CAN 模块集的频率为 80MHz、您可以参考此时钟树工具并检查 MCAN 模块的频率推导方式: SysConfig

    example.sys文件中、我找到了 BRP、TSEG1 和 TSEG2 的值。 我还附上了一个屏幕截图以供参考。

    您的解释正确。

    此致、

    会面。

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

    尊敬的会议:

    传输仍没有完成—程序似乎卡在与之前相同的线路上。

    根据我的当前配置、计算出的比特率为 1Mbps 、采样点为 0.7

    作为参考、我附加了一个屏幕截图、显示 Innomaker USB2CAN 模块也采用相同的配置启动。

    您能否介绍一下我可能遗漏的其他信息?

    此致、
    Abhishek

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

    尊敬的 Abhishek:

    该示例使用 CAN-FD 模块、您的 USB2CAN 模块似乎不支持 CAN-FD 您能否确认相同?

    此致、

    会面。

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

    大家好、  

    我想让大家知道、我在上次星期五中解决了该问题。 USB2CAN 模块存在问题 — 它不支持 CAN-FD、仅以 1Mbps 的速率传输数据。 相应地调整代码后、一切都运行良好。

    我附上了一些屏幕截图以供您参考。

    很高兴看到你最终也能够破解它!
    谢谢!

    此致、
    Abhishek  

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

    尊敬的 Abhishek:

    感谢您的更新、很高兴您现在可以解决您的问题。

    此致、

    会面。