18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

第六章 W55MH32 UDP?Multicast示例

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

掃碼添加小助手

加入工程師交流群

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

W55MH32是WIZnet重磅推出的高性能以太網(wǎng)單片機,它為用戶帶來前所未有的集成化體驗。這顆芯片將強大的組件集于一身,具體來說,一顆W55MH32內(nèi)置高性能Arm? Cortex-M3核心,其主頻最高可達(dá)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)模組等場景,軟件使用方法一致。更多信息和資料請進(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ù)線,就能輕松實現(xiàn)調(diào)試、下載以及串口打印日志等功能。開發(fā)板將所有外設(shè)全部引出,拓展功能也大幅提升,便于開發(fā)者全面評估芯片性能。

若您想獲取芯片和開發(fā)板的更多詳細(xì)信息,包括產(chǎn)品特性、技術(shù)參數(shù)以及價格等,歡迎訪問官方網(wǎng)頁:http://www.w5500.com/,我們期待與您共同探索W55MH32的無限可能。

wKgZO2iBiBmAe3DyAACpGc5mWX8613.png

第六章 W55MH32 UDPMulticast示例

本篇文章,我們將詳細(xì)介紹如何在W55MH32芯片上面實現(xiàn)UDP組播(UDP Multicast)通信。并通過實戰(zhàn)例程,為大家講解如何使用UDPMulticast進(jìn)行回環(huán)測試。

該例程用到的其他網(wǎng)絡(luò)協(xié)議,例如DHCP、UDP,請參考相關(guān)章節(jié)。有關(guān)W55MH32的初始化過程,也請參考Network Install章節(jié),這里將不再贅述。

1 UDPMulticast簡介

UDP組播是一種數(shù)據(jù)傳輸方法,允許數(shù)據(jù)從一個源發(fā)送到多個目標(biāo)設(shè)備,加入了相應(yīng)組播組的接收者都可以接收到數(shù)據(jù)。這種方式非常高效,廣泛應(yīng)用于需要將相同數(shù)據(jù)同時傳輸給多個接收者的場景,如視頻流媒體、實時數(shù)據(jù)分發(fā)和大規(guī)模軟件更新等。IPv4的組播地址范圍為 224.0.0.0到 233.255.255.255。

2 UDP Multicast的特點

基于UDP協(xié)議:UDP是無連接的協(xié)議,提供快速、低開銷的數(shù)據(jù)傳輸,但不保證數(shù)據(jù)的可靠性、順序性或重傳。UDP組播繼承了這些特性,因此適合對實時性要求高、對可靠性要求較低的場景。

高效數(shù)據(jù)傳輸:發(fā)送者只需要發(fā)送一份數(shù)據(jù),網(wǎng)絡(luò)設(shè)備(如路由器、交換機)負(fù)責(zé)將數(shù)據(jù)復(fù)制并傳輸?shù)剿薪M播成員。這種方式節(jié)省了帶寬,相比單播更高效。

不保證可靠性:數(shù)據(jù)可能丟失,接收者需要自己處理數(shù)據(jù)包丟失問題。

動態(tài)成員管理:組播組的成員可以動態(tài)加入或離開,無需通知發(fā)送者。

3 UDPMulticast應(yīng)用場景

接下來,我們了解下在W55MH32上,可以使用UDP Multicast完成哪些操作及應(yīng)用呢?

設(shè)備發(fā)現(xiàn)與自動配置:實現(xiàn)設(shè)備自動發(fā)現(xiàn)和網(wǎng)絡(luò)配置,如智能家居設(shè)備通過組播尋找網(wǎng)關(guān)或其他設(shè)備。

實時數(shù)據(jù)廣播:用于傳感器數(shù)據(jù)分發(fā)、工業(yè)控制和車聯(lián)網(wǎng)中實時數(shù)據(jù)的高效傳輸。

固件更新與配置分發(fā):對多個設(shè)備同時進(jìn)行固件升級或統(tǒng)一下發(fā)配置,減少網(wǎng)絡(luò)負(fù)擔(dān)。

