加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    •   MDIO信号反射导致网络卡死分析
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

ZLG嵌入式笔记(连载11) | 为什么你的网卡工作会不正常?(中)

10小时前
266
阅读需 4 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

导读

网络故障困扰重重?本文聚焦客户网卡故障的两种特殊情形:低温运行与信号干扰下的网络卡死。看似简单却历经波折的解决过程,带你深入剖析排查中陷入的误区。

  MDIO信号反射导致网络卡死分析

客户反馈网卡故障表现有两种情形:在低温情况下运行一段时间后,容易出现网络卡死,必须重启才能恢复;外界稍微有点信号干扰就有可能引起网络卡死。

问题的解决方法看似很简单,但解决过程却颇费周章,花费了很多的精力。排查出原因是MDIO的时钟信号在低温情况振铃增强或受到干扰时,信号产生毛刺,导致寄存器被写入了错误的值,PHY进入了异常状态无法工作。最终解决的方法是在MDC信号靠近源端串联22欧电阻。下面进行分析。

首先问题的现象是低温工作一段时间后出现,双网口的板卡只有其中一个网口会出现该问题,且网络一旦卡死,必须重启才能恢复,所以开始认为是走线问题或电源问题诱发的MAC或PHY卡死。

另一个陷阱是PHY寄存器有两部分,由于MDIO协议定义的register address位宽为5bit,对PHY来说是不够用的,所以原厂将其分成了一般寄存器和扩展寄存器两部分。

以裕泰微的YT8531为例,通过一般寄存器的0x1E和0x1F间接地读写扩展寄存器,地址大于0x1F的寄存器都需要通过0x1E和0x1F作为入口,参考图1。初次检查寄存器的时候只读出了一般寄存器的值,检查对比异常时和正常时没有区别就认为寄存器没有问题了。后期又仔细核对发现出问题在扩展寄存器,才又将调试方向纠正过来。测试MDIO波形发现原本应该只在初始化过程中配置好的地址,正常通信过程中也在不停的覆写,最终在反复的“尝试”后,终于等到MDC毛刺,成功将错误值写入了寄存器。最终也通过示波器测到了MDC上的毛刺,测量得到的波形如图2所示。

图1 YT8531扩展寄存器入口

图1 示波器协议解析功能测量MDIO波形

MDIO是以太网电路中十分重要的部分,配置模式、调整性能都离不开MDIO,很多以太网故障都与MDIO有关。MDIO协议规定是可以多个网口使用同一个总线的,PHY芯片基本也都留有设置PHY地址的上下拉电阻,但很多主控芯片原厂还是会不建议一对多的设计。MDIO看似和I2C很像,但实际还是与I2C有很大区别,它的协议时序不同,速率也比I2C高很多,没有应答位,所以MDIO的上拉电阻不能用阻值太小的,信号走线也需要注意抗干扰阻抗匹配

关注我们,下期继续讲解:以太网Link Down问题排查题排查及其他容易忽略的问题。

AM335x升级之选

2路千兆以太网

3路CAN FD

支持GPMC

参考价格:319元起

致远电子

致远电子

广州致远电子股份有限公司成立于2001年,注册资金5000万元,国家级高新技术认证企业,广州市高端工控测量仪器工程技术研究开发中心,Intel ECA全球合作伙伴和微软嵌入式系统金牌合作伙伴。

广州致远电子股份有限公司成立于2001年,注册资金5000万元,国家级高新技术认证企业,广州市高端工控测量仪器工程技术研究开发中心,Intel ECA全球合作伙伴和微软嵌入式系统金牌合作伙伴。收起

查看更多

相关推荐

电子产业图谱