在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

STM32以太網MAC Loopback的實現

STM32單片機 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2020-12-29 10:06 ? 次閱讀

STM32 以太網 MAC Loopback的實現

前言

在STM32以太網調試中經常會遇到“設備接收不到數據”,或者“設備發出的數據對端設備收不到”之類的問題。遇到這類問題首先要做的是定位問題發生的部位,這樣做的好處就是可以指明下一步調試的方向,縮小分析的范圍。以下圖為例我們做個簡單的說明,設備A和設備B通過以太網通信,現發現設備B無法接收設備A發送的消息,問題可能出現在幾個地方:

應用層的程序,或者協議棧出錯,數據根本沒有到STM32以太網外設。這種情況我們在調試的時候,在以太網輸出函數low_level_output中打個斷點就可以檢查出來。

STM32以太網MAC出現問題,沒有把數據發送出去。對于這種情況,可以通過STM32以太網的MAC loopback功能來檢查MAC的收發是否正常。

STM32以太網MAC和外部PHY之間的通信出現問題。可以通過PHY提供的loopback功能來檢查。

設備A端的收發沒有問題,問題可能出現在線路上或者設備B。可以通過在網口的接線上做網線交叉,也就是將RJ-45接口中TX+與RX+連接,TX-與RX-連接,來進行檢查。

本文將主要介紹上面提到的STM32 MAC loopback方法。

MAC loopback模式

MAC loopback模式的使能很簡單,將ETH_MACCR寄存器的LM位置位就可以了。

MAC loopback模式使能后,MAC發送的數據幀通過MII接口發送給外部PHY的同時也發送到MAC接收端。這里需要注意的是STM32 MAC loopback模式只支持在MII接口下工作。

但要正確的接收到loopback的數據,還需要注意一下幾個地方:

MAC loopback模式下,MII接口的接收時鐘(RX_CLK)和發送時鐘(TX_CLK)還需要外部PHY來提供,所以PHY的初始化不能省。

以太網幀中的目標MAC地址應該和源MAC地址一樣,或者設定為廣播地址(FFFFFF:FF),否則MAC默認將會過濾接收到的數據。或者將ETH_MACFFR寄存器的RA置位,以接收所有的以太網幀。

對于F7,H7這類帶有cache的MCU型號,需要注意接收/發送描述符和接收/發送buffer的地址,以及cache屬性。因為這部分存放在SRAM的數據CPU和以太網DMA都會去讀寫,如果使能cache(回寫)可能會出現數據不一致的情況。也不能將其定義在STM32F769的DTCM RAM區域。

MAC loopback例程

例程說明

本文基于STM32F769I-EVAL板提供了一個以太網外設測試工程。工程中沒有用到TCP/IP協議棧,只通過STM32F7的HAL驅動層,實現了以太網MAC層的數據收發,同時也實現了MAC loopback的功能。這個測試工程的目的是,檢測STM32以太網外設的配置是否正確,工作是否正常。

這個例程提供兩種工作模式:

正常模式

在這種模式下,可以正常與另一個設備(PC或者其他的開發板)通信,也就是可以發送和接收以太網幀。用戶可以發送自定義的以太網幀數據,程序會自動構建以太網幀并發送。因為沒有實現任何TCP/IP協議,如果想發送IP包或者TCP/UDP包,就需要自己先按照這些包的格式構建好數據。

MAC loopback模式

在這種模式下,STM32F769I-EVAL板子發送的數據被直接送回到MII接口的接收端。如果此時網口還連接到另一個設備的話,該設備也是可以接收到數據的。

例程配置

打開例程后,先要做以下的配置:

設置目標MAC地址(dst_addr)

如果發送廣播,dst_addr設置為FFFFFF:FF。如果在MAC loopback模式下,dst_addr設置成和src_addr一樣。

定義幀數據的類型(frame_type)

可以發送自定義的幀數據類型,或者通用的預先定義好的幀數據類型。比如,如果發送的是IPv4的數據,frame_type就是0x0800;如果發送自定義的類型,則可以使用未被分配的數值。在這個demo中,用的是0x0601。

初始化要發送的數據buffer

要發送的數據保存在teststring數組中。請注意,這個數組里只保存應用層要發送的數據,也就是以太網幀格式的數據段,不包括目標/源MAC地址,以太網幀數據類型和CRC校驗碼。

