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

第二十六章 W55MH32上位機搜索和配置示例
本篇文章我們將詳細介紹如何在W55MH32芯片上面實現上位機搜索和配置功能,并通過實戰例程,為大家講解如何通過上位機搜索局域網中的W55MH32,并進行網絡地址配置。例程中提供了一個開源的上位機配置工具SmartConfigTool,支持搜索設備,設置網絡地址參數以及固件升級等功能。
該例程用到的其他網絡協議,例如DHCP請參考相關章節。有關W55MH32的初始化過程,請參考Network Install章節,這里將不再贅述。
1上位機簡介
嵌入式上位機(Embedded Host)是指在嵌入式系統中,作為與嵌入式設備進行通信、控制和數據交換的上位設備。它通常擁有更強的計算能力和存儲資源,用于控制和監控下位嵌入式設備(如傳感器、執行器、嵌入式控制器等)的運行。
2特點
高效性:上位機配置下位機可以大大提高控制系統的效率。上位機發出控制命令,下位機接收并解釋成相應的時序信號來直接控制設備,響應速度快,可靠性高。
實時性:下位機可以實時地響應上位機的控制指令,并對設備進行實時控制,確保系統的穩定性和安全性。同時,下位機也可以實時地向上位機反饋設備狀態數據,使得上位機可以及時了解系統狀態并進行相應的控制調整。
靈活性:上位機和下位機可以靈活地組合和擴展,以滿足不同系統的需求。上位機可以同時連接多個下位機,對它們進行監控、控制和數據處理。同時,下位機也可以根據需要連接多個設備,實現設備的分布式控制。
交互友好:上位機通常具有人機交互界面,為用戶提供友好的圖形界面或者文本界面,方便用戶進行操作、配置和監控。
3應用場景
W55MH32使用NetBIOS協議可以進行以下幾種應用:
工業自動化:上位機發出控制指令,下位機接收并解釋成相應的時序信號來直接控制設備,響應速度快,可靠性高。上位機可以監控生產過程、發出控制指令、進行數據分析和優化等。下位機可以實時控制設備、采集設備狀態數據、接收和執行控制指令等。
物聯網:上位機可以遠程監控和管理設備、進行數據分析和處理等。下位機可以接收和執行控制指令、采集和傳輸設備狀態數據等。
智能家居:上位機可以發出控制指令、監控家庭網絡等。下位機可以接收和執行控制指令、控制智能設備的運行和狀態采集等。
醫療設備:上位機可以發出控制指令、遠程監控和管理醫療設備等。下位機可以接收和執行控制指令、控制醫療設備的運行和狀態采集等。
4搜索和配置的基本工作流程
搜索:上位機通過 UDP廣播發送 FIND命令,設備作為下位機在收到后將自身配置信息發送給上位機,上位機收到后呈現獲取到的設備信息;
配置:在已經搜索到設備的基礎上,上位機向該設備發送 SETT命令后,設備收到后根據上位機顯示的網絡信息對本地進行重新配置,并在串口顯示。

5實現過程
接下來,我們在W55MH32上實現上位機搜索回復以及上位機配置功能。
注意:測試實例需要PC端和W55MH32處于同一網段。
首先在主循環內,調用了do_udp_config()函數。持續地運行do_udp_config()函數。
1. while(1) 2. { 3. do_udp_config(SOCKET_ID);// Run and precess UpperComputer command. 4. } 5.
do_udp_config()函數不斷處理 UDP配置相關的操作,包括接收來自上位機的命令,根據命令進行不同的操作,如接收網絡信息查詢請求并返回網絡信息,或者接收網絡配置信息并更新本地網絡信息等。
do_udp_config()函數如下:
1. void do_udp_config(uint8_t sn) 2. { 3. uint16_t i; 4. uint16_t len=0; 5. uint8_t rip[4]; 6. uint16_t rport; 7. uint16_t local_port =1460; 8. uint8_t sw_version[2]={1,0}; 9. 10. memset(RecvMsg.op,0,sizeof(RecvMsg));// clear RecvMsg 11. 12. switch(getSn_SR(sn)) 13. { 14. case SOCK_UDP: 15. if((len= getSn_RX_RSR(sn))>0) 16. { 17. len= recvfrom(sn,(uint8_t*)&RecvMsg, len, rip,&rport); 18. if(len>sizeof(ConfigMsg)) 19. break; 20. { 21. // FIND: searching, SETT: setting, FIRM: firmware uploading 22. if((RecvMsg.op[0]=='F')&&(RecvMsg.op[1]=='I')&&(RecvMsg.op[2]=='N')&&(RecvMsg.op[3]=='D')) 23. { 24. wizchip_getnetinfo(&netinfo);// get config network infomation. 25. 26. memcpy(ConfigMsg.mac, netinfo.mac,6); 27. memcpy(ConfigMsg.lip, netinfo.ip,4); 28. memcpy(ConfigMsg.gw, netinfo.gw,4); 29. memcpy(ConfigMsg.dns, netinfo.dns,4); 30. memcpy(ConfigMsg.sub, netinfo.sn,4); 31. memcpy(ConfigMsg.sw_ver, sw_version,2); 32. 33. RecvMsg=ConfigMsg; 34. memcpy(RecvMsg.op,"FIND",4); 35. sendto(sn,(uint8_t*)&RecvMsg,sizeof(RecvMsg), rip, rport);// return network info to uppercomputer. 36. printf("Findrn"); 37. } 38. elseif((RecvMsg.op[0]=='S')&&(RecvMsg.op[1]=='E')&&(RecvMsg.op[2]=='T')&&(RecvMsg.op[3]=='T')) 39. { 40. printf("Settrn"); 41. if((RecvMsg.mac[0]==ConfigMsg.mac[0])&&(RecvMsg.mac[1]==ConfigMsg.mac[1])&&(RecvMsg.mac[2]==ConfigMsg.mac[2])&&(RecvMsg.mac[3]==ConfigMsg.mac[3])&&(RecvMsg.mac[4]==ConfigMsg.mac[4])&&(RecvMsg.mac[5]==ConfigMsg.mac[5])) 42. { 43. for(i=0; i?4; i++)?// recv uppercomputer config network info 44. { 45. memcpy(netinfo.ip,?RecvMsg.lip,?4); 46. memcpy(netinfo.sn,?RecvMsg.sub,?4); 47. memcpy(netinfo.gw,?RecvMsg.gw,?4); 48. memcpy(netinfo.dns,?RecvMsg.dns,?4); 49. netinfo.dhcp?= NETINFO_STATIC; 50. } 51. wizchip_setnetinfo(&netinfo);?// write chip 52. printf("From the UpperComputer Config network information :rn"); 53. print_network_information();? // readback and print 54. } 55. } 56. } 57. } 58. 59. break; 60. case SOCK_CLOSED: 61. socket(sn,?Sn_MR_UDP, local_port,?0x00); 62. break; 63. } 64. } 65.
首先會運行一個UDP的狀態機,當接收到消息時,會判斷指令,如果為“FIND”指令,則讀取設備的網絡地址信息進行回傳,如果為“SETT”指令,則將上位機下發的地址更新到W55MH32中。
6運行結果
燒錄例程運行后,首先進行了PHY鏈路檢測,然后是通過DHCP獲取網絡地址并打印網絡地址信息,觀察串口打印的信息以獲取設備運行狀態;等待設備打印相關網絡信息后,打開ConfigTool上位機工具,點擊Search可以看到上位機成功獲取并呈現設備信息,然后修改IP地址,點擊Setting可以看到串口這邊打印了上位機配置后的網絡信息,如下圖所示:

上位機查找設備:

上位機修改網絡配置信息:

7總結
本文講解了如何在 W55MH32芯片上實現上位機搜索和配置功能,通過實戰例程展示了使用開源上位機配置工具 SmartConfigTool搜索局域網中的 W55MH32并進行網絡地址配置的過程。文章詳細介紹了上位機的概念、特點、應用場景以及搜索和配置的基本工作流程,幫助讀者理解其在嵌入式設備管理中的實際應用價值。
下一篇文章將聚焦在 W55MH32芯片上面使用 TOE中斷功能,解析 TOE中斷功能的核心原理及應用,同時通過實戰例程講解如何利用中斷進行回環數據測試,敬請期待!
WIZnet是一家無晶圓廠半導體公司,成立于 1998年。產品包括互聯網處理器 iMCU?,它采用 TOE(TCP/IP卸載引擎)技術,基于獨特的專利全硬連線 TCP/IP。iMCU?面向各種應用中的嵌入式互聯網設備。
WIZnet在全球擁有 70多家分銷商,在香港、韓國、美國設有辦事處,提供技術支持和產品營銷。
香港辦事處管理的區域包括:澳大利亞、印度、土耳其、亞洲(韓國和日本除外)。
審核編輯 黃宇
-
嵌入式
+關注
關注
5198文章
20442瀏覽量
333972 -
以太網
+關注
關注
41文章
5997瀏覽量
180798
發布評論請先 登錄
第二十九章 W55MH32 Modbus_TCP_Server示例
第二十七章 W55MH32?Interrupt示例
第二十五章 W55MH32 TCP_Server_Multi_Socket示例
第二十三章 W55MH32 MQTT_OneNET示例
第二十二章 W55MH32 MQTT&Aliyun示例
第二十一章 W55MH32 PHY配置示例
第十八章 W55MH32 FTP_Server示例
第十六章 W55MH32 PING示例
第十五章 W55MH32 SNMP示例
第九章 W55MH32 HTTP Server示例
第六章 W55MH32 UDP?Multicast示例
第五章 W55MH32 UDP示例
第二章 W55MH32 DHCP示例
第二十六章 DAC——輸出正弦波
即刻啟程,踏上W55MH32高性能以太網單片機學習之路!
第二十六章 W55MH32?上位機搜索和配置示例
評論