Re: Help Me!
|
||||
---|---|---|---|---|
高級會員
|
抱歉 ! 是我太緊張了 !!
或許只是那顆ENC28J60有受損但還沒霸工!! Ethernet PICtail Plus Daughter Board的Version 4與Version 5的線路圖之間我只看到 R8的電阻值不同 , 但不知為何要變 ?? Version 5為 2K7 , Version 4為 2K32 找到一個資訊 (ENC28J60 Rev. B7 Silicon Errata) , 大家研究看看是不是問題的癥結所在 ? http://ww1.microchip.com/downloads/en/DeviceDoc/80349b.pdf Attach file: (0.00 KB)
發表於: 2009/6/6 22:47
Edited by genitec on 2009年06月06日 23:21:03
Edited by genitec on 2009年06月06日 23:22:34 Edited by genitec on 2009年06月06日 23:26:34 |
|||
|
Re: Help Me!
|
||||
---|---|---|---|---|
新會員
|
在此澄清並強調一下。我並沒有任何明確的資料證明Explorer 16與Ethernet PICtail Plus Daughter Board有相容性問題,只是將看到同好們遇到相同問題,剛好自己也遇到,所以才提出。請大家不要誤解。
因為到目前為止,我只是剛好遇到一塊這樣子的Ethernet PICtail Plus Daughter Board(看似壞卻沒壞),之後遇到的Version 5搭配Explorer 16整合測試都是OK的。 順帶在提一下,使用ENC28J60晶片做網路功能時,在Layout好送洗,板子拿到手並且焊接完後。一定會想到要如何得知硬體Layout有沒有大問題,要用什麼樣的程式去檢測網路底硬體通訊是否OK。如果是根據Ethernet PICtail Plus Daughter Board參考電路圖去Layout。這樣的話,『不需要任何程式』,只要電源線路與ENC28J60相關線路先上好零件,然後直接上電並接上網路線至HUB,ENC28J60的LED燈就會亮,HUB如果有LED指示的話,那麼HUB那邊的燈也會亮。到這邊,ENC28J60與網路的連接已無問題。剩下的只是ENC28J60與MCU之間的SPI介面通訊測試。 以下是Ethernet PICtail Plus Daughter Board網址,裡面剛好有Version 4與Version 5的線路圖,請參考附檔。 http://www.microchip.com/stellent/idc ... Id=1406&dDocName=en027750 我下載來看,怎麼看都看不出有哪裡不同。 另外,只需擔心網路現有沒有問題,不用擔心網路現有沒有跳線,ENC28J60會幫你自動做極性偵測。 Attach file: (0.00 KB)
發表於: 2009/6/6 16:20
|
|||
|
Re: Help Me!
|
||||
---|---|---|---|---|
高級會員
|
因為覺得納悶 , 打開 Ethernet PICtail Plus Rev 5 Schematic.pdf 看了一下 , 發現 gehom大 說的 R10 原來是接到 ENC28J60 的 RESET 腳 , R10 沒接 , 那不就可能會 RESET 不良嗎?
gehom大 試試接個 PULL HIGH到 VDD , 或者 POWER ON後 讓 ENC28J60 的 PIN 6 和 PIN 7 短路一下 (RESET) , 看看會不會就 MACInit成功了??
發表於: 2009/6/6 1:51
|
|||
|
Re: Help Me!
|
||||
---|---|---|---|---|
高級會員
|
那不就是 Explorer 16 + Ethernet PICtail Plus Daughter Board 有相容性的問題!!
我的 Explorer 16 在 p1的背面有 "05-01872 REV 5" Ethernet PICtail Plus Daughter 的版本像 SimonWu大說的是5 記得當時上RTC時是可以WORK的 ------------------------------------------------ 大家整合看看 , 看能不能得到一些資訊 !! gehom大 可不可以說說你所用的版本?? SimonWu大 當時測試的資訊沒留到真是太可惜了!! 參照: 後來交叉測試,這塊有問題的Ethernet PICtail Plus Daughter Board可以跟一些Explorer組裝使用,跟另外一些Explorer無法組裝使用。
發表於: 2009/6/6 1:25
|
|||
|
Re: Help Me!
|
||||
---|---|---|---|---|
新會員
|
抱歉,我說錯,Ethernet PICtail Plus Daughter Board電路板版本編號是與網路接頭同一面,剛好在接頭的旁邊。你在找找看。
發表於: 2009/6/5 22:23
|
|||
|
Re: Help Me!
|
||||
---|---|---|---|---|
新會員
|
你的ENC28J60 Demo Board『不一定』壞掉,請留著。我曾經遇過這問題。
當時一些原因,拿身旁可取得的Explorer 16 + PIC32MX USB PIM + Ethernet PICtail Plus Daughter Board。 此時的『Explorer 16 + PIC32MX USB PIM』這兩個板子,是我先前已經驗證過,確實可以跟『先前』的一塊『Ethernet PICtail Plus Daughter Board』組裝在一起,實現網路功能。 而當下因為先前那塊Ethernet PICtail Plus Daughter Board借給別人用,所以我又拿了『另一塊』Ethernet PICtail Plus Daughter Board來用,結果開始出問題,出的問題就如gehom說得一樣,卡在同一個位置,那個位置是最剛開始的初始化網路晶片的動作。照理說沒問題的板子絕對不應該卡在那邊。 因ENC28J60晶片我曾拿來與8051系列、MSP430系列做過硬體整合,將Microchip's TCP/IP Stack移植到那些平台上無誤的正確動作,不能稱說很熟,但基本的一些功能還算瞭解。所以我也是直覺告訴我手上這片Ethernet PICtail Plus Daughter Board一定有問題,烙鐵也出動了,重新過錫,量訊號,Ethernet PICtail Plus Daughter Board板子上的一些電壓準位都正常。但死都是不會過那個while-loop。所以經過了三天,我私自判那塊板子死刑。然後在找朋友拿回先前可動的Ethernet PICtail Plus Daughter Board來用。 但最重要的事情發生,雖然判死刑,我還是帶在身邊,因為一些原因,剛好遇到好多塊Explorer板子,我就將這塊認為壞掉的Ethernet PICtail Plus Daughter Board插上去,跑網路程式,結果竟然是可以用,後來交叉測試,這塊有問題的Ethernet PICtail Plus Daughter Board可以跟一些Explorer組裝使用,跟另外一些Explorer無法組裝使用。 可惜因為當時時間有限與有事要處理,無法找出是否因為Explorer板子的版本不同而出現這問題,還是其它什麼原因導致這問題產生。唯一確定的是,相容性較差的Ethernet PICtail Plus Daughter Board電路版本本是『5』,印刷上的文字也較模糊,粗糙很多。gehom可先將Ethernet PICtail Plus Daughter Board翻過來看,背面有版本可看。 最終原因我還是沒找到,也沒機會在碰到那環境,建議gehom你先把它留著,有機會去上RTC時,拿去跟別塊Explorer做整合測試。也可試試Explorer搭配別塊、別種PIC MCU來測試。在決定是否判它死刑。 當時有問題的Ethernet PICtail Plus Daughter Board配上『行動RTC』的Explorer 16是可以動的。你在試看看。
發表於: 2009/6/5 22:18
|
|||
|
Re: Help Me!
|
||||
---|---|---|---|---|
新會員
|
感謝 Ryang 和 genitec 前輩的提點, 說明, 雖然搞了好久還是沒反應, 但應該可能知道問題出在那了.
剛開始玩時(PS.自己太懶沒先確定腳位), 無圖可考, 試前段插孔SPI1也不行, 試後段插孔SPI2也不行 可能不小心把 Ethernet PICtail Plus 搞掛了, 雖然燈也有亮但 ENC28J60 可能掛了, 所以才會卡在這沒回應. (猜的) MACInit(); | v // RESET the entire ENC28J60, clearing all registers // Also wait for CLKRDY to become set. // Bit 3 in ESTAT is an unimplemented bit. If it reads out as '1' that // means the part is in RESET or there is something wrong with the SPI // connection. This loop makes sure that we can communicate with the // ENC28J60 before proceeding. do{ SendSystemReset(); i = ReadETHReg(ESTAT).Val; } while((i & 0x08) || (~i & ESTAT_CLKRDY)); 我會再去敗一顆回來試試, 驗證看看. 謝謝 genitec 前輩的幫忙, 感謝萬分, 等會動了, 再來向您請教 3Q & 3Q ^.^
發表於: 2009/6/5 20:30
|
|||
|
Re: Help Me!
|
||||
---|---|---|---|---|
高級會員
|
你的主程式應該是卡在下列:
// If the DHCP lease has changed recently, write the new
也不能說卡住 , 主流程 while(1) {...} 應該一直在跑 , 只是DHCP取不到 IP , DHCPBindCount一直無法加一 , 使得你的"New IP Address: 192.168.1.123 "一直無法顯示出來 最快的方法 , 將第8項 disable , 改用你在 TCPIPConfig.h 的內定 IP , 開機應該會SHOW 出 IP.
發表於: 2009/6/5 16:04
|
|||
|
Re: Help Me!
|
||||
---|---|---|---|---|
高級會員
|
參照:
發表於: 2009/6/5 15:35
|
|||
|