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.

[参考译文] DP83826E:成功完成自动协商后链路丢失

Guru**** 2522770 points
Other Parts Discussed in Thread: DP83826E

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1013222/dp83826e-link-loss-after-successful-autonegotiation-completed

器件型号:DP83826E

我 将 DP83826E 与 Linux SDK ti-processor-sdk-linux-rt-am335x-evm-07.03.00.005搭配使用。

一旦我用一根直电缆将电路板连接到我的笔记本电脑(因此我希望该器件在交叉电缆模式下工作)、我就会看到链路不断向上和向下。

我添加了一些调试信息以打印 PHYSTS 寄存器。

显然、器件正在尝试从10Base-T 半双工和100Base-T 全双工开始的每种工作模式。

即使 PHYSTS 寄存器检测到信号和解扰器锁定(0x4F15)、链路也会在状态寄存器的下一次轮询时断开。

应配置哪些寄存器使 PHY 以交叉电缆模式工作? (如果我将其连接到交换机、它就能正常工作!)

[54.483271] 000:TI DP83826NC 4a33240.MDIO:01:BMSR [0x01]= 0x786D
[54.483518] 000:TI DP83826NC 4a33240.MDIO:01:PHYSTS [0x10]= 0x4115
[54.483801] 000:prueth pruss_eth eth1:链路已建立- 100Mbps/全-流量控制已关闭
[54.483822] 000:TI DP83826NC 4a33240.MDIO:01:PHY 状态更改 NOLINK ->正在运行
[54.483861] 000:IPv6:ADDRCONF (NETDEV_CHANGE):ETH1:链路就绪
[55.523375] 000:TI DP83826NC 4a332400.MDIO:01:BMSR [0x01]= 0x7849
[55.52361] 000:TI DP83826NC 4a33240.MDIO:01:PHYSTS [0x10]= 0x0912
[55.52361] 000:prueth pruss_eth eth1:链路断开
[55.52362] 000:TI DP83826NC 4a332400.MDIO:01:PHY 状态更改正在运行-> NOLINK
[56.563312] 000:TI DP83826NC 4a33240.MDIO:01:BMSR [0x01]= 0x786D
[56.563563] 000:TI DP83826NC 4a33240.MDIO:01:PHYSTS [0x10]= 0x0F15
[56.563845] 000:prueth pruss_eth eth1:链路已打开- 100Mbps/全-流控制已关闭
[56.563866] 000:TI DP83826NC 4a332400.MDIO:01:PHY 状态更改 NOLINK ->正在运行
[57.603273] 000:TI DP83826NC 4a33240.MDIO:01:BMSR [0x01]= 0x7849
[57.603517] 000:TI DP83826NC 4a33240.MDIO:01:PHYSTS [0x10]= 0x4912
[57.603560] 000:prueth pruss_eth eth1:链路断开
[57.603570] 000:TI DP83826NC 4a33240.MDIO:01:PHY 状态更改正在运行-> NOLINK
[58.643276] 000:TI DP83826NC 4a33240.MDIO:01:BMSR [0x01]= 0x7849
[58.643523] 000:TI DP83826NC 4a33240.MDIO:01:PHYSTS [0x10]= 0x0902
[59.68327] 000:TI DP83826NC 4a33240.MDIO:01:BMSR [0x01]= 0x786D
[59.683518] 000:TI DP83826NC 4a33240.MDIO:01:PHYSTS [0x10]= 0x4F15
[59.683799] 000:prueth pruss_eth eth1:链路已打开- 100Mbps/全-流量控制已关闭
[59.683821] 000:TI DP83826NC 4a33240.MDIO:01:PHY 状态更改 NOLINK ->正在运行
[60.723388] 000:TI DP83826NC 4a332400.MDIO:01:BMSR [0x01]= 0x7849
[60.723634] 000:TI DP83826NC 4a332400.MDIO:01:PHYSTS [0x10]= 0x0912
[60.723674] 000:prueth pruss_eth eth1:链路断开
[60.72366] 000:TI DP83826NC 4a332400.MDIO:01:PHY 状态更改正在运行-> NOLINK
[61.7663269] 000:TI DP83826NC 4a33240.MDIO:01:BMSR [0x01]= 0x786D
[61.763514] 000:TI DP83826NC 4a33240.MDIO:01:PHYSTS [0x10]= 0x4F15
[61.763796] 000:prueth pruss_eth eth1:链路已打开- 100Mbps/全-流量控制已关闭
[61.763818] 000:TI DP83826NC 4a33240.MDIO:01:PHY 状态更改 NOLINK ->正在运行
[62.803317] 000:TI DP83826NC 4a33240.MDIO:01:BMSR [0x01]= 0x7849
[62.803585] 000:TI DP83826NC 4a33240.MDIO:01:PHYSTS [0x10]= 0x4912
[62.803626] 000:prueth pruss_eth eth1:链路断开
[62.803637] 000:TI DP83826NC 4a33240.MDIO:01:PHY 状态更改正在运行-> NOLINK
[63.8469] 000:TI DP83826NC 4a33240.MDIO:01:BMSR [0x01]= 0x7849
[63.843515] 000:TI DP83826NC 4a33240.MDIO:01:PHYSTS [0x10]= 0x0902
[64.883273] 000:TI DP83826NC 4a33240.MDIO:01:BMSR [0x01]= 0x7849
[64.883520] 000:TI DP83826NC 4a33240.MDIO:01:PHYSTS [0x10]= 0x0912

在连接到以太网交换机时、我添加寄存器值、直至断开电缆:

[61.683376] 000:TI DP83826NC 4a332400.MDIO:01:BMSR [0x01]= 0x786D
[61.683623] 000:TI DP83826NC 4a33240.MDIO:01:PHYSTS [0x10]= 0x5115
[61.683908] 000:prueth pruss_eth eth1:链路向上- 100Mbps/全-流量控制关闭
[61.683930] 000:TI DP83826NC 4a33240.MDIO:01:PHY 状态更改 NOLINK ->正在运行
[61.683971] 000:IPv6:ADDRCONF (NETDEV_CHANGE):ETH1:链路就绪
[62.723894] 000:TI DP83826NC 4a33240.MDIO:01:BMSR [0x01]= 0x786D
[62.724149] 000:TI DP83826NC 4a33240.MDIO:01:PHYSTS [0x10]= 0x5715
[63.763383] 000:TI DP83826NC 4a33240.MDIO:01:BMSR [0x01]= 0x786D
[63.763628] 000:TI DP83826NC 4a33240.MDIO:01:PHYSTS [0x10]= 0x5715

………………

[76.243409] 000:TI DP83826NC 4a33240.MDIO:01:BMSR [0x01]= 0x7849
[76.24368] 000:TI DP83826NC 4a33240.MDIO:01:PHYSTS [0x10]= 0x5912
[76.243722] 000:prueth pruss_eth eth1:链路断开
[76.243732] 000:TI DP83826NC 4a33240.MDIO:01:PHY 状态更改正在运行-> NOLINK
[77.283380] 000:TI DP83826NC 4a33240.MDIO:01:BMSR [0x01]= 0x7849
[77.283629] 000:TI DP83826NC 4a33240.MDIO:01:PHYSTS [0x10]= 0x5902

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

    尊敬的 Andrea:

    您能否提供原理图供审核? 您可以尝试通过寄存器0x0强制设置速度 MDI/MDIX。 在强制使用 MDI/MDIX 解决方案来提高速度时、是否仍然出现此问题?

    谢谢、

    卢卡斯

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

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

    这是我们的架构。

    如果我将速度强制为100 Mbps 和全双工(0x2100上的寄存器0x0)、则当电缆连接到我的 PC 时、我也可以启动链路。

    如果在基本模式下支持直通/交叉电缆检测、我们也在徘徊

    展望未来

      Andrea

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

    尊敬的 Andrea:

    是的、器件应完全支持自动 MDIX 功能。 电缆长度是多少?

    是否启用了快速链路功能(寄存器0xB)? 如果是、禁用快速链路丢弃时是否会发生此链路中断?

    我们将审查您的原理图、并在星期五之前提供反馈。

    谢谢、

    卢卡斯

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

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

    您好 Lucas、

      以下是在链路启动但未进行任何传输(即使我正在 ping)的情况下的寄存器状态。

    因此未启用快速链路中断。

    电缆长度为2 m。

    [173.927654] 000:TI DP83826NC 4a332400.MDIO:01:BMCR [0x00]= 0x2100
    [173.927921] 000:TI DP83826NC 4a33240.MDIO:01:CR1 [0x09]= 0x0000
    [173.928166] 000:TI DP83826NC 4a33240.MDIO:01:CR2 [0x0A]= 0x0100
    [173.928410] 000:TI DP83826NC 4a33240.MDIO:01:CR3 [0x0B]= 0x0000
    [173.928655] 000:TI DP83826NC 4a33240.MDIO:01:BMSR [0x01]= 0x784D
    [173.928898] 000:TI DP83826NC 4a33240.MDIO:01:PHYSTS [0x10]= 0x0605

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

    尊敬的 Andrea:

    我们将研究您的问题、并将在星期五之前回复您。

    谢谢、

    卢卡斯

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

    您好 Lucas、

      我还添加了 RJ45连接器原理图的一部分。

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

    尊敬的 Andrea:

    我们也将查看这一信息、并尽快返回给您。

    谢谢、

    卢卡斯

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

    尊敬的 Andrea:

    我没看到原理图有什么大问题。 您能否在工作和非工作情况下确认寄存器0x467和0x468的值?

    您还能为寄存器0x11、0x18、0x19、0x302、0x303提供值、 0x304、0x305、0x306和0x460?

    谢谢、

    卢卡斯

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

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

    您好 Lucas、

      我们已经能够修复自动协商问题、无论是使用直电缆(交换机连接)还是交叉链路(PC 连接)。 这可能是由于 RJ45连接器焊接不好、因为我们在开始时看不到 TX 脉冲。
    稍后、我们还发现引脚28上的上拉电阻器在电路的另一部分强制器件进入 RMII 模式、而不是 PRU 预期的 MII 模式(我们使用的是50MHz CLK 而不是25MHz)。
    我们移除了上拉电阻、并添加了下拉电阻以强制 MII 模式。

    它现在可以工作了。

    也感谢您修改了我们的架构。

      Andrea