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 模式下,DP83869在100M 时不工作

Guru**** 2410940 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1080094/dp83869hm-dp83869-in-rgmii-sgmii-mode-does-not-work-at-100m

部件号:DP83869HM
“线程”中讨论的其它部件:VSCDP83869TEST
我们的项目在 RGMII-SGMII 模式下使用 DP83869芯片。 方框图如图所示。 
RGMII 接口连接到 LS1027 (NXP)处理器的 MAC。
SGMII 接口连接到 VSC8552芯片(PHY 微芯片)。 我们无法让 DP83869在自动旋转模式下工作。
我们采纳了(https://e2e.ti.com/support/interface-group/interface/f/interface-forum/911770/dp83869hm-bridge-rgmii-to-sgmii-mac-to-mac-configuration/3385960?tisearch=e2e-sitesearch&keymatch=DP83869%2520RGMII%2520to%2520SGMII#3385960)的建议
我们已将 REG(0xC00)= 0x0140写入寄存器。 之后,上述方框图开始在1G 模式下工作。 以1G 通过的吞吐量测试,无注释。 现在我们需要在100m 模式下进行类似的测试。 为此,请写入寄存器 REG (0xC00)= 0x2100。
但是,以太网数据包无法通过。 RGMII DP83869接口引脚上存在所有必要的信号。 活动在 RX_D[0:3],RX_CTRL/RX_DV 线路上可见。 RX_CLK 引脚上有一个25MHz 时钟信号。
但是,ethtool 实用程序(在 LS1027处理器上运行)显示碎片帧到达 MAC 接口。全日空 RGMII_DLL_CTRL 寄存器(地址= 0x86)的 DLL_RX_DELAY _CTRL_SL 和 DLL_TX_DELAY _CTRL_SL 字段的操作不会改变这种情况。
DP83869配置
是否正确?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    如果网桥以1G 速度工作,则100Mbps 不会出现任何问题。 似乎是启用而不是修改 RGMII 时钟时间的配置。 您是否尝试过扩展 SGMII 自动协商0x31[6:5]?

    顺祝商祺!

    杰罗姆

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

    你好,杰罗姆!

    我们更改了寄存器位0x31[6:5]=11,但这并没有导致所需的结果。 已执行“重新启动1000BASE-X/SGMII 自动协商过程0xc00[9]=1”,但这也没有帮助。

    巴西

    安德烈

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

    安德烈,您好!

    您能否验证 VSC PHY 的运行速度是否也为100Mbps? 如果 VSC PHY 为1G,而网桥为100Mbps,这可能会解释为什么您看到数据包碎片。 您是否还可以验证 DP83869 RX_CLK 是否正在从1G 设置和100Mbps 设置中更改?

    顺祝商祺!

    杰罗姆

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

    你好,杰罗姆!

    由于我们使用的是非自动协商模式,因此我们通过向相应的寄存器写入数据来更改网桥设置。 对于1G 寄存器0xC00=0x0140,对于100M 0xC00=0x2100。 据此,RX_CLK 会发生变化。 在1G RX_CLK = 125MHz 时,100M RX_CLK = 25MHz 时。 PHY 以100M 模式运行。 我通过在连接到100m 端口的计算机上设置接口速度来实现这一目标。 在100米处使用示波器在 RGMII 接口上进行观察时,未发现任何伪影。 波形比较好。 RX_DV 线路上也没有非常短的帧。

    巴西

    阿布迪雷

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

    安德烈,您好!

    要确认,您有一个独立的1G 端口还是100Mbps 端口? 是否可以通过 VSC PHY 上的寄存器确认其在各自设置期间以100Mbps 和1G 的速度运行? 另外,为了确认,DP83869和 VSC PHY 之间是否有100nF 电容器?

    您可以尝试通过一些测试来隔离潜在的问题区域。 请告诉我结果。

    您是否还可以尝试进行“仅传输数据包”测试,其中 LS 通过 DP83869和 VSC PHY 将数据发送到链接伙伴和相应的 MAC?  

    您可以尝试的另一项测试是将 DP83869放入 MII 环回(注册号0x0[14])。 LS 将数据包发送出去,它将在 DP83869 MII 处循环回路并转发回 LS。 LS 可以对任何问题进行比较。

    顺祝商祺!

    杰罗姆

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

    你好,杰罗姆!

    下午好! 我将向大家通报我们今天取得的中期成果。 我们成功地实现了图中所示的系统在自动协商模式下工作。 通过分析 VSC8552 PHY 寄存器,我们发现在 SGMII 接口上禁用了自动协商。 在打开并写入桥接寄存器 DP83869 0xC00 = 0x1140后,来自 MAC LS1027<->DP83869<->VSC8552的系统开始在自动协商模式下工作。 通过电缆直接连接到我们的端口的计算机端口10M,100M,1G 的速度变化,我们还看到 RGMII 接口的速度变化。 以太网帧以10M 和1G 的速度顺利通过。 100米时,以太网帧不会通过,而且碎片帧也可见。

    我将在早上测试您的循环想法,并与您联系。

    巴西

    安德烈

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

    你好,杰罗姆!

    无法实施您关于安装环回的建议。

    通过设置 Reg 0x0000[14]位,无法启用回送。 通过设置 Reg 0xC00[14]位,我们设法在 MAC 接口上启用环回。 在这种情况下,注册器0xC00 = 0x5140中记录的值。 接口上的速度设置为100米。 已在 LS1027上向接口发出 ping 命令。 在 RGMII 接口上,TG_CTRL/TX_EN 和 RX_CTRL/RX_DV 信号被监控。 它们是同步的,并通过几个周期相互相对移动。 这表示 DP83869 MAC 级别的环路已打开。 接下来,我们使用 ethtool 实用程序控制和接口的统计信息。 没有错误。 已发送和已接收数据包的计数器相同。 所有收到的数据包都有效。 该实验证实,LS1027和 DP83869的 MAC 层之间没有问题。

    我们接下来应该从哪里看?

    巴西

    安德烈

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

    您好,

    杰罗姆 目前正在度假。 请期待下周的回复。 感谢您的理解。

    顺祝商祺!

    大卫

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

    安德烈,您好!

    通过此测试,DP83869似乎不存在问题。 我建议查看其他设备(VSC 和 LS)并联系其各自的支持人员以进一步隔离问题。  

    顺祝商祺!

    杰罗姆

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

    你好,杰罗姆!

    我们已经解决了这个问题。

    现在,我们的系统在自动协商模式下工作,速度为10M,100M,1G。 为此,我们需要启用 PHY VSC8552中的选项-“如果10/100数据包的前两个半字节都不是0x5,则必须在输出前预固定一个0x55字节。 如果接下来的两个半字节也不是0x5,则必须将0x55的附加字节预先固定到输出中。”

    感谢你的帮助。

    巴西

    安德烈