当前位置: 首页 > article >正文

ZLG嵌入式笔记 | 为什么你的网卡工作会不正常?(上

网卡的正常运作对于系统网络功能的实现至关重要。本文深入剖析因复位时间不足致网卡故障情形,解读不同网卡芯片复位要求及电路设计、驱动配合要点,为工程师提供网卡设计调试参考,助力保障网络系统稳定。

ZLG致远电子自从设计ARM核心板以来,服务了大量客户,其中有很大一部分工作是为客户调试网卡电路和驱动。既有电路设计的问题,也有驱动软件的问题,还有系统网络配置的问题。有时候解决一个问题,并不是单纯硬件或者驱动就能解决,需要多方面配合。就单看硬件方面,除了原理图设计,还有PCB布线问题。下面给出几个实际案例,从硬件设计、PCB布线以及驱动配合等方面进行阐述:

  1. PHY复位时间不够引起网卡工作不正常;

  2. MDIO源端没串22Ω终端电阻,信号反射导致网卡工作不正常;

  3. PCB走线没做好等长设计,引起网卡工作异常。

复位时间不够导致网卡工作异常

有一个客户选用致远电子的核心板设计新产品,搭配了自己常用的以太网PHY芯片LAN8720,但是工作不正常,找到我们协助进行调试。经了解,客户原先网卡的复位是CPU控制,而在新设计中,参考了我司的开发板,改成了RC延时复位。但客户在设计时并未注意网卡芯片的复位时间要求。

1. 详情分析

LAN8720要求复位时间不得小于100us(参考图1),而参考板使用的DP83848要求的复位时间是1us(参考图2),所以采用的RC延时参数很小。在LAN8720电路上照搬了DP83848的参数,复位时间远不满足器件要求,所以网卡不能正常工作。

图片

图1 LAN8720复位时间要求

图片

图2 DP83848的复位时间要求

图3是客户所使用的网卡电路。

图片

图3 客户使用的LAN7820电路图 

从电路图可以看到,RC复位电路,R=10KΩ,C=12pF,充电时间t = RC:(10^6*12*10^-12) = 12*10^-6 = 12us。

复位时间T = K*R1*C1(K等于3~5),乘以K常数,复位时间也不到100us,无法满足LAN8720的复位时间要求。

务必严格按照网卡芯片要求的复位时间来设计复位电路,确保网卡芯片能正常复位。

2. 常见网卡复位时间

不同网卡芯片对复位时间的要求差异非常大,从微秒到毫秒都有,下面汇总一些常见网卡复位时间要求。

  • LAN8720:100us起,参考图4。

图片

图片

图4 LAN8720的复位时序和时间参数

  • DP83848:1us起,参考图5。

图片

图片

图5 DP83848复位时序和时间参数

  • 裕泰微TY8512/YT8531,10ms起,参考图6。

图片

图片

图6 YT8512和YT8531的复位时间要求

  • ICPlus:IP101G,10ms起,参考图7。

图片

图片

图7 IP101G的复位时间和时序

综上所述,在一般设计中,建议采用主控芯片的GPIO来控制PHY芯片的复位,并在靠近PHY芯片的附近并联RC电路,增强稳定性;对于主控芯片IO资源紧张,可以采用RC延时复位,但务必计算好需要的复位时间,并预留充足的裕量。

  • 另外满足了这个手册要求的复位时间也不一定就能够正常工作。设计中如果采用MAC给PHY提供参考时钟的工作方式,由于主控的参考时钟默认可能是输入模式,需要加载驱动后将软件配置为输出模式,所以还要保证复位释放前,以太网驱动已经加载完毕,设计RC复位参数时需要将这些时间都计算在内。

  • 其实不仅仅是网卡芯片,其它带复位引脚的芯片,在设计电路的时候都需要考虑芯片的复位时间要求,以设计满足条件的电路,确保其能正常工作。

关注我们,下期继续讲解《MDIO信号反射导致网络卡死分析》。


http://www.kler.cn/a/556999.html

相关文章:

  • Typora的Github主题美化
  • Service Mesh在爱奇艺的落地实践:架构、运维与扩展
  • 微服务即时通信系统---(二)框架学习
  • 迪威模型:引领 3D 模型轻量化技术革新
  • vue从入门到精通(十一):条件渲染
  • 股票与比特币投资困境分析及解决方案
  • FFmpeg中的编码和解码流程
  • 实现动态翻转时钟效果的 HTML、CSS 和 JavaScript,附源码
  • RPC:分布式系统的通信桥梁
  • 【MySQL】索引和视图
  • 【CXX】5 桥接模块参考
  • 【够用就好005】-在VSCode中管理ECS服务器的实操步骤
  • MYSQL的第一次
  • AI赋能编程:PyCharm与DeepSeek的智能开发革命
  • 一周学会Flask3 Python Web开发-客户端状态信息Cookie以及加密
  • 2025.2.23机器学习笔记:PINN文献阅读
  • Day 45 卡玛笔记
  • qt5实现表盘的旋转效果,通过提升QLabel类
  • go WEB框架
  • SpringBoot3中跨域问题解决