網絡通信實驗(1)STM32F4 以太網簡介


STM32F4 以太網簡介

STM32F407 芯片自帶以太網模塊,該模塊包括帶專用 DMA 控制器的 MAC 802.3(介質訪
問控制)控制器,支持介質獨立接口 (MII) 和簡化介質獨立接口 (RMII),並自帶了一個用於
外部 PHY 通信的 SMI 接口, 通過一組配置寄存器,用戶可以為 MAC 控制器和 DMA 控制器選
擇所需模式和功能。

STM32F4 自帶以太網模塊特點包括:
支持外部 PHY 接口,實現 10M/100Mbit/s 的數據傳輸速率
通過符合 IEEE802.3 MII/RMII 接口與外部以太網 PHY 進行通信
支持全雙工和半雙工操作
可編程幀長度,支持高達 16KB 巨型幀
可編程幀間隔(40~96 位時間,以 8 為步長)
支持多種靈活的地址過濾模式
通過 SMIMDIO)接口配置和管理 PHY 設備
支持以太網時間戳(參見 IEEE1588-2008),提供 64 位時間戳
提供接收和發送兩組 FIFO
支持 DMA

STM32F4 以太網功能框圖如圖

從上圖可以看出, STM32F4 是必須外接 PHY 芯片,才可以完成以太網通信的,外部 PHY
芯片可以通過 MII/RMII 接口與 STM32F4 內部 MAC 連接,並且支持 SMIMDIO&MDC)接
口配置外部以太網 PHY 芯片


SMI 接口,即站管理接口,該接口允許應用程序通過 2 條線:時鍾(MDC)和數據線(MDIO)

訪問任意 PHY 寄存器。該接口支持訪問多達 32 PHY,應用程序可以從 32 PHY 中選擇
一個 PHY,然后從任意 PHY 包含的 32 個寄存器中選擇一個寄存器,發送控制數據或接收狀態
信息。任意給定時間內只能對一個 PHY 中的一個寄存器進行尋址。



MII 接口,即介質獨立接口,用於 MAC 層與 PHY 層進行數據傳輸。 STM32F407 通過 MII
PHY 層芯片的連接如圖 

 

MII_TX_CLK:連續時鍾信號。該信號提供進行 TX 數據傳輸時的參考時序。標稱頻率為:速率為 10 Mbit/s 時為 2.5 MHz;速率為 100 Mbit/s 時為 25 MHz

MII_RX_CLK:連續時鍾信號。該信號提供進行 RX 數據傳輸時的參考時序。標稱頻率為:速率為 10 Mbit/s 時為 2.5 MHz;速率為 100 Mbit/s 時為 25 MHz 
MII_TX_EN:發送使能信號
MII_TXD[3:0]:數據發送信號。該信號是 4 個一組的數據信號
MII_CRS:載波偵聽信號
MII_COL:沖突檢測信號
MII_RXD[3:0]:數據接收信號。該信號是 4 個一組的數據信號
MII_RX_DV:接收數據有效信號
MII_RX_ER:接收錯誤信號。該信號必須保持一個或多個周期(MII_RX_CLK),從而向 MAC子層指示在幀的某處檢測到錯誤


RMII 接口,即精簡介質獨立接口,該接口降低了在 10/100 Mbit/s 下微控制器以太網外設與
外部 PHY 間的引腳數。根據 IEEE 802.3u 標准, MII 包括 16 個數據和控制信號的引腳。 RMII
規范將引腳數減少為 7 個。
RMII 接口是 MAC PHY 之間的實例化對象。這有助於將 MAC MII 轉換為 RMII
RMII 具有以下特性:
1,支持 10Mbit/s 100Mbit/s 的運行速率
2,參考時鍾必須是 50 MHz
3,相同的參考時鍾必須從外部提供給 MAC 和外部以太網 PHY
4,它提供了獨立的 2 位寬(雙位)的發送和接收數據路徑
STM32F407 通過 RMII 接口與 PHY 層芯片的連接如圖

從上圖可以看出 RMII 相比 MII,引腳數量精簡了不少。注意,圖中的 REF_CLK 信號,是
RMII 和外部 PHY 共用的 50Mhz 參考時鍾,必須由外部提供,比如有源晶振,或者 STM32F4
MCO 輸出。不過有些 PHY 芯片可以自己產生 50Mhz 參考時鍾,同時提供給 STM32F4,這
樣也是可以的


