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.

[参考译文] DP83867IS:SGMII 至 SGMII

Guru**** 2455560 points
Other Parts Discussed in Thread: DP83867ERGZ-S-EVM, DP83867IS, DP83869HM

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/852393/dp83867is-sgmii-to-sgmii

器件型号:DP83867IS
主题中讨论的其他器件:DP83867ERGZ-S-EVMDP83869DP83869HM

您好!

( 这是 https://e2e.ti.com/support/interface/f/138/p/764147/2824692的后续行动。 感谢您的第一个回答、抱歉您没有回答。)

我们拥有一个具有[Linux-SOM =>以太网=> DP83867IS => SGMII =>连接器]和第三方主机[连接器=> SGMII =>未知]的模块。 在生产和开发中、我们希望独立于第三方主机(原因有多种)。 我们的想法是使用第二个 DP83867并创建如下所示的桥接器:[Linux-SOM =>以太网=> DP83867IS => SGMII =>连接器][Connector => SGMII => DP83867ERGZ-S-EVM =>以太网=>电缆=>笔记本电脑/交换机/"house Ethernet"]。

以下是我们的模块中的寄存器(其中 SOM 和 DP83967之间的以太网应该处于活动状态、但显然不是活动状态)

寄存器0000为:1140
寄存器0001为:796D
寄存器0002为:2000
寄存器0003为:A231
寄存器0004为:01E1
寄存器0005为:C5E1
寄存器0006为:006F
寄存器0007为:2001
寄存器0008为:6801
寄存器0009为:0300

为了进行比较、连接到以太网交换机的 DP83867ERGZ-S-EVM 的寄存器:

寄存器0000为:1140
寄存器0001为:796D
寄存器0002为:2000
寄存器0003为:A231
寄存器0004为:0181
寄存器0005为:4DE1
寄存器0006为:0067
寄存器0007为:2001
寄存器0008为:0000
寄存器0009为:0300

问题:

  1. 链路状态指的是(以太网) PHY 链路、而不是 SGMII 链路、对吧?
  2. 通过 SGMII 连接两个 DP83867的方法是否仍然是正确的方法? 是否超过了 SO 和 SI 对?
  3. 与 EVM 相比、在模块的 DP 上调试什么是错误/不同的提示有什么?

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

    您好 Kajetan、

    是的、链路状态指(以太网) PHY 链路。

    此应用可能会导致问题、因为 SGMII 还具有自动协商过程、其中要求一个 PHY 充当从器件。 在当前情况下、两个 PHY 都充当主设备、无法解决此问题。

    您可以尝试以下操作:

    "可以禁用 SGMII 自动协商过程、并且可以强制 SGMII 速度模式达到 MDI 解析速度。 可以通过 MDI 自动协商或 MDI 手动速度模式启用 SGMII 强制速度模式。 可通过 CFG2寄存器(地址0x0014)中的 SGMII_AutoNeg_EN 寄存器位禁用 SGMII 自动协商。"

    解决此问题的另一种方法是在 RGMII-SGMII 桥接模式下使用 DP83869:

     [Linux-SOM =>以太网=> DP83867IS => SGMII =>连接器][连接器=> SGMII => DP83869HM 桥=> RGMII => DP83867ERGZ-S-EVM =>以太网=> RJ45 =>电缆=>笔记本电脑/交换机/"家用以太网"]

    谢谢、

    Vibhu

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

    大家好、Vibhu、

    感谢您的快速回答。

    可悲的是、清除 SGMII_AutoNeg_EN 位并不会立即导致预期的诱饵。 我将在星期一使用 Tho USB-MDIO 工具继续深入探讨这一点。

    为了节省成本、您能否查看我的 DP83867至 DP83867机柜?

    GND <-> GND

    SI_p <-> SO_p

    SI_n <-> SO_n

    SO_p <-> SI_p

    SO_n <-> SI_n

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

    您好 Kajetan、

    很抱歉、我之前的回答不清楚。

    除了禁用 SGMII_AutoNeg_EN、还需要在禁用 PHY 的自动协商后强制两个 PHY 进入特定模式。 为此、请使用寄存器0x0000的位13、12和8。

    祝您在调试过程中一切顺利。

    谢谢、

    Vibhu

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

    您好、Vibhu、

    谢谢、我认为我仍然缺少一些东西。 链路是以太网连接、芯片完全复位后、我的笔记本电脑上显示为1000MBit。 写入寄存器后、我松开 EtherNet/MDI 链路。 对双方都这样做也没有帮助。

    这是我的例程(调试读取、写入寄存器以禁用协商、不带寄存器的复位芯片、再次调试读取)

    寄存器0000读取 0x1140
    寄存器0001读取 0x796D
    寄存器0002读取 0x2000
    寄存器0003读取 0xA231
    寄存器0004读取 0x0181
    寄存器0005读取 0xCDE1
    寄存器0006读取 0x006F
    寄存器0007读取 0x2001
    寄存器0008读取 0x4006
    寄存器0009读取 0x0300
    寄存器000A 读取 0x7800
    寄存器000b 读取 0x0000
    寄存器000c 读取 0x0000
    寄存器000d 读取 0x0000
    寄存器000e 读取 0x0000
    寄存器000f 读取 0x3000
    寄存器0010读取 0x5848
    寄存器0011读取 0xBC02
    寄存器0012读取 0x0000
    寄存器0013读取 0x1C42
    寄存器0014读取 0x29C7

    寄存器0000读取 0x1140
    寄存器0000写入0x2300
    寄存器0000读取 0x2100
    寄存器0014读取 0x29C7
    寄存器0014写入0x2907
    寄存器0014读取 0x2907
    寄存器001f 写入0x4000 (无寄存器的复位芯片)

    寄存器0000读取 0x2100
    寄存器0001读取 0x7949
    寄存器0002读取 0x2000
    寄存器0003读取 0xA231
    寄存器0004读取 0x0181
    寄存器0005读取 0x0000
    寄存器0006读取 0x0064
    寄存器0007读取 0x2001
    寄存器0008读取 0x0000
    寄存器0009读取 0x0300
    寄存器000A 读取 0x0000
    寄存器000b 读取 0x0000
    寄存器000c 读取 0x0000
    寄存器000d 读取 0x0000
    寄存器000e 读取 0x0000
    寄存器000f 读取 0x3000
    寄存器0010读取 0x5848
    寄存器0011读取 0x6B02
    寄存器0012读取 0x0000
    寄存器0013读取 0x0440
    寄存器0014读取 0x2907


    寄存器0000:0x2100
           位[15] 0复位
           位[14] 0回送
           位[13] 1速度选择 LSB
           位[12] 0自协商使能
           位[11] 0掉电
           位[10] 隔离
           位[9] 0重启自协商
           位[8] 1双工模式
           位[7] 0冲突测试
           位[6] 0速度选择 MSB
           保留位[5] 0
           保留位[4] 0
           保留位[3] 0
           保留位[2] 0
           保留位[1] 0
           保留位[0] 0


    寄存器0001:0x7949
           位[15] 0 100Base-T4
           位[14] 1 100BASE-TX 全双工
           位[13] 1 100BASE-TX 半双工
           位[12] 1 10BASE-Te 全双工
           位[11] 1 10BASE-Te 半双工
           位[10] 0 100BASE-T2全双工
           位[9] 0 100BASE-T2半双工
           位[8] 1扩展状态
           保留位[7] 0
           位[6] 1 mF 前导码抑制
           位[5] 0自协商完成
           位[4] 0远程故障
           位[3] 1自协商能力
           位[2] 0链路状态
           位[1] 0 Jabber 检测
           位[0] 1扩展功能


    寄存器0014:0x2907
           保留位[15] 0
           保留位[14] 0
           位[13] 1 interrupt_polarity
           保留位[12] 0
           位[11] 1 SPED_OPT_Atteme_CNT
           位[10] 0 speed_opt_Atteme_CNT
           位[9] 0 SPED_OPT_EN
           位[8] 1 SPED_OPT_ENHANCED
           位[7] 0 SGMII_AutoNeg_EN
           位[6] 0 speed_opt_10M_EN
           保留位[5] 0
           保留位[4] 0
           保留位[3] 0
           保留位[2] 1
           保留位[1] 1
           保留位[0] 1

    有什么想法吗?

    此致、

    Kajetan

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

    您好 Katejan、

    当您读取链路状态时、请在配置 PHY 后等待10s。

    如果这不起作用、也尝试将0x0014设置为0010 1011 0100 0111 (0x2947)。

    谢谢、

    Vibhu