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

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信号反射导致网络卡死分析》。

相关文章:

  • 鸿蒙学习-
  • ctf网络安全题库 ctf网络安全大赛答案
  • JSP学习
  • MybatisPlus-注解
  • 【Python基础】Python 环境安装 Win10
  • 爬虫第九篇-结束爬虫循环
  • 【论文解读】《Training Large Language Models to Reason in a Continuous Latent Space》
  • STL容器终极解剖:C++ vector源码级实现指南 | 从内存分配到异常安全的全流程避坑
  • 【Git】远程操作
  • 进程概念、PCB及进程查看
  • 基于SpringBoot的校园消费点评管理系统
  • 从.m3u8到.mp4:使用批处理脚本完成视频处理的完整指南
  • 微服务架构概述及创建父子项目
  • MongoDB 简介
  • Spring Boot3+Vue2极速整合:10分钟搭建DeepSeek AI对话系统
  • 侯捷 C++ 课程学习笔记:四个层面基本用法
  • 如何通过 Docker 在没有域名的情况下快速上线客服系统
  • forge-1.21.x模组开发(二)给物品添加功能
  • C#上位机--循环语句
  • PCL 基于FPFH特征的SAC-IA算法
  • 梅州网站制作baidu/营销策划方案怎么做
  • 做网站怎么申请百度推广/站长工具星空传媒
  • 网站域名.xin/网站seo招聘
  • 空调维修网站模板/疫情最新动态
  • 西凤酒网站建设/最新新闻事件今天
  • 淘客类网站如何做排名/seo教程自学入门教材