伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

第五章 W55MH32 UDP示例

W55MH32 ? 來源:W55MH32 ? 作者:W55MH32 ? 2025-07-24 09:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

單芯片解決方案,開啟全新體驗——W55MH32 高性能以太網單片機

W55MH32是WIZnet重磅推出的高性能以太網單片機,它為用戶帶來前所未有的集成化體驗。這顆芯片將強大的組件集于一身,具體來說,一顆W55MH32內置高性能Arm? Cortex-M3核心,其主頻最高可達216MHz;配備1024KB FLASH與96KB SRAM,滿足存儲與數A據處理需求;集成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的無限可能。

wKgZO2iBiBmAe3DyAACpGc5mWX8613.png

單芯片解決方案,開啟全新體驗——W55MH32 高性能以太網單片機

W55MH32是WIZnet重磅推出的高性能以太網單片機,它為用戶帶來前所未有的集成化體驗。這顆芯片將強大的組件集于一身,具體來說,一顆W55MH32內置高性能Arm? Cortex-M3核心,其主頻最高可達216MHz;配備1024KB FLASH與96KB SRAM,滿足存儲與數A據處理需求;集成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的無限可能。

wKgZO2iBiBmAe3DyAACpGc5mWX8613.png

第五章 W55MH32 UDP示例

本篇文章,我們將詳細介紹如何在W55MH32芯片上面實現UDP通信。并通過實戰例程,為大家講解如何使用UDP進行數據回環測試。

該例程用到的其他網絡協議,例如DHCP,請參考相關章節。有關W55MH32的初始化過程,也請參考Network Install章節,這里將不再贅述。

1 UDP協議簡介

用戶數據報協議(UDP,User Datagram Protocol)是OSI模型中傳輸層的核心協議之一。它是一種無連接的、面向數據報的傳輸協議,用于在IP網絡中進行高效的數據傳輸。與TCP協議相比,UDP更簡單、輕量,提供最基本的傳輸功能。

2 UDP協議特點

無連接性:UDP不需要在傳輸數據前建立連接,發送方可以直接發送數據到目標地址,接收方也無需確認接收到數據。

數據報的獨立性:數據以獨立的數據報形式發送,每個數據報包含完整的消息信息。

高效性:UDP沒有流量控制、擁塞控制和重傳機制,因此開銷小,傳輸效率高,適合對實時性要求較高的應用。

不可靠性:UDP不保證數據可靠傳輸,可能出現數據丟失、重復或亂序。

支持廣播和多播:UDP可以進行廣播和多播數據發送,非常適合一對多的通信場景。

簡單的頭部格式:UDP頭部只有8字節,包括源端口、目標端口、長度和校驗和。

3 UDP應用場景

接下來,我們了解下在W55MH32上,可以使用UDP協議完成哪些操作及應用呢?

實時數據傳輸:工業自動化控制、網絡攝像頭等場景下使用W55MH32實現實時數據傳輸。

設備發現和自動配置:通過發送廣播包給W55MH32來實現設備發現和自動配置功能。

廣播和多播通信:通過廣播和多播通信方式來實現一對多通信。例如狀態同步和多設備控制。

數據采集:需要高頻率傳輸小數據包的應用場景。例如溫濕度傳感器的狀態更新。

4 UDP報文傳輸流程

發送ARP報文,確認對方地址在線

獲取數據信息,并通過UDP傳輸。

添加UDP頭部信息

數據報通過IP協議傳遞到目標地址。

接收方從目標端口接收數據報

5 UDP協議報文

wKgZO2iBiBmAOz7zAABpoFIeIyA385.png

源端口:發送方的端口號;

目的端口:接收方的端口號;

報文長度:即整個 UDP 報文的長度,包括頭部和數據,單位為字節。

檢驗和:校驗和;

UDP報文實例:

