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.

[参考译文] DP83867E:SGMII Xilinx、工作问题

Guru**** 2847400 points

Other Parts Discussed in Thread: DP83867E

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1013481/dp83867e-sgmii-xilinx-working-problem

器件型号:DP83867E

您好!

 我们让 DP83867E 通过 SGMII (4线)与定制板中的 ZU4CG 通信、FPGA 的时钟125MHz 来自外部分配器。 我们通过 MDIO 接口读取寄存器、大多数看起来都正确、但有些(0x6E、0x6f)不正确、即使我们通过软件或硬件复位 DP83867E 也是如此。

我们的自举配置:

RX_CTRL - MODE3

LED_0 -模式2

地址设置- 0xA

寄存器:

ZynqMP>MII 读取0xA 0x0
1140.
ZynqMP>MII 读取0xA 0x1
796D
ZynqMP>MII 读取0xA 0x2
2000年
ZynqMP>MII 读取0xA 0x3
解答231.
ZynqMP>MII 读取0xA 0x4
01E1
ZynqMP>MII 读取0xA 0x5
C1E1
ZynqMP>MII 读取0xA 0x6
006 F
ZynqMP>MII 读取0xA 0x7
2001年
ZynqMP>MII 读取0xA 0x8
6801
ZynqMP>MII 读取0xA 0x9
0300
ZynqMP>MII 读取0xA 0xA
3C00
ZynqMP>MII 读取0xA 0xb
0000
ZynqMP>MII 读取0xA 0xc
0000
ZynqMP>MII 读取0xA 0xd
401F
ZynqMP>MII 读取0xA 0xe
0000
ZynqMP>MII 读取0xA 0xF
3000
ZynqMP>MII 读取0xA 0x10
5840
ZynqMP>MII 读取0xA 0x11
BE02
ZynqMP>MII 读取0xA 0x12
0000
ZynqMP>MII 读取0xA 0x13
1C42.
ZynqMP>MII 读取0xA 0x14
29C7
ZynqMP>MII 读取0xA 0x15
0000
ZynqMP>MII 读取0xA 0x16
0000
ZynqMP>MII 读取0xA 0x17
0040.
ZynqMP>MII 读取0xA 0x18
6150
ZynqMP>MII 读取0xA 0x19
4444.
ZynqMP>MII 读取0xA 0x1A
0002.
ZynqMP>MII 读取0xA 0x1b
0000
ZynqMP>MII 读取0xA 0x1c
0000
ZynqMP>MII 读取0xA 0x1d
0000
ZynqMP>MII 读取0xA 0x1E
0002.
ZynqMP>MII 读取0xA 0x1f
0000
ZynqMP>MII 读取0xA 0x20
FFFF
ZynqMP>MII 读取0xA 0x6e
FFFF
ZynqMP>MII 读取0xA 0x6f
FFFF

