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.

[参考译文] TMDS64EVM:通过 R5F 内核进行 PRU-ICSSG 以太网端口测试

Guru**** 2868370 points

Other Parts Discussed in Thread: AM6442, AM6421, TMDS64EVM, SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1628675/tmds64evm-pru-icssg-ethernet-port-testing-through-r5f-core

器件型号: TMDS64EVM
主题中讨论的其他器件: AM6421、AM6442、 Sysconfig

我目前正在努力调整 AM64X 双 MAC ICSSG 以太网示例(可在 MCU+ SDK 文档 (https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/latest/exports/docs/api_guide_am64x/EXAMPLES_ENET_LAYER2_ICSSG.html) 中找到)、以便与定制电路板上的 AM6421 处理器配合使用。

我已经使用 Code Composer Studio 在 TMDS64EVM(AM6442 处理器)上的双 MAC 模式下成功运行该示例。 但是、当我尝试在定制 AM6421 电路板上运行同一测试时、程序执行期间会遇到置为有效错误。

调试时、我已经确定 TMDS64EVM 示例依赖于从 EEPROM 读取 MAC 地址。 我的定制电路板不包含 EEPROM、这会导致 MAC 地址检索失败并随后触发生效。

我的问题是:  如何修改该示例以通过定制 AM6421 电路板上的 R5F 内核测试两个 PRU-ICSSG 以太网端口、特别是绕过 EEPROM 并通过替代方法提供 MAC 地址?

非常感谢有关必要代码更改、SysConfig 调整或工程修改的任何指导。

