驗(yàn)證網(wǎng)口通信常見的方式就是通過ping測試。測試ping的話可以找一個(gè)以前驗(yàn)證過的上層程序。
ping不通需要排查硬件問題。
一般芯片都是片內(nèi)mac+片外phy的方式,首先phy的配置一般是通過MDIO接口訪問,先讀寫phy并進(jìn)行配置。這一步正常的話看下數(shù)據(jù)接口。數(shù)據(jù)接口一般是RGMII,RMII等接口。mac和phy之間的電壓需要匹配。
phy后面可能需要接變壓器,變壓器是電壓控制還是電流控制這點(diǎn)也需要注意。
以下兩個(gè)例子是我遇到過的
1 YT8521網(wǎng)卡
mac端的io電壓是1.8V,但是實(shí)際測試出來的電壓是1.2V。需要配置phy的電壓。
如果不配置的話現(xiàn)象是ping不通,或者偶爾上電能ping通的話延遲也很大。
網(wǎng)卡通過外部引腳可以進(jìn)行配置。如下圖
2 w5500網(wǎng)卡
w5500連接變壓器的部分推薦原理圖如下所示,收和發(fā),一個(gè)是電流驅(qū)動一個(gè)是電壓驅(qū)動,就是一個(gè)接電源一個(gè)沒接。這個(gè)與很多常見的phy不一樣,很多都是電壓驅(qū)動或者都是電流驅(qū)動。
如果接錯(cuò)了的話,這個(gè)狀況是自適應(yīng)只能協(xié)商成半雙工,100M也無法ping通。通過軟件強(qiáng)制設(shè)置成10M全雙工的話可以ping通。
以上是兩種現(xiàn)象,ping不通從硬件方面可以從類似方面排查。