C0A8 0001 C0A8 0002 1F90 1F91 0021 F7DF 4865 6C6C 6F2C 2055 4450 21
IP部分(前16字節):
C0A8 0001:源IP地址(192.168.0.1)
C0A8 0002:目標IP地址(192.168.0.2)
UDP部分(后部分):
1F90:源端口號(8080)
1F91:目標端口號(8081)
0021:報文長度(33字節)
F7DF:校驗和(校驗數據完整性)
4865 6C6C 6F2C 2055 4450 21:數據部分("Hello, UDP!"的ASCII表示)

在W55MH32中,UDP協議已在內部硬件協議棧實現,所以我們只需要讀取和寫入對應寄存器的值即可實現發送和接收數據,無需手動組包。

6實現過程

接下來,我們在W55MH32上實現UDP回環測試,loopback_udps()函數是實現UDP回環測試功能的函數。

注意:測試實例需要PC端和W55MH32處于同一網段。

這個函數需要主循環中調用,如下圖所示。

while (1)
{
   loopback_udps(SOCKET_ID, ethernet_buf, local_port);
}
 

loopback_udps()需要傳入3個參數,分別是socket號,socket緩存以及源端口號

loopback_udps()函數內容如下:

 int32_t loopback_udps(uint8_t sn, uint8_t *buf, uint16_t port)
{
 int32_t  ret;
 uint16_t size, sentsize;
 uint8_t  destip[4];
 uint16_t destport;
 switch (getSn_SR(sn))
 {
 case SOCK_UDP:
     if ((size = getSn_RX_RSR(sn)) > 0)
     {
         if (size > DATA_BUF_SIZE)
             size = DATA_BUF_SIZE;
         ret      = recvfrom(sn, buf, size, destip, (uint16_t *)&destport);
         buf[ret] = 0x00;
         printf("recv form[%d.%d.%d.%d][%d]: %srn", destip[0], destip[1], destip[2], destip[3], destport, buf);
         if (ret <= 0)
         {
#ifdef _LOOPBACK_DEBUG_
             printf("%d: recvfrom error. %ldrn", sn, ret);
#endif
             return ret;
         }
         size     = (uint16_t)ret;
         sentsize = 0;
         while (sentsize != size)
         {
             ret = sendto(sn, buf + sentsize, size - sentsize, destip, destport);
             if (ret < 0)
             {
#ifdef _LOOPBACK_DEBUG_
                 printf("%d: sendto error. %ldrn", sn, ret);
#endif
                 return ret;
             }
             sentsize += ret; // Don't care SOCKERR_BUSY, because it is zero.
         }
     }
     break;
 case SOCK_CLOSED:
#ifdef _LOOPBACK_DEBUG_
     // printf("%d:UDP loopback startrn",sn);
#endif
     if ((ret = socket(sn, Sn_MR_UDP, port, 0x00)) != sn)
         return ret;
#ifdef _LOOPBACK_DEBUG_
     printf("%d:Opened, UDP loopback, port [%d]rn", sn, port);
#endif
     break;
 default:
     break;
 }
 return 1;
}

進入回環測試程序后,會執行一個socket狀態機,在socket狀態機中,會執行以下步驟:

步驟1:打開socket

當socket處于SOCK_CLOSED狀態時(即關閉狀態),將該socket設置為UDP模式并打開。

步驟2:監聽接收數據并回環數據

當socket處于SOCK_UDP狀態時(即已打開socket并配置為UDP模式),監聽Sn_RX_RSR寄存器。

當Sn_RX_RSR寄存器的值大于0時,則說明已經接收到UDP數據,先通過recvfrom()函數取出接收到的UDP數據。

然后通過sendto()函數將接收到的數據回環發送出去。

7運行結果

燒錄例程運行后,首先進行了PHY鏈路檢測,然后是DHCP獲取網絡地址結果,最后是進行UDP回環測試,如下圖所示:

wKgZO2iBiCKAc4kJAABOpIuwBB8914.png

接下來我們打開一個網絡調試工具,例如SocketTester,設置為UDP模式,選擇自己的IP地址和端口后打開socket,然后設置目標地址和目標端口為W55MH32的IP地址和端口號,最后向W55MH32發送數據進行回環測試的流程。

可以看到,W55MH32這邊接收到了來自PC端發送的數據并打印了出來,SocketTester界面也看到了W55MH32的回環數據,如下圖所示:

