單芯片解決方案,開啟全新體驗(yàn)——W55MH32 高性能以太網(wǎng)單片機(jī)
W55MH32是WIZnet重磅推出的高性能以太網(wǎng)單片機(jī),它為用戶帶來前所未有的集成化體驗(yàn)。這顆芯片將強(qiáng)大的組件集于一身,具體來說,一顆W55MH32內(nèi)置高性能Arm? Cortex-M3核心,其主頻最高可達(dá)216MHz;配備1024KB FLASH與96KB SRAM,滿足存儲(chǔ)與數(shù)據(jù)處理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP協(xié)議棧、內(nèi)置MAC以及PHY,擁有獨(dú)立的32KB以太網(wǎng)收發(fā)緩存,可供8個(gè)獨(dú)立硬件socket使用。如此配置,真正實(shí)現(xiàn)了All-in-One解決方案,為開發(fā)者提供極大便利。
在封裝規(guī)格上,W55MH32 提供了兩種選擇:QFN100和QFN68。
W55MH32L采用QFN100封裝版本,尺寸為12x12mm,其資源豐富,專為各種復(fù)雜工控場(chǎng)景設(shè)計(jì)。它擁有66個(gè)GPIO、3個(gè)ADC、12通道DMA、17個(gè)定時(shí)器、2個(gè)I2C、5個(gè)串口、2個(gè)SPI接口(其中1個(gè)帶I2S接口復(fù)用)、1個(gè)CAN、1個(gè)USB2.0以及1個(gè)SDIO接口。如此豐富的外設(shè)資源,能夠輕松應(yīng)對(duì)工業(yè)控制中多樣化的連接需求,無論是與各類傳感器、執(zhí)行器的通信,還是對(duì)復(fù)雜工業(yè)協(xié)議的支持,都能游刃有余,成為復(fù)雜工控領(lǐng)域的理想選擇。同系列還有QFN68封裝的W55MH32Q版本,該版本體積更小,僅為8x8mm,成本低,適合集成度高的網(wǎng)關(guān)模組等場(chǎng)景,軟件使用方法一致。更多信息和資料請(qǐng)進(jìn)入http://www.w5500.com/網(wǎng)站或者私信獲取。
此外,本W(wǎng)55MH32支持硬件加密算法單元,WIZnet還推出TOE+SSL應(yīng)用,涵蓋TCP SSL、HTTP SSL以及 MQTT SSL等,為網(wǎng)絡(luò)通信安全再添保障。
為助力開發(fā)者快速上手與深入開發(fā),基于W55MH32L這顆芯片,WIZnet精心打造了配套開發(fā)板。開發(fā)板集成WIZ-Link芯片,借助一根USB C口數(shù)據(jù)線,就能輕松實(shí)現(xiàn)調(diào)試、下載以及串口打印日志等功能。開發(fā)板將所有外設(shè)全部引出,拓展功能也大幅提升,便于開發(fā)者全面評(píng)估芯片性能。
若您想獲取芯片和開發(fā)板的更多詳細(xì)信息,包括產(chǎn)品特性、技術(shù)參數(shù)以及價(jià)格等,歡迎訪問官方網(wǎng)頁:http://www.w5500.com/,我們期待與您共同探索W55MH32的無限可能。