谢谢!

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

    尊敬的 Akshay:

    您可以通过启用手动输入方法来填充 MAC 地址、从而跳过从 EEPROM 读取。 您可以在中找到此选项:
    Enet (ICSSG)->系统集成信息-> MAC 地址分配方法->手动输入。

    或者、您可以通过更改位于文件“$mcu_plus_sdk/sources/net/core/sysconfig/networking/.meta/enet_cpsw/templates/enet_app_syscfg_info.cndt"中“中的模板函数 EnetApp_initializeMacAddrPool () 来实现自己的函数来读取 MAC 地址。

    在此 API 中、您可以停止调用 fillMacAddrList API 来完全停止填充 MAC 地址、也可以更改定义以适合您的应用程序。

    如果您有任何其他疑问、请告知我们。  

    谢谢。此致、
    Teja。

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

    跳过从 EEPROM 读取后、程序被编译并加载从 CCS 日志中获取的日志如下所示:


    MAIN_Cortex_R5_0_0:=========================

    MAIN_Cortex_R5_0_0:多端口测试

    MAIN_Cortex_R5_0_0:=========================

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:初始化所有外设时钟

    MAIN_Cortex_R5_0_0:------------------------------------------------

    MAIN_Cortex_R5_0_0:启用时钟!

    MAIN_Cortex_R5_0_0:启用时钟!

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:打开所有外设

    MAIN_Cortex_R5_0_0:------------------------------------------------

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:init configs EnetType:1, InstId :2

    MAIN_Cortex_R5_0_0:------------------------------------------------

    MAIN_Cortex_R5_0_0:MDIO_OPEN:MDIO Manual_Mode 已启用

    打开 MAC 端口 10_0:

    MAIN_Cortex_R5_0_0:mdio_manual_ioctl_handler_ENET_MDIO_IOCTL_C22_read:无法读取 PHY 1 C22 reg 1:–1

    EnetPhyMdioDflt_readC22:PHY 1:读取 C22 reg:–1 失败

    EnetPhy_readReg:PHY 1:读取 reg 1:–1 失败

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:init configs EnetType:1, InstId :3

    MAIN_Cortex_R5_0_0:------------------------------------------------

    MAIN_Cortex_R5_0_0:MDIO_OPEN:MDIO Manual_Mode 已启用

    打开 MAC 端口 20_0:

    MAIN_Cortex_R5_0_0:mdio_manual_ioctl_handler_ENET_MDIO_IOCTL_C22_read:无法读取 PHY 0 C22 reg 1:–1

    EnetPhyMdioDflt_readC22:PHY 0:读取 C22 reg:–1 失败

    EnetPhy_readReg:PHY 0:读取 reg 1:–1 失败

    icssg1-P1:寄存器异步 IOCTL 回调

    MAIN_Cortex_R5_0_0:icssg1-P1:寄存器 TX 时间戳回调

    MAIN_Cortex_R5_0_0:icssg1-P2:寄存器异步 IOCTL 回调

    MAIN_Cortex_R5_0_0:icssg1-P2:寄存器 TX 时间戳回调

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:在所有外设上连接内核 ID 1

    MAIN_Cortex_R5_0_0:------------------------------------------------

    MAIN_Cortex_R5_0_0:icssg1-P1:连接内核

    MAIN_Cortex_R5_0_0:icssg1-P2:连接内核

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:创建 RX 任务

    MAIN_Cortex_R5_0_0:------------------------------------------------

    MAIN_Cortex_R5_0_0:icssg1-P1:创建 RX 任务

    MAIN_Cortex_R5_0_0:icssg1-P1:等待链路接通...

    MAIN_Cortex_R5_0_0:icssg1-P2:创建 RX 任务

    MAIN_Cortex_R5_0_0:icssg1-P2:等待链路接通...

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:Enet Multiport 菜单:

    MAIN_Cortex_R5_0_0:“T"-“-启用时间戳打印

    MAIN_Cortex_R5_0_0:“T"-“-禁用时间戳打印

    MAIN_Cortex_R5_0_0:'S'-打印统计信息

    MAIN_Cortex_R5_0_0:“R"-“-复位统计信息

    MAIN_Cortex_R5_0_0:“m"-“-显示已分配的 MAC 地址

    MAIN_Cortex_R5_0_0:'D'-启用基于 DSCP 的优先级映射

    MAIN_Cortex_R5_0_0:“F"-“-读取所有 ICSSG FDB 时隙

    MAIN_Cortex_R5_0_0:“x"-“-停止测试

    MAIN_Cortex_R5_0_0:

    SysConfig 文件中的 ETHPHY 器件是 DP83822、其 PHY0 的 PHY 地址为 1、 PHY1 的 PHY 地址为 0。

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

    尊敬的 Teja:

    在 SysConfig 中启用“MDIO MDC Config“选项后 、MDIO 读取错误现已解决。  

    现在、程序正正确地等待链接出现:

    MAIN_Cortex_R5_0_0: icssg1-p1: Create RX task
    MAIN_Cortex_R5_0_0: icssg1-p1: Waiting for link up...
    MAIN_Cortex_R5_0_0: icssg1-p2: Create RX task
    MAIN_Cortex_R5_0_0: icssg1-p2: Waiting for link up...
    

    但即使连接了电缆、也无法建立物理链路

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

    尊敬的 Akshay:

    您能否在调试模式下分享更多应用日志、以便我们能够识别应用中发生了什么情况? macport 配置是否正确? PHY 绑定和初始化是否成功?  

    谢谢。此致、
    Teja。

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

    尊敬的 Teja:

    这是 MAC 端口配置:

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

    尊敬的 Akshay:

    应用中似乎不会发生 PHY 驱动程序绑定。 我可以观察到 syscfg 中的 DP83822 有相应的变化、但您能否确认 MDIO 线路是否正确链接?

    将进行 PHY 扫描来识别哪些 PHY 地址处于活动状态。 但我在应用程序中看不到有效的 PHY 检测或 PHY 绑定打印。 您能否查看应用程序中 EnetApp_enablePorts () API 的行为,特别是在“显示活动 PHY “段中?

    这将在此上下文中提供模式详细信息。

    谢谢。此致、
    Teja。

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

    尊敬的 Teja:

    在中  EnetApp_enablePorts 执行初始化函数  ENET_IOCTL_SET_INOUT_ARGS(&prms, &i, &alive)、则该 alive 变量应为  true but the value obtained is 0(false) as a result if (alive == true) this condition  is not satisfied. What could be the reason for this?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Akshay:

    调用 ENET_IOCTL_SET 后、INOUT_ARGS 将配置要发送以用于 IOCTL 处理的变量。 请检查 ENET_IOCTL () 宏之后的可变状态以获得正确的结果。 如果所有 32 个地址的响应为 0、则 MDIO 未正确检测到 PHY 地址。 我们需要验证引脚配置和硬件连接、以确保通信正确进行。

    您能否检查 MDIO 线路的硬件连接?

    此致、
    Teja。

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

    尊敬的 Teja:

    现在接口已打开。但当连接到笔记本电脑并通过 Colasoft Packet Builder 发送数据包 时、只有 icssg1-P1 正在传回数据、而当电缆已连接但数据未传回时、icssg1-P2 链路会亮起。 接收和发送的数据包可以在 Wireshark 中看到。CCS 日志附加如下:


    MAIN_Cortex_R5_0_0:=========================

    MAIN_Cortex_R5_0_0:多端口测试

    MAIN_Cortex_R5_0_0:=========================

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:初始化所有外设时钟

    MAIN_Cortex_R5_0_0:------------------------------------------------

    MAIN_Cortex_R5_0_0:启用时钟!

    MAIN_Cortex_R5_0_0:启用时钟!

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:打开所有外设

    MAIN_Cortex_R5_0_0:------------------------------------------------

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:init configs EnetType:1, InstId :0

    MAIN_Cortex_R5_0_0:------------------------------------------------

    MAIN_Cortex_R5_0_0:打开 MAC 端口 1

    MAIN_Cortex_R5_0_0:EnetPhy_bindDriver:PHY 1:'D-P83822'不支持 MAC 模式 3

    EnetPhy_bindDriver:PHY 1:OUI:080028 型号:24 版本:00 <->'D-P83822':确定

    PHY 0 为 Alive_0_0:

    MAIN_Cortex_R5_0_0:PHY 1 处于活动状态

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:init configs EnetType:1、InstId:1

    MAIN_Cortex_R5_0_0:------------------------------------------------

    MAIN_Cortex_R5_0_0:打开 MAC 端口 2

    MAIN_Cortex_R5_0_0:EnetPhy_bindDriver:PHY 0:'D-P83822'不支持 MAC 模式 3

    EnetPhy_bindDriver:PHY 0:OUI:080028 型号:24 版本:00 <->'D-P83822':确定

    PHY 0 为 Alive_0_0:

    MAIN_Cortex_R5_0_0:PHY 1 处于活动状态

    MAIN_Cortex_R5_0_0:icssg1-P1:寄存器异步 IOCTL 回调

    MAIN_Cortex_R5_0_0:icssg1-P1:寄存器 TX 时间戳回调

    MAIN_Cortex_R5_0_0:icssg1-P2:寄存器异步 IOCTL 回调

    MAIN_Cortex_R5_0_0:icssg1-P2:寄存器 TX 时间戳回调

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:在所有外设上连接内核 ID 1

    MAIN_Cortex_R5_0_0:------------------------------------------------

    MAIN_Cortex_R5_0_0:icssg1-P1:连接内核

    MAIN_Cortex_R5_0_0:icssg1-P2:连接内核

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:创建 RX 任务

    MAIN_Cortex_R5_0_0:------------------------------------------------

    MAIN_Cortex_R5_0_0:icssg1-P1:创建 RX 任务

    MAIN_Cortex_R5_0_0:icssg1-P1:等待链路接通...

    MAIN_Cortex_R5_0_0:icssg1-P2:创建 RX 任务

    MAIN_Cortex_R5_0_0:icssg1-P2:等待链路接通...

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:Enet Multiport 菜单:

    MAIN_Cortex_R5_0_0:“T"-“-启用时间戳打印

    MAIN_Cortex_R5_0_0:“T"-“-禁用时间戳打印

    MAIN_Cortex_R5_0_0:'S'-打印统计信息

    MAIN_Cortex_R5_0_0:“R"-“-复位统计信息

    MAIN_Cortex_R5_0_0:“m"-“-显示已分配的 MAC 地址

    MAIN_Cortex_R5_0_0:'D'-启用基于 DSCP 的优先级映射

    MAIN_Cortex_R5_0_0:“F"-“-读取所有 ICSSG FDB 时隙

    MAIN_Cortex_R5_0_0:“x"-“-停止测试

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:Icssg_handleLinkUp:icssg0-2:端口 2:链路接通:100Mbps 全双工

    icssg1-P2:端口 2 链路接通

    MAIN_Cortex_R5_0_0:icssg1-P2:将端口状态设置为“forward"</s>“

    MAIN_Cortex_R5_0_0:icssg1-P2:ASYNC IOCTL 已完成

    MAIN_Cortex_R5_0_0:icssg1-P2:打开 DMA

    MAIN_Cortex_R5_0_0:initQs() txFreePktInfoQ 已使用 8 个 pkts 初始化

    MAIN_Cortex_R5_0_0:70:ff:76:1d:EC:f3

    MAIN_Cortex_R5_0_0:icssg1-P2:设置 MAC 地址:70:ff:76:1d:EC:f3

    MAIN_Cortex_R5_0_0:Icssg_handleLinkDown:icssg0-2:端口 2:链路断开

    Icssg_handleLinkUp:icssg0-1:端口 1:链路接通:100-Mbps 全双工

    icssg1-P1:端口 1 链路接通

    MAIN_Cortex_R5_0_0:icssg1-P1:将端口状态设置为“forward"</s>“

    MAIN_Cortex_R5_0_0:icssg1-P1:ASYNC IOCTL 已完成

    MAIN_Cortex_R5_0_0:icssg1-P1:打开 DMA

    MAIN_Cortex_R5_0_0:initQs() txFreePktInfoQ 已使用 16 个 pkts 初始化

    MAIN_Cortex_R5_0_0:70:ff:76:1d:EC:f2

    MAIN_Cortex_R5_0_0:icssg1-P1:设置 MAC 地址:70:ff:76:1D:EC:f2

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

    尊敬的 Akshay:  

    [引述 userid=“690969" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1628675/tmds64evm-pru-icssg-ethernet-port-testing-through-r5f-core/6285012

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:init configs EnetType:1, InstId :0

    MAIN_Cortex_R5_0_0:------------------------------------------------

    MAIN_Cortex_R5_0_0:打开 MAC 端口 1

    MAIN_Cortex_R5_0_0:EnetPhy_bindDriver:PHY 1:'D-P83822'不支持 MAC 模式 3

    EnetPhy_bindDriver:PHY 1:OUI:080028 型号:24 版本:00 <->'D-P83822':确定

    PHY 0 为 Alive_0_0:

    MAIN_Cortex_R5_0_0:PHY 1 处于活动状态

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:init configs EnetType:1、InstId:1

    MAIN_Cortex_R5_0_0:------------------------------------------------

    MAIN_Cortex_R5_0_0:打开 MAC 端口 2

    MAIN_Cortex_R5_0_0:EnetPhy_bindDriver:PHY 0:'D-P83822'不支持 MAC 模式 3

    EnetPhy_bindDriver:PHY 0:OUI:080028 型号:24 版本:00 <->'D-P83822':确定

    PHY 0 为 Alive_0_0:

    MAIN_Cortex_R5_0_0:PHY 1 处于活动状态

    [/报价]

    这表明检测到了两个 PHY。 您能否在更改链接之前检查应用程序是否已准备就绪? 我看到 首先在端口 2 上发生链路断开。 您能否在更改端口链路之前检查是否可以验证统计信息? 能否在向每个端口发送数据包之前和之后共享示例的统计信息?

    谢谢。此致、
    Teja。

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

    尊敬的 Akshay:  

    [引述 userid=“690969" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1628675/tmds64evm-pru-icssg-ethernet-port-testing-through-r5f-core/6285012

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:init configs EnetType:1, InstId :0

    MAIN_Cortex_R5_0_0:------------------------------------------------

    MAIN_Cortex_R5_0_0:打开 MAC 端口 1

    MAIN_Cortex_R5_0_0:EnetPhy_bindDriver:PHY 1:'D-P83822'不支持 MAC 模式 3

    EnetPhy_bindDriver:PHY 1:OUI:080028 型号:24 版本:00 <->'D-P83822':确定

    PHY 0 为 Alive_0_0:

    MAIN_Cortex_R5_0_0:PHY 1 处于活动状态

    MAIN_Cortex_R5_0_0:

    MAIN_Cortex_R5_0_0:init configs EnetType:1、InstId:1

    MAIN_Cortex_R5_0_0:------------------------------------------------

    MAIN_Cortex_R5_0_0:打开 MAC 端口 2

    MAIN_Cortex_R5_0_0:EnetPhy_bindDriver:PHY 0:'D-P83822'不支持 MAC 模式 3

    EnetPhy_bindDriver:PHY 0:OUI:080028 型号:24 版本:00 <->'D-P83822':确定

    PHY 0 为 Alive_0_0:

    MAIN_Cortex_R5_0_0:PHY 1 处于活动状态

    [/报价]

    这表明检测到了两个 PHY。 您能否在更改链接之前检查应用程序是否已准备就绪? 我看到 首先在端口 2 上发生链路断开。 您能否在更改端口链路之前检查是否可以验证统计信息? 能否在向每个端口发送数据包之前和之后共享示例的统计信息?

    谢谢。此致、
    Teja。

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

    尊敬的 Teja:

    下面是在我们的定制电路板 (AM6421 和 DP83822 PHY) 上观察到的最新情况。

    • PRU 端口 1 状态

      • 在第一个 PRU 端口上检测到 PHY、链路接通、接口使用我们笔记本电脑上的客户端工具成功发送和接收数据包。
      • 然而、在示波器分析过程中、我们观察到以下情况:a) Tx 行数: 探测 TX 线路时、示波器上会显示有效数据、并且在 Wireshark 中正确捕获相应的响应。
        b) RX 行: 探测 RX 线路时、我们可以在示波器上看到数据活动、但 Wireshark 中不会出现响应。
    • PRU 端口 2 状态

      • 尽管在第二个 PRU 端口上检测到 PHY 并且链路接通、但我们只是收到间歇性响应。
    • 硬件修改尝试

      • 我们尝试增加 PRU 端口 1 RX 数据线上的串联电阻、但在此之后、PHY 完全停止响应。
    • 此致、
    • Akshay
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Akshay:

    我将邀请我们的硬件团队来调查问题。 请在 PHY 与 SoC 的 MDIO 和数据线之间共享相应的连接。 这将有助于我们的团队审查联系。

    谢谢。此致、
    Teja。

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

    大家好!

    基于上述讨论、我假设没有可疑的连接问题、但问题似乎是间歇性的。

    例如不同电路板上的 EPHY 和 SOC。

    [引述 userid=“690969" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1628675/tmds64evm-pru-icssg-ethernet-port-testing-through-r5f-core/6290266
      • 尽管在第二个 PRU 端口上检测到 PHY 并且链路接通、但我们只是收到间歇性响应。
    • 硬件修改尝试

    [/报价]

    DP83822 支持内部阻抗控制、请为串联电阻使用 0r 并调整 RDx 信号的内部阻抗。

    您能否确认使用的是 RGMII 接口。

    原理图是不完整的、因此限制了效率。

    此致、

    Sreenivasa.

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

    大家好!

    您是否尝试过执行任何环回测试。

    Teja、您能否确认该软件支持环回测试。

    此致、

    Sreenivasa.

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

    大家好!

    EPHY 和 SOC 位于不同的电路板上、并使用 RGMII 接口。 目前、RDx 信号上安装了一个 0‑Ω 串联电阻。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Akshay、

    谢谢你。

    您能否捕获 TDx 时钟和数据波形以及类似的 RDx 时钟和 RDx 数据?

    数据和时钟之间预计会有延迟。

    对于 TDx、SOC 实现了 1.2ns 的最小延迟

    对于 RDx、预计在 EPHY 侧配置延迟。  

    此致、

    Sreenivasa.  

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

    尊敬的 Akshay:

    我们支持 PHY 级环回示例、在该示例中、应用将发出数据包并发回数据包。 您可以使用此示例来验证完整性。 如果 PHY 被 MDIO 识别、则端口不正确执行 Tx 的任何原因都不应如此。 您能否请在电路板上验证 SOC 是否正在将数据发送到这些线路上? 否则、从 SoC 到 PHY 的数据线会出现问题。

    谢谢。此致、
    Teja。

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

    尊敬的 Teja:

    已尝试 PHY 级环回示例、下面附加了 Mac 端口 1 和 2 的 CCS 日志:

    MAC 端口 1

    MAIN_Cortex_R5_0_0:============================

     

    MAIN_Cortex_R5_0_0: Enet 环回:迭代 1

     

    MAIN_Cortex_R5_0_0:============================

     

    MAIN_Cortex_R5_0_0:ICSSG_DUALMAC 测试

     

    MAIN_Cortex_R5_0_0:启用时钟!

     

    MAIN_Cortex_R5_0_0:

     

    MAIN_Cortex_R5_0_0:init configs EnetType:1, InstId :0

     

    MAIN_Cortex_R5_0_0:------------------------------------------------

     

    MAIN_Cortex_R5_0_0:打开 MAC 端口 1

     

    MAIN_Cortex_R5_0_0:EnetPhy_bindDriver:PHY 1:'D-P83822'不支持 MAC 模式 3

     

    EnetPhy_bindDriver:PHY 1:OUI:080028 型号:24 版本:00 <->'D-P83822':确定

     

    PHY 0 为 Alive_0_0:

     

    MAIN_Cortex_R5_0_0:PHY 1 处于活动状态

     

    MAIN_Cortex_R5_0_0:initQs() txFreePktInfoQ 已使用 16 个 pkts 初始化

     

    MAIN_Cortex_R5_0_0:

     

    MAIN_Cortex_R5_0_0: — 主机端口统计信息  

     

    MAIN_Cortex_R5_0_0:--------------------------------

     

    MAIN_Cortex_R5_0_0:  hostTxByteCnt             = 8074830471176912896

     

    MAIN_Cortex_R5_0_0:  hostRxByteCntMacPort1     = 8074755721566093312

     

    MAIN_Cortex_R5_0_0:  hostRxByteCntMacPort2     = 8073710210562129920

     

    MAIN_Cortex_R5_0_0:  hostTxByteCntMacPort1     = 8073740979707838464

     

    MAIN_Cortex_R5_0_0:  hostTxByteCntMacPort2     = 8074830471176912896

     

    MAIN_Cortex_R5_0_0:

     

    MAIN_Cortex_R5_0_0: 注意:名称中包含 Slice0 或 Slice1 的 TX 统计信息遵循以下惯例:

     

    MAIN_Cortex_R5_0_0:

     

    MAIN_Cortex_R5_0_0:       在切换模式下 :Slice0 -> Port2、Slice1 -> Port1

     

    MAIN_Cortex_R5_0_0:

     

    MAIN_Cortex_R5_0_0:       在双 MAC 模式下:Slice0 ->端口 1、Slice1 ->端口 2

     

    MAIN_Cortex_R5_0_0:

     

    MAIN_Cortex_R5_0_0:

     

    MAIN_Cortex_R5_0_0: Mac 1 统计信息

     

    MAIN_Cortex_R5_0_0:--------------------------------

     

    MAIN_Cortex_R5_0_0:

     

    MAIN_Cortex_R5_0_0:Icssg_handleLinkUp:icssg0-1:端口 1:链路接通:100Mbps 全双工

    MAC 端口 2

    MAIN_Cortex_R5_0_0:============================

     

    MAIN_Cortex_R5_0_0: Enet 环回:迭代 1

     

    MAIN_Cortex_R5_0_0:============================

     

    MAIN_Cortex_R5_0_0:ICSSG_DUALMAC 测试

     

    MAIN_Cortex_R5_0_0:启用时钟!

     

    MAIN_Cortex_R5_0_0:

     

    MAIN_Cortex_R5_0_0:init configs EnetType:1、InstId:1

     

    MAIN_Cortex_R5_0_0:------------------------------------------------

     

    MAIN_Cortex_R5_0_0:打开 MAC 端口 2

     

    MAIN_Cortex_R5_0_0:EnetPhy_bindDriver:PHY 0:'D-P83822'不支持 MAC 模式 3

     

    EnetPhy_bindDriver:PHY 0:OUI:080028 型号:24 版本:00 <->'D-P83822':确定

     

    PHY 0 为 Alive_0_0:

     

    MAIN_Cortex_R5_0_0:PHY 1 处于活动状态

     

    MAIN_Cortex_R5_0_0:initQs() txFreePktInfoQ 已使用 16 个 pkts 初始化

     

    MAIN_Cortex_R5_0_0:

     

    MAIN_Cortex_R5_0_0: — 主机端口统计信息  

     

    MAIN_Cortex_R5_0_0:--------------------------------

     

    MAIN_Cortex_R5_0_0:  hostTxByteCnt             = 8074826622886215680

     

    MAIN_Cortex_R5_0_0:  hostRxByteCntMacPort1     = 8074751873275396096

     

    MAIN_Cortex_R5_0_0:  hostRxByteCntMacPort2     = 8073710210562129920

     

    MAIN_Cortex_R5_0_0:  hostTxByteCntMacPort1     = 8073740979707838464

     

    MAIN_Cortex_R5_0_0:  hostTxByteCntMacPort2     = 8074826622886215680

     

    MAIN_Cortex_R5_0_0:

     

    MAIN_Cortex_R5_0_0: 注意:名称中包含 Slice0 或 Slice1 的 TX 统计信息遵循以下惯例:

     

    MAIN_Cortex_R5_0_0:

     

    MAIN_Cortex_R5_0_0:       在切换模式下 :Slice0 -> Port2、Slice1 -> Port1

     

    MAIN_Cortex_R5_0_0:

     

    MAIN_Cortex_R5_0_0:       在双 MAC 模式下:Slice0 ->端口 1、Slice1 ->端口 2

     

    MAIN_Cortex_R5_0_0:

     

    MAIN_Cortex_R5_0_0:

     

    MAIN_Cortex_R5_0_0: Mac 1 统计信息

     

    MAIN_Cortex_R5_0_0:--------------------------------

     

    MAIN_Cortex_R5_0_0:

     

    MAIN_Cortex_R5_0_0:Icssg_handleLinkUp:icssg0-2:端口 2:链路接通:100Mbps 全双工

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

    尊敬的 Akshay:

    日志看起来运行不成功。 因此、RGMII 配置/线路存在问题。 请确保将 macport 1 的 RGMII 实例更改为 RGMII 1、macport 2 的 RGMII 2。 请告诉我这些更改后的结果。  

    谢谢。此致、
    Teja。

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

    您好 Akshay、

    数据和时钟之间需要延迟。

    不确定您是否有机会探测 RX 数据和 RX 时钟并查看时钟是否延迟。

    Teaja,  

    如果软件对默认值 Ex 2ns 进行编程、

    对于 DP83867、我们将延迟设置为 2ns、即 AM64x EVM  

    此致、

    Sreenivasa.

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

    大家好!

    RGMII 实例在 SysConfig 文件中正确配置。

    我们在运行 PHY 环回和 ICSSG DUAL_Mac 示例时探测了 RX 数据和 RX 时钟信号。 在环回模式下、在 RX 数据和 RX 时钟之间未观察到延迟、在 ICSSG 双 MAC 示例中观察到延迟 800 皮秒。 此外、RX 数据线上的波形电平处于预期范围内。 下面附上了波形:

    内部 PHY 环回

    ...

    ICSSG 双 MAC

    ...

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

    内部 PHY 环回

    ICSSG 双 MAC

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

    您好 Akshay、

    感谢您的意见。

    请尝试在 EPHY 侧设置 2ns 的 ID。

    Teaja、您能指导 akshay 设置延迟吗?

    此致、

    Sreenivasa.

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

    您好 Akshay、

    对于内部延迟、请使用 20%和 80%进行测量。

    此致、

    Sreenivasa.

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

    您好、Sreenivasa 和 Akshay、

    DP83822 只有一个延迟选项用于时钟延迟、延迟时间为 3.5ns。 您可以使用地址为 0x0017 的 RCSR 来启用该功能。  

    请告知此配置的结果。

    谢谢。此致、
    Teja。

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

    您好 Akshay、

    检查您是否能够取得进展。

    此致、

    Sreenivasa\

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

    大家好!

    当 RX 数据和 RX 时钟之间引入 2ns 的延迟时、问题得到解决。

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

    您好 Akshay、

    谢谢你。

    检查 EPHY 是否 支持设置离散延迟值与固定延迟的配置?

    帮助我了解配置的寄存器。

    此致、

    Sreenivasa.

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

    您好 Akshay、

    以下是 DP83822 支持的延迟设置。

    请确认您为解决问题所做的设置。

    此致、

    Sreenivasa.