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.

[参考译文] DP83869HM:RGMII-SGMII 桥模式自动协商不工作

Guru**** 2448780 points
Other Parts Discussed in Thread: DP83869HM

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1178555/dp83869hm-rgmii-sgmii-bridge-mode-autonegotiation-not-working

器件型号:DP83869HM

我们使用 DP83869HM 在 RGMII 和 SGMII 之间建立桥接。  

 DP83869HM 的 RGMII 侧 连接到 Xilinx Zynq-7000集成 MAC。 SGMII 端通过背板连接到包含 VSC8564 的电路板(将 SGMII 转换为1000BASE-T)。

这种排列的两个实例被执行(见下文)、但一个实例当前正在调试中(另一个实例在下面灰显、但其相关性在后面给出)。

首先初始化 VSC8564、然后是 DP83869HM。 DP83869HM 通过自举配置配置为所需模式。

DP83869HM 的寄存器访问序列如下所示。 从 BMCR 开始的行是最相关寄存器的打印输出。

寄存 器访问用一些文本进行描述、然后是什么是访问、例如 PHY_TI_CFG4 (ermw[0x0031]&= 0xFF7F)是对寄存器0x31的扩展读取-修改-写入访问、使用0xFF7F 对值进行与修改以修改读取的值。

BMCR[0x0000]=0x0140 BMRS[0x0001]=0x794D SGMIIA否定 状态[0x0037]=0x0003 OPTMODEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE[0x0043 FiberControl[0x0C00]=0x1140 FiberStatus[0x0C01]=0x617D
SW 重新启动(RM瓦[0x001F]|= 0x4000)
MII 复位(RMW[0x0000]|= 0x8000)
延迟
设置 PHY_CTRL (w[0x0010] 0x5048)
设置 RGMIIDCTL (EW[0x0086] 0x0077)
设置 RGMIICTL (EW[0x0032] 0x00D0)
RX_CTRL 不是自举模式3或4时、针对不稳定链路的软件权变措施
PHY_TI_CFG4 (ermw[0x0031]&= 0xFF7F)
Aneg Adv (RM瓦[0x0031]|= 0x0DE0)
Aneg Adv (RM瓦[0x0009]|= 0x0300)
负极触发(RM瓦[0x0000]|= 0x1200)
正在等待 PHY 完成自动协商。
BMCR[0x0000]=0x1140 BMRS[0x0001]=0x794D SGMIIA否定 状态[0x0037]=0x0003 OPTMODEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE[0x0043 FiberControl[0x0C00]=0x1140 FiberStatus[0x0C01]=0x6179
BMCR[0x0000]=0x1140 BSRM[0x0001]=0x794D SGMIIAegStatus[0x0037]=0x0001 OPTMODEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE[0x0043 FiberControl[0x0C00]=0x1140 FiberStatus[0x0C01]=0x617D

最后两个寄存器状态输出相距一秒、最后一个寄存器状态重复读取相同的时间长达30秒、没有变化。

可以看出链路状态报告为链路启动(BMSR 位2)、自动协商过程报告为未完成(BMSR 位5)、但未指示远程故障(BMSR 位4)。

但是、光纤状态寄存      器也会报告链路打开(FiberStatus 位2)、但自动协商过程会报告为完成(FiberStatus 位5)、但会指示远程故障(FiberStatus 位4)。

不清楚哪一个与 RGMII-SGMII 桥接模式相关、但两者都表示存在问题。 感谢您在解决此问题方面提供的帮助。

背景:电路的背板/VSC8564/PC 部件已在将 SGMII 环回插入背板的情况下进行测试(如下所示)。 SGMII 链路成功自动协商到1G、两台 PC 可以彼此 ping 通。 因此、假设 SGMII 链路在 PCB 布线阻抗等方面正常、并且 VSC8564设置正确。

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

    抱歉、第二张图片不正确、紫色盒装设备读数应为 VSC8564

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

    您好、Graham、

    远程故障位仅适用于光纤模式、而不适用于 RGMII-SGMII 桥接模式。

    您是否发现数据传输存在一些问题?

    --
    此致、
    Gokul。

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

    你(们)好,Gokul

    感谢您的回答。  

    您状态的远程故障与 RGMII-SGMII 桥接模式无关-这是否适用于 两个寄存器(BMSR 和 Fibre Status)中的标志?

    BMSR 中报告链路自动协商未完成、因此我认为链路未完全启动。

    如果我忽略该标志并尝试通过接口芯片发送消息、在 PC 和 Zynq-7000 ARM 处理器之间执行 ping 操作、则不会进行通信。

    我对这种类型的以太网基础设施没有太多的经验、因此我请求帮助。 我已经概述了为 DP83869HM  芯片的初始化而执行的寄存器访问(并且它具有针对我所需模式的适当自举配置) 但我不知道在 初始化过程中是做了什么错误、还是在初始化/自动协商过程中、DP83869HM 芯片和 VSC8564芯片之间的事件序列发生了什么。

    此致

    Graham

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

    您好、Graham、

    您也可以忽略0x0001中的远程故障位。 您可以忽略0x0001中的 AutoNeg 完成。

    读取的状态寄存器显示器件已全部链接。

    您能否检查是否满足 Zync-7000和 DP83869HM 之间交互的时序。  您可以在 https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1096129/rgmii-timing---align-and-shift-mode 中以大纲形式查看 RGMII 的对齐和移位模式

    --
    此致、
    Gokul。

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

    你(们)好,Gokul

    我正确设置了 RGMII 时序。  

    正是状态标志欺骗了我… 如果我使用 BMSR 的 Link Up 位(位2)作为 SGMII 链路正常的指示器、并忽略 AutoNeg Complete 标志(BMSR 位5)、同时忽略声明的速度(我从 PHY_STATUS 寄存器0x11位15&14中读取的速度为10Mbps)、 然后、链路工作、我可以以1Gbps 的速率在 ARM 处理器和 PC 之间进行通信。

    我只需检查 BMSR 的 Link Up 位即可将链接声明为良好并正常工作、还是需要检查其他位即可?

    谢谢

    Graham

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

    您好、Graham、

    0x0C01中的链路建立和 Autoneg 完整位应足以声明为良好。

    您能不能与 Microchip 联系、看看他们是否能从 PHY 中找到什么?

    --
    此致、
    Gokul。

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

    您好、Graham、

    如果我们没有从 Microchip 获取任何信息、我们仍然可以尝试一些环回以了解系统中的故障点。

    如果您认为我们可以运行一些环回测试、请告诉我。

    --
    此致、
    Gokul。

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

    你(们)好,Gokul

    很抱歉、回复很慢、但我在圣诞节期间休息了很长时间、在我返回工作岗位时需要注意另一件事。

    VSC8564和 TI DP83869HM 芯 片(通过 SGMII)之间的通信正在正常工作...在与您阐明 RGMII-SGMII 桥接模式的相关状态位后、芯片之间的自动协商和链路明显失败是由于我们的软件无意中检查了错误的状态位。

    感谢你的帮助

    Graham