第二十章 W55MH32 WOL示例
本篇文章,我們將詳細(xì)介紹如何在W55MH32芯片上面實(shí)現(xiàn)網(wǎng)絡(luò)喚醒(Wake-on-LAN)功能。
該例程用到的其他網(wǎng)絡(luò)協(xié)議,例如 DHCP,請(qǐng)參考相關(guān)章節(jié)。有關(guān)W55MH32的初始化過程,也請(qǐng)參考Network Install章節(jié),這里將不再贅述。
1 WOL簡(jiǎn)介
WOL即網(wǎng)絡(luò)喚醒(Wake-on-LAN)是一種用于通過網(wǎng)絡(luò)遠(yuǎn)程喚醒計(jì)算機(jī)的網(wǎng)絡(luò)標(biāo)準(zhǔn)協(xié)議。它允許通過發(fā)送特定的網(wǎng)絡(luò)數(shù)據(jù)包(即“魔術(shù)包”)來喚醒處于休眠或關(guān)機(jī)狀態(tài)的設(shè)備。
2 WOL特點(diǎn)
簡(jiǎn)單性:WOL的核心是魔術(shù)包(Magic Packet),其格式非常簡(jiǎn)單且固定。魔術(shù)包由102個(gè)字節(jié)組成,前6
個(gè)字節(jié)固定為0xFF,后續(xù)是目標(biāo)設(shè)備的MAC地址重復(fù)16次。
設(shè)備待機(jī)喚醒:WOL允許設(shè)備在不使用時(shí)進(jìn)入低功耗狀態(tài),如待機(jī)、休眠或關(guān)機(jī)狀態(tài)。當(dāng)有遠(yuǎn)程喚醒需求時(shí)
設(shè)備能夠通過接收魔術(shù)包快速恢復(fù)到正常運(yùn)行狀態(tài),滿足用戶的使用需求。
廣播機(jī)制:魔術(shù)包通常是通過UDP廣播的形式發(fā)送,即使設(shè)備的IP地址未知或存在多臺(tái)設(shè)備,也能通過廣播包找到目標(biāo)設(shè)備。
安全性高:WOL協(xié)議基于 MAC地址來識(shí)別目標(biāo)設(shè)備,只有當(dāng)魔術(shù)包中包含的 MAC地址與網(wǎng)卡自身的 MAC地
址匹配時(shí),設(shè)備才會(huì)被喚醒。
3 WOL應(yīng)用場(chǎng)景
接下來,我們了解下在W55MH32上,可以使用WOL協(xié)議完成哪些操作及應(yīng)用呢?
遠(yuǎn)程喚醒嵌入式設(shè)備:設(shè)備在待機(jī)狀態(tài)時(shí),通過網(wǎng)絡(luò)喚醒恢復(fù)工作狀態(tài),如工業(yè)設(shè)備和智能家居設(shè)備。
智能網(wǎng)關(guān)與家庭自動(dòng)化:通過魔術(shù)包喚醒智能家居網(wǎng)關(guān)設(shè)備,實(shí)現(xiàn)控制和管理。
網(wǎng)絡(luò)設(shè)備批量喚醒:管理員通過 WOL技術(shù)批量喚醒多個(gè)設(shè)備進(jìn)行維護(hù)和升級(jí)。
低功耗 IoT設(shè)備喚醒:IoT設(shè)備在低功耗模式下被喚醒執(zhí)行任務(wù),延長(zhǎng)電池壽命。
嵌入式系統(tǒng)遠(yuǎn)程管理:設(shè)備在遠(yuǎn)程環(huán)境中被喚醒進(jìn)行配置、管理或故障排除。目標(biāo)設(shè)備匹配,則該設(shè)備將執(zhí)
行喚醒操作,恢復(fù)到活動(dòng)狀態(tài)。
4 WOL協(xié)議基本工作流程
1.開啟 WOL功能:被喚醒設(shè)備需要在 BIOS中開啟 WOL功能,或者在操作系統(tǒng)中啟用此功能,確保網(wǎng)絡(luò)接口卡支持并啟用了 WOL。
2.開啟 UDP Socket:被喚醒設(shè)備通常需要開啟一個(gè) UDP Socket監(jiān)聽端口,用于接收來自網(wǎng)絡(luò)的魔術(shù)包(Magic Packet)。
3.接收魔術(shù)包:當(dāng)設(shè)備接收到一個(gè)符合標(biāo)準(zhǔn)的魔術(shù)包時(shí),魔術(shù)包中包含了目標(biāo)設(shè)備的 MAC地址,設(shè)備通過比對(duì) MAC地址來判斷是否應(yīng)該被喚醒。
4.喚醒操作:如果魔術(shù)包中的 MAC地址與目標(biāo)設(shè)備匹配,則該設(shè)備將執(zhí)行喚醒操作,恢復(fù)到活動(dòng)狀態(tài)。
5實(shí)現(xiàn)過程
接下來,我們?cè)?W55MH32上實(shí)現(xiàn)WOL遠(yuǎn)程喚醒測(cè)試。
注意:測(cè)試實(shí)例需要PC端和W55MH32處于同一網(wǎng)段。
wol_run()函數(shù)用于處理與UDP Socket相關(guān)的操作,以監(jiān)聽和處理網(wǎng)絡(luò)喚醒魔術(shù)包。這個(gè)函數(shù)需要主循環(huán)中調(diào)用,如下所示:
while (1)
{
wol_run(SOCKET_ID, ethernet_buf, local_port);
}
wol_run()函數(shù)內(nèi)容如下:
/** * @brief Wake on Lan run function * @param sn: Socket number * @param buf: ethernet buffer pointer * @param local_port: Local port * @return none **/ void wol_run(uint8_t sn, uint8_t *buf, uint16_t local_port) { switch (getSn_SR(sn)) { case SOCK_UDP: if (getSn_IR(sn) & Sn_IR_RECV) { setSn_IR(sn, Sn_IR_RECV); } if (getIR() & IR_MP) // Received WOL Magic packet based on UDP. { printf("get wake on linern"); setIR(0x10); } break; case SOCK_CLOSED: setIMR(IM_IR4); // Open WOL magic pack interrupt setMR(MR_WOL); // Receive WOL packets socket(sn, Sn_MR_UDP, local_port, 0); printf("%d:Opened, UDP WOL, port [%d]rn", sn, local_port); break; } }
wol_run需要傳入3個(gè)參數(shù),分別是socket號(hào),socket緩存以及源端口號(hào)。
wol_run()函數(shù)通過不斷檢查socket狀態(tài),當(dāng)socket處于SOCK_CLOSED狀態(tài)時(shí),會(huì)創(chuàng)建一個(gè)UDP模式的socket,并開啟WOL功能以及中斷,當(dāng)socket處于SOCK_UDP模式時(shí),只需不斷的監(jiān)聽中斷寄存器,當(dāng)W55MH32收到魔法包時(shí),IR寄存器的MP位(0x10)生效,此時(shí)可以進(jìn)行喚醒操作。
6運(yùn)行結(jié)果
燒錄例程運(yùn)行后,首先進(jìn)行了PHY鏈路檢測(cè),然后通過DHCP設(shè)置網(wǎng)絡(luò)信息,通過網(wǎng)絡(luò)調(diào)試助手發(fā)送魔術(shù)包實(shí)現(xiàn)遠(yuǎn)程喚醒。使用sockettest網(wǎng)絡(luò)助手發(fā)送hex格式數(shù)據(jù)需要勾選Enable $# command選項(xiàng)在每個(gè)數(shù)據(jù)前面加上$符號(hào),注意不能有空格,空格會(huì)被轉(zhuǎn)換為0X20。
注:(若使用其他網(wǎng)絡(luò)調(diào)試助手發(fā)送HEX格式即可)
如下圖所示:


7總結(jié)
本文講解了如何在 W55MH32芯片上實(shí)現(xiàn)網(wǎng)絡(luò)喚醒(WOL)功能,通過實(shí)戰(zhàn)例程展示了從設(shè)置 UDP Socket監(jiān)聽魔術(shù)包到接收并處理魔術(shù)包實(shí)現(xiàn)設(shè)備喚醒的完整過程。文章詳細(xì)介紹了 WOL的概念、特點(diǎn)、應(yīng)用場(chǎng)景、基本工作流程,幫助讀者理解其在遠(yuǎn)程設(shè)備管理和節(jié)能方面的實(shí)際應(yīng)用價(jià)值。
下一篇文章將聚焦 Low Power模式,解析調(diào)節(jié)PHY速率的方法,根據(jù)場(chǎng)景調(diào)節(jié)不同的 PHY速率以達(dá)成低功耗目標(biāo),敬請(qǐng)期待!
WIZnet是一家無晶圓廠半導(dǎo)體公司,成立于 1998年。產(chǎn)品包括互聯(lián)網(wǎng)處理器 iMCU?,它采用 TOE(TCP/IP卸載引擎)技術(shù),基于獨(dú)特的專利全硬連線 TCP/IP。iMCU?面向各種應(yīng)用中的嵌入式互聯(lián)網(wǎng)設(shè)備。
WIZnet在全球擁有 70多家分銷商,在香港、韓國(guó)、美國(guó)設(shè)有辦事處,提供技術(shù)支持和產(chǎn)品營(yíng)銷。
香港辦事處管理的區(qū)域包括:澳大利亞、印度、土耳其、亞洲(韓國(guó)和日本除外)。
審核編輯 黃宇
-
嵌入式
+關(guān)注
關(guān)注
5177文章
20014瀏覽量
325916 -
以太網(wǎng)
+關(guān)注
關(guān)注
41文章
5876瀏覽量
179046
發(fā)布評(píng)論請(qǐng)先 登錄
第二十章 淺談BKP
第二章 W55MH32 DHCP示例
第五章 W55MH32 UDP示例
第九章 W55MH32 HTTP Server示例
第十章 W55MH32 SNTP示例
第十五章 W55MH32 SNMP示例
第十六章 W55MH32 PING示例
第二十一章 W55MH32 PHY配置示例
第二十二章 W55MH32 MQTT&Aliyun示例
第二十三章 W55MH32 MQTT_OneNET示例
第二十五章 W55MH32 TCP_Server_Multi_Socket示例
第二十六章 W55MH32?上位機(jī)搜索和配置示例
第二十七章 W55MH32?Interrupt示例
第二十九章 W55MH32 Modbus_TCP_Server示例
第三十章 W55MH32 HTTP_Server&NetBIOS示例

第二十章 W55MH32 WOL示例
評(píng)論