1. 程式人生 > >W5500 官網例程獲取途徑及移植思路

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

郵箱:[email protected]