告警和事件通知:設(shè)備異常時實時向多個監(jiān)控終端廣播告警消息。

時間同步:用于局域網(wǎng)內(nèi)的多設(shè)備時間同步,提升協(xié)同效率。

測試與調(diào)試:設(shè)備開發(fā)階段,利用組播收集狀態(tài)信息和日志數(shù)據(jù)。

4 UDP組播環(huán)回測試工作流程

1. 接收方通過IGMP協(xié)議加入組播組:IGMP(Internet Group Management Protocol)是一種網(wǎng)絡(luò)層協(xié)議,用于管理主機和路由器間的組播組成員關(guān)系。當(dāng)接收方希望接收某個組播地址的數(shù)據(jù)時,會通過IGMP向路由器發(fā)送加入組播組的請求。

2. 發(fā)送方發(fā)送測試數(shù)據(jù):發(fā)送方通過UDP協(xié)議將數(shù)據(jù)包發(fā)送到指定的組播地址和端口。所有加入組播組的接收方均可接收到數(shù)據(jù)包。

3. 接收方回傳消息:接收方在接收到組播數(shù)據(jù)后,主動回傳響應(yīng)消息到該組播組當(dāng)中?;貍鞯南⒖梢杂糜诖_認(rèn)發(fā)送成功或測試鏈路的完整性。

5 UDP單播、組播和廣播的區(qū)別

以下是UDP單播、組播和廣播的區(qū)別:

特性 單播 (Unicast) 組播 (Multicast) 廣播 (Broadcast)
通信范圍 一對一 一對多(組播組成員) 一對所有(局域網(wǎng)內(nèi)設(shè)備)
效率 點對點,高效 比單播高效,需組播支持 浪費帶寬,負(fù)載較高
地址類型 目標(biāo)設(shè)備 IP地址 組播 IP地址(224.0.0.0+) 廣播地址(子網(wǎng)廣播地址)
網(wǎng)絡(luò)配置 無需額外配置 網(wǎng)絡(luò)需支持組播 局限于子網(wǎng)內(nèi),支持廣播
應(yīng)用場景 客戶端-服務(wù)器通信 音視頻流、多設(shè)備消息廣播 局域網(wǎng)設(shè)備發(fā)現(xiàn)、告警通知

6報文解析

UDP協(xié)議報文已經(jīng)在UDP章節(jié)中講解過了,有關(guān)這部分的內(nèi)容請參考相關(guān)章節(jié),這里不再贅述。下面我們來講解一下設(shè)備在加入組播時使用的IGMP報文。

IGMP加入組播組時發(fā)送的報文是IGMP Membership Report報文。其格式如下:

字節(jié)偏移 字段名稱 長度 描述
0 類型 (Type) 1字節(jié) 指示 IGMP報文的類型(例如加入、離開)。
1 最大響應(yīng)時間 (Max Resp Time) 1字節(jié) 指定應(yīng)答的最大等待時間,僅在查詢報文中使用。
2-3 校驗和 (Checksum) 2字節(jié) 對報文頭的校驗和,用于檢測傳輸錯誤。
4-7 組地址 (Group Address) 4字節(jié) 表示加入的組播組的 IP地址。

字段解釋

類型 (Type)

值為 0x16(IGMPv2 Membership Report):表示主機請求加入組播組。

值為 0x22(IGMPv3 Membership Report):用于支持 IGMPv3的精細(xì)組播組管理。

校驗和 (Checksum)

計算方法基于標(biāo)準(zhǔn)的 IP校驗和算法。

用于確保 IGMP報文的完整性。

組地址 (Group Address)

組播組的 IP地址(范圍:224.0.0.0 - 239.255.255.255)。

加入時表示目標(biāo)的組播地址。

報文示例

