【内部技术分享】zynq & zynq ultrascale mpsoc 以太网接口调试-9479威尼斯

【内部技术分享】zynq & zynq ultrascale mpsoc 以太网接口调试

 1、以太网接口介绍:



以太网接口包含管理、数据通信接口,管理接口也就是我们常说的mdc/mdio,用来访问phy寄存器,配置工作模式、检测工作状态。数据接口:常见的有mii, gmii, rgmii,sgmii, qsgmii等,我们本次专注在rgmii。

tx/rx data between mac & phy

blob.png



 

2、


mdc/mdio接口



帧格式: cl22(ge), cl45(xe);

phy地址: 访问外部哪颗phy;
mdc clock频率: 不超过2.5 mhz (defined by the ieee802.3);



preamble

(32bits)

start

(2bits)

op  code

(2bits)

phyad

(5bits)

regad

(5bits)

turn  around

(2bits)

data

(16bits)

idle

read

1.......1

01

10

a4a3a2a1a0

r4r3r2r1r0

z0

d15.......d0

z*

write

1.......1

01

01

a4a3a2a1a0

r4r3r2r1r0

10

d15.......d0

z*

硬件设计tips:mdio为od门,需1.5k电阻上拉。



 

3、rgmii接口



硬件设计tips:

rgmii规范中约定data和clock之间需要有2ns延迟,实现方式:

a. pcb板上绕线实现 (不推荐);

b. pcb(data/clock等长处理) phy芯片上分别设置tx/rx delay(现在phy基本上均支持,使用前请查看phy手册确认);


rgmii规范约定:

blob.png


带有internal delay的phy/mac:

blob.png



 4、


软件开发tips:


linux如何配置phy地址&phy delay,以zcu102为例,gem3 phy address=0xc,采用phy internal tx/rx delay,在设备树system-usr.dsti中添加phy地址和delay(有的phy硬件配置好,无需额外添加)。


blob.png


 5


调试tips:


在uboot下通过mii命令查看phy的link/an/speed状态,或者配置loopback测试。

常用命令有mii info、mii dump、miiwrite等等。

通过mii info可以查看mdc/mdio总线下挂载了哪些phy address。


zynqmp> mii info
phy0x07: oui = 0x5043, model = 0x21, rev = 0x00, 1000basex, fdx
phy0x0c: oui = 0x5043, model = 0x21, rev = 0x00, 1000basex, fdx
zynqmp>
zynqmp>mii device
miidevices: 'eth0'
currentdevice: 'eth0'

通过mii dump可以查看phy的状态,可读性好。
zynqmp> mii dump 7 0
0.      (1140)                 -- phy control register --

 (8000:0000) 0.15    =    0    reset

 (4000:0000) 0.14    =    0    loopback
 (2040:0040) 0. 6,13 =   b10   speed selection = 1000 mbps
 (1000:1000) 0.12    =    1    a/n enable
 (0800:0000) 0.11    =    0    power-down
(0400:0000) 0.10    =    0    isolate
(0200:0000) 0. 9    =    0    restart a/n
(0100:0100) 0. 8    =    1    duplex = full
(0080:0000) 0. 7    =    0    collision test enable
(003f:0000) 0. 5- 0 =     0   (reserved)



 

6、


常见问题及解决方法:



q1:phy无法访问?
a1:查看原理图mdio是否有上拉、phy address是否正确、降低mdc clock测试。

q2:能link但是ping不通?
a2:pc防火墙是否关闭,包含windows自带的防火墙?设备ip和pcip地址是否配置正确?如果以上均已操作正确,重点检查rgmii phy的tx/rx delay配置。







更多问题,请联系37000cm威尼斯的fae

simonyang@comtech.com.cn


charlesxu@comtech.com.cn




公司地址:深圳市南山区高新南九道55号微软科通大厦10楼    客服电话:( 86)755-26743210    邮箱:cs@comtech.com.cn

© 9479威尼斯 copyright 2018 www.comtech.com.cn | |

网站地图