这些寄存器有什么问题?

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

    您好、Krzysztof、

    扩展寄存器看起来是唯一存在读取问题的寄存器。 您能否查看是否使用了访问扩展寄存器的正确方法? 更多信息、请参阅数据表的第8.4.2.1节。

    您还能在寄存器转储中包含寄存器0x37吗? 请注意、这也是一个扩展寄存器。

    谢谢、

    卢卡斯

    此通信和任何相关通信中的所有信息均按“原样”和“不含任何瑕疵”提供,并受 TI 的重要声明(http://www.ti.com/corp/docs/legal/important-notice.shtml)约束。

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

    谢谢 Lucas、

    感谢您的建议、我们可以访问扩展寄存器。 同时、我们通过从 D2和 D3线移除自举电阻器将 phyaddress 更改为0x01。 在 BareMetal 应用程序中、我们无法通过 DHCP、但自动协商已完成、ping 请求不起作用。 您有什么建议可以帮助您吗?  

    我们还尝试使用 u-boot、但没有效果。 在 RX_CTRL 上、我们没有设置电阻器、因此当我们读取 0x0031寄存器时、我们注意到 INT_TST_MODE_1为"1"(寄存器0x0031= 0x10B0)、因此我们手动清除了该位。

    Zynq GEM:ff0e0000、MDIO 总线 ff0e0000、phyaddr -1、接口 SGMII

    警告:以太网@ff0e0000 (eth0)使用随机 MAC 地址- 46:6c:75:B5:A5:23
    eth0:以太网@ff0e0000
    按任意键停止自动引导:0
    ZynqMP>MII 读取0x1 0x0
    1140.
    ZynqMP>MII 读取0x1 0x1
    796D
    ZynqMP>MII 读取0x1 0x2
    2000年
    ZynqMP>MII 读取0x1 0x3
    解答231.
    ZynqMP>MII 读取0x1 0x4
    01E1
    ZynqMP>MII 读取0x1 0x5
    C1E1
    ZynqMP>MII 读取0x1 0x6
    006 F
    ZynqMP>MII 读取0x1 0x7
    2001年
    ZynqMP>MII 读取0x1 0x8
    48A7
    ZynqMP>MII 读取0x1 0x9
    0300
    ZynqMP>MII 读取0x1 0xA
    3C00
    ZynqMP>MII 读取0x1 0xb
    0000
    ZynqMP>MII 读取0x1 0xc
    0000
    ZynqMP>MII 读取0x1 0xd
    401F
    ZynqMP>MII 读取0x1 0xe
    0000
    ZynqMP>MII 读取0x1 0xF
    3000
    ZynqMP>MII 读取0x1 0x10
    5840
    ZynqMP>MII 读取0x1 0x11
    BC02
    ZynqMP>MII 读取0x1 0x12
    0000
    ZynqMP>MII 读取0x1 0x13
    1C40.
    ZynqMP>MII 读取0x1 0x14
    29C7
    ZynqMP>MII 读取0x1 0x15
    0000
    ZynqMP>MII 读取0x1 0x16
    0000
    ZynqMP>MII 读取0x1 0x17
    0040.
    ZynqMP>MII 读取0x1 0x18
    6150
    ZynqMP>MII 读取0x1 0x19
    4444.
    ZynqMP>MII 读取0x1 0x1A
    0002.
    ZynqMP>MII 读取0x1 0x1b
    0000
    ZynqMP>MII 读取0x1 0x1c
    0000
    ZynqMP>MII 读取0x1 0x1d
    0000
    ZynqMP>MII 读取0x1 0x1E
    0002.
    ZynqMP>MII 读取0x1 0x1f
    0000
    ZynqMP>MII 写入0x1 0xD 0x001F
    ZynqMP>MII 写入0x1 0xE 0x006E
    ZynqMP>MII 写入0x1 0xD 0x401F
    ZynqMP>MII 读取0x1 0xE
    0801
    ZynqMP>MII 写入0x1 0xD 0x001F
    ZynqMP>MII 写入0x1 0xE 0x006F
    ZynqMP>MII 写入0x1 0xD 0x401F
    ZynqMP>MII 读取0x1 0xE
    0000
    ZynqMP>MII 写入0x1 0xD 0x001F
    ZynqMP>MII 写入0x1 0xE 0x0037
    ZynqMP>MII 写入0x1 0xD 0x401F
    ZynqMP>MII 读取0x1 0xE
    0000
    ZynqMP>MII 写入0x1 0xD 0x001F
    ZynqMP>MII 写入0x1 0xE 0x0031
    ZynqMP>MII 写入0x1 0xD 0x401F
    ZynqMP>MII 读取0x1 0xE
    0060.
    ZynqMP>

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

    您好 、Krzysztof、

    根据寄存器0x37的值、看起来 SGMII 的自协商没有完成。 您能否查看 DP83867故障排除指南第2.10节并按照步骤查看是否能够建立 SGMII 链路?

    https://www.ti.com/lit/an/snla246a/snla246a.pdf?ts=1624988638418&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FDP83867E

    您可能需要调整寄存器0x31中的 SGMII 自动协商计时器。

    谢谢、

    卢卡斯

    此通信和任何相关通信中的所有信息均按“原样”和“不含任何瑕疵”提供,并受 TI 的重要声明(http://www.ti.com/corp/docs/legal/important-notice.shtml)约束。

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

    谢谢 Lucas、

    我们已查看此列表、我们的硬件看起来正常。 此外、我们尝试更改 寄存器0x31中的自动协商计时器、但没有效果。 我们还读取了该寄存器:

    ZynqMP>MII 写入0x1 0xD 0x001F
    ZynqMP>MII 写入0x1 0xE 0x0135
    ZynqMP>MII 写入0x1 0xD 0x401F
    ZynqMP>MII 读取0x1 0xE
    0000

    你还有其他建议吗?

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

    您好、Krzysztof、

    您能否提供原理图供审核?

    谢谢、

    卢卡斯

    此通信和任何相关通信中的所有信息均按“原样”和“不含任何瑕疵”提供,并受 TI 的重要声明(http://www.ti.com/corp/docs/legal/important-notice.shtml)约束。

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

    我们的原理图如上所示。 我们没有 RX_CTRL 引脚设置、但我们通过 MII 接口手动清除它。

    GTR 组的时钟为125MHz。

    感谢您的任何建议。

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

    此外、我们在 TX 线上具有反极性。 我们写入寄存器0x01D5: 0xF502以更改 DP 中的极性。

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

    您好、Krzysztof、

    我们将查看您的原理图、并在星期二之前返回给您。

    谢谢、

    卢卡斯

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

    您好 Lucas、

    我们实现了通信。 它是 TX 线上的极性交换(Xilinx 的 RX)。 我们在 Xilinx 中更改了它的寄存器、但在 DP 上没有更改。

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

    假设 DP83867具有良好的自举配置且无极性交换、则无需任何代码调制即可工作。