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.

[参考译文] DP83867IR:在不连接以太网电缆的情况下始终获得链路状态为1

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1221266/dp83867ir-always-getting-link-status-as-1-without-connecting-the-ethernet-cable

器件型号:DP83867IR

我们正在开发一个使用 DP83867作为以太网 Phy 的板、我们需要有关其配置的帮助、因为当我读取链路状态寄存器时、即使不连接以太网电缆、我也始终得到1。 那么、是否有任何具体的配置方法?

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

    高奔驰

    您指的是哪种链路状态寄存器位? 您认为您能提供电路板原理图吗?

    此致、

    Melissa

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

    我指的是 基本模式状态寄存器(BMSR)、地址0x0001位2、即链路状态。 抱歉、我无法为您提供原理图。 我只想从一开始就了解分步配置。

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

    高奔驰

    当 PHY 上电且未连接电缆时、默认位0x0001[2]应该为0。 我已经在我们的 EVM 上对其进行了测试以进行确认。  

    如果在上电期间默认为1、则可能存在设计问题。

    此致、

    Melissa

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

    不可以、我可以向您保证不会出现设计问题、因为我们的电路板与 Linux 配合使用时可以正常工作。 现在、我们正在针对 Windows 10 IOT 操作系统开发它。 但我并不是在开发 Windows 10 IOT OS 方面请求帮助、我想知道什么会导致链路状态始终为1。 链路状态是否来自中断管脚?

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

    高奔驰

    链路状态寄存器会显示链路是否为 MDI 端。 它不来自中断引脚。

    您能否提供0x0000-0x001E 范围内的寄存器转储?

    我还附上了《DP83867故障排除指南》、供您参考、请查看: https://www.ti.com/lit/an/snla246b/snla246b.pdf

    此致、

    Melissa

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

    PHY 中断引脚 INT/PWDN 连接到 iMX8MP SOC 的 SAI1_RXD1。 我们已 将 IOMUXC_SW_MUX_CTL_PAD_SAI1_RXD1多 路复用为 ALT5_GPIO4_IO[3]—选择多路复用模式:ALT5多路复用器端口:GPIO4_IO03、实例为 GPIO4。

    作为 MDIO 的中断配置的一部分、该 GPIO GPIO4_IO03配置为边沿下降沿。 此配置是在器件树中作为 Linux BSP 的一部分执行的。

    以下是从 ACPI 表传递至 Windows 驱动程序的信息,

    A) MAC 地址

    b) 以太网1的 Cortex A53中断

    c) MDIO 总线控制器输入时钟为 266000 KHz

    d) PHY 地址

    e)  RGMII 的 PHY 接口类型为"0"

    f) PHY 的最大 MDIO 总线时钟 为15000KHz

    g) PHY 最小 STA 保持时间 为10ns

    h)启用前导码

    驱动程序获取此 ACPI 信息并用于操作系统端的配置。

    您可以通过单击链接 https://www.nxp.com/webapp/Download?colCode=IMX8MPRM 获取 IMX8MP 参考手册。

    您能告诉我哪些因素会导致链路状态始终为1吗?  

    请确认 对于任何 OS 平台来说、关于 PHY 和 SoC、通常是否需要此类配置。

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

    是否有其他方法可以确定以太网电缆是否已连接到以太网端口?

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

     上电期间没有0x0001[2]位默认为0。 但之后、无论是否连接以太网电缆、该位始终为1。

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

    高奔驰

    请提供 0x0000-0x001E 中的寄存器转储、以便我们帮助您调试该问题。

    此致、

    Melissa

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

    抱歉、我无法在窗口中获取寄存器转储、您能告诉我是否有办法获取寄存器转储?但我可以告诉您任何寄存器的各个位值。 还能告诉我如何通过软件发现中断引脚已启用或未启用?  

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

    高奔驰

    很抱歉我不能在窗口中获取寄存器转储,您能告诉我是否有任何方法可以获取寄存器转储吗??但我可以告诉您任何寄存器的单个位值。

    如果您能够向我提供 0x0000 - 0x001E 的寄存器值、这没问题。   

    [报价 userid="560831" url="~/support/interface-group/interface/f/interface-forum/1221266/dp83867ir-always-getting-link-status-as-1-without-connecting-the-ethernet-cable/4617379 #4617379"]您能告诉我如何发现中断引脚已启用或未通过软件启用吗?  [/报价]

    你可以读取/写入0x001E[7]以使能该引脚作为一个中断输出。  

    此致、

    Melissa

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

    您能告诉我哪些因素会导致链路状态始终为1、以便我对其进行分类吗? 我无法为您提供寄存器转储、因为 Windows 中的驱动程序不同。  

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

    高奔驰

    您提到过、您能够提供任何寄存器的单个位值。 我只需要寄存器0x0000-0x001E 的值、因此我可以尝试帮助您找出导致链路状态问题的原因。  

    此致、

    Melissa

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

    大家好  

    这里是寄存器转储  

    ===================================================
     ===转储 PHY 寄存器===
     ===================================================
     PHY[0x00]= 0xFFFF
     PHY[0x01]= 0xFFFF
     PHY[0x02]= 0xFFFF
     PHY[0x03]= 0xFFFF
     PHY[0x04]= 0xFFFF
     PHY[0x05]= 0xFFFF
     PHY[0x06]= 0xFFFF
     PHY[0x07]= 0xFFFF
     PHY[0x08]= 0xFFFF
     PHY[0x09]= 0xFFFF
     PHY[0x0A]= 0xFFFF
     PHY[0x0b]= 0xFFFF
     PHY[0x0C]= 0xFFFF
     PHY[0x0D]= 0xFFFF
     PHY[0x0E]= 0xFFFF
    PHY[0x0F]= 0xFFFF

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

    高奔驰

    看起来您没有通过 MDC/MDIO 正确地访问 PHY 的寄存器、值不应该都是0xFFFF。 此问题可能是由于读取了错误的 PHY 地址而导致的。 您是如何配置电路板上的 PHY 地址的?您要从哪个地址读取?

    此致、

    Melissa

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

    我认为、根据 IEEE 802.3标准、这些寄存器地址对于大多数以太网 PHY 是通用的。 我想我们没有读取错误的地址。 您能否告诉我、对于任何引脚或 MDIO 引脚、是否需要进行任何特定的引脚初始化? DP83867是否有任何特定的时钟设置? 因为我们使用的代码是为 RTL8211F 以太网 Phy 修改的、但它应该适用于 DP83867、但我认为我们在有关 DP83867的特定 Phy 初始化部分方面做了一些错误的事情。 默认情况下、DP83867是关闭模式、所以这可能是问题吗?

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

    我们有两个以太网 PHY、它们有单独的 MDIO 总线。 对于第一个 PHY、我们没有将 任何 RX_D 引脚进行 strap 配置、但我们将 RX_CTL 引脚与模式3进行了 strap 配置、对于 PHY 2、我们将 RX_D0引脚进行了 strap 配置、将 RX_CTL 引脚与模式3进行了绑定、其他 RX_D 引脚不进行 strap 配置、 那么、第一个 Phy 的地址将是0、而第二个 Phy 的地址将是1、对吧?

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

    高奔驰

    正确的寄存器转储看起来就像这样。

    如果要确认 PHY 地址设置、请检查 第8.5.4 PHY 地址配置部分。 我很难在看不到原理图的情况下评估您的绑带。  

    无效的寄存器读数也可能是由上电序列问题引起的。 是否 已满足第7.6节"加电时序"中的所有要求?

    此致、

    Melissa

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

    尊敬的 Melissa:

    您能告诉我如何为 phy 供电、因为我认为它默认处于断电模式吗? 如果主板打开,它是否会自动上电?

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

    尊敬的 Melissa:

    是否有办法确定 PHY 是否已正确通电? 是否也可以在不使用寄存器的情况下将中断/断电引脚设置为中断引脚? phy 地址正确。 我们在 Windows 中使用的驱动程序不是特定于 Phy 的、而是通用驱动程序、但与以太网 phy 相关的更改仅在 ACPI 表和电路板初始化文件中完成、其中引脚复用和时钟设置都是这样。

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

    高奔驰

    默认情况下完全不为 PHY 供电、即使在断电模式下也必须为电源线供电。  

    如果您的电路板遵循我们的所有设计要求、且电路板的电源连接到 PHY 的电源、那么 PHY 应该在电路板开启时自动加电。 您可以使用我们的原理图检查清单来检查您的电路板设计。

    e2e.ti.com/.../4442.DP83867_5F00_Schematic_5F00_Design_5F00_Review_5F00_Checklist-_2800_1_2900_.xlsx

    您是否尝试通过驱动程序或 MDIO/MDC 访问寄存器?

    此致、

    Melissa

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

    您好、Melissa

    非常感谢您回答我的问题

    我问到了功耗、因为 正如数据表中提到的、引脚中断/断电默认为断电模式。

    我们的以太网 phy 直接连接到 MAC、因此我想我们是通过 MDIO 访问寄存器的。 但是、我们如何在不使用 MDIO/MDC 的情况下通过驱动器访问寄存器呢?

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

    您好、Melissa

    我查阅了您分享的原理图检查清单、发现重置引脚在我们的电路板中未接地、但之后它在 Ubuntu 中仍然可以工作、所以有必要将重置引脚接地并将电容器连接到它??

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

    高奔驰

    我们的以太网 phy 直接连接到 MAC,因此我想我们是通过 MDIO 访问寄存器。 但是、我们如何在没有 MDIO/MDC 的情况下通过驱动程序访问寄存器呢?

    连接 MAC 处理器的 MDIO/MDC 线路连接器也是如此吗? 您需要 MDIO/MDC 才能访问寄存器。

    我查阅了您共享的原理图核对表,发现复位引脚在我们的电路板中未接地,但即使在这之后,它仍然可以在 Ubuntu 中工作,所以有必要将复位引脚接地并将电容器连接到它吗????

    您的复位引脚是如何连接的? 原理图显示复位引脚通常连接高电平、但可以通过原理图中的按钮将其拉低。

    此致、

    Melissa

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

    是的、来自 PHY 的 MDIO/MDC 引脚连接到处理器。 复位引脚上拉 并连接到 SOC。 在 Windows 中、我们为以太网使用 NDIS 微端口驱动程序。

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

    高奔驰

    复位引脚配置 正常。 让我们重新研究一下 PHY 地址和 PHY 电源配置、找出读取0xFFFF 的原因。  

    我们有两个以太网 PHY,它们有单独的 MDIO 总线。 对于第一个 PHY、我们没有将 任何 RX_D 引脚进行 strap 配置、但我们将 RX_CTL 引脚与模式3进行了 strap 配置、对于 PHY 2、我们将 RX_D0引脚进行了 strap 配置、将 RX_CTL 引脚与模式3进行了绑定、其他 RX_D 引脚不进行 strap 配置、 因此、第一个 PHY 的 PHY 地址将为0、而第二个 PHY 的 PHY 地址将为1、对吧?

    能否提供仅此部件的屏幕截图? 如果您不想公开共享、您可以对我进行 DM 管理。

    对于电源-您是处于双电源还是三电源模式? 在三电源模式下运行时、1.8V VDDA1P8电源必须在2.5V VDDA2P5电源上升的25ms 内保持稳定。 在三电源模式下运行时、其他电源不需要时序控制。

    此致、

    Melissa

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

    您好、Melissa

    我要求获得发送示意图的许可、因此一旦获得许可、我就会对您进行 DM。 关于 phy、是否有方法可以确定是否正在生成 RX_CLK?

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

    高奔驰

    您可以使用示波器直接对其进行探测。

    此致、

    Melissa

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

    您好、Melissa

    我已经给您看了我们的原理图屏幕截图。

    从 RTL8211F 移植到 DP83867是否有任何移植指南?

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

    高奔驰

    遗憾的是,我们没有这样的指南。

    此致、

    Melissa

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

    您好、Melissa

    DP83867是否在 Windows 中具有任何驱动程序、或者窗口中是否具有 DP83867的一般特定设置? DP83867是否在 Windows 中支持 NDIS 小型端口驱动程序? TI 是否对一般的 Windows 驱动程序提供了任何支持?

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

    高奔驰

    对于我们的工业 PHY、我们在 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/phy 上公开提供了 Linux 驱动程序 

    此致、

    Melissa