如果不使能MAC loopback功能,則在main.h中注釋掉MAC_LOOPBACK_ENABLE宏

修改好以上的參數后,重新編譯燒錄后運行。

每次按下USER按鍵,觸發一次數據發送。接收到的數據保存在rxbuffer,并且板子上的LD1燈會改變一次狀態。

正常模式演示

在正常模式下,為了演示方便我們使用PC與STM32F769I-EVAL連接,在PC上運行XCAP來發送/接收以太網幀數據。

MAC例程端的配置如下:

1. 接收數據測試

打開xcap,構造一個發給STM32F769I-EVAL板的以太網幀。

目標MAC地址:020000:00

Frame Type: Custom(0x0601)

數據:10字節,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55

在xcap中,選擇創建好的報文,點擊發送。

53cb2c7e-48bf-11eb-8b86-12bb97331649.jpg

這時就可以在Wireshark里捕獲的數據包中看到剛剛發送出去的這個。

53eb941e-48bf-11eb-8b86-12bb97331649.jpg

同時在STM32F769I-EVAL板這邊也收到數據。

544b3d2e-48bf-11eb-8b86-12bb97331649.png

2.發送數據測試

按下板上的USER按鍵,觸發一次發送。

此時運行在PC端的Wireshark可以捕獲到STM32F769I-EVAL開發板發送的數據

547b7124-48bf-11eb-8b86-12bb97331649.jpg

MAC loopback模式演示

定義MAC_LOOPBACK_ENABLE宏,重新編譯下載。

按下板上的USER按鍵,觸發一次發送,數據被loopback到接收端。

查看rxbuffer接收到的數據:

54a33ba0-48bf-11eb-8b86-12bb97331649.png

責任編輯:xj

原文標題:工程師筆記 | STM32以太網 MAC Loopback的實現

文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

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

    關注

    40

    文章

    5600

    瀏覽量

    175099
  • STM32
    +關注

    關注

    2290

    文章

    11018

    瀏覽量

    362958
  • Mac
    Mac
    +關注

    關注

    0

    文章

    1117

    瀏覽量

    52793

