一、什么是phy
1、phy的基本作用
- 收到MAC过来的数据(PHY没有帧的概念,都是数据而不管什么地址数据还是CRC),进行处理*,然后把并行数据转化为串行流数据,再按照物理层的编码规则把数据编码,再变为模拟信号把数据送出去。
- 实现CSMA/CD(多点接入载波监听/冲突检测)的部分功能,可以检测到网络上是否有数据在传送,如果有数据在传送中就等待,一旦检测到网络空闲,再等待一个随机时间后将送数据出去。冲突检测机构可以检测到冲突,然后各等待一个随机的时间重新发送数据。
处理方法:
- 100BaseTX采用4B/5B编码(每4bit就增加1bit的检错码)
- 10BaseTX采用曼彻斯特编码
2、phy和switch在信号上的区别
- PHY芯片,主要是将这些模拟信号进行解码,通过MII等接口,将数字信号传送出去。在解码的过程中,它只是做信号的转换,而不对数字信号进行任何的处理,即使一帧有问题的数据,它也会如实的转发出去。
- switch芯片是对帧数据的内容做处理,更新MAC地址列表等等,是先有PHY后有switch。
二、一些需要注意的硬件连接
1、网络变压器(数据泵)
一颗CMOS制程的芯片工作的时候产生的信号电平总是大于0V的(这取决于芯片的制程和设计需求),但是这样的信号送到100米甚至更长的地方会有很大的直流分量的损失。而且如果外部网线直接和芯片相连的话,电磁感应(打雷)和静电,很容易造成芯片的损坏。再就是设备接地方法不同,电网环境不同会导致双方的0V电平不一致,这样信号从A传到B,由于A设备的0V电平和B点的0V电平不一样,这样会导致很大的电流从电势高的设备流向电势低的设备。
把PHY送出来的差分信号用差模耦合的线圈耦合滤波以增强信号,并且通过电磁场的转换耦合到连接网线的另外一端。这样不但使网线和PHY之间没有物理上的连接而换传递了信号,隔断了信号中的直流分量,还可以在不同0V电平的设备中传送数据。
因此,数据泵主要有一下几点作用:
- 传输数据,它把PHY送出来的差分信号用差模耦合的线圈耦合滤波以增强信号,并且通过电磁场的转换耦合到不同电平的连接网线的另外一端;
- 隔离网线连接的不同网络设备间的不同电平,以防止不同电压通过网线传输损坏设备;
- 数据泵还能使芯片端与外部隔离,抗干扰能力大大增强,而且对芯片增加了很大的保护作用,保护PHY免遭由于电气失误而引起的损坏(如雷击)。
2、phy的硬件配置方法
以88E1111为例,芯片上有6个管脚用于phy的硬件配置,如下图:
同时有一些用于显示当前连接状态的LED相关管脚,可在phy硬复位后以串行的方式发出一组由3个bit构成的编码,对应关系如下:

通过这种方式,可以通过硬件连接在phy硬复位后对phy进行配置,包括phy的地址、速率双工自协商功能、使用何种方式与mac连接、物理连接为光口还是电口、管理口的选择、是否使能光口电口自动切换等等的设置。具体内容可参考手册的Table31
其中,phy地址的配置仅能够通过硬件连接实现,无软件途径可修改,因此硬件设计时phy的地址一定要连对。
三、phy的配置
一般情况下,phy通过硬件配置即可正常使用,当存在一些特殊需求时可通过MIIM或I2C两种方式读写phy内置的寄存器,从而对phy进行配置管理。对phy进行软件配置时也可参考硬件配置的内容,这些内容涵盖了phy的主要功能。主要需要配置的是速率双工自适应、LED灯的显示方式、收发延时,其他配置可根据需求选择。以下内容均以88E1111为例。
1、LED灯的设置
phy芯片LED灯的设置可通过寄存器24更改。速率指示灯默认是一一对应的直接指示方式,可通过寄存器24[5:3]配置为组合指示方式,详见手册2.22
用户可根据需求通过管理口自行设置。
2、速率双工自适应
88E1111 phy的速率双工自适应状态可通过硬件配置的ANEG一次性配置完全。也可通过软件写寄存器的方式进行修改。

- 自适应使能和关闭可通过软件修改寄存器0.12实现,需要注意的是,对0.12的修改只有在软复位或重启自协商后才能生效。
- 网口对外广播的自适应能力范围可通过寄存器4进行设置。
- 若关闭了自适应的使能,可通过寄存器0.6,0.8,0.13三位共同设置网口的强制速率和双工。同样的,对这三位进行修改后,也需要软复位或网口power down后再恢复,方可修改生效。
需要特别注意的是,强制千兆最好通过关闭十兆百兆广播能力的方式实现,而不是关闭自协商。这是802.3协议中建议的,目的是提高适配性。

千兆无法像十兆百兆一样强制的原因通过查找资料和测试猜测如下:
千兆协商的过程需要确定两端phy的主从关系,在关闭自协商的情况下,要求remote的主从设置与local不冲突。
3、收发延时使能
收发延时指在接收或发送数据时,将时钟延时2ns,使数据时钟呈现中间对齐,保证数据采样的准确性。
是否需要收发延时需根据对端具体情况设置,此项设置不可通过硬件配置实现,可通过设置寄存器20的1和7位实现。
- 当对端发出的数据为沿对齐时,则需要phy设置接收数据延时,否则不需要。
- 当对端接收数据没有设置接收延时时,需要phy设置发送延时,否则不需要。
4、光口、电口切换
88E1111可通过检测光、电口的能量,实现光电口的切换。
- 当光口连接,电口断开时,将建立光口连接;
- 当电口连接,光口断开时,将建立电口连接;
- 当光口,电口均有连接时,哪一个先建立稳定连接,则另一个自动power down,若稳定连接失效,则会自动power up。
光口电口的自动切换功能,可通过硬件配置中的一位:DIS_FC设置;也可通过软件配置寄存器27.15 实现。

*通过查询寄存器27.13,可知当前连接为光口还是电口。
光口,电口的切换还可设置优先项。
例如:
设置优先光口连接后:
当电口比光口优先建立了稳定的连接,而光口上随后检测到了能量,则phy会放弃建立好的电口连接4s,让光口来建立连接。
这一过程必须由软件来设置,phy不可自动完成。当电口建立连接后,若软件查询到光口的寄存器17.4有活动,可根据需求,将寄存器26.11:10设置为光口优先,当光口建立好稳定连接后,再通过软件将寄存器26.11:10设置为00,则可实现上面的例子。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/52107.html