原文地址:https://blog.csdn.net/qq_39466755/article/details/109050806
88e1111芯片的硬件配置:
引脚到常量的映射:
pin | bit(2:0) | ||
VDDO | 111 | ||
LED_LINK10 | 110 | ||
LED_LINK100 | 101 | ||
lED_LINK1000 | 100 | ||
LED_DUPLEX | 011 | ||
LED_RX | 010 | ||
LED_TX | 001 | ||
VSS | 000 |
88e1111有7个配置引脚:CONFIG[6:0]
配置引脚的常量映射:
pin | bit[2] | bit[1] | bit[0] | ||||
CONFIG0 | PHYADR[2] | PHYADR[1] | PHYADR[0] | ||||
CONFIG1 | ENA_PAUSE | PHYADR[4] | PHYADR[3] | ||||
CONFIG2 | ANEG[3] | ANEG[2] | ANEG[1] | ||||
CONFIG3 | ANEG[0] | ENA_XC | DIS_125 | ||||
CONFIG4 | HWCFG_MODE[2] | HWCFG_MODE[1] | HWCFG_MODE[0] | ||||
CONFIG5 | DIS_FC | DIS_SLEEP | HWCFG_MODE[3] | ||||
CONFIG6 | SEL_TWSI | INT_POL | 75/50 OHM |
硬件配置的时候会使CONFIG引脚与VDDO这些引脚的连接来配置。
例如:CONFIG0连接到LED_LINK10 则PHYADR[2] = 1,PHYADR[1] = 1,PHYADR[0] = 0
PHYADR[4:0]:这5bit用来设置phy的设备地址,写设备树的时候用得到。
设备树如下:
ethernet-phy@7 {
reg = <7>;
device_type = "ethernet-phy";
xlnx,phy-type = <0x5>;
};
我的phy地址是7。
HWCFG_MODE[3:0]是用来设置接口模式的(phy与mac之间,phy与外部接口之间)
我的是0011 RGMII to fiber
phy数据交互主要有三个模块:
外部接口 phy mac
外部接口与phy之间的连接方式:
RJ45(电口), fiber(1000base-x), SGMII
phy与mac直接的接口模式有:
SGMII RGMII GMII等。
我们在手册中常见的RGMII to fiber RGMII to SGMII的意思就是:
RGMII为mac与phy之间的接口模式,fiber SGMII为phy与网不接口之间的接口模式。
注:1000base-x(光纤接口), 1000base-t(铜介质双绞线接口(电口))