Other Parts Discussed in Thread: DRA829V
器件型号: DRA829V
平台:基于 DRA829V (J721E)、TI Processor SDK RTOS v09_01_00_06 的定制电路板
硬件设置:
2 个使用 DP83867ISRGZ (48 引脚 QFN) 的 SGMII 端口通过 SERDES0 Sierra 连接
通道 0→MAC 端口 1、PHY 地址 0
通道 1→MAC 端口 2、PHY 地址 12
PHY 搭接至 SGMII 模式(LED_0 搭接):CFG4 确认 SGMII_EN=1、SGMII_TYPE=4 线
100MHz 基准时钟连接至 SERDES0
问题:
SGMII 链路在任一端口上永远不会出现。 CPSGMII 状态寄存器的读数始终为 0x00000030 (LOCK=1、FIB_SIG_DETECT=1、但 LINK=0、MR_AN_COMPLETE=0、MR_PAGE_RX=0)。 LP_ADV_ABILITY 始终为 0x00000000—PC 永远不会收到任何 SGMII 自动协商页面。
工作原理:
在 MDIO 上检测到 PHY (Alive=0x00001001)
正确读取 PHY ID (OUI:080028 Model:23 = DP83867)
连接电缆时、端口 2 上出现 PHY 铜缆链路(~5s 后设置 BMSR 链路位)
SERDES0 PLL 在两个通道上锁定 (0x010f0001/0x0f0f0001)
SERDES0 通道状态显示就绪(两个通道上均为 0x00000003)
在两个通道上都设置了 Xcvr_CTRL 位 4 (0x0000b030)
配置的 MAC 滑动:MAC_CONTROL = 0x00040021 (EXT_EN + GMII_EN + FULLDUPLEX、强制 100M)
PCS 内部环回 (CONTROL_REG 位 4 = LOOPBACK) 工作:STS=0x00000031(链路=1、LOCK = 1、SIG_DET = 1)
关键观察结果:
PCS 内部环回(CPSGMII 块内的数据循环)提供 LINK=1。 但近端并行环回(数据从 PCS TX→SERDES 并行接口→环回→PCS RX)给出 LOCK=1、但 LINK=0 且 PAGE_RX=0。 这意味着 PCS 可以在内部生成有效的 SGMII /C/有序集、但数据无法通过 PCS 到 SERDES 并行接口正确流动。 即使 SERDES 串行器/解串器被排除、因为并行环回也会失败。
PHY 端确认如下:两个 PHY 上的 sgmii_ANEG_STS(寄存器 0x37)= 0x0000 — 它们永远不会从 SoC 接收任何 SGMII 配置字。