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.

[参考译文] PROCESSOR-SDK-J721E:将 MCAN 集成到视觉应用 MCU1_0 处理器中

Guru**** 2425230 points
Other Parts Discussed in Thread: SK-TDA4VM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1537011/processor-sdk-j721e-integrating-mcan-into-vision-apps-mcu1_0-processor

器件型号:PROCESSOR-SDK-J721E
主题中讨论的其他器件:TCAN1043SK-TDA4VM

工具/软件:

PSDK:09_02_00_05
您好、
我正在尝试将 MCAN 集成到视觉应用 R5F MCU 处理器中。 但是、我使用 mcan_evm_loopback_app_main_k3.c 文件作为示例、但没有成功。 我执行的以下步骤:

  • 通过以下命令启用 MCU_MCAN0:
        GPIOSetDirMode_v0(CSL_WKUP_GPIO0_BASE, 0, GPIO_DIRECTION_OUTPUT);
        GPIOPinWrite_v0(CSL_WKUP_GPIO0_BASE, 0, GPIO_PIN_LOW);
  • 设置 MCAN 参数 (init、msgram、config、bittimes、stdfiltelem)
  • 使用以下命令配置 MCAN:MCAN_INIT ()、MCAN_CONFIG ()、MCAN_setBitTime ()、MCAN_setExtIDAndMask ()、MCAN_msgRAMConfig ()、 MCAN_addStdMsgIDFilter、MCAN_setOpMode ()

我正在使用示波器来监控 CAN_H 和 CAN_L、但没有任何反应。 有什么问题?
此致、
Tamas

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

    您好:

    我相信您可能在 MCU2_0 内核或 MCU2_1 上运行视觉应用。

    我们在以下示例中测试的实例为

    mcan_evm_loopback_app_main_k3
    *测试支持实例:适用于 mcu1_0
    * 1.发送器测试: MCU_MCAN0
    * 2.接收器测试: MCU_MCAN1.
    * 3.内部回送:MCU_MCAN0
    * 4.外部环回:MCU_MCAN0、MCU_MCAN1
    *对于 MCU2_1
    * 1.发送器测试: MAIN_MCAN4.
    * 2.接收器测试: main_MCAN4.
    * 3.内部环回: MAIN_MCAN4.
    * 4.外部环回:MAIN_MCAN4、MAIN_MCAN16
    您是否进行了 MCU2_0 上 MCU_MCAN0 支持的相应更改? 由于 MCU_MCAN0 位于 MCU 域、因此您需要执行到主域内核的中断路由。
    此致
    Tarun Mukesh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Hy Tarun、
    感谢您的答复。 实际上、我需要更详细的帮助。 我使用以下 4 个 CAN 模块:MCU_MCAN0、MCAN0、MCAN5 和 MCAN9。 使用以下命令:

    /* Enable MCU_MCAN0 */
    GPIOSetDirMode_v0(CSL_WKUP_GPIO0_BASE, 0, GPIO_DIRECTION_OUTPUT);
    GPIOPinWrite_v0(CSL_WKUP_GPIO0_BASE, 0, GPIO_PIN_LOW);
    
    /* Enable MCAN0 */
    GPIOSetDirMode_v0(CSL_GPIO0_BASE, 65, GPIO_DIRECTION_OUTPUT);
    GPIOPinWrite_v0(CSL_GPIO0_BASE, 65, GPIO_PIN_LOW);
    
    /* Enable MCAN5 */
    GPIOSetDirMode_v0(CSL_GPIO0_BASE, 66, GPIO_DIRECTION_OUTPUT);
    GPIOPinWrite_v0(CSL_GPIO0_BASE, 66, GPIO_PIN_LOW);
    
    /* Enable MCAN9 */
    GPIOSetDirMode_v0(CSL_GPIO0_BASE, 67, GPIO_DIRECTION_OUTPUT);
    GPIOPinWrite_v0(CSL_GPIO0_BASE, 67, GPIO_PIN_LOW);

    MCAN0 和 MCAN5 启用工作、因为两个模块进入隐性状态。 但是、MCU_MCAN0 和 MCAN9 仍处于低电平。  
    我是否使用了正确的引脚编号?
    此致、
    Tamas

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

    您好:

    这是您的定制板还是 TI EVM?

    对于 MCU_MCAN0、如上所述、由于您从主域访问、因此需要执行中断路由才能运行。

    此致

    Tarun Mukesh

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

    您好、
    我想从 MCU1_0 内核、所有 4 个 CAN 外设都进行访问。 但是、我设法将 MCAN0、MCAN5 和 MCAN9 外设设置为隐性状态(启用)、但只有在 MCAN0 上、我才能发送示波器上可见的数据。

    对于 MCU_MCAN0、如上所述、由于您从主域访问、您需要执行中断路由才能运行。

    如果我从 MCU1_0 R5F 处理器访问、是否需要设置中断?

    此致、
    Tamas

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

    您好:

    很抱歉、您没有回答我提出的关键问题。

    这是您的定制电路板还是 TI EVM?

    TI EVM 中有 2 种类型的 CAN 收发器 TCAN1043 和 TCAN1042。因此、如果您使用的是 TCAN1043、它将具有使能引脚和待机引脚、而在其他情况下、它只具有使能引脚。

    如果您在 TI EVM 上的 MCU1_0 内核中使用 MCU_MCAN0、则应该不会出现问题、因为除非您进行更改、否则会测试相同的示例。

    同样、MCAN0、4、9 也是主域、如果您从 MCU1_0 使用、则需要执行中断路由。

    您也可以参考 MCAL 中的示例、以便更好地了解/mcusw/mcal_drv/mcal/examples/Can MCAL soc /j721e/mcu1_0/Can App_Startup

    此致

    Tarun Mukesh

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

    您好、

    在 TI EVM 中、我们有 2 种类型的 CAN 收发器 TCAN1043 和 TCAN1042。因此、如果您使用的是 TCAN1043、它将具有使能引脚和待机引脚、而在其他情况下、它仅是使能引脚。

     在我的电路板上、收发器是 TCAN1046VDMTRQ1(两者都)、一个收发器连接到 MCU_MCAN0 和 MCAN0、另一个连接到 MCAN5 和 MCAN9。

    [引述 userid=“547969" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1537011/processor-sdk-j721e-integrating-mcan-into-vision-apps-mcu1_0-processor/5917793 #5917793“]

    如果您在 TI EVM 上的 MCU1_0 内核中使用 MCU_MCAN0、则应该不会出现问题、因为除非您进行更改、否则会测试相同的示例。

    [/报价]

    我的问题是必须使用 WKUP_GPIO0_3 引脚启用收发器(将 STB 引脚设置为低电平)。 在我的引脚中、GPIO 按以下方式设置:

        /* MyWKUP_GPIO0 -> WKUP_GPIO0_3 -> F27 */
        {
            PIN_WKUP_GPIO0_3, PIN_MODE(7) | \
            ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
        }

    我正在尝试使用以下命令将引脚设置为低电平状态:
    #define MCU_MCAN0_ENABLE_PIN            (0x3)
    
    /* Set MCU_MCAN0_STBz pin to LEVEL_High to exit CAN0 from Standby mode */
    GPIOSetDirMode_v0(CSL_WKUP_GPIO0_BASE, MCU_MCAN0_ENABLE_PIN, GPIO_DIRECTION_OUTPUT);
    GPIOPinWrite_v0(CSL_WKUP_GPIO0_BASE, MCU_MCAN0_ENABLE_PIN, GPIO_PIN_LOW);

    但是、该引脚不会变为低电平。 对此有何建议? (GPIO_init 完成)

    如果您从 MCU1_0 使用、则可以再次使用 MCAN0、4、9 作为主域、您需要执行中断路由。

    我使用 MCAN0、MCAN5、MCAN9。 MCAN0 工作正常、但是 MCAN5 和 MCAN9 工作不正常、因为不断设置以下协议错误: MCAN_ERR_CODE_BIT0_ERROR。 但是、我会监控 CAN_H 和 CAN_L 的状态、它们始终处于隐性状态。 这方面的任何帮助。

    您也可以参考 MCAL 中的 CAN 示例、以便更好地了解/mcusw/mcal_drv/mcal/examples/Can MCAL 中的 soc /j721e/mcu1_0/Can App_Startup .c

    我会尝试一下。

    此致、
    Tamas

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

    您好、Tamas、

    但是 PIN 不会变为低电平。 对此有何建议? (GPIO_init 完成)

    这是 GPIO 没有变为低电平的另一种情况。 请再提交一个 E2E。

    如果它是 STBZ 引脚 、则它是低电平有效引脚、因此您必须将其设置为 STD 高电平  

    我使用 MCAN0、MCAN5、MCAN9。 MCAN0 工作正常、但是 MCAN5 和 MCAN9 工作不正常、因为不断设置以下协议错误: MCAN_ERR_CODE_BIT0_ERROR。 但是、我会监控 CAN_H 和 CAN_L 的状态、它们始终处于隐性状态。 有关此问题的任何帮助。

    如果 MCAN0 工作正常、MCAN5/MCAN9 工作不正常、请首先进行 探测并 可以看到 CAN_TX 和 CAN_RX 线路上的数据、那么我们可能会怀疑 CAN 收发器是问题。

    由于它是定制板、我需要了解从 soc 到您电路板的 CAN5 和 CAN9 的完整原理图。 使用了哪些引脚、使能引脚和待机引脚等。

    此致

    Tarun Mukesh

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

    Hy Tarun、

    这是另一种 GPIO 未变为低电平的情况。 请再提交一个 E2E。

    谢谢、我会这么做的。

    [引述 userid=“547969" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1537011/processor-sdk-j721e-integrating-mcan-into-vision-apps-mcu1_0-processor/5919954 #5919954“]

    如果 MCAN0 工作正常、MCAN5/MCAN9 工作不正常、请首先进行 探测并 可以看到 CAN_TX 和 CAN_RX 线路上的数据、那么我们可能会怀疑 CAN 收发器是问题。

    由于它是定制板、我需要了解从 soc 到您电路板的 CAN5 和 CAN9 的完整原理图。 使用了哪些引脚、使能引脚和待机引脚等。

    [/报价]

    我们的电路板原理图与 SK-TDA4VM 相同、因此处理器的 F27 引脚焊球连接到 WKUP_GPIO0_3、GPIO0_65/66/67 上的 GPIO0_STB 连接到收发器的 STB 线路。 MCAN5 RX 和 TX 分别连接到 AE21 和 J21、MCAN9 Rx 和 Tx 连接到 AC27 和 AC28。 设置 MCAN0、MCAN5、MCAN9 的 GPIO 工作正常、MCAN0、MCAN5 和 MCAN9 的 CAN_H 和 CAN_L 会切换到隐性状态、但当我尝试在 Tx 线路上发送数据时、处理器和收发器之间没有通信、我不断收到 MCAN_ERR_CODE_BIT0_ERROR。  

    防火墙应该存在一些问题、我尝试从 MCU1_0 与 MCAN 进行交互? 我检查了器件树、并且 MCAN5 和 MCAN9 未设置。  

    此致、
    Tamas

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

    您好:

    如果您知道 RTOS SDK 未在 SK 电路板上验证。  

    但当我尝试在 Tx 线路上发送数据时、处理器和收发器之间没有通信、我不断收到 MCAN_ERR_CODE_BIT0_ERROR。  [/报价]

    但 CAN_tx 线上的数据在 CAN 收发器之前吗? 您是否在 CAN 收发器之前探测过 CAN_Tx?

     如果 CAN 收发器未启动、CAN_H 和 CAN_L 可能没有信号、但 CAN_TX 和 CAN_RX 应该具有数据。

    此致

    Tarun Mukesh

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

    您好、

    如果您知道 RTOS SDK 未在 SK 电路板上验证。  [/报价]

    是的、我知道。

    [引述 userid=“547969" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1537011/processor-sdk-j721e-integrating-mcan-into-vision-apps-mcu1_0-processor/5920142 #5920142“]

    但 CAN_tx 线上的数据在 CAN 收发器之前吗? 您是否在 CAN 收发器之前探测过 CAN_Tx?

     如果 CAN 收发器未启动、CAN_H 和 CAN_L 可能没有信号、但 CAN_TX 和 CAN_RX 应该具有数据。

    [/报价]

    我正在分别探测收发器 1-4 引脚和 6-7 引脚、但在线路上看不到任何消息。在这些引脚上连接了处理器的 Rx 和 Tx。 由于 STB 线路被下拉、因此收发器被上拉。   

    此致、
    Tamas

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

    您好、

    那么不是 CAN 收发器问题、CAN Tx 和 CAN Rx 线路本身没有数据。  

    在原理图中检查它是否通过需要进行配置的 GPIO 扩展器。

    此致

    Tarun Mukesh