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.

[参考译文] DRA821U:EthFw:在定制电路板上未找到常见电容器

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1634691/dra821u-ethfw-no-common-caps-found-at-custom-board

器件型号: DRA821U

您好 TI、

我们正在设计定制板、目前使用 PROCESSOR-SDK-RTOS J7200(版本 11.01.00.02)。 我们还使用 EthFw。
在我们的定制电路板中、我们使用 Quard PHY VSC8514、但将该 PHY 仅用于 100BASE-TX 以太网、因此每个以太网连接仅连接 4 条以太网线 (P0_R0N、P0_R0P、P0_R1N 和 P0_RD1P)、而不是 8 条以太网线。

在 EthFw(通过我们对电路板的适应)中、我们收到错误消息“PHY 16:未找到常见的电容器“。
由于此错误、我们查看了代码 TI-PDK 代码、并在 enetphy.c 的第 1762 行中发现 if 条件格式不理想。
请参阅以下补丁:
ChangeEnetPhy_c.png
在这种改变后,自动协商和物理初始化工作正常。
请查看更改并在我们的系统中添加 bugreport。

此致。

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

    您好、

    在 EthFw(通过我们对电路板的适应)中、我们收到错误消息“PHY 16:未找到常见上限“。
    由于此错误、我们检查了代码 TI-PDK 代码、并在 enetphy.c 的第 1762 行中发现 if 条件格式不理想。

    如果 PHY 以固定速度进行引导或编程、则需要将 PHY 配置更改为 100Mbps 固定链路、而不是自动速度。


    以上内容不是 SDK 中的错误。

    此致、
    Sudheer

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

    您好、

    我不想禁用自动缩小、也不想设置固定链路速度。  
    在我们的板上、我们使用了 4 个四路 PHY 端口。
    在端口 0、端口 1 和端口 2、应可以通过 100Mbps 和 10Mbps 以及全双工和半双工进行通信。
    端口 3 应该可以实现 1000Mbps、100Mbps 或 10Mbps 速率的通信、以了解已连接网络的功能。

    如果您查看文件 enetphy.c 的第 1762 行中的 if-condition:

    *commonCaps = ENETPHY_SOK ? (localCaps & partnerCaps) : 0;


    ENETPHY_Sok 定义为 0、因此 commonCap 始终为零、因为缺少与 status 变量的比较!
    因此函数 EnetPhy_findCommonCaps 无法正常工作、并且找不到常用功能。

    此致、
    Frank

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

    您好、

    在端口 0、端口 1 和端口 2 处、应该可以通过 100Mbps 和 10Mbps 以及全双工和半双工进行通信。
    端口 3 应能够以 1000Mbps、100Mbps 或 10Mbps 的速度进行通信、以了解已连接网络的功能。

    这些是本地能力、但 API 会检查本地能力与链路伙伴能力。

    因此函数 EnetPhy_findCommonCaps 无法正常工作、并且找不到通用功能。

    如果查看上面的函数、它会读取 PHY 自动协商寄存器以 获取本地链路能力 10/100、同时还会读取链路伙伴寄存器以获得链路伙伴 能力 10/100。

    ENETPHY_Sok 定义为 0、因此 commonCap 始终为零、因为缺少与 status 变量的比较!

    理想情况下、commonCap 不应为零、因为在 PHY 上启用了自动协商。 您应该会看到一些本地和链路伙伴能力匹配、然后只会出现 Link。

    此致、
    Sudheer