當使用UDP廣播模式向W55MH32發送數據時,只需要將SocketTester上的目標地址改為W55MH32所在網段的廣播地址(192.168.1.255)即可。以下為UDP廣播發送給W55MH32的示例圖:

wKgZPGiBiBmAJLYEAABzfULtm-A183.png

8總結

本文介紹了在 W55MH32芯片上實現 UDP通信及數據回環測試的方法。闡述了 UDP協議的概念、特點、應用場景、報文傳輸流程和報文結構,展示了實現過程,借助網絡調試工具完成測試。

下一篇將講解在該芯片上實現 UDP組播通信及回環測試,介紹相關原理和實現步驟。敬請期待!

WIZnet是一家無晶圓廠半導體公司,成立于 1998年。產品包括互聯網處理器 iMCU?,它采用 TOE(TCP/IP卸載引擎)技術,基于獨特的專利全硬連線 TCP/IP。iMCU?面向各種應用中的嵌入式互聯網設備。

WIZnet在全球擁有 70多家分銷商,在香港、韓國、美國設有辦事處,提供技術支持和產品營銷。

香港辦事處管理的區域包括:澳大利亞、印度、土耳其、亞洲(韓國和日本除外)。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 以太網
    +關注

    關注

    41

    文章

    6092

    瀏覽量

    181315
  • 封裝
    +關注

    關注

    128

    文章

    9298

    瀏覽量

    148894
  • UDP
    UDP
    +關注

    關注

    0

    文章

    334

    瀏覽量

    35484
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    高頻電子線路第五章答案

    高頻電子線路第五章答案.
    發表于 06-05 10:40 ?40次下載

    《測控電路》習題完整參考答案(第五章

    《測控電路》習題完整參考答案(第五章
    發表于 02-07 15:17 ?0次下載

    數字信號處理 第五章

    數字信號處理 第五章
    發表于 10-19 09:33 ?4次下載
    數字信號處理 <b class='flag-5'>第五章</b>

    靜噪基礎第五章_導體傳導和共模

    靜噪基礎第五章,導體傳導和共模
    發表于 01-24 16:18 ?3次下載

    第二 W55MH32 DHCP示例

    本文介紹 DHCP?協議,包括其在 IP?網絡自動分配參數的功能、便捷配置等特點、工作原理、報文格式和應用場景。通過 W55MH32?實戰例程展示動態獲取網絡地址信息過程,含注冊定時器中斷、啟用模式和獲取信息等步驟,燒錄后可完成檢測與信息打印,PC?端能 PING?通設備。
    的頭像 發表于 07-24 09:02 ?926次閱讀
    第二<b class='flag-5'>章</b> <b class='flag-5'>W55MH32</b> DHCP<b class='flag-5'>示例</b>

    第三 W55MH32 TCP Client示例

    本文介紹在 W55MH32?芯片上實現 TCP?客戶端模式進行數據回環測試的方法。闡述 TCP?協議概念、特點、與 UDP?區別、應用場景及相關機制。展示實現過程,包括開啟 Keepalive?功能,在主循環運行測試程序。燒錄例程后進行 PHY?鏈路檢測、獲取網絡地址,再
    的頭像 發表于 07-24 09:06 ?1231次閱讀
    第三<b class='flag-5'>章</b> <b class='flag-5'>W55MH32</b> TCP Client<b class='flag-5'>示例</b>

    第六 W55MH32 UDP?Multicast示例

    本文介紹了在W55MH32芯片上實現UDP組播的原理、應用場景及回環測試方法,并通過實戰代碼展示了其具體實現過程。下一篇文章將聚焦DNS例程,講解其工作原理及實現方法,幫助大家更深入地理解網絡通信。敬請期待!
    的頭像 發表于 07-24 09:19 ?1179次閱讀
    第六<b class='flag-5'>章</b> <b class='flag-5'>W55MH32</b> <b class='flag-5'>UDP</b>?Multicast<b class='flag-5'>示例</b>

    第九 W55MH32 HTTP Server示例

    本文介紹了在 W55MH32?芯片上實現 HTTP Server?功能,并通過瀏覽器修改其網絡地址信息的方法。闡述了 HTTP?協議的概念、特點、應用場景、工作流程、請求方法、響應內容,以及 Web?頁面構成和交互方式。展示了在W55MH32上實現的過程。
    的頭像 發表于 07-24 09:35 ?1257次閱讀
    第九<b class='flag-5'>章</b> <b class='flag-5'>W55MH32</b> HTTP Server<b class='flag-5'>示例</b>

    第十 W55MH32 SNTP示例

    本文講解了如何在W55MH32芯片上實現SNTP授時功能,通過實例詳細展示了從SNTP服務器同步時間的實現流程,包括時間請求、響應解析和本地時間校準等核心步驟。文章還對SNTP的應用場景進行了分析,幫助讀者理解其在時間同步中的實際應用價值。
    的頭像 發表于 07-24 09:43 ?1381次閱讀
    第十<b class='flag-5'>章</b> <b class='flag-5'>W55MH32</b> SNTP<b class='flag-5'>示例</b>

    第十四章 W55MH32 TFTP示例

    本文講解了如何在 W55MH32?芯片上實現 TFTP?協議,通過實戰例程詳細展示了使用 TFTP?客戶端模式從服務器獲取文本文件的過程,涵蓋 TFTP?初始化、發送讀請求、運行協議并處理結果等核心
    的頭像 發表于 07-24 10:37 ?1187次閱讀
    第十四章 <b class='flag-5'>W55MH32</b> TFTP<b class='flag-5'>示例</b>

    第十五 W55MH32 SNMP示例

    本文講解了如何在 W55MH32?芯片上實現 SNMP?功能,通過實戰例程展示了使用 MIB Browser?管理 W55MH32?的具體過程,涵蓋在 MIB Browser?中創建分支、添加葉子
    的頭像 發表于 07-24 10:43 ?1132次閱讀
    第十五<b class='flag-5'>章</b> <b class='flag-5'>W55MH32</b> SNMP<b class='flag-5'>示例</b>

    第十六章 W55MH32 PING示例

    本文講解了如何在 W55MH32?芯片上通過 IPRAW?模式實現 ICMP?協議中的 PING?命令,以進行網絡連通性測試,通過實戰例程展示了從發送 PING?請求、接收并解析回復到統計結果的完整
    的頭像 發表于 07-24 11:41 ?1056次閱讀
    第十六章 <b class='flag-5'>W55MH32</b> PING<b class='flag-5'>示例</b>

    第十八章 W55MH32 FTP_Server示例

    本文講解了如何在 W55MH32?芯片上實現 FTP?協議的服務器模式,通過實戰例程展示了使用 W55MH32?作為 FTP?服務器與 PC?端進行文件傳輸、目錄操作等功能的過程,涵蓋獲取網絡配置
    的頭像 發表于 07-24 11:55 ?882次閱讀
    第十八章 <b class='flag-5'>W55MH32</b> FTP_Server<b class='flag-5'>示例</b>

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

    本文講解了如何在 W55MH32?芯片上實現上位機搜索和配置功能,通過實戰例程展示了使用開源上位機配置工具 SmartConfigTool?搜索局域網中的 W55MH32?并進行網絡地址配置的過程
    的頭像 發表于 07-24 16:13 ?993次閱讀
    第二十六章 <b class='flag-5'>W55MH32</b>?上位機搜索和配置<b class='flag-5'>示例</b>

    第三十 W55MH32 HTTP_Server&amp;NetBIOS示例

    本文講解了如何在 W55MH32?芯片上實現 HTTP_Server?與 NetBIOS?功能,并通過 NetBIOS?訪問 HTTP?服務器網頁內容,通過實戰例程展示了在主循環中并行處理 HTTP?與 NetBIOS?相關事務的過程。
    的頭像 發表于 07-24 16:21 ?1720次閱讀
    第三十<b class='flag-5'>章</b> <b class='flag-5'>W55MH32</b> HTTP_Server&amp;NetBIOS<b class='flag-5'>示例</b>