在近期有一个项目,是一台设备中发现mac与phy之间的信号质量有一些差,报文会出现很多的crc错误码。希望可以将mac与phy之间的工作模式改为10GBASE-KR/40GBASE-KR4,从而提高信号质量,减少crc错误码。要实现10GBASE-KR/40GBASE-KR4,需要打开auto-negotiation,所以,文章主要内容是如何开启自协商,以及相关参数的解释。
需要的文档:
1、802.3协议手册
2、所调试phy的芯片手册(我自己使用的是bcm的万兆phy)
万兆phy情况摘要
PHY寄存器分为两大部分:
1、system端,是phy与交换芯片连接的一侧;
2、line端,是phy与光模块连接的一侧
寄存器的读取地址有device address与register address。system-side 与 line-side寄存器的device address,register address 是一致的,他们是通过将寄存器【device address = 0x01, register address = 0xffff】赋值来进行区分,寄存器赋值为0,读写line-side方向的寄存器;寄存器赋值为1,读写为system-side方向的寄存器。
我们在阅读芯片手册的过程中,会发现cl72、cl73之类的字。如果是第一次读相关手册的童鞋们,肯定也是一脸迷惑,并且也很难百度到相关信息。此处的cl72, cl73指代的是802.3协议中的clause 72, clause 73。phy手册中的很多寄存器内容以及名词都没有相关解释,这些寄存器以及