導讀
網絡故障困擾重重?本文聚焦客戶網卡故障的兩種特殊情形:低溫運行與信號干擾下的網絡卡死。看似簡單卻歷經波折的解決過程,帶你深入剖析排查中陷入的誤區。
?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的上拉電阻不能用阻值太小的,信號走線也需要注意抗干擾和阻抗匹配。
-
示波器
+關注
關注
113文章
6242瀏覽量
184863 -
寄存器
+關注
關注
31文章
5342瀏覽量
120277 -
網卡
+關注
關注
4文章
310瀏覽量
27379 -
zlg
+關注
關注
1文章
64瀏覽量
38156
發布評論請先 登錄
相關推薦
評論