hard_01

DP83867E SGMII接口调试经验

0
阅读(1756)

最近这段时间在调试SGMII 接口,有些经验分享下。

项目背景是有一颗交换机芯片,除了内置的phy,还预留了一个支持SGMII的MAC接口。

要想实现该MAC接口功能,自然得外挂一个支持SGMII 的phy芯片。使用过两种phy芯片,一个是marvell的88e1512,另一个是TI 的DP83867。

第一次我用88e1512 去实现该功能,但是之前没搞过SGMII,技术文档也看的比较少,failed。为什么呢,一方面,88e1512 默认是支持RGMII接口,如果要用SGMII,必须通过mdio总线去配置寄存器。另外一个就是mac和phy之间的SGMII必须是AC耦合的,否则肯定不会通的。

第二次我选用了DP83867芯片,这个和88e1512功能一样,优点是(对于硬件工程师来说)可以通过外部电阻配置为SGMII模式,这样就省去用软件配置了。但是,DP83867的MDI端有个mirror 功能,就是为了布线方便,可以把四对差分互换。我调试过程中由于配置问题,忽略了mirror功能,导致SGMII不能连通。最后重新修改了外部配置,设置为mirror disable以及SGMII enable,这样就可以啦。另外,还需要确定MAC端 SGMII的配置,要保证SGMII 配置和PHY侧一致。

DP83867的sgmii 自协商一定要用rx-crtl  pin去设置,设置为mode 3,即使能自协商。否则就是测试模式,sgmii 自协商禁止。另外也可以修改0x0031寄存器改成1030即可,就是把bit 7 清零。


另外还需检查时钟、复位、电源等基本特性。针对TI的phy器件,官方提供配套GUI软件和配套板卡,可以通过mdio配置phy的寄存器,其他厂家的phy 也可以操作。需要板卡或者phy芯片的可以找我代购,价格美丽,提供技术支持。