ZYNQ-01-ZYNQ7020 TCP例程自动协商失败解决办法

本博文介绍ZYNQ SDK默认Lwip Demo自动协商失败问题解决办法,如有相同情况,请先检查网线是不是千兆网…

场景复现

  • 开发环境:Xilinx Vivado 18.3 SDK
  • 芯片:ZYNQ 7020
  • 调试工具:串口调试助手
  • 接线:开发板直连PC口

使用SDK工具新建TCP echo server模板项目后,板验证报错信息如下:

1
2
3
4
5
Start PHY autonegotiation 
Waiting for PHY to complete autonegotiation.
Auto negotiation error
Phy setup error
Assert due to phy setup failure

博主在手动设定速率后重新配置为自动协商试图复现异常,但是结果却又协商成功了?如下图。

image can't load. 重新配置为自动协商

解决办法

优先放置解决办法,感兴趣的可以向下翻阅原因分析。

1.修改BSP配置

image can't load. phy link speed

2.手动指定连接速度-100Mbps

image can't load. BSP’s Setting

3.注释掉platform_zynq.c文件中定时器回调函数time_callback中代码

1
2
3
4
5
/* For detecting Ethernet phy link status periodically */
/* if (DetectEthLinkStatus == ETH_LINK_DETECT_INTERVAL) {
eth_link_detect(echo_netif);
DetectEthLinkStatus = 0;
} */

4.配置ip

  • ZYNQ

    image can't load. ZYNQ Config
  • PC

    image can't load. PC Config

5.串口调试工具配置

image can't load. 串口工具

原因分析

IP配置错误?

最先考虑的是PC与ZYNQ开发板的ip地址不在同一网段,但将ip均配置在192.168.1.xx网段下之后仍然出现异常。

PC端速度限制?

image can't load.
PC端网口速度

众所周知,PC机在连接以太网之后可以更改连接速度。参考资料3手动将PC端网口速率从自动协商指定为1Gbps,喜提网络未连接

速度和双工配置重新调整为自动协商后,连接状态变为上图100Mbps。

劣质网线…

破案,是劣质网线不支持1000Mbps…

从水晶头看到线芯颜色是银白色,胶皮标识为CAT5E超五类,找到订单查材质是铝镁合金、商品名为百兆网线…

5m长的网线费用高达人民币3.39元,能跑百兆真耐造….

参考资料

  1. zynq调试网口所遇到的问题记录 | AMENG
  2. ZYNQ lwip 自适应网络速率 | AMENG
  3. 修复 win10/11 以太网网速被限制在 100Mbps_win11千兆网卡只有100mbps | CSDN博客

————————— End —————————

“少无适俗韵,性本爱丘山。”– 《 归园田居·其一》