环境
1.正点原子核心板 ZYNQ XC7Z020
2.千兆物理层芯片 YT8521
3.问题描述: 正点原子开发板上可实现千兆通信。自己画的PCB,百兆能通,千兆情况下,抓包工具未抓到相应数据包。
解决方法
查阅网上资料,大致问题应该是时钟时序问题,应该是PCB 走线问题。不过 YT8521 芯片提供修改延时的办法。
在扩展寄存器 0xA003,Rx_delay_sel 和 Tx_delay_sel, 数值从0 ~ 15。 因为可选挡位小,因此,我们可以一个一个试过去。注意, Rx_delay_sel 和 Tx_delay_sel 的数值要相等。扩展寄存器的写法,先把0xA003写到 0x1E寄存器中, 在读/写 0x1F
首先,是设置自动协商。仿真模式下,找到 自动协商代码部分,然后,添加设置延时代码。 设置之后,要检查丢包率,某个延时下,虽然网通了,但是会丢包,仍然不行。