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.

[参考译文] DP83822H:PHY 在 RMII 模式下不会从以太网帧中传输出去。

Guru**** 2540720 points
Other Parts Discussed in Thread: DP83822H

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1567115/dp83822h-phy-is-not-transmitting-out-the-ethernet-frame-in-rmii-mode

器件型号:DP83822H


工具/软件:

大家好、我正在尝试将 PHY Dp83822H 与 FPGA 连接。 我能够写入和读取 PHY 寄存器。 该器件配置为 RMII、100Mbps、全双工模式。

我正在从 FPGA 向 PHY 发送 TX[1:0]和十个信号(不使用 MAC)。 它是一个具有 UDP 有效载荷的通用以太网帧。 一切似乎都正确、但我无法在 Wireshark 上看到任何内容。 PHY.e2e.ti.com/.../dp83822h_5F00_settings.xlsx 没有发送数据

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

    您好、  
    寄存器 0x0001 显示没有链路。 如果没有链路、PHY 将不会向外发送数据包。  

    您是否尝试过将 FPGA 插入链路伙伴并 ping 通链路伙伴?
    PHY 采用哪种 RMII 模式? RMII 主模式还是从模式?


    您能告诉我们您的原理图、以便我们检查是否存在任何连接错误吗? 您能接收数据包而不会出现任何问题吗?
    请随时向我发送您的原理图。 我已经向你发送了一个友谊请求。  

    此致、
    j

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

    尊敬的 J:

    感谢您的答复。 这是原理图。

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

    尊敬的 J:

    另一个查询。 配置 PHY 后是否需要提供软复位? 应该使用哪个寄存器进行复位、X00 或 X1F? 要写入用于复位的适当值是多少?

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

    您好、  

    建议使用软复位、但这不是必需的。 请使用 0x1F = 0x4000 来软复位 PHY。  

    如果您可以回答以下问题、那么了解您的测试设置将非常有帮助。  

    您是否尝试过将 FPGA 插入链路伙伴并 ping 通链路伙伴?
    [quote userid=“523922" url="“ url="~“~/support/interface-group/interface/f/interface-forum/1567115/dp83822h-phy-is-not-transmitting-out-the-ethernet-frame-in-rmii-mode/6034761?

    此外、RMII TX 线路上是否也没有看到任何信号、或者是否仅在 MDI TX 线路上看到任何信号?
    您是否尝试过将 PHY 置于 MII 环回模式、并验证 PHY 的 MII 侧是否正常?


    以下是对原理图的注释:
    1.看起来信号连接是针对 MII 而不是 RMII。 引脚 1 是否连接到 MAC 的时钟引脚?
    2. PHY 具有内部端接,因此在 RX 线路上不需要 33 欧姆电阻器。  

    如果引脚 1 未连接到 MAC 的时钟引脚、并且 MAC 正在将 25MHz 时钟驱动到 PHY 中、我建议将 PHY 置于 RMII 跟随器模式、并将 50MHz 时钟输入到 PHY 中、以使 RMII 正常工作。 否则、RMII 在当前设计中无法正常工作。  

    此致、
    j

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

    尊敬的 J:

    以下是您提出的问题的答案和一些详细信息。

    1.没有,我还没有尝试与 FPGA 的链路伙伴。

    2.是的,我可以接收数据包。

    我正在引脚 1 (RX_D3) 上从 PHY 接收 50MHz 时钟。 我正在使用该时钟生成以太网帧并将其发送到 TX [1:0]引脚(通过 TX_EN 发送)。 发送数据在此 50MHz 时钟的下降沿发生变化。

    我附加了 PHY registers.e2e.ti.com/.../6431.dp83822h_5F00_settings.xlsx 的新值

    我们的应用需要 RMII 100Mbps 全双工模式。 根据我之前与大家分享的原理图、您能否为我们建议寄存器设置应该是什么。

    -

    谢谢您、

    Pulkit

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

    Hi Pulkit、  

    对于 RMII 100M 全双工、我建议使用以下寄存器设置:
    0x0004 = 0000 0001 0000 0001

    这将仅在自动协商中广播 100M 全双工链路。 由于自动协商是一种非常强大的算法、因此我建议在自动协商中广播一种速度、而不是强制连接。  

    此致、
    j

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

    尊敬的 J:

    使用建议的设置来配置器件。 以下是详细信息:

    BMCR (0x0000)= X3100

    ANAR (0X0004)= X0101

    我将从 FPGA 向 PHY 发送一个以太网数据包示例。 数据包为:

    帧 (0 至 92)=

    (X“AA",“,x"AA"、x"AA",“,x"AA"“x"AA",、,x"AA"“x"AA",“,x"AA"、x"AA",“,x"AA"“x"AA",、,x"AA"“x"AA",“,</s>、 ““、““、X“AA",“,x"AA"、x"AA",“,x"AB"“x"AB",、,</s>“ “、
    X“FF",“,X"FF"、X"FF",“,X"FF"“X"FF",、,X"FF"“X"FF",“,X"FF"、X"FF",“,</s>“ 、““、X“FF",“,</s>、
    X“DE",“,X"AB"、X"AB",“,X"22"“X"22",、,X"33"“X"33",“,X"44"、X"44",“,</s>“ 、““、X“55",“,</s>、
    X“08",“,X"06"、X"06",“,</s>“ 、
    X“45",“,X"00"、X"00",“,</s>“ 、
    X“00",“,X"44"、X"44",“,</s>“ 、
    X“12",“,X"34"、X"34",“,</s>“ 、
    X“00",“,X"00"、X"00",“,</s>“ 、
    X“40",“,X"11"、X"11",“,</s>“ 、
    X“23",“,X"B4"、X"B4",“,</s>“ 、
    X“C0",“,X"A8"、X"A8",“,X"01"“X"01",、,X"64"“X"64",“,</s>、 ““、
    X“C0",“,X"A8"、X"A8",“,X"01"“X"01",、,X"0E"“X"0E",“,</s>、 ““、
    X“C0",“,X"00"、X"00",“,</s>“ 、
    X“C0",“,X"01"、X"01",“,</s>“ 、
    X“00",“,X"30"、X"30",“,</s>“ 、
    X“00",“,X"00"、X"00",“,</s>“ 、
    X“01",“,X"02"、X"02",“,X"03"“X"03",、,X"04"“X"04",“,X"05"、X"05",“,</s>“ 、““、X“06",“,X"07"、X"07",“,X"08"“X"08",、,X"09"“X"09",“,X"0A"、X"0A",“,</s>“ 、““、X“0B",“,X"0C"、X"0C",“,X"0D"“X"0D",、,X"0E"“X"0E",“,X"0F"、X"0F",“,</s>“ 、““、X“10",“,X"11"、X"11",“,X"12"“X"12",、,X"13"“X"13",“,X"14"、X"14",“,</s>“ 、““、X“15",“,X"16"、X"16",“,X"17"“X"17",、,X"18"“X"18",“,X"19"、X"19",“,</s>“ 、““、X“1A",“,X"1B"、X"1B",“,X"1C"“X"1C",、,</s>“ “、
    X“1D",“,X"1E"、X"1E",“,X"1F"“X"1F",、,X"20"“X"20",“,X"21"、X"21",“,</s>“ 、““、X“22",“,X"23"、X"23",“,X"24"“X"24",、,X"25"“X"25",“,X"26"、X"26",“,</s>“ 、““、X“27",“,</s>、
    X“9D",“,X"09"、X"09",“,X"82"“X"82",、,X"C5"“X"C5")“);、;</s>“ “

    tx_byte = frame (byte_index)

    我将发送传输对为:

    TXD (1)<= TX_BYTE (7);
    TXD (0)<= TX_BYTE (6);

    TXD (1)<= TX_BYTE (5);
    TXD (0)<= TX_BYTE (4);

    TXD (1)<= TX_BYTE (3);
    TXD (0)<= TX_BYTE (2);

    TXD (1)<= TX_BYTE (1);
    TXD (0)<= TX_BYTE (0);

    TxD[1:0]在 50MHz 时钟的下降沿变化(由 PHY 通过引脚 1 提供)

    有什么你看到的是错的吗? 请提供帮助。

    -

    谢谢、

    Pulkit

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

    Hi Pulkit、  

    发送数据时、TX_EN 是否变为高电平?
    您能否验证以下时序?



    此致、
    j

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

    尊敬的 J:

    是的、TX_EN 会变为高电平、满足该时序。 数据和使能在 XI 时钟的下降沿发生变化。

    尽管配置为 100Mbps、但 PHYSTS 值为 X0002、这表明其处于 10Mbps 模式并且未建立链路。

    我在这方面无能为力。 我的假设是、即使是帧也没有任何含义完整的数据、但具有正确的前导码和 SFD、另一端的 Wireshark 必须显示一些接收的值。

    -

    谢谢、

    Pulkit

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

    Hi Pulkit、  

    这很奇怪。  
    当链路未建立时、我不会信任速度/双工状态。  
    写入寄存器后、您是否重新启动了自动协商? (0x0000 的位 12 变为高电平)。

    应在没有 FPGA 支持的情况下建立链路。 PHY 本身将与链路伙伴建立链路。 您能否验证链路伙伴是否广播 100M 全双工?  

    此致、
    j

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

    尊敬的 J:

    写入后、我读回 BMCR、它显示 X3100、 表示已启用自动协商。

    电路板另一端连接的 PC 在 Wireshark 上不显示任何内容。

    如何 验证链路伙伴是否广播 100M 全双工?

    -

    谢谢、

    Pulkit

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

    Hi Pulkit、  

    如果是 Linux PC、则可以使用 ethtool 以显示以太网端口的整体状态。  
    它应该在“广告速度“行中说些什么

    此致、
    j

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

    尊敬的 J:

    我将检查并更新您。 这是一台 Windows PC。

    -

    谢谢、

    Pulkit

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

    Hi Pulkit、

    如果是这种情况、我认为它应该具有所有速度的默认自动协商、但请进行检查。  
    之前 DP83822 上公布了所有速度时、它是否在 100m 内建立链路?

    此致、
    j