|報文解析|
Internet Group Management Protocol
   [IGMP Version: 2]
   Type: Membership Report (0x16) (Type為0x16,表示主機請求加入組播組)
    Max Resp Time: 0.0 sec (0x00) (最大響應(yīng)時間為0)
   Checksum: 0x08f3 [correct] (校驗和為0x08f3)
   [Checksum Status: Good]
Multicast Address: 224.1.1.11 (組地址為224.1.1.11)

|報文原文|
16 00 08 f3 e0 01 01 0b

7實現(xiàn)過程

接下來,我們在W55MH32上實現(xiàn)UDP組播回環(huán)測試。

注意:測試實例需要PC端和W55MH32處于同一網(wǎng)段,且連接的路由器需支持IGMP協(xié)議。

UDP通信已經(jīng)在硬件層面實現(xiàn),因此我們只需要在主循環(huán)中調(diào)用udp_multicast()組播功能的函數(shù)即可,如下所示:

while (1)
{
 udp_multicast(SOCKET_ID, ethernet_buf, Multicast_mac, Multicast_IP, Multicast_port);
}

udp_multicast需要傳入5個參數(shù),分別是socket號,socket緩存,組播MAC地址,組播IP地址,組播端口號。

udp_multicast函數(shù)內(nèi)容如下:

int32_t udp_multicast(uint8_t sn, uint8_t *buf, uint8_t *multicast_mac, uint8_t *multicast_ip, uint16_t 
multicast_port)
{
int32_t  ret;
uint16_t size, sentsize;
uint8_t  destip[4];
uint16_t destport, port = 50000;
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 from [%d.%d.%d.%d][%d]: %srn", destip[0], destip[1], destip[2], destip[3],   
destport, buf);
       if (ret <= 0)
       {
#ifdef _MULTICAST_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 _MULTICAST_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 _MULTICAST_DEBUG_
   printf("%d:Multicast Loopback startrn", sn);
#endif
   setSn_DIPR(sn, multicast_ip);
   setSn_DPORT(sn, multicast_port);
   setSn_DHAR(sn, multicast_mac);
   if ((ret = socket(sn, Sn_MR_UDP, port, Sn_MR_MULTI)) != sn)
       return ret;
#ifdef _MULTICAST_DEBUG_
   printf("%d:Opened, UDP組播 Socketrn", sn);
   printf("%d:Multicast Group IP - %d.%d.%d.%drn", sn, multicast_ip[0], multicast_ip[1], 
multicast_ip[2], multicast_ip[3]);
   printf("%d:Multicast Group Port - %drn", sn, multicast_port);
#endif
   break;
default:
   break;
}
return 1;
}

程序進(jìn)入到udp_multicast函數(shù)后會執(zhí)行一個狀態(tài)機,根據(jù)Socket的狀態(tài)來執(zhí)行對應(yīng)的操作。

當(dāng)Socket處于SOCK_CLOSED狀態(tài)時,函數(shù)會初始化Socket并加入組播組,然后打印Socket的狀態(tài)和組播組的信息。

當(dāng)Socket處于SOCK_UDP狀態(tài)時,函數(shù)會檢查是否有數(shù)據(jù)接收,如果有則將數(shù)據(jù)打印出來并發(fā)送回源地址。函數(shù)成功執(zhí)行后返回1。

8運行結(jié)果

燒錄例程運行后,首先進(jìn)行了PHY鏈路檢測,然后是DHCP獲取網(wǎng)絡(luò)地址結(jié)果,最后是進(jìn)行UDPMulticast回環(huán)測試,如下圖所示:

wKgZPGiBiOuAAqHgAAB_fot5yTo336.png

接下來,我們將打開一個支持加入 UDP組播功能的網(wǎng)絡(luò)調(diào)試工具。在使用該工具時,首先要完成必要的配置操作,具體包括設(shè)置監(jiān)聽組播和發(fā)送消息的相關(guān)參數(shù)。當(dāng)完成上述配置后,我們向組播組發(fā)送消息,此時可以觀察到串口會打印出我們所發(fā)送的消息,同時在網(wǎng)絡(luò)調(diào)試工具的組播接收區(qū)域會收到相應(yīng)的回環(huán)消息,組播回環(huán)測試流程得以正常運行。

