hello,大家好!這里是硬件那些事兒,很高興能與大家在此交流硬件的那些事兒!
加微信[mywxyhq]與作者進(jìn)群溝通交流。
今天又來(lái)案例了,個(gè)人覺(jué)得還是比較經(jīng)典,而且也是我工作以來(lái)第一次碰到這種問(wèn)題,這個(gè)問(wèn)題我們平時(shí)聽(tīng)得很多,但真正碰到還是第一次,所以在這個(gè)平臺(tái)分享出來(lái),避免大家再次踩坑。
熟悉以太網(wǎng)電路設(shè)計(jì)的朋友們,可能對(duì)MDI/MDIX以及極性翻轉(zhuǎn)這兩個(gè)概念不會(huì)陌生。我們先來(lái)看問(wèn)題。
問(wèn)題描述:一款百兆路由設(shè)備對(duì)接一款百兆NVR設(shè)備,在使用以太網(wǎng)網(wǎng)互聯(lián)的時(shí)候,發(fā)現(xiàn)網(wǎng)絡(luò)接口不能協(xié)商,通過(guò)遠(yuǎn)程在路由設(shè)備串口里,讀取網(wǎng)絡(luò)接口狀態(tài),確實(shí)顯示link down,確認(rèn)問(wèn)題確實(shí)存在,另也嘗試更換過(guò)網(wǎng)線,并沒(méi)有解決這個(gè)問(wèn)題,同時(shí)兩款設(shè)備中間通過(guò)交換機(jī)連接,可以正常協(xié)商,網(wǎng)絡(luò)通信。如下為串口里讀取到的網(wǎng)絡(luò)端口狀態(tài)。
問(wèn)題分析:基于NVR對(duì)接其它設(shè)備,與路由對(duì)接其它網(wǎng)絡(luò)設(shè)備都能正常協(xié)商,工作,因?yàn)閮煽钤O(shè)備都是百兆設(shè)備,所以我們懷疑兩款設(shè)備的MDI接線是否標(biāo)準(zhǔn)?所使用的PHY,SW是否支持 MDI/MDIX & +/- auto crossover function?于是我們查閱路由主控規(guī)格書(shū),明確支持MDI/MDIX。+/- 沒(méi)有明確說(shuō)明。NVR設(shè)備方案未知。為了驗(yàn)證這個(gè)問(wèn)題,于是我們做了以下實(shí)驗(yàn)。分別做一根,TX與RX交換線序的網(wǎng)線,和差分對(duì)內(nèi)的+/-交叉的網(wǎng)線分別實(shí)驗(yàn)。線序只修改網(wǎng)線的一端,另一端保持正常線序。正常線序一端我們連接電腦網(wǎng)口,修改線序后的網(wǎng)線分別連接路由和NVR測(cè)試。
路由主控關(guān)于MDI/MDIX 描述:
實(shí)驗(yàn)結(jié)果:
1.使用TX與RX交換順序后的網(wǎng)線,分別對(duì)接路由和NVR,都可以正常協(xié)商。
2.使用差分對(duì)內(nèi)的+/-交叉的網(wǎng)線,分別對(duì)接路由和NVR,發(fā)現(xiàn)路由是可以正常協(xié)商,但是NVR無(wú)法正常協(xié)商。
3.使用差分對(duì)內(nèi)的+/-交叉的網(wǎng)線,用路由與NVR互連,發(fā)現(xiàn)可以正常協(xié)商。
實(shí)驗(yàn)推測(cè):
1.路由設(shè)備是支持MDI/MDIX 自動(dòng)翻轉(zhuǎn)功能和差分對(duì)內(nèi) +/-極性自動(dòng)翻轉(zhuǎn)功能。
2.NVR設(shè)備支持MDI/MDIX 自動(dòng)翻轉(zhuǎn)功能,不支持差分對(duì)內(nèi) +/-極性自動(dòng)翻轉(zhuǎn)功能。
原因分析:
1.基于以上的實(shí)驗(yàn)結(jié)論,我們檢查路由的原理圖設(shè)計(jì)發(fā)現(xiàn)SW 的出線出現(xiàn)了差分對(duì)內(nèi)TX/RX ,以及P/N 的交叉。結(jié)合后面到RJ45的實(shí)際走線,以及l(fā)ayout對(duì)比,發(fā)現(xiàn)TX,RX接線是符合規(guī)范的,但是差分對(duì)內(nèi)的+/-確實(shí)反接了。
2.基于以上路由的網(wǎng)絡(luò)接口設(shè)計(jì)交叉了P/N.這在實(shí)際應(yīng)用中就要求與該設(shè)備對(duì)接的設(shè)備也必須支持+/-極性翻轉(zhuǎn)這個(gè)功能,如果對(duì)端不支持,就會(huì)出現(xiàn)不能協(xié)商的問(wèn)題,而這次遇到的NVR因?yàn)槭前僬追桨福赡芊桨副容^舊,正好不支持這個(gè)功能,于是就出現(xiàn)前面反饋的問(wèn)題。
總結(jié):
1.從PHY 和SWITCH的發(fā)展歷史看,最開(kāi)始的芯片確實(shí)存在不支持MDI/MDIX 以及+/-極性翻轉(zhuǎn)功能。隨著技術(shù)的迭代,目前絕大部分芯片已經(jīng)支持這兩個(gè)功能。
2.在實(shí)際現(xiàn)網(wǎng)應(yīng)用中,如果一端設(shè)備出現(xiàn)了反接,要保證仍然可以正常使用,需要兩端設(shè)備都支持MDI/MDIX 以及+/-極性翻轉(zhuǎn)功能。
3.我們?cè)谧鼍W(wǎng)口設(shè)計(jì)時(shí),除非特殊情況,我們最好是按標(biāo)準(zhǔn)來(lái)設(shè)計(jì),比如百兆網(wǎng)口1236就對(duì)應(yīng)RX+,RX-,TX+,TX-。即使我們使用的芯片支持MDI/MDIX 與極性自動(dòng)翻轉(zhuǎn),也不要隨意改變,這樣可以保證我們兼容市面上所有的設(shè)備。
關(guān)于這個(gè)問(wèn)題,我們是聽(tīng)得多,遇到少。歡迎留言討論!