原文標題:工程師筆記 | STM32以太網 MAC Loopback的實現

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    以太網入門:從零開始,掌握以太網基礎知識!

    以太網作為現代通信技術的基石,其重要性不言而喻。無論是日常網絡應用,還是AI對高速大帶寬網絡的需求,以太網都扮演著不可或缺的角色。本文將從零開始,帶您了解以太網的基礎知識,幫助您快速入門。什么是
    的頭像 發表于 06-09 14:00 ?1617次閱讀
    <b class='flag-5'>以太網</b>入門:從零開始,掌握<b class='flag-5'>以太網</b>基礎知識!

    雙通道CAN轉以太網#CAN轉以太網#三格電子

    以太網
    三格電子科技
    發布于 :2025年05月12日 13:17:05

    廣成科技CAN轉以太網模塊的作用和應用

    CAN轉以太網模塊是一類能夠將CAN總線數據轉換為以太網數據的設備,通常用于實現CAN總線與以太網總線之間的互聯互通。在智能鎖柜和智能文件交換箱中,CAN轉
    的頭像 發表于 03-20 13:58 ?434次閱讀
    廣成科技CAN轉<b class='flag-5'>以太網</b>模塊的作用和應用

    請問MAC回環或以太網PHY芯片回環怎么實現

    MAC回環或以太網PHY芯片回環怎么實現
    發表于 03-12 06:05

    單對以太網供電技術的演進和應用

    單對以太網(SPE)是一種新興的以太網通信標準,與通常使用四對線的傳統以太網不同,它只使用一對線進行數據傳輸。對于那些空間和重量受限的應用,例如汽車、工業和物聯網(IoT)設備,這是一項非常實用的技術。如果通過此方式還能
    的頭像 發表于 01-15 14:17 ?2043次閱讀
    單對<b class='flag-5'>以太網</b>供電技術的演進和應用

    以太網和TCP/IP的關系解析

    在現代計算機網絡中,以太網和TCP/IP協議棧是構建網絡通信的基礎。以太網定義了局域(LAN)中的數據鏈路層和物理層的技術標準,而TCP/IP協議棧則涵蓋了從網絡層到應用層的一系列協議,用于
    的頭像 發表于 11-08 09:21 ?2131次閱讀

    以太網協議的種類和特點

    (DIX Ethernet) 定義 :以太網II是由DEC、Intel和Xerox(DIX)聯合定義的,是最早的以太網標準。 特點 :使用MAC地址進行設備間的通信,幀結構簡單,易于實現
    的頭像 發表于 11-08 09:10 ?3217次閱讀

    工業以太網的應用場景分析

    隨著工業4.0和智能制造的興起,工業以太網作為連接工業設備、實現自動化和智能化的關鍵技術,其應用場景日益廣泛。 工業以太網的特點 高可靠性 :工業以太網設備通常采用堅固的外殼和接口,能
    的頭像 發表于 11-07 14:26 ?2054次閱讀

    以太網幀格式和功能詳解

    以太網幀(Ethernet Frame)是以太網(Ethernet)協議用于在局域(LAN)中傳輸數據的基本單位。理解以太網幀的結構和傳輸過程對于掌握局域網通信的原理至關重要。以下將
    的頭像 發表于 10-08 10:03 ?3736次閱讀

    以太網幀結構是怎樣的

    以太網幀(Ethernet Frame)是以太網(Ethernet)協議用于在局域(LAN)中傳輸數據的基本單位。理解以太網幀的結構對于掌握局域網通信的原理至關重要。
    的頭像 發表于 10-08 10:00 ?2678次閱讀

    以太網端口的類型和特性

    以太網端口,即以太網接口,是網絡中用于連接設備并進行數據交換的端口。它基于IEEE 802.3標準,并使用以太網協議進行數據傳輸。以太網端口在局域
    的頭像 發表于 08-07 15:27 ?3024次閱讀

    車載以太網與傳統以太網的區別

    車載以太網與傳統以太網在多個方面存在顯著的差異,這些差異主要體現在傳輸速率、實時性、可靠性、物理層標準、應用場景以及技術發展等方面。
    的頭像 發表于 07-25 11:12 ?3234次閱讀

    車載以太網的優勢和應用

    車載以太網作為一種新興的車載網絡技術,正在逐漸成為汽車行業中的關鍵技術之一。其優勢在于高帶寬、低延遲、高可靠性以及良好的兼容性和拓展性,這些特點使得車載以太網在車輛通信和控制系統中具有廣泛的應用前景。以下將詳細闡述車載以太網的優
    的頭像 發表于 07-25 11:08 ?1461次閱讀

    DM9000單芯片快速以太網MAC控制器英文手冊

    電子發燒友網站提供《DM9000單芯片快速以太網MAC控制器英文手冊.pdf》資料免費下載
    發表于 07-16 17:30 ?0次下載

    以太網要怎么連接

    以太網連接是現代計算機網絡通信中最為基礎和重要的環節之一。它利用以太網電纜和網卡等硬件設備,將計算機或其他設備連接到網絡交換機或路由器上,從而實現與其他設備或互聯網的通信。以下將詳細介紹以太網
    的頭像 發表于 07-09 10:28 ?2136次閱讀
    主站蜘蛛池模板: 直接观看黄网站免费视频 | 国产精品亚洲四区在线观看 | 国产一级做a爱免费视频 | 国产理论 | 免费看污视频的网站 | 色咪网| 给我一个可以看片的www日本 | 在线精品91青草国产在线观看 | 亚洲伊人成人网 | 999毛片 | 黄网站色成年片大免费软件 | 涩999 | 欧美性网 | 免费视频精品 | 91大神在线观看精品一区 | 欧美一级www片免费观看 | 高清在线观看视频 | 国产一区二卡三区四区 | 欧美成人69 | 99视频精品全国免费 | www.色天使| 自偷自拍亚洲欧美清纯唯美 | 国产高清毛片 | 欧美激情αv一区二区三区 欧美激情第一欧美在线 | 狂野欧美激情性xxxx | 亚洲日本一区二区 | 717影院理论午夜伦不卡久久 | 性久久久久久久久 | 四虎影院永久地址 | 免费理论片在线观看播放 | 欧美性猛交xxxx乱大交中文 | 国产精品视频你懂的 | 午夜视频在线免费观看 | 色偷偷亚洲综合网亚洲 | 色香焦| 天天影视网天天影网 | 激情伦成人综合小说 | 国产午夜剧场 | 欧美成人全部免费观看1314色 | 亚洲狠狠网站色噜噜 | 免费能直接在线观看黄的视频 |