單芯片解決方案,開啟全新體驗——W55MH32 高性能以太網單片機
W55MH32是WIZnet重磅推出的高性能以太網單片機,它為用戶帶來前所未有的集成化體驗。這顆芯片將強大的組件集于一身,具體來說,一顆W55MH32內置高性能Arm? Cortex-M3核心,其主頻最高可達216MHz;配備1024KB FLASH與96KB SRAM,滿足存儲與數(shù)據(jù)處理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP協(xié)議棧、內置MAC以及PHY,擁有獨立的32KB以太網收發(fā)緩存,可供8個獨立硬件socket使用。如此配置,真正實現(xiàn)了All-in-One解決方案,為開發(fā)者提供極大便利。
在封裝規(guī)格上,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接口。如此豐富的外設資源,能夠輕松應對工業(yè)控制中多樣化的連接需求,無論是與各類傳感器、執(zhí)行器的通信,還是對復雜工業(yè)協(xié)議的支持,都能游刃有余,成為復雜工控領域的理想選擇。同系列還有QFN68封裝的W55MH32Q版本,該版本體積更小,僅為8x8mm,成本低,適合集成度高的網關模組等場景,軟件使用方法一致。更多信息和資料請進入http://www.w5500.com/網站或者私信獲取。
此外,本W55MH32支持硬件加密算法單元,WIZnet還推出TOE+SSL應用,涵蓋TCP SSL、HTTP SSL以及 MQTT SSL等,為網絡通信安全再添保障。
為助力開發(fā)者快速上手與深入開發(fā),基于W55MH32L這顆芯片,WIZnet精心打造了配套開發(fā)板。開發(fā)板集成WIZ-Link芯片,借助一根USB C口數(shù)據(jù)線,就能輕松實現(xiàn)調試、下載以及串口打印日志等功能。開發(fā)板將所有外設全部引出,拓展功能也大幅提升,便于開發(fā)者全面評估芯片性能。
若您想獲取芯片和開發(fā)板的更多詳細信息,包括產品特性、技術參數(shù)以及價格等,歡迎訪問官方網頁:http://www.w5500.com/,我們期待與您共同探索W55MH32的無限可能。
第二十八章 W55MH32 Ethernet_Rate_Test示例
本篇文章我們將詳細介紹如何在W55MH32芯片上面實現(xiàn)太網測速功能,并通過實戰(zhàn)例程,為大家講解如何通過Jperf工具進行測速。
該例程用到的其他網絡協(xié)議,例如DHCP請參考相關章節(jié)。有關W55MH32的初始化過程,請參考Network Install章節(jié),這里將不再贅述。
1 Jperf簡介
JPerf是一個基于 Java的圖形化網絡性能測試工具,它是 Iperf(一個常用的網絡性能測試工具)的圖形用戶界面(GUI)版本。Iperf是一個流行的開源工具,廣泛用于網絡帶寬、延遲和丟包等性能指標的測試,而 JPerf則通過圖形化界面讓用戶更加方便地進行這些測試,而無需通過命令行操作。
2 Jperf特點
圖形化界面: JPerf提供一個直觀的用戶界面,簡化了 Iperf配置和運行過程,使得用戶可以更加輕松地進行網絡性能測試。
支持多種協(xié)議: JPerf 支持 TCP和 UDP協(xié)議,允許用戶在測試過程中選擇不同的協(xié)議來模擬不同類型的網絡負載。
實時性能監(jiān)控: JPerf 能夠實時顯示網絡性能數(shù)據(jù)(如帶寬、丟包率、延遲等),幫助用戶分析網絡狀況。
易于配置: 用戶可以通過圖形化界面輕松配置測試參數(shù),如測試時長、傳輸數(shù)據(jù)量、數(shù)據(jù)包大小等。
跨平臺: 作為 Java應用程序,JPerf可以在多種操作系統(tǒng)平臺上運行,包括 Windows、Linux 和 macOS。
3影響速率的幾點原因
MCU主頻
Socket緩存大小
單次傳輸數(shù)據(jù)長度
以太網差分線布線
4以太網測速流程
安裝Jperf
下載地址:https://nchc.dl.sourceforge.net/project/iperf/jperf/jperf%202.0.0/jperf-2.0.0.zip?viasf=1
安裝Jre
下載地址:Java Archive Downloads - Java SE 8u211 and later | Oracle 中國
打開jperf圖形界面
注意:必須安裝Jre才支持打開圖形化界面。
jperf.bat位于Jperf安裝目錄下:
配置工作模式以及單位量程:
對端發(fā)送數(shù)據(jù)開始測速。
5實現(xiàn)過程
接下來,我們在W55MH32上實現(xiàn)以太網測速功能。
注意:測試實例需要PC端和W55MH32處于同一網段。
步驟1:填充測速數(shù)據(jù)
1. for(uint16_t i=0; i< ETHERNET_BUF_MAX_SIZE; i++) 2. { 3. ethernet_buf[i]?=?65?+ i?%?26; 4. }
步驟2:初始化socket緩存
1. uint8_t tx_size[_WIZCHIP_SOCK_NUM_] ={2,0,0,0,0,0,0,0}; 2. uint8_t rx_size[_WIZCHIP_SOCK_NUM_] ={2,0,0,0,0,0,0,0}; 3. /* Set socket0 send and receive cache to 16KB */ 4. wizchip_init(tx_size, rx_size); 5.
步驟3:主循環(huán)調用do_jperf()函數(shù)進行測速測試
do_jperf()函數(shù)如下:
1. void do_jperf(uint8_t sn,uint8_t*buffer_txst,uint8_t*des_ip,uint16_t des_port) 2. { 3. uint32_t len; 4. uint16_t port=50000; 5. switch(getSn_SR(sn)) 6. { 7. case SOCK_INIT: 8. connect(sn, des_ip, des_port); 9. printf("%d:Try to connect to the %d.%d.%d.%d : %drn", sn, des_ip[0], des_ip[1], des_ip[2], des_ip[3], des_port); 10. break; 11. case SOCK_ESTABLISHED: 12. if(getSn_IR(sn)&Sn_IR_CON)//// Socket n interrupt register mask; TCP CON interrupt = connection with peer is successful 13. { 14. setSn_IR(sn,Sn_IR_CON); // this interrupt should be write the bit cleared to '1' 15. printf("%d:Connected to - %d.%d.%d.%d : %drn", sn, des_ip[0], des_ip[1], des_ip[2], des_ip[3], des_port); 16. } 17. send(sn, buffer_txst, strlen((char*)buffer_txst));// Data send process (User's buffer -> Destination through H/W Tx socket buffer) 18. len= getSn_RX_RSR(sn); 19. 20. if(len>=sizeof(buffer_txst))// Sn_RX_RSR: Socket n Received Size Register, Receiving data length 21. { 22. recv(sn, buffer_txst, len);// Data Receive process (H/W Rx socket buffer -> User's buffer) 23. send(0, buffer_txst, len); 24. } 25. elseif(len>0) 26. { 27. len= recv(sn, buffer_txst, len); 28. send(sn, buffer_txst, len); 29. } 30. 31. break; 32. case SOCK_CLOSE_WAIT: 33. disconnect(sn); 34. break; 35. case SOCK_CLOSED: 36. socket(sn,Sn_MR_TCP, port++,Sn_MR_ND); 37. if(port>60000) 38. { 39. port=50000; 40. } 41. break; 42. } 43. }
do_jperf()函數(shù)創(chuàng)建了一個無時延模式的TCP客戶端,在成功連接上服務器之后則不斷發(fā)送數(shù)據(jù)。
6運行結果
燒錄例程運行后,首先進行了PHY鏈路檢測,然后打印網絡地址信息,最后在未連接服務器時,不斷打印提示信息,直到連接上所設置的服務器為止:
接下來,我們看看不同主頻、socket緩存以及單次發(fā)送數(shù)據(jù)對速率的影響:
主頻:216MHz
socket收發(fā)緩存:16KB
單次數(shù)據(jù):2048 Byte
測試速率為:6.55Mbits/s
主頻:216MHz
socket收發(fā)緩存:2KB
單次數(shù)據(jù):2048 Byte
測試速率為:5.44Mbits/s
主頻:216MHz
socket收發(fā)緩存:16KB
單次數(shù)據(jù):512 Byte
測試速率為:6.03Mbits/s
主頻:72MHz
socket收發(fā)緩存:16KB
單次數(shù)據(jù):2048 Byte
測試速率為:4.34Mbits/s
7總結
本文講解了如何在 W55MH32芯片上實現(xiàn)以太網測速功能,通過實戰(zhàn)例程展示了借助 Jperf工具進行測速的具體過程,包括填充測速數(shù)據(jù)、初始化 socket緩存以及在主循環(huán)中調用函數(shù)進行測試等步驟。文章詳細介紹了 Jperf的概念、特點,以及影響以太網速率的因素和測速流程,幫助讀者理解其在網絡性能測試方面的實際應用價值。
下一篇文章將聚焦在 W55MH32芯片上實現(xiàn) Modbus TCP協(xié)議,解析 Modbus TCP協(xié)議的核心原理及在工業(yè)通信中的應用,同時通過實戰(zhàn)例程講解如何在 W55MH32上搭建 Modbus TCP服務器,實現(xiàn)與客戶端的通信,敬請期待!
WIZnet是一家無晶圓廠半導體公司,成立于 1998年。產品包括互聯(lián)網處理器 iMCU?,它采用 TOE(TCP/IP卸載引擎)技術,基于獨特的專利全硬連線 TCP/IP。iMCU?面向各種應用中的嵌入式互聯(lián)網設備。
WIZnet在全球擁有 70多家分銷商,在香港、韓國、美國設有辦事處,提供技術支持和產品營銷。
香港辦事處管理的區(qū)域包括:澳大利亞、印度、土耳其、亞洲(韓國和日本除外)。
審核編輯 黃宇
-
嵌入式
+關注
關注
5177文章
19992瀏覽量
325055 -
以太網
+關注
關注
41文章
5869瀏覽量
178808 -
Ethernet
+關注
關注
3文章
534瀏覽量
57641
發(fā)布評論請先 登錄
第二十八章 RTC——實時時鐘

第二十八講 數(shù)模和模數(shù)轉換器

第二章 W55MH32 DHCP示例

第五章 W55MH32 UDP示例

第九章 W55MH32 HTTP Server示例

第十五章 W55MH32 SNMP示例

第十八章 W55MH32 FTP_Server示例

第二十一章 W55MH32 PHY配置示例

第二十二章 W55MH32 MQTT&Aliyun示例

第二十三章 W55MH32 MQTT_OneNET示例

第二十六章 W55MH32?上位機搜索和配置示例

第二十七章 W55MH32?Interrupt示例

第二十九章 W55MH32 Modbus_TCP_Server示例

評論