0101以太網簡介
STM32F20X和STM32F21的以太網外設可接受和發(fā)送數(shù)據(jù)按照IEE802.3-2002標準。
以太網提供一個完整的、靈活的外設去滿足不同應用和要求。它支持與外部相連(PHY)的兩個標準的工業(yè)接口:默認情況使用在IEEE802.3規(guī)范中定義的獨立介質接口(MII)和精簡介質獨立接口(RMII)。它可以被用于大量的需求,例如開關(交換機)、網絡接口卡等等。
以太網滿足下列標準:
● IEEE 802.3-2002,用于以太網MAC。
● IEEE 1588-2008標準,用于規(guī)定聯(lián)網時鐘同步的精度。
● AMBA 2.0,用于AHB主/從端口。
● RMII聯(lián)盟的RMII規(guī)范。
02 STM32F207的ETH介紹
STM32F207支持MII接口和RMII接口。STM32F207以太網外設包括一個MAC802.3(介質訪問控制)和一個DMA控制器。它默認情況下支持MII和RMII接口,通過一個選擇位進行切換(參考SYSCFG_PMC寄存器)。
DMA控制器通過AHB主從接口和內核與內存相連。AHB主接口控制數(shù)據(jù)傳輸,AHB從接口用于訪問控制和狀態(tài)寄存器(CSR)空間。
在MAC內核發(fā)送數(shù)據(jù)之前,數(shù)據(jù)經過DMA的方式發(fā)送到FIFO中緩存。同樣的,接收FIFO存儲通過線路收到的以太網數(shù)據(jù)幀,直到這些數(shù)據(jù)幀通過DMA被傳輸?shù)较到y(tǒng)內存。
以太網外設也包括一個SMI,用于和外部PHY通訊。通過一組寄存器的配置,用戶可以選擇MAC和DMA控制器的不同模式和功能。
當使用以太網時,AHB時鐘必須至少25MHZ。
下面是ETH的框圖
關于AHB的連接信息:
區(qū)域1:我們稱為SMI接口,用于配置外部PHY芯片。
區(qū)域2:是數(shù)據(jù)交換接口,也就是上面我們說的MII接口和RMII接口。
03 SMI接口
3.1、站管理接口:SMI
站管理接口允許任何PHY寄存器請求通過2線時鐘和數(shù)據(jù)線。這個接口支持最多到32個PHY。
應用程序可以從32個PHY中選擇一個PHY,然后從任意PHY包含的32個寄存器中選擇一個寄存器,發(fā)送控制數(shù)據(jù)或接收狀態(tài)信息。任意給定時間內只能對一個PHY中的一個寄存器進行尋址。
MDC時鐘線和MDIO數(shù)據(jù)線在微控制器中均用作復用功能I/O:
MDC:周期性時鐘,提供以最大頻率2.5 MHz傳輸數(shù)據(jù)時的參考時序。MDC的最短高電平時間和最短低電平時間必須均為160 ns。MDC的最小周期必須為400 ns。在空閑狀態(tài)下,SMI管理接口將MDC時鐘信號驅動為低電平。
MDIO:數(shù)據(jù)輸入/輸出比特流,用于通過MDC時鐘信號向/從PHY設備同步傳輸狀態(tài)信息。
3.2、SMI幀結構
下圖給出了讀操作和寫操作幀結構,位傳輸必須要求從左到右。
Preamble(32bit前導符):每個傳輸(讀或者寫)都必須以前導符開始,前導符是MDIO線上連續(xù)的32個邏輯’1’信號,和對應MDC線上的32個時鐘信號。這部分信號用于和PHY設備建立同步。
Start(起始符):幀的起始符定義為’01’,也就是MDIO線從邏輯’1’降到’0’再回到’1’,以標記傳輸?shù)摹?/p>
開始。
Operation(操作符):用于定義操作的類型:讀或者寫。
PADDR:PHY的地址有5位,可以區(qū)分32個PHY。高位先被發(fā)送和接收。
RADDR:寄存器的地址有5位,可以尋址32個獨立的寄存器。高位先被發(fā)送和接收。
TA:2位的轉向符,插在RADDR和數(shù)據(jù)(DATA)之間,用于避免讀操作時發(fā)生沖突。讀操作時,在TA的這2位時間內,MAC控制器保持MDIO線的高阻狀態(tài),PHY設備則先保持1位的高阻狀態(tài),在第2位時輸出’0’信號。寫操作時,在TA的這2位時間內,MAC控制器驅動MDIO線輸出’10’信號,而PHY設置則保持高阻狀態(tài)。
DATA(數(shù)據(jù)):16位的數(shù)據(jù)域。最先發(fā)送和接收的是ETH_MIID寄存器的第15位。
空閑位:MDIO線保持在高阻狀態(tài)。取消所有的三態(tài)驅動,由PHY的上拉電阻保證MDIO線處于邏輯’1’。
3.3、SMI寫操作
當應用程序設置了MII寫和忙位(以太網MACMII地址寄存器(ETH_MACMIIAR)),SMI接口會向PHY傳 送PHY地 址 和PHY寄 存 器 地 址 ,然 后 傳 輸 數(shù) 據(jù) (以 太 網MAC MII數(shù)據(jù) 寄 存器(ETH_MACMIIDR))。在SMI接口傳輸數(shù)據(jù)的過程中,不能修改MII地址寄存器和MII數(shù)據(jù)寄存器的內容;在此過程中(忙位為高),對MII地址寄存器或MII數(shù)據(jù)寄存器的寫操作將被忽視,并且不影響整個傳輸?shù)恼_完成。當完成寫操作時,SMI接口將清除忙位,告知應用程序。
下圖描述了寫操作時的幀格式。
3.4、SMI讀操作
當程序把以太網MACMII地址寄存器(ETH_MACMIIAR)的MII忙位置為’1’,而保持MII寫位為’0’,SMI接口則發(fā)送PHY地址和PHY寄存器地址,執(zhí)行讀PHY寄存器的操作。在整個傳輸過程中,應用程序不能修改MII地址寄存器和MII數(shù)據(jù)寄存器的內容。在傳輸過程中(忙位為高),對MII地址寄存器或者MII數(shù)據(jù)寄存器的寫操作將被忽視,并且不影響整個傳輸?shù)恼_完成。在讀操作完成后,SMI接口將清除忙位,并把從PHY讀回的數(shù)據(jù)更新到MII數(shù)據(jù)寄存器中。
下圖描述了讀操作的幀格式
3.5、SMI時鐘選擇
MAC啟動管理寫/讀操作。SMI時鐘是一個分頻時鐘,其時鐘源為應用時鐘(AHB時鐘)。分頻系數(shù)取決于MII地址寄存器中設置的時鐘范圍。這里既然說到了時鐘,就再次提一下上文提到的內容:當使用以太網時,AHB時鐘必須至少25MHZ。
04 代碼
責任編輯:xj
原文標題:STM32網絡之SMI接口
文章出處:【微信公眾號:嵌入式ARM】歡迎添加關注!文章轉載請注明出處。
-
以太網
+關注
關注
40文章
5465瀏覽量
172829 -
STM32
+關注
關注
2273文章
10926瀏覽量
357783 -
SMI
+關注
關注
0文章
23瀏覽量
12458
原文標題:STM32網絡之SMI接口
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
以太網幀格式和功能詳解
使用C2000 EtherCAT從站控制器的SMI進行以太網PHY配置
![使用C2000 EtherCAT從站控制器的<b class='flag-5'>SMI</b>進行<b class='flag-5'>以太網</b>PHY配置](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
以太網端口的類型和特性
車載以太網與傳統(tǒng)以太網的區(qū)別
以太網要怎么連接
工業(yè)以太網和普通以太網區(qū)別在哪
![](https://file1.elecfans.com/web2/M00/EC/95/wKgZomZla2uACvmeAAUrVRH1pgw844.png)
![](https://file1.elecfans.com/web2/M00/EA/91/wKgZomZZNV6ABmUHAALQaX4H-ZI635.jpg)
以太網接口的數(shù)據(jù)傳輸原理詳解
RJ45接口與以太網接口的區(qū)別
RS485接口怎么轉換以太網接口
![](https://file1.elecfans.com/web2/M00/E5/CD/wKgZomZEgBOAehvlAAD1J1BRo98013.png)
車載以太網硬件接口VN5650--基于Network-based模式的配置過程#車載以太網 #CANoe
![](https://file1.elecfans.com/web2/M00/E5/38/wKgaomY_QQqANHQTAADb2CrD2i8864.jpg)
![](https://file1.elecfans.com/web2/M00/E5/35/wKgaomY_NoyASPvoAAD2hdsdUvU070.jpg)
評論