我們采用 RMII 接口和外部 PHY 芯片連接,實現網絡通信功能 ,探索者 STM32F4 開發板使用的是 LAN8720A 作為 PHY 芯片


 

LAN8720A 是低功耗的 10/100M 以太網 PHY 層芯片, I/O 引腳電壓符合 IEEE802.3-2005
准,支持通過 RMII 接口與以太網 MAC 層通信,內置 10-BASE-T/100BASE-TX 全雙工傳輸模
塊,支持 10Mbps 100Mbps
LAN8720A 可以通過自協商的方式與目的主機最佳的連接方式(速度和雙工模式),支持 HP
Auto-MDIX 自動翻轉功能,無需更換網線即可將連接更改為直連或交叉連接。 LAN8720A 的主
要特點如下:
高性能的 10/100M 以太網傳輸模塊
支持 RMII 接口以減少引腳數
支持全雙工和半雙工模式
兩個狀態 LED 輸出
可以使用 25M 晶振以降低成本
支持自協商模式
支持 HP Auto-MDIX 自動翻轉功能
支持 SMI 串行管理接口
支持 MAC 接口
LAN8720A 功能框圖如圖 

 

 

 

 

 

 

 

 

 

 

 

 

LAN8720A 的引腳數是比較少的,因此,很多引腳具有多個功能。這里,我們介紹幾個重
要的設置。
1PHY 芯片地址設置
LAN8720A 可以通過 PHYAD0 引腳來配置,該引腳與 RXER 引腳復用,芯片內部自帶下
拉電阻,當硬復位結束后, LAN8720A 會讀取該引腳電平,作為器件的 SMI 地址,接下拉電阻
時(浮空也可以,因為芯片內部自帶了下拉電阻),設置 SMI 地址為 0,當外接上拉電阻后,
可以設置為 1。本章我們采用的是該引腳浮空,即設置 LAN8720 地址為 0

2nINT/REFCLKO 引腳功能配置
nINT/REFCLKO 引腳可以用作中斷輸出,或者參考時鍾輸出。通過 LED2nINTSEL)引
腳設置, LED2 引腳的值在芯片復位后,被 LAN8720A 讀取,當該引腳接上拉電阻(或浮空,
內置上拉電阻),那么正常工作后, nINT/REFCLKO 引腳將作為中斷輸出引腳(選中 REF_CLK
IN 模式)。當該引腳接下拉電阻時,正常工作后, nINT/REFCLKO 引腳將作為參考時鍾輸出(選
REF_CLK OUT 模式)。
REF_CLK IN 模式,外部必須提供 50Mhz 參考時鍾給 LAN8720A XTAL1CLKIN
引腳。
REF_CLK OUT 模式, LAN8720A 可以外接 25Mhz 石英晶振,通過內部倍頻到 50Mhz
然后通過 REFCLKO 引腳,輸出 50Mhz 參考時鍾給 MAC 控制器。這種方式,可以降低 BOM
成本。這里我們設置 nINT/REFCLKO 引腳為參考時鍾輸出(REF_CLK OUT 模式),用於給
STM32F4 RMII 提供 50Mhz 參考時鍾

31.2V 內部穩壓器配置
LAN8720A 需要 1.2V 電壓給 VDDCR 供電,不過芯片內部集成了 1.2V 穩壓器,可以通過
LED1(REGOFF)來配置是否使用內部穩壓器,當不使用內部穩壓器的時候,必須外部提供 1.2V
電壓給 VDDCR 引腳。這里我們使用內部穩壓器,所以我們在 LED1 接下拉電阻(浮空也行,
內置了下拉電阻),以控制開啟內部 1.2V 穩壓器


 我們來看下 LAN8720A 同我們探索者 STM32F4 開發板的連接關系 

 

從上圖可以看出, LAN8720A 總共通過 10 跟線同 STM32F4 連接,注意: MDIO 同串口 2TX 信號有共用,所以串口 2 和以太網功能不能同時使用,使用時需要注意這個問題


掃碼關注微信公眾號  “小樊Study”獲取更多

 

QQ群 

淘寶店鋪



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM