W5500 官網例程獲取途徑及移植思路
前言:
最近在和W5500的客戶接觸中,絕大多數客戶都是網上下的不明出處的資料。
繪製的工程板電路及相關驅動程式五花八門。除錯起來或多或少有些許問題。
所以想著寫篇博文,給大家推薦下官網的連結,內有官方推薦電路及W5500相關例程。
W5500 乙太網介面晶片權威設計指南網址連結——www.w5500.cn
該網站由WIZnet中國區代理——深圳煒世科技進行運營及維護。
網站內的提供的推薦電路都是久經市場考驗,確保使用者硬體上的穩定。
其次網站內的應用例程均經過多次實測可用,搭配其出的W5500 EVB可直接燒錄使用。
然而這個例程是按照STM32F103RCT6的主控編寫,不是所有客戶都能夠直接使用。
那麼我們需要移植哪些必要檔案才能夠正常使用相應例程?接下來我會圖文結合,一起走遍流程。
移植步驟:
注:移植前必須保證工程板的SPI讀寫已經封裝完畢,且可以正常使用。
1.開啟工程,我們需要移植以下檔案。
每個檔案內都有檔案功能註釋,我在這裡就不一一贅述。
2.新增入自己工程後需要註釋掉的引用及函式
ST庫檔案的引用;
延時函式及時鐘初始化函式的遮蔽;
EEPROM相關的函式遮蔽;
注:E2的作用是儲存其web網頁改寫的IP,下次上電IP從E2內讀取。
如果使用到類似功能,E2的功能框架都要根據set_w5500_ip函式來做。
型別的重定向等等。
注:此部分客戶根據自己工程進行調整即可。
3.註冊底層SPI讀寫函式,及CS、RST、INT等引腳的初始化
RST部分:
管腳的初始化我就不在贅述,這個函式內需要將W5500的RST管腳拉低。
拉低時間,實測2us有效,但是也可以根據W5500資料手冊內規定的最少500us。
然後拉高,延時一小段時間保持穩定即可。
INT部分:
INT是W5500觸發外部中斷的引腳,例程內並未使用中斷。
官方不推薦客戶使用中斷模式,因為其中斷型別繁多,需要客戶考慮到的情況很多。
且網路資料中斷頻繁,一般的MCU可能沒法處理過來,造成中斷巢狀。
如需使用,按照外部中斷管腳配置即可。
CS部分:
注:因為W5500內部預設的SPI通訊機制,SPI的CS必須可控,不能單純接地。
這個函式內,將CS的拉高拉低電平的函式寫入即可。
註冊SPI讀寫函式
主要在於這3個函式,如果你的SPI讀寫,已經整合成一個函式,那麼只需要修改“IINCHIP_SpiSendData()”函式即可
如果讀寫是拆分開的,則需要將這倆函式“IINCHIP_WRITE()”“IINCHIP_READ()”進行讀寫替換。
至此,大致上的移植我們就已經完成了。剩下只需要修改掉相關錯誤及警告就可以正常驅動W5500。
W5500驅動流程如下:
初始化相關IO引腳後,必須先復位一次W5500,使內部迴歸初始值。
然後通過讀取PHY暫存器的LINK位判斷網線是否接入。
如果已經搭配了交換機晶片等,那麼PHY檢測無法生效,可以跳過。
最後則寫入MAC、IP及分配socket的收發快取即可。
如果使用DHCP,則遮蔽IP函式即可,MAC必須寫入。
其他說明:
DHCP的移植,是基本乙太網產品都必須具備的功能。
其中DHCP有個在定時器內中斷啟用的函式,主要進行續租請求的判斷。使用DHCP必須完善該步驟。
產品的W5500電路設計必須依照網站推薦的電路設計,其久經市場考驗。正確的電路設計是穩定驅動W5500的前提之一。
相關資料煒世已經整理上傳至www.w5500.cn網址內,歡迎各位前往瀏覽。
WIZnet W5500技術交流群:383035001,群內有“大神”為大家答疑解惑。
後續我將會陸續釋出關於W5500各類功能測試博文,有興趣的朋友歡迎關注。
煒世是WIZnet的的官方代理商,W5500可提供模組/評估板供客戶測試。
如需詳細資料/樣品申請/技術支援等,歡迎與我們聯絡。
煒世為客戶提供全程的技術支援與優異的價格優勢。
網址:深圳煒世科技-物聯網系統解決方案提供商 & WIZnet授權代理商
電話:13798261264
QQ:2571856470