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