單芯片解決方案,開啟全新體驗——W55MH32 高性能以太網(wǎng)單片機
W55MH32是WIZnet重磅推出的高性能以太網(wǎng)單片機,它為用戶帶來前所未有的集成化體驗。這顆芯片將強大的組件集于一身,具體來說,一顆W55MH32內(nèi)置高性能Arm? Cortex-M3核心,其主頻最高可達216MHz;配備1024KB FLASH與96KB SRAM,滿足存儲與數(shù)據(jù)處理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP協(xié)議棧、內(nèi)置MAC以及PHY,擁有獨立的32KB以太網(wǎng)收發(fā)緩存,可供8個獨立硬件socket使用。如此配置,真正實現(xiàn)了All-in-One解決方案,為開發(fā)者提供極大便利。
在封裝規(guī)格上,W55MH32提供了兩種選擇:QFN100和QFN68。
W55MH32L采用QFN100封裝版本,尺寸為12x12mm,其資源豐富,專為各種復(fù)雜工控場景設(shè)計。它擁有66個GPIO、3個ADC、12通道DMA、17個定時器、2個I2C、5個串口、2個SPI接口(其中1個帶I2S接口復(fù)用)、1個CAN、1個USB2.0以及1個SDIO接口。如此豐富的外設(shè)資源,能夠輕松應(yīng)對工業(yè)控制中多樣化的連接需求,無論是與各類傳感器、執(zhí)行器的通信,還是對復(fù)雜工業(yè)協(xié)議的支持,都能游刃有余,成為復(fù)雜工控領(lǐng)域的理想選擇。同系列還有QFN68封裝的W55MH32Q版本,該版本體積更小,僅為8x8mm,成本低,適合集成度高的網(wǎng)關(guā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ù)線,就能輕松實現(xiàn)調(diào)試、下載以及串口打印日志等功能。開發(fā)板將所有外設(shè)全部引出,拓展功能也大幅提升,便于開發(fā)者全面評估芯片性能。
若您想獲取芯片和開發(fā)板的更多詳細信息,包括產(chǎn)品特性、技術(shù)參數(shù)以及價格等,歡迎訪問官方網(wǎng)頁:http://www.w5500.com/,我們期待與您共同探索W55MH32的無限可能。
第二十六章 W55MH32上位機搜索和配置示例
本篇文章我們將詳細介紹如何在W55MH32芯片上面實現(xiàn)上位機搜索和配置功能,并通過實戰(zhàn)例程,為大家講解如何通過上位機搜索局域網(wǎng)中的W55MH32,并進行網(wǎng)絡(luò)地址配置。例程中提供了一個開源的上位機配置工具SmartConfigTool,支持搜索設(shè)備,設(shè)置網(wǎng)絡(luò)地址參數(shù)以及固件升級等功能。
該例程用到的其他網(wǎng)絡(luò)協(xié)議,例如DHCP請參考相關(guān)章節(jié)。有關(guān)W55MH32的初始化過程,請參考Network Install章節(jié),這里將不再贅述。
1上位機簡介
嵌入式上位機(Embedded Host)是指在嵌入式系統(tǒng)中,作為與嵌入式設(shè)備進行通信、控制和數(shù)據(jù)交換的上位設(shè)備。它通常擁有更強的計算能力和存儲資源,用于控制和監(jiān)控下位嵌入式設(shè)備(如傳感器、執(zhí)行器、嵌入式控制器等)的運行。
2特點
高效性:上位機配置下位機可以大大提高控制系統(tǒng)的效率。上位機發(fā)出控制命令,下位機接收并解釋成相應(yīng)的時序信號來直接控制設(shè)備,響應(yīng)速度快,可靠性高。
實時性:下位機可以實時地響應(yīng)上位機的控制指令,并對設(shè)備進行實時控制,確保系統(tǒng)的穩(wěn)定性和安全性。同時,下位機也可以實時地向上位機反饋設(shè)備狀態(tài)數(shù)據(jù),使得上位機可以及時了解系統(tǒng)狀態(tài)并進行相應(yīng)的控制調(diào)整。
靈活性:上位機和下位機可以靈活地組合和擴展,以滿足不同系統(tǒng)的需求。上位機可以同時連接多個下位機,對它們進行監(jiān)控、控制和數(shù)據(jù)處理。同時,下位機也可以根據(jù)需要連接多個設(shè)備,實現(xiàn)設(shè)備的分布式控制。
交互友好:上位機通常具有人機交互界面,為用戶提供友好的圖形界面或者文本界面,方便用戶進行操作、配置和監(jiān)控。
3應(yīng)用場景
W55MH32使用NetBIOS協(xié)議可以進行以下幾種應(yīng)用:
工業(yè)自動化:上位機發(fā)出控制指令,下位機接收并解釋成相應(yīng)的時序信號來直接控制設(shè)備,響應(yīng)速度快,可靠性高。上位機可以監(jiān)控生產(chǎn)過程、發(fā)出控制指令、進行數(shù)據(jù)分析和優(yōu)化等。下位機可以實時控制設(shè)備、采集設(shè)備狀態(tài)數(shù)據(jù)、接收和執(zhí)行控制指令等。
物聯(lián)網(wǎng):上位機可以遠程監(jiān)控和管理設(shè)備、進行數(shù)據(jù)分析和處理等。下位機可以接收和執(zhí)行控制指令、采集和傳輸設(shè)備狀態(tài)數(shù)據(jù)等。
智能家居:上位機可以發(fā)出控制指令、監(jiān)控家庭網(wǎng)絡(luò)等。下位機可以接收和執(zhí)行控制指令、控制智能設(shè)備的運行和狀態(tài)采集等。
醫(yī)療設(shè)備:上位機可以發(fā)出控制指令、遠程監(jiān)控和管理醫(yī)療設(shè)備等。下位機可以接收和執(zhí)行控制指令、控制醫(yī)療設(shè)備的運行和狀態(tài)采集等。
4搜索和配置的基本工作流程
搜索:上位機通過 UDP廣播發(fā)送 FIND命令,設(shè)備作為下位機在收到后將自身配置信息發(fā)送給上位機,上位機收到后呈現(xiàn)獲取到的設(shè)備信息;
配置:在已經(jīng)搜索到設(shè)備的基礎(chǔ)上,上位機向該設(shè)備發(fā)送 SETT命令后,設(shè)備收到后根據(jù)上位機顯示的網(wǎng)絡(luò)信息對本地進行重新配置,并在串口顯示。
5實現(xiàn)過程
接下來,我們在W55MH32上實現(xiàn)上位機搜索回復(fù)以及上位機配置功能。
注意:測試實例需要PC端和W55MH32處于同一網(wǎng)段。
首先在主循環(huán)內(nèi),調(diào)用了do_udp_config()函數(shù)。持續(xù)地運行do_udp_config()函數(shù)。
1. while(1) 2. { 3. do_udp_config(SOCKET_ID);// Run and precess UpperComputer command. 4. } 5.
do_udp_config()函數(shù)不斷處理 UDP配置相關(guān)的操作,包括接收來自上位機的命令,根據(jù)命令進行不同的操作,如接收網(wǎng)絡(luò)信息查詢請求并返回網(wǎng)絡(luò)信息,或者接收網(wǎng)絡(luò)配置信息并更新本地網(wǎng)絡(luò)信息等。
do_udp_config()函數(shù)如下:
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的狀態(tài)機,當(dāng)接收到消息時,會判斷指令,如果為“FIND”指令,則讀取設(shè)備的網(wǎng)絡(luò)地址信息進行回傳,如果為“SETT”指令,則將上位機下發(fā)的地址更新到W55MH32中。
6運行結(jié)果
燒錄例程運行后,首先進行了PHY鏈路檢測,然后是通過DHCP獲取網(wǎng)絡(luò)地址并打印網(wǎng)絡(luò)地址信息,觀察串口打印的信息以獲取設(shè)備運行狀態(tài);等待設(shè)備打印相關(guān)網(wǎng)絡(luò)信息后,打開ConfigTool上位機工具,點擊Search可以看到上位機成功獲取并呈現(xiàn)設(shè)備信息,然后修改IP地址,點擊Setting可以看到串口這邊打印了上位機配置后的網(wǎng)絡(luò)信息,如下圖所示:
上位機查找設(shè)備:
上位機修改網(wǎng)絡(luò)配置信息:
7總結(jié)
本文講解了如何在 W55MH32芯片上實現(xiàn)上位機搜索和配置功能,通過實戰(zhàn)例程展示了使用開源上位機配置工具 SmartConfigTool搜索局域網(wǎng)中的 W55MH32并進行網(wǎng)絡(luò)地址配置的過程。文章詳細介紹了上位機的概念、特點、應(yīng)用場景以及搜索和配置的基本工作流程,幫助讀者理解其在嵌入式設(shè)備管理中的實際應(yīng)用價值。
下一篇文章將聚焦在 W55MH32芯片上面使用 TOE中斷功能,解析 TOE中斷功能的核心原理及應(yīng)用,同時通過實戰(zhàn)例程講解如何利用中斷進行回環(huán)數(shù)據(jù)測試,敬請期待!
WIZnet是一家無晶圓廠半導(dǎo)體公司,成立于 1998年。產(chǎn)品包括互聯(lián)網(wǎng)處理器 iMCU?,它采用 TOE(TCP/IP卸載引擎)技術(shù),基于獨特的專利全硬連線 TCP/IP。iMCU?面向各種應(yīng)用中的嵌入式互聯(lián)網(wǎng)設(shè)備。
WIZnet在全球擁有 70多家分銷商,在香港、韓國、美國設(shè)有辦事處,提供技術(shù)支持和產(chǎn)品營銷。
香港辦事處管理的區(qū)域包括:澳大利亞、印度、土耳其、亞洲(韓國和日本除外)。
審核編輯 黃宇
-
嵌入式
+關(guān)注
關(guān)注
5154文章
19708瀏覽量
318095 -
以太網(wǎng)
+關(guān)注
關(guān)注
41文章
5684瀏覽量
176251
發(fā)布評論請先 登錄
第二十九章 W55MH32 Modbus_TCP_Server示例

第二十七章 W55MH32?Interrupt示例

第二十三章 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高性能以太網(wǎng)單片機學(xué)習(xí)之路!

評論