注意:如果網(wǎng)絡(luò)調(diào)試工具不支持加入組播,會導(dǎo)致收不到回環(huán)數(shù)據(jù)。這里我選的是gitcode上一個開源項目,鏈接:UDP組播調(diào)試工具。

9總結(jié)

本文介紹了在W55MH32芯片上實現(xiàn)UDP組播的原理、應(yīng)用場景及回環(huán)測試方法,并通過實戰(zhàn)代碼展示了其具體實現(xiàn)過程。下一篇文章將聚焦DNS例程,講解其工作原理及實現(xiàn)方法,幫助大家更深入地理解網(wǎng)絡(luò)通信。敬請期待!

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ū)域包括:澳大利亞、印度、土耳其、亞洲(韓國和日本除外)。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6071

    文章

    45265

    瀏覽量

    660756
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    41

    文章

    5869

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    數(shù)據(jù)采集光盤實例第一第六章

    數(shù)據(jù)采集光盤實例第一第六章
    發(fā)表于 06-28 21:02

    數(shù)據(jù)采集光盤實例第六章至第十二

    數(shù)據(jù)采集光盤實例第六章至第十二
    發(fā)表于 06-28 21:17

    《測控電路》習(xí)題完整參考答案(第六章

    《測控電路》習(xí)題完整參考答案(第六章
    發(fā)表于 05-07 11:36

    三相電路(第六章)

    三相電路(第六章) 一、 三相電源及其連接若三個電壓源的電壓uA,uB,uC的最大值相等,頻率相同,相位互差120°,則此三個電壓源的組合稱為對稱
    發(fā)表于 05-23 15:17 ?38次下載

    高頻電子線路第六章答案

    高頻電子線路第六章答案.
    發(fā)表于 06-05 10:41 ?41次下載

    《測控電路》習(xí)題完整參考答案(第六章

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

    數(shù)字信號處理 第六章

    數(shù)字信號處理 第六章
    發(fā)表于 10-19 09:34 ?4次下載
    數(shù)字信號處理 <b class='flag-5'>第六章</b>

    靜噪基礎(chǔ)第六章_EMI靜噪濾波器

    靜噪基礎(chǔ)第六章,EMI靜噪濾波器
    發(fā)表于 01-24 16:25 ?4次下載

    STM8S BLDC電機第六章工程的stm8選項字節(jié)配置

    STM8S BLDC電機第六章工程的stm8選項字節(jié)配置
    發(fā)表于 03-05 15:07 ?8次下載

    電力系統(tǒng)繼電保護(hù)第六章-變壓器保護(hù)(課件)下載.ppt

    繼電保護(hù)第六章-變壓器保護(hù)(課件)
    發(fā)表于 04-28 09:45 ?0次下載
    電力系統(tǒng)繼電保護(hù)<b class='flag-5'>第六章</b>-變壓器保護(hù)(課件)下載.ppt

    計算機網(wǎng)絡(luò)第六章應(yīng)用層資源下載

    計算機網(wǎng)絡(luò)第六章應(yīng)用層資源下載
    發(fā)表于 05-17 10:25 ?0次下載

    第五 W55MH32 UDP示例

    本文介紹了在 W55MH32?芯片上實現(xiàn) UDP?通信及數(shù)據(jù)回環(huán)測試的方法。闡述了 UDP?協(xié)議的概念、特點、應(yīng)用場景、報文傳輸流程和報文結(jié)構(gòu),展示了實現(xiàn)過程,借助網(wǎng)絡(luò)調(diào)試工具完成測試。
    的頭像 發(fā)表于 07-24 09:13 ?468次閱讀
    第五<b class='flag-5'>章</b> <b class='flag-5'>W55MH32</b> <b class='flag-5'>UDP</b><b class='flag-5'>示例</b>

    第九 W55MH32 HTTP Server示例

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

    第十六章 W55MH32 PING示例

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

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

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