公司擁有優秀的銷售團隊和專業的研發部門,不但在品牌、價格、供貨、服務等方面領先業界,而且可為客戶提供及時、可行的技術支持和整體設計服務,滿足不同客戶多層次需求。
W5500問題集錦(六)
1、 如何確認W5500網絡芯片物理連接是否正常?
使用W5500網絡協議芯片,對其進行可靠的硬件復位(網絡協議芯片的RESET或RST引腳)后可能出現下列現象:
(1) 芯片的LINKLED引腳輸出低電平,LINKLED指示燈會被點亮(未接,接錯或燈壞除外).
(2) 如果是通過網線直連電腦,電腦上本地連接顯示本地連接已連接狀態。如果是網線連到路由等設備,路由等相應指示燈提示連接成功。
如果出現上述現象,表明物理連接已經成功并且芯片工作,否則需要排查相關問題。
2、 如何檢測W5500物理連接是否成功與芯片是否工作及相關線路是否正常有關系?
(1) 因芯片焊反或關鍵位置虛焊,短路等問題導致芯片不能正常工作。
(2) 因芯片的供電,接地等不正常或連接芯片,導致芯片不能正常工作。
(3) 因芯片引腳外接的用于隔離數字電源與模擬電源的1uH電感損壞開路,導致不能工作。
(4) 因芯片的晶振不按要求連接,而導致芯片不能工作。使用有源振蕩器的,線路連接錯誤,或者有源振蕩器的電壓不是1.8V,請參考原理圖進行正確設計 。
(5) 因復位引腳連接錯誤,使得芯片不能完成可靠復位。
(6) 因線路中RXIP、RXIN、TXOP、TXON與變壓器的連接錯誤,導致與電腦等無法建立連接。
(7) 因采用與線路不匹配的或壞的RJ45模塊和變壓器導致與電腦等無法連接。這里需要特別補充一下的是,W5500變壓器連接上與W5100、W5200、W5300大不一樣,如直接把他們的連接照搬過來可能不能工作,具體參考原理圖。
(8) 因網線或電腦路由器等不正常而無法連接。
(9) 因某些MCU只需電壓2.7V就可工作,MCU在電壓還未上升到3V就對需要3V以上才能運行的網絡協議芯片進行復位操作必然失敗,最終導致不能連接。(可程序解決)
(10) 如果是使用的W5300芯片,當不使用外部PHY時,TEST_MODE[3:0](19~22引腳),必須全部為低電平,可全接地,否則可能因沒有PHY導致不能連接。
3、 W5500連接正常卻PING不通,怎么辦?
W5500芯片是否可以ping通,不僅與物理連接等有關系,還和相關電路以及網關、子網掩碼、MAC地址、IP地址配置有關系,可以從以下方面進行排除:
(1) W5500的EXRES1引腳(10腳)所接12.4K參考電阻,均接地且要求誤差必須控制在1%以內。
(2) RXIP、RXIN、TXOP、TXON接口,信號長度必須小于 25cm,越短越好,且盡量走等
長線,各差分信號相差不能超過2.5cm。RXIP,RXIN應盡量靠近,TXOP,TXON應盡量靠
近,有條件的應走平行線。
(3) 必須保證被操作的寄存器地址配置正確。
(4) 可以對寄存器進行讀寫操作,判斷讀寫是否一樣,采用SPI接口的可以以此判斷SPI部分的程序以及電路有無問題。使用并行接口的,則可以判斷程序以及地址線、數據線的連接有無問題。
(5) MAC地址的第一個字節必須為偶數。
(6) 必須正確設置子網掩碼,且電腦IP地址與網絡芯片的IP地址必須設置在同一個子網。
4、 為什么W5500芯片可以PING通,但無法發送數據?
W5500芯片可以ping通,說明相關電路以及網關、子網掩碼、MAC地址、IP地址配置均正常, 如果不能建立連接發送接收數據,需要從從SOCKET配置,SOCKET狀態,中斷寄存器,發送接收程序,或是上位機軟件的設置等進行排查 。
具體配置參考W5500數據手冊
5、 W5500在配置時需要檢查網關嗎?為什么?
其實只要不訪問外網,完全可以不做這個檢測,如果要訪問外網,必須經過網關,做這步就是為提前知道網關是否存在,是否正常工作。
6、 為什么檢測網關時要將目的IP地址每位加‘1’?
在正確設置網關的情況下,去連接一個不在同一子網(外網)的目的IP,就可找到網關,而將目的IP每位加1,正好造就一個不在同一子網的目的IP,如果愿意你加2加3都可以。
7、 為什么檢測網關要判斷目的MAC地址首位不為0xff?
因為未找到網關以前,讀出目的MAC地址所有位全為0xff, 至于為什么判斷首位,因為找到的目的MAC地址首位應該是偶數,因此絕不可能是0xff(255)
8、 WIZnet網絡芯片TCP模式下的客戶端與服務器有什么異同?
不同點:
客戶端起啟動連接(CONNECT)的作用,主動連接必須要知道連接目標,因此要正確設置SOCKET的目的(服務器)IP和目的(服務器)端口號。
服務器則是偵聽的作用(LISTEN),等待連接不需要設置目的IP 和目的端口號,客戶端來連接時,服務器自然知道客戶端的IP地址與端口號。
相同點:
客戶端服務器SOCKET 分片長度最大均為1460字節,即每次發送最大為1460字節
客戶端服務器均要先配置為TCP模式
客戶端服務器連接成功均為SOCK_ESTABLISHED狀態(Sn_SR 寄存器)
詳細內容可查看各芯片的《數據手冊》
9、 TCP模式下,通過路由器,對方拔掉網線后,再插上后不能建立通訊怎么辦?
WIZnet芯片可以在發送過數據后,空閑既未發送也未接收達的情況,到一定時間(3秒,5秒,10秒自定義)后,發送SEND_KEEP命令,如對方正常就保持連接,如果對方在一定時間內未回應,則發出超時中斷,自動關閉SOCKET端口,就可以自動重新連接,這樣就能連接上了。但此命令只能用于TCP模式,如果是UDP模式下如果也想查看對方狀態就需要從程序想辦法了。
10、 請問,官方例程為什么不提供中斷模式控制W5500的數據收發呢
因為中斷讀了數據后,然后還是要去讀寄存器,去判斷是什么中斷,有可能在判斷的過程中又來了N 個中斷,增加中斷就增加了很多不確定因素。
中斷必然有響應時間,當上次中斷還沒結束,又產生新的中斷甚至連續產生多次新的中斷時,或者中斷標志未及時清除,必然不能響應所有中斷,此時以中斷標志位來判斷是否該接收,必然丟失數據。
11、 同一塊芯片,同時使用多個SOCKET工作,應該注意什么問題
WIZnet目前每款網絡協議芯片都可以支持多個SOCKET同時工作,但每個SOCKET可以且必須以不同的端口號做為區分。
12、 多塊網絡協議芯片同時使用,端口號可以設置成一樣嗎?
多塊網絡協議芯片在同一個子網中使用,應具備唯一的MAC地址,唯一的IP地址,因為不在同一塊網絡芯片,IP地址、MAC地址不一樣,因此可以設置成一樣的端口號。
13、 W5500設備,在同一網段存在多臺設備的情況,運行不正常
問題描述:單個設備在局域網中的時候能夠正常Ping通,而且TCP連接也使用正常沒有任何問題;
解答:首先檢查程序中IP地址、MAC地址是否有沖突,如果地址都沒有沖突,可檢查程序中配置的問題。
14、 同一塊網絡芯片的多個SOCKET,可以同時設置成客戶端去連接電腦服務器的一個端口嗎,怎么實現?
當然可以,WIZnet每款網絡協議芯片都可以支持多個SOCKET同時工作,只需將芯片內每個SOCKET設置成不同端口號,分別設置成客戶端去連接服務器就行, 前提是服務器的上位機軟件需支持多任務,否則不能成功。
15、 用dhcp模式,插在電腦上能捕捉到discover,一插到路由器上就捕捉不到了,更別提offer了,是為什么?
首先,需要檢查discover的內容,最簡單的就是,你把電腦設置成固定IP,再設置成DHCP,抓一下電腦的內容,然后再對比一下
16、 將w5500的RST引到電源上面 這樣軟件就不用配置RST了 可行嗎?
這樣是不可行的,復位必須有可靠操作,讓芯片滿足工作條件;
RST那里只是保險,但絕大多數問題是其他原因造成的,如果沒有反應,先看一下W5500回的信息,有沒有正確的初始化,再去找其他問題的原因。
17、 W5500芯片有發熱現象是為什么?
W5500芯片內部集成了PHY,將會處理大量以太網信息,所以功耗會較大,芯片溫度會比較高。但是,WIZnet芯片滿足工業級標準(-40°C~80°C)的要求,擁有廣泛的工作溫度范圍。正常工作的溫度遠低于工作溫度范圍的上限,所以用戶若正常操作無短接等現象,發現芯片發熱屬正常現象。