我们使用Broadcom的交换芯片(仅可使用固定千兆速率的sgmii协议)与DP83867通过4线的sgmii连接,DP83867外接RJ45引出。原理图参考评估板,可以从交换芯片侧看到该链路up上了,但是从DP83867这边的网口无法与交换芯片进行交互,已确认交换芯片工作正常。dp83867的寄存器信息如下:
地址 数据
0x01 7949
0x02 2000
0x03 A231
0x04 01E1
0x05 0000
0x06 0064
0x07 2001
0x08 0000
0x09 1300
0x0f 3000
0x10 5C48
0x11 A802
0x12 0000
0x13 0044
0x14 29C7
想问下这可能是什么原因,是我们对寄存器地址的配置有问题吗?
user6327797:
0x00的数据是0140
Kailyn Chen:
您好,交换芯片正常工作,link建立,那还可以通过MII loopback test来验证PHY和 Broadcom的接口是否都正常呢。
正如我在这个帖子中的回复:e2echina.ti.com/…/187296
user6327797:
回复 Kailyn Chen:
您好,loopback的测试我们今天做一下,我发现我们有个问题,就是虽然我们取消了AN模式设置了sgmii协议强制1000M速率,看寄存器值也是正确的,BMCR寄存器(地址0x0000)的值为0140,CFG2寄存器(地址0x0014)的值为写为2947,但是在读phy状态的时候只显示phy工作在10M的速率,是还有其他设置sgmii协议固定千兆速率的寄存器吗?
user6327797:
回复 user6327797:
您好,我们使用的broadcom的switch芯片无法对phy芯片进行loopback测试,之前在调试switch芯片通过sgmii协议与处理器的mac层连接时,最初也不通,但是switch有链路up的状态,后来将处理器那边的AN自协商功能关掉,速率配置为固定的1000M就通了,猜测与dp83867不通是否也可能是这个原因,不知道我们对相关寄存器的配置(固定千兆速率,sgmii协议,无自协商)是否有问题?
user6327797:
回复 user6327797:
您好,我们感觉现在主要的问题是phy的速率一直配不上千兆,把BMCR寄存器(地址0x0000)的值配置为0140后,查看phy的状态仅能显示速率为10M,将该寄存器值改为2140再看phy状态速率能到100M。CFG2寄存器(地址0x0014)的值配为0x2947,sgmiiAN也已经disable了。
user6327797:
回复 user6327797:
您好,我们今天又做了测试,发现把AN打开后即0x0000寄存器配为0140,把phy引出的RJ45接到千兆交换机上时phy以及交换机网口上的LED都处于正常绿灯闪烁,应该说明从千兆交换机侧看link已经建立了。当前应用环境如下:switch(仅支持固定千兆sgmii协议)——>phy——>RJ45——>千兆交换机。还是怀疑switch——>phy这边有问题,dp83867是否支持四线的sgmii固定千兆速率呢?目前看寄存器0x13的值为0044,说明是有xGMII相关错误的。
Kailyn Chen:
回复 user6327797:
您好,DP83867datasheet中SGMII timing中的参数就是工作在1000Base-T的条件下测试的。
在这个应用环境中,LAN switch 应该是放在PHY和RJ45之间的吧,您放在PHY前端是切换的什么信号?
user6327797:
回复 Kailyn Chen:
phy前面的switch芯片是sgmii协议的mac层,从mac层出来sgmii in/out是通过4线的方式接到dp83867上的,这条链路一直不通。
Kailyn Chen:
回复 user6327797:
您好,您看下是否是寄存器0X0009的配置问题。 首先1000Base-T我们使能自动协商。 datasheet中有描述:
All 1000BASE-T PHYs are required to support Auto-Negotiation.
其次就是master 和slave的选择,在自动协商的第二个要素Auto-Negotiation of Master or Slave Resolution中,其中8.4.3.2部分的介绍是这样的:
If 1000BASE-T mode is selected during the priority resolution, the second goal of Auto-Negotiation is to resolve Master or Slave configuration. The Master mode priority is given to the device that supports multiport nodes, such as switches and repeaters. Single node devices such as DTE or NIC card takes lower Master mode priority.
也就是说我们需要将switch配置为master,把PHY配置为slave。通过寄存器0X0009进行配置,看是否能解决您的问题?
user6327797:
回复 Kailyn Chen:
您好,我们把phy配为slave模式也还是同样的情况,把phy配成sgmii模式的话,可以固定phy的速率吗,因为mac层的sgmii是千兆的。或者使用phy的sgmii模式还有其他需要配置phy的选项吗?类似是否使能AN这样的配置?