导读
网卡的正常运作对于系统网络功能的实现至关重要。本文深入剖析因复位时间不足致网卡故障情形,解读不同网卡芯片复位要求及电路设计、驱动配合要点,为工程师提供网卡设计调试参考,助力保障网络系统稳定。
ZLG致远电子自从设计ARM核心板以来,服务了大量客户,其中有很大一部分工作是为客户调试网卡电路和驱动。既有电路设计的问题,也有驱动软件的问题,还有系统网络配置的问题。有时候解决一个问题,并不是单纯硬件或者驱动就能解决,需要多方面配合。就单看硬件方面,除了原理图设计,还有PCB布线问题。下面给出几个实际案例,从硬件设计、PCB布线以及驱动配合等方面进行阐述:
PHY复位时间不够引起网卡工作不正常;
MDIO源端没串22Ω终端电阻,信号反射导致网卡工作不正常;
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信号反射导致网络卡死分析》。
AM335x升级之选
2路千兆以太网
3路CAN FD
支持GPMC
参考价格:319元起