ZHCAEO6 November   2024 DP83867CS , DP83867E , DP83867IS , DP83869HM , DP83TC811S-Q1 , DP83TC812S-Q1 , DP83TC813S-Q1 , DP83TC814S-Q1 , DP83TC817S-Q1 , DP83TC818S-Q1 , DP83TG720S-Q1 , DP83TG721S-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1MAC 接口疑难解答 - SGMII
    1. 1.1 验证自举配置
      1. 1.1.1 DP83TG720S-Q1 的 SGMII 自举配置
    2. 1.2 读取并检查寄存器值
    3. 1.3 自动协商
    4. 1.4 吞吐量和环回测试
      1. 1.4.1 双向吞吐量测试
      2. 1.4.2 RX 和 TX 吞吐量测试
      3. 1.4.3 使用固定数量的数据包进行 RX 和 TX 吞吐量测试
      4. 1.4.4 环回测试
        1. 1.4.4.1 MII 环回
        2. 1.4.4.2 反向环回
    5. 1.5 检查时钟信号
    6. 1.6 测量 SGMII 眼图
      1. 1.6.1 SGMII 眼图模板要求
    7. 1.7 SGMII 布局
  5. 2总结
  6. 3参考资料

读取并检查寄存器值

读取寄存器并验证 SGMII 链路是否接通,SGMII 自动协商是否完成。请注意,某些寄存器的初始值可能会因 strap 配置选项而异。

下面展示了 DP83TG720-Q1 和 DP83869 的寄存器转储示例。这些是 MDI 链路建立、PHY 处于 SGMII 模式、SGMII 链路建立时的可能值。

表 1-3 DP83TG720S-Q1 汽车 PHY - SGMII 寄存器值
寄存器地址 寄存器名称 示例值 说明
0x0000 BMCR 0x0140 位 [14] 可用于配置 MII 环回。
0x0001 BMSR 0x0145 位 [2] 指示 MDI 链路已建立。
0x0011 MII_REG_11 0x000B 位 [11] 可置为有效以启动 SGMII 软复位。
0x0428 A2D_REG_40 0x6002 位 [14:13] 指示输出电压摆幅为 720mV。可切换位以增大 SGMII 输出摆幅。
0x045D SOR_VECTOR_1 0x0000 位 [13] 表示 SGMII 已启用,位 [8:6] 表示 PHY 已配置进入的 MAC 模式。
0x0608 SGMII_CTRL_1 0x027B 位 [0] 表示 SGMII 自动协商被启用,位 [2:1] 表示自协商计时器为 2us。可以切换这些位以调整计时器。
0x060A SGMII_STATUS 0x0d46 位 [11] 表示 SGMII 链路已建立,位 [10] 表示 SGMII 自协商完成。
0x060C SGMII_CTRL_2 0x001B 当没有 SGMII 链路时,位 [6] 可置为有效以重新启动 SGMII 自动协商。位 [5:3] 表示 TX,而位 [2:0] 表示 RX FIFO 半满阈值。
0x060D SGMII_FIFO_STATUS 0x0000 位 [0] 指示数据包下溢。位 [1] 指示数据包溢出。
0x0639 PKT_STAT_1 0x0000 寄存器值指示 TX 数据包计数器。
0x063A PKT_STAT_2 0x0000 寄存器值指示 TX 数据包计数器。
0x063B PKT_STAT_3 0x0000 TX 数据包错误计数器。
0x063C PKT_STAT_4 0x0000 寄存器值指示 RX 数据包计数器。
0x063D PKT_STAT_5 0x0000 寄存器值指示 RX 数据包计数器。
0x063E PKT_STAT_6

0x0000

RX 数据包错误计数器。
注: 按顺序读取寄存器 0x0639、0x063A、0x063B 时,这些寄存器被清零。同样,按顺序读取寄存器 0x063C、0x063D、0x063E 时,这些寄存器也被清零。
表 1-4 DP83869HM 工业 PHY - SGMII 寄存器值
寄存器地址 寄存器名称 示例值 说明
0x0000 BMCR 0x1140 位 [14] 可用于配置 MII 环回。
0x0001 BMSR 0x796D 位 [2] 指示 MDI 链路已建立
0x0014 GEN_CFG2 0x29C7 位 [7] 启用 SGMII 自动协商。
0x0031 GEN_CFG3 0x10B0 可切换位 [6:5] 以调整自动协商计时器。
0x0037 SGMII_AUTO_NEG_STATUS 0x0001 位 [0] 指示 SGMII 自动协商完成。