導(dǎo)讀
網(wǎng)卡的正常運(yùn)作對(duì)于系統(tǒng)網(wǎng)絡(luò)功能的實(shí)現(xiàn)至關(guān)重要。本文深入剖析因復(fù)位時(shí)間不足致網(wǎng)卡故障情形,解讀不同網(wǎng)卡芯片復(fù)位要求及電路設(shè)計(jì)、驅(qū)動(dòng)配合要點(diǎn),為工程師提供網(wǎng)卡設(shè)計(jì)調(diào)試參考,助力保障網(wǎng)絡(luò)系統(tǒng)穩(wěn)定。
ZLG致遠(yuǎn)電子自從設(shè)計(jì)ARM核心板以來,服務(wù)了大量客戶,其中有很大一部分工作是為客戶調(diào)試網(wǎng)卡電路和驅(qū)動(dòng)。既有電路設(shè)計(jì)的問題,也有驅(qū)動(dòng)軟件的問題,還有系統(tǒng)網(wǎng)絡(luò)配置的問題。有時(shí)候解決一個(gè)問題,并不是單純硬件或者驅(qū)動(dòng)就能解決,需要多方面配合。就單看硬件方面,除了原理圖設(shè)計(jì),還有PCB布線問題。下面給出幾個(gè)實(shí)際案例,從硬件設(shè)計(jì)、PCB布線以及驅(qū)動(dòng)配合等方面進(jìn)行闡述:
PHY復(fù)位時(shí)間不夠引起網(wǎng)卡工作不正常;
MDIO源端沒串22Ω終端電阻,信號(hào)反射導(dǎo)致網(wǎng)卡工作不正常;
PCB走線沒做好等長(zhǎng)設(shè)計(jì),引起網(wǎng)卡工作異常。
復(fù)位時(shí)間不夠?qū)е戮W(wǎng)卡工作異常
有一個(gè)客戶選用致遠(yuǎn)電子的核心板設(shè)計(jì)新產(chǎn)品,搭配了自己常用的以太網(wǎng)PHY芯片LAN8720,但是工作不正常,找到我們協(xié)助進(jìn)行調(diào)試。經(jīng)了解,客戶原先網(wǎng)卡的復(fù)位是CPU控制,而在新設(shè)計(jì)中,參考了我司的開發(fā)板,改成了RC延時(shí)復(fù)位。但客戶在設(shè)計(jì)時(shí)并未注意網(wǎng)卡芯片的復(fù)位時(shí)間要求。
1. 詳情分析
LAN8720要求復(fù)位時(shí)間不得小于100us(參考圖1),而參考板使用的DP83848要求的復(fù)位時(shí)間是1us(參考圖2),所以采用的RC延時(shí)參數(shù)很小。在LAN8720電路上照搬了DP83848的參數(shù),復(fù)位時(shí)間遠(yuǎn)不滿足器件要求,所以網(wǎng)卡不能正常工作。
圖1 LAN8720復(fù)位時(shí)間要求
圖2 DP83848的復(fù)位時(shí)間要求
圖3是客戶所使用的網(wǎng)卡電路。
圖3 客戶使用的LAN7820電路圖
從電路圖可以看到,RC復(fù)位電路,R=10KΩ,C=12pF,充電時(shí)間t = RC:(10^6*12*10^-12)?= 12*10^-6 = 12us。
復(fù)位時(shí)間T = K*R1*C1(K等于3~5),乘以K常數(shù),復(fù)位時(shí)間也不到100us,無法滿足LAN8720的復(fù)位時(shí)間要求。
務(wù)必嚴(yán)格按照網(wǎng)卡芯片要求的復(fù)位時(shí)間來設(shè)計(jì)復(fù)位電路,確保網(wǎng)卡芯片能正常復(fù)位。
2. 常見網(wǎng)卡復(fù)位時(shí)間
不同網(wǎng)卡芯片對(duì)復(fù)位時(shí)間的要求差異非常大,從微秒到毫秒都有,下面匯總一些常見網(wǎng)卡復(fù)位時(shí)間要求。
LAN8720:100us起,參考圖4。
圖4 LAN8720的復(fù)位時(shí)序和時(shí)間參數(shù)
- DP83848:1us起,參考圖5。
圖5 DP83848復(fù)位時(shí)序和時(shí)間參數(shù)
裕泰微TY8512/YT8531,10ms起,參考圖6。
圖6 YT8512和YT8531的復(fù)位時(shí)間要求
ICPlus:IP101G,10ms起,參考圖7。
圖7 IP101G的復(fù)位時(shí)間和時(shí)序
綜上所述,在一般設(shè)計(jì)中,建議采用主控芯片的GPIO來控制PHY芯片的復(fù)位,并在靠近PHY芯片的附近并聯(lián)RC電路,增強(qiáng)穩(wěn)定性;對(duì)于主控芯片IO資源緊張,可以采用RC延時(shí)復(fù)位,但務(wù)必計(jì)算好需要的復(fù)位時(shí)間,并預(yù)留充足的裕量。
另外滿足了這個(gè)手冊(cè)要求的復(fù)位時(shí)間也不一定就能夠正常工作。設(shè)計(jì)中如果采用MAC給PHY提供參考時(shí)鐘的工作方式,由于主控的參考時(shí)鐘默認(rèn)可能是輸入模式,需要加載驅(qū)動(dòng)后將軟件配置為輸出模式,所以還要保證復(fù)位釋放前,以太網(wǎng)驅(qū)動(dòng)已經(jīng)加載完畢,設(shè)計(jì)RC復(fù)位參數(shù)時(shí)需要將這些時(shí)間都計(jì)算在內(nèi)。
其實(shí)不僅僅是網(wǎng)卡芯片,其它帶復(fù)位引腳的芯片,在設(shè)計(jì)電路的時(shí)候都需要考慮芯片的復(fù)位時(shí)間要求,以設(shè)計(jì)滿足條件的電路,確保其能正常工作。
關(guān)注我們,下期繼續(xù)講解《MDIO信號(hào)反射導(dǎo)致網(wǎng)絡(luò)卡死分析》。
AM335x升級(jí)之選
2路千兆以太網(wǎng)
3路CAN FD
支持GPMC
參考價(jià)格:319元起