溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

STM32網(wǎng)絡中MAC控制器有什么用

發(fā)布時間:2021-12-27 11:34:37 來源:億速云 閱讀:207 作者:小新 欄目:互聯(lián)網(wǎng)科技

這篇文章給大家分享的是有關STM32網(wǎng)絡中MAC控制器有什么用的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

STM32的MAC控制器,也就是下圖區(qū)域2。

STM32網(wǎng)絡中MAC控制器有什么用

01、STM32的MAC概述

STM32的MAC控制器全稱是:MediaAccess Control。

STM32F207的MAC控制器支持的模式

  • 符合IEEE 802.3 MAC

  • 10/100Mbps網(wǎng)絡

  • 全雙工和半雙工通信

  • 和外部PHY的MII接口和RMII接口

  • 支持前導碼和幀起始數(shù)據(jù)(SFD)插入或刪除

  • 支持IPv4的頭部checksum校驗和檢查

  • 支持以太網(wǎng)喚醒

  • 有效載荷檢查

STM32網(wǎng)絡中MAC控制器有什么用

其實ST在設計MAC控制器時,設計了其他功能,PTP(IEEE1588)精確時間協(xié)議,MMC網(wǎng)絡統(tǒng)計功能,這些功能并不常用,本人也沒有接觸,就不再講解。

對于上面說到的:支持前導碼和幀起始數(shù)據(jù)(SFD)插入或刪除。

之前的推文《以太網(wǎng)數(shù)據(jù)首部》中并沒有說到前導碼和幀起始數(shù)據(jù)(SFD)。一個以太網(wǎng)數(shù)據(jù)結(jié)構(gòu)如下:

STM32網(wǎng)絡中MAC控制器有什么用

大多數(shù)網(wǎng)絡設備都是支持前導碼和幀起始數(shù)據(jù)(SFD)插入或刪除。所以可以說,這是網(wǎng)絡硬件設備在以太網(wǎng)幀前打包的數(shù)據(jù)。個人認為并不屬于TCP/IP協(xié)議簇的內(nèi)容。

02、MAC地址過濾

STM32的MAC控制器支持MAC地址過濾的。

目的地址過濾:

  • 單播過濾

  • 組播過濾

  • 廣播過濾

注意:廣播過濾會導致ARP廣播也收不到,具體請看《TCP/IP協(xié)議簇中ARP協(xié)議》。

源地址過濾:

  • 單播過濾

STM32的MAC控制器還支持:規(guī)則翻轉(zhuǎn),比如,原來只允許單播過濾接收,翻轉(zhuǎn)之后,只有單播不接收。

在STM32實際項目開發(fā)中,只需要調(diào)用ST的庫文件即可

ETH_InitStructure.ETH_BroadcastFramesReception =ETH_BroadcastFramesReception_Enable;//允許接收所有廣播幀

關于MAC地址相關信息,什么是廣播,MAC地址表示方法,請看之前的推文《以太網(wǎng)數(shù)據(jù)首部》。

03、有效載荷檢查

有效載荷檢查其實是IP協(xié)議要求長度必須大于46個字節(jié),不足時填充pad字節(jié),具體細節(jié)請看《5000字“肝”了這篇IP協(xié)議》。

當從應用程序接收的字節(jié)數(shù)低于60時(DA+SA+LT+Data),零被附加到發(fā)送幀以使數(shù)據(jù)長度正好為46字節(jié),以滿足最小數(shù)據(jù)字段的要求IEEE802.3要求。

STM32網(wǎng)絡中MAC控制器有什么用

04、Checksum校驗和

首先明確,STM32的MAC控制器并不能對TCP/IP協(xié)議中所有的Checksum自動校驗。STM32實現(xiàn)了IPv4,ICMP,TCP和UDP協(xié)議的Checksum校驗和。

發(fā)送的時候,STM32會自動計算Checksum校驗和并自動插入。

接收的時候,STM32會自動校驗Checksum校驗和是否正確。

上述功能可以通過以下操作開啟:

通過在ETH_MACCR寄存器中設置IPCO位來啟用接收校驗和卸載。

通過在TDES1寄存器中設置CIC位,在傳輸時啟用校驗和計算和插入。

但實際代碼開發(fā)中,并不需要操作寄存器,使用ST的庫接口如下

ETH_InitStructure.ETH_ChecksumOffload = ETH_ChecksumOffload_Enable;           //開啟ipv4和TCP/UDP/ICMP的幀校驗和卸載

感謝各位的閱讀!關于“STM32網(wǎng)絡中MAC控制器有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI