導讀
網(wǎng)絡故障困擾重重?本文聚焦客戶網(wǎng)卡故障的兩種特殊情形:低溫運行與信號干擾下的網(wǎng)絡卡死。看似簡單卻歷經(jīng)波折的解決過程,帶你深入剖析排查中陷入的誤區(qū)。
?MDIO信號反射導致網(wǎng)絡卡死分析
客戶反饋網(wǎng)卡故障表現(xiàn)有兩種情形:
- 在低溫情況下運行一段時間后,容易出現(xiàn)網(wǎng)絡卡死,必須重啟才能恢復;
外界稍微有點信號干擾就有可能引起網(wǎng)絡卡死。
問題的解決方法看似很簡單,但解決過程卻頗費周章,花費了很多的精力。排查出原因是MDIO的時鐘信號在低溫情況振鈴增強或受到干擾時,信號產(chǎn)生毛刺,導致寄存器被寫入了錯誤的值,PHY進入了異常狀態(tài)無法工作。最終解決的方法是在MDC信號靠近源端串聯(lián)22歐電阻。下面進行分析。
首先問題的現(xiàn)象是低溫工作一段時間后出現(xiàn),雙網(wǎng)口的板卡只有其中一個網(wǎng)口會出現(xiàn)該問題,且網(wǎng)絡一旦卡死,必須重啟才能恢復,所以開始認為是走線問題或電源問題誘發(fā)的MAC或PHY卡死。
另一個陷阱是PHY寄存器有兩部分,由于MDIO協(xié)議定義的register address位寬為5bit,對PHY來說是不夠用的,所以原廠將其分成了一般寄存器和擴展寄存器兩部分。
以裕泰微的YT8531為例,通過一般寄存器的0x1E和0x1F間接地讀寫擴展寄存器,地址大于0x1F的寄存器都需要通過0x1E和0x1F作為入口,參考圖1。初次檢查寄存器的時候只讀出了一般寄存器的值,檢查對比異常時和正常時沒有區(qū)別就認為寄存器沒有問題了。后期又仔細核對發(fā)現(xiàn)出問題在擴展寄存器,才又將調(diào)試方向糾正過來。測試MDIO波形發(fā)現(xiàn)原本應該只在初始化過程中配置好的地址,正常通信過程中也在不停的覆寫,最終在反復的“嘗試”后,終于等到MDC毛刺,成功將錯誤值寫入了寄存器。最終也通過示波器測到了MDC上的毛刺,測量得到的波形如圖2所示。
圖1 YT8531擴展寄存器入口
圖1 示波器協(xié)議解析功能測量MDIO波形
MDIO是以太網(wǎng)電路中十分重要的部分,配置模式、調(diào)整性能都離不開MDIO,很多以太網(wǎng)故障都與MDIO有關。MDIO協(xié)議規(guī)定是可以多個網(wǎng)口使用同一個總線的,PHY芯片基本也都留有設置PHY地址的上下拉電阻,但很多主控芯片原廠還是會不建議一對多的設計。MDIO看似和I2C很像,但實際還是與I2C有很大區(qū)別,它的協(xié)議時序不同,速率也比I2C高很多,沒有應答位,所以MDIO的上拉電阻不能用阻值太小的,信號走線也需要注意抗干擾和阻抗匹配。
-
示波器
+關注
關注
113文章
6246瀏覽量
184940 -
寄存器
+關注
關注
31文章
5343瀏覽量
120348 -
網(wǎng)卡
+關注
關注
4文章
311瀏覽量
27384 -
zlg
+關注
關注
1文章
64瀏覽量
38160
發(fā)布評論請先 登錄
相關推薦
評論