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.

[参考译文] MCU-PLUS-SDK AM263X:MCU-PLUS-SDK AM263X

Guru**** 2461030 points
Other Parts Discussed in Thread: AM2434, AM2634

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1465411/mcu-plus-sdk-am263x-mcu-plus-sdk-am263x

器件型号:MCU-PLUS-SDK AM263X
主题中讨论的其他器件:AM2634、AM2434

工具与软件:

大家好
我正在   使用 MCU_SDK_10_00_00_31在 LP_AM2634板上测试 CPSW 外设。

我能够从 Windows PC 正确打开驱动程序和发送到 Windows PC 的 TX/RX 帧。


但是我还有一个问题未决。

1)如何   从驱动程序获取链接速度和双工? 我 期望 速度100Mb,但我写的例行程序 给我只有 2MB

2) 配置 CPSW 的正确方法是: 通过一个端口实现与餐厅世界的 PHY 连接、并通过 SYSCFG 在内部实现与同一演示板的 MAC 连接? AM2434和 SYSCFG 是否支持此配置?

3)一个 类似以下的架构是可行的? 如果是、我 需要 两个 R5F 内核、那么我是否需要系统工程?

PHY0<->CPSW0<->MAC0 <--> MAC1<--> CPSW1<--> PHY1

                   ||                                                        

               R5F00 R5F10                                                 

非常感谢

此致

M

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

    您好!

    1.是否使用 SDK 中的特定示例? 您能否分享您的当前配置/例程?
    2.我不确定 AM243x 器件、因为该器件系列使用不同类型的 CPSW 外设、但对于 AM263x、可以配置第一个连接到 PHY 的 MAC 端口、第二个连接到 NO-PHY 的 MAC 端口(MAC2MAC)。 我正在检查此设置的功能以前是否经过测试。 要配置第二个 MAC 端口、请转到 CPSW 外设、启用"MAC Port Config"下的"MAC Port 2"、并根据以下内容进行设置: https://dev.ti.com/tirex/explore/content/mcu_plus_sdk_am263x_10_01_00_31/docs/api_guide_am263x/enet_mac2mac_top.html 

    3.您能在这里解释您的预期配置吗? AM26x 器件只有1个 CPSW 外设(CPSW0)实例、该实例具有2个 MAC 端口和1个内部主机端口。 内部主机端口可以在两个 MAC 端口之间传输数据包。  

    此致、
    Susan

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

    你好、Susan

    1.我同时使用 LP_AM2434和 LP_AM2634演示板 、但遇到了  LP_AM2434中发现的一些编程错误、现在我们只关注 LP_AM263x 板。 我们需要一个 交换机、以便测试网络 文件夹中的示例:

    - mcu_sdk_am263x\mcu_plus_sdk_am263x_10_00_00_35\examples\networking\ Enet_layer2_cpsw_switch  (开关)

    - mcu_sdk_am263x\mcu_plus_sdk_am263x_10_00_00_35\examples\networking\ Enet_layer2_cpsw (在 单个 MAC 上进行一些测试)

    在允许代码中,我添加到 EnetApp_waitForLinkUp()函数的文件 l2_cpsw_cfg.c 中,以从驱动程序读取速度。 在任何 测试条件下、它都会返回2MB、因此我认为我错了一些东西。 我附加了 config 函数:

    int32_t EnetApp_waitForLinkUp(EnetApp_PerCtxt *perCtxt)
    {
        Enet_IoctlPrms prms;
        Enet_MacPort macPort;
        EnetMacPort_LinkCfg linkCfg;
        bool linked;
    	uint32_t i;
        int32_t status = ENET_SOK;
    
        printf("%s: Waiting for link up...\r\n", perCtxt->name);
    
        for (i = 0U; i < perCtxt->macPortNum; i++)
        {
            macPort = perCtxt->macPort[i];
            linked = false;
    
            while (!linked)
            {
                ENET_IOCTL_SET_INOUT_ARGS(&prms, &macPort, &linked);
    
                ENET_IOCTL(perCtxt->hEnet, gEnetApp.coreId, ENET_PER_IOCTL_IS_PORT_LINK_UP, &prms, status);
                if (status != ENET_SOK)
                {
                    EnetAppUtils_print("%s: Failed to get port %u link status: %d\r\n",
                                        perCtxt->name, ENET_MACPORT_ID(macPort), status);
                    linked = false;
                    break;
                }
    
                if (!linked)
                {
                    ClockP_sleep(1);
                }
    		}
        }
    
        if (linked)
        {
            for (i = 0U; i < perCtxt->macPortNum; i++)
            {
                /* Configurare i parametri per l'ioctl */
                ENET_IOCTL_SET_INOUT_ARGS(&prms, &macPort, &linkCfg);
    
                /* Eseguire il comando ioctl per ottenere la configurazione del link */
                ENET_IOCTL(perCtxt->hEnet, gEnetApp.coreId, ENET_PER_IOCTL_GET_PORT_LINK_CFG, &prms, status);
    
                if (status == ENET_SOK)
                {
                    /* Stampa la configurazione del link */
                    printf("Link speed: %u Mbps\n", linkCfg.speed);
                    printf("Duplex: %s\n", (linkCfg.duplexity == ENET_DUPLEX_FULL) ? "Full" : "Half");
                }
                else
                {
                    printf("Errore nell'ottenere la configurazione del link, status: %d\n", status);
                }
            }
        }
    
        netLinkedUp= 1;
    
        return status;
    }
    2.好的,谢谢大家。 我使用 LP_AM2634进行了测试、没有问题。 如果您发现一个已通过测试的示例、请在可能的情况下将其发送给我。

    3.我愿意分享一份文件来解释更好的 构造。  是否有办法附加 PDF 或 DOCX 文件? 我可以用这种方式与你分享 Aur 的需求。 请随时通知我、否则我会尝试附加图像、但 最好是完整的文档。

    谢谢大家

    M

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

    你好、Susan

    我尝试对实际配置和我们尝试实现的新架构做了3次描述。

    Actual_archit.png 显示实际的 硬件 布置。系统架构由一个 主器件和最多三个 从器件组成。 每个 节点 (图中的主设备或从设备)承载两个微控制器:工作( µCW μ A )和保护( µCP μ A )。 两个微控制器并行处理相同的输入数据(距离测量)。

     系统中的每个单元(主器件和从器件)都会扫描270°的一部分区域 、以检测危险的预定义区域中是否存在物体(由 GUI 用户编程)。 无论器件类型(主器件或从器件)如何、系统中的所有器件都能实现这些功能。

    此外、主器件是唯一在运行过程中与外部网络进行交互、以向外部器件(PC)提供 距离信息的节点。 更具体地说、只有主器件 (µCWM)正常工作的微控制器 来执行这项工作。

    所有 从器件扫描其区域部分、处理其测得的距离并将其数据发送 给主器件。 主器件会 收集结果、分析这些结果并 相应地驱动输出。 因此、主器件具有双重角色:其区域的距离传感器和 网络中所有器件的输出传动器。

    archit_1.png 如果可用、展示我们的想法、即使用带有2个 CPSW 的德州仪器(TI) Sitara MPU。

    通过这种方式、我们具有一些重要优势:

    -只有一个 MPU 可以为一个单元(主或从)执行完整的设计

    -无需外部开关

    -更多2个内核用于额外的操作。

    此设计需要一种将该单元认证为 SIL2 CAT3 HFT1的方法

    archit_2.png 使用带有1个 CPSW 单元的德州仪器(TI) Sitara MPU 展示我们的想法。 通过这种方式、我们将具有2个独立通道的实际配置复制到 单元(主或从单元)中。 与实际配置一样、我们必须复制硬件请求、但我们避免了在 MPU 上使用2个 CPSW 单元。 如您所见、我们需要 MAC 到 PHY 的连接和 MAC 到 MAC 的连接才能完成整个链。

    通过这种方式、我们具有一些重要优势:

    -无需外部开关

    -更多2个内核用于额外的操作。

    该设计需要一种方法来将单元认证为 SIL2 CAT3 HFT1、但在本例中、我们有2个 与实际设计中不同的物理 MPU。

    我可以分享同样更详细的文档、但我需要了解如何附加 pdf 文件。

    非常感谢大家

    M

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

    你好、Susan

    问题2。

    2. 要配置第二个 MAC 端口、请转到 CPSW 外设、启用"MAC Port Config"下的"MAC Port 2"、并根据以下内容进行设置: https://dev.ti.com/tirex/explore/content/mcu_plus_sdk_am263x_10_01_00_31/docs/api_guide_am263x/enet_mac2mac_top.html 

    该链接提供了从上一个页面生成的配置页面  MCU_SDK_10_01_00_31 . 遗憾的是、此 MCU_SDK 仅提供网络示例 icss_emac_lwip 对我们的目的不是很有用。

    之前的 MCU_PLUS_SDK_10_00_00_35显示了不同的配置页面、其中显示了 端口1 PHY 配置 会存在差异。 下图显示了2个 MCU_SDK 的相同上下文:

     

    目前我正在使用 MCU_SDK_10_00_00_21、如果我在 CCD-->产品中编译设置最后一个 SDK、编译器出现错误、 设置前一个 SDK 将消失。

    这是对您的建议的完整答案。

    此致

    M

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

    您好!

    下面简单回答几个问题:
    要上传 e2e 中的 PDF/文档、请转到插入->图像/视频/文件->选择上传并选择您的 PDF:

    的说明 MCU_SDK_10_01_00_31 : CPSW 的所有网络示例都在 mcu_plus_sdk_am263px_10_01_00_31\source\networking\enet\core\examples 下

    我将在明天详细讲述剩余的内容、希望能够回答大家的其他问题。


    谢谢!

    Susan

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

    你好、Susan

    感谢现在我可以上传一些关于实际激光安全扫描仪 architecture.e2e.ti.com/.../LS_5F00_architecture.rar 的更详细的文档

    对于 MCU_SDK 网络示例、我在最新 SDK 中丢失了对路径的更改。

    我正在等待其余的

    谢谢大家

    M

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

    您好!

    对不起这里的延迟,我想坐下来,看看你在这里的目标。  
    开始后、CPSW 外设有3种运行模式:开关模式(默认)、Mac 模式和双 Mac 模式。

    在交换模式下、CPSW 外设的功能与2端口交换机类似、接收到的数据包会转发到内部主机端口和 MAC 端口。 因此、可以构建如下菊花链:

    在此设置中、每个 AM263x 器件都有一个 MAC 地址(分配给主机端口)。

    在 MAC 模式下、仅启用一个端口、并且仅向主机转发数据包。 MAC 端口本身将具有一个地址。

    双 MAC 模式启用 MAC 模式下的两个端口、并使用两个用作独立网络设备的网络接口:

    双 MAC 模式使用共享缓冲区、内存池和驱动程序来模拟具有2个主机端口的设备。  

    通过查看提供的架构、我对您的各个部件有一些想法:

    • 在开关模式下使用 CPSW、具有多个 TX/RX 通道和每个单元一个 MCU
    • 在双 MAC 模式下使用 CPSW、每个单元具有多个 TX/RX 通道和一个 MCU
    • 使用2个具有以开关或双 MAC 模式运行的 CPSW 的 MCU 以及1个具有 MAC2MAC 连接的 TX/RX

    没错、虽然我能够因此而在基于 CPSW 开关的菊花链中使用多个 EVM 进行测试、但我不确定使用多个 TX/RX 通道是否符合您的安全要求。 我建议查看相应的 Enet 第2层多通道示例。  

    我认为另一个有用的示例是 Enet 第2层 CPSW 快速启动示例。 这是我在我们的 SDK 中知道的最接近双 MAC 模式 CPSW 的示例。 它也是一个 NORTOS 示例。 遗憾的是、它适用于我们的 controlCard EVM、但我认为浏览示例 html 将很有用、因为它涉及到尽可能缩短以太网应用的链路时间的技巧。

    这在您的报告中已经有一个问题、但关于连接 PRU-ICSS 和 CPSW、我知道可以通过软件网桥实现、但我不了解该实现的完整详细信息。 这将是一个单独的主题。

    上述任何配置是否能满足您的需求?

    此致、  

    Susan

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

    你好、Susan

    感谢您的答复。

    我的初始想法是 、使用一个具有2个独立 CPSW 的微控制器单元。 通过这种方式、我可以复制之前附加的实际配置(请参阅 LS_architecture.rar)。

    第一个想法是这样的。

    但是、如果不存在具有两个单独 CPSW 单元的微控制器、我认为理想选择是 按照电子邮件中的建议、在切换模式下使用2个具有 CPSW 的 MCU 并使用1个具有 MAC2MAC 连接的 TX/RX。

    该架构可能包含以下内容:

    但是、您可以建议我一个示例 、将两个微控制器 AM2634与一个用于内部端口和两个外部 PHY 端口的 MAC2MAC 相连? 在 MCU SDK 中 、我找到了一个具有2个外部 PHY 端口的 CPSW 连接示例、但我无法看到您向我们建议的架构。

    关于 PRU-ICSSG 的使用,我们可以保留这个主题。

    感谢所有 Susan

    M

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

    您好!

    对于延迟、我们深表歉意。 我们目前还没有 MAC2MAC 连接示例、因为我们的 EVM 实际上并不支持 MAC2MAC 连接。
    我目前正在努力创建一个示例供大家使用、希望今天晚些时候就可以使用。  

    此致、

    Susan

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

    Susan

    非常感谢大家

    从我的角度来说很完美  我希望得到您的建议。

    实际上、我正在处理多种不同的设计、因此一天或更长时间供您考虑不是问题。

    感谢所有 Susan

    此致

    M

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

    你好、Susan

    您是否有关于此问题的一些新闻?

    非常感谢大家

    M

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

    你好、Susan

    您是否发现我的方案设计存在一些重大问题?

    您是否有关于所涉及设计的一些新闻?

    如果是、请随时通知我

    非常感谢大家

    此致

    M