當(dāng)前位置:首頁 > 公眾號(hào)精選 > 嵌入式微處理器
[導(dǎo)讀]STM32F20X和STM32F21的以太網(wǎng)外設(shè)可接受和發(fā)送數(shù)據(jù)按照IEE802.3-2002標(biāo)準(zhǔn)。

0 1
01
以太網(wǎng)簡介

STM32F20XSTM32F21的以太網(wǎng)外設(shè)可接受和發(fā)送數(shù)據(jù)按照IEE802.3-2002標(biāo)準(zhǔn)。

以太網(wǎng)提供一個(gè)完整的、靈活的外設(shè)去滿足不同應(yīng)用和要求。它支持與外部相連(PHY)的兩個(gè)標(biāo)準(zhǔn)的工業(yè)接口:默認(rèn)情況使用在IEEE802.3規(guī)范中定義的獨(dú)立介質(zhì)接口(MII)和精簡介質(zhì)獨(dú)立接口(RMII)。它可以被用于大量的需求,例如開關(guān)(交換機(jī))、網(wǎng)絡(luò)接口卡等等。

以太網(wǎng)滿足下列標(biāo)準(zhǔn):

● IEEE 802.3-2002,用于以太網(wǎng)MAC。

● IEEE 1588-2008?標(biāo)準(zhǔn),用于規(guī)定聯(lián)網(wǎng)時(shí)鐘同步的精度。

● AMBA 2.0,用于AHB?/從端口。

● RMII?聯(lián)盟的?RMII規(guī)范。


0 2
STM32F207的ETH介紹

STM32F207支持MII接口和RMII接口。STM32F207以太網(wǎng)外設(shè)包括一個(gè)MAC802.3(介質(zhì)訪問控制)和一個(gè)DMA控制器。它默認(rèn)情況下支持MIIRMII接口,通過一個(gè)選擇位進(jìn)行切換(參考SYSCFG_PMC寄存器)。

DMA控制器通過AHB主從接口和內(nèi)核與內(nèi)存相連。AHB主接口控制數(shù)據(jù)傳輸,AHB從接口用于訪問控制和狀態(tài)寄存器(CSR)空間。

MAC內(nèi)核發(fā)送數(shù)據(jù)之前,數(shù)據(jù)經(jīng)過DMA的方式發(fā)送到FIFO中緩存。同樣的,接收FIFO存儲(chǔ)通過線路收到的以太網(wǎng)數(shù)據(jù)幀,直到這些數(shù)據(jù)幀通過DMA被傳輸?shù)较到y(tǒng)內(nèi)存。

以太網(wǎng)外設(shè)也包括一個(gè)SMI,用于和外部PHY通訊。通過一組寄存器的配置,用戶可以選擇MACDMA控制器的不同模式和功能。

當(dāng)使用以太網(wǎng)時(shí),AHB時(shí)鐘必須至少25MHZ。

下面是ETH的框圖

關(guān)于AHB的連接信息:

區(qū)域1:我們稱為SMI接口,用于配置外部PHY芯片。

區(qū)域2:是數(shù)據(jù)交換接口,也就是上面我們說的MII接口和RMII接口。

0 3
SMI接口

3.1、站管理接口:SMI

站管理接口允許任何PHY寄存器請(qǐng)求通過2線時(shí)鐘和數(shù)據(jù)線。這個(gè)接口支持最多到32個(gè)PHY。

應(yīng)用程序可以從?32個(gè)?PHY中選擇一個(gè)PHY,然后從任意PHY?包含的32?個(gè)寄存器中選擇一個(gè)寄存器,發(fā)送控制數(shù)據(jù)或接收狀態(tài)信息。任意給定時(shí)間內(nèi)只能對(duì)一個(gè)PHY?中的一個(gè)寄存器進(jìn)行尋址。

MDC?時(shí)鐘線和?MDIO數(shù)據(jù)線在微控制器中均用作復(fù)用功能I/O

MDC:周期性時(shí)鐘,提供以最大頻率2.5 MHz?傳輸數(shù)據(jù)時(shí)的參考時(shí)序。MDC的最短高電平時(shí)間和最短低電平時(shí)間必須均為160 ns。MDC的最小周期必須為400 ns。在空閑狀態(tài)下,SMI管理接口將?MDC時(shí)鐘信號(hào)驅(qū)動(dòng)為低電平。

MDIO:數(shù)據(jù)輸入/輸出比特流,用于通過MDC?時(shí)鐘信號(hào)向/PHY?設(shè)備同步傳輸狀態(tài)信息。

3.2、SMI幀結(jié)構(gòu)

下圖給出了讀操作和寫操作幀結(jié)構(gòu),位傳輸必須要求從左到右。

Preamble32bit前導(dǎo)符):每個(gè)傳輸(讀或者寫)都必須以前導(dǎo)符開始,前導(dǎo)符是MDIO線上連續(xù)的32個(gè)邏輯’1’信號(hào),和對(duì)應(yīng)MDC線上的32個(gè)時(shí)鐘信號(hào)。這部分信號(hào)用于和PHY設(shè)備建立同步。

Start(起始符):幀的起始符定義為’01’,也就是MDIO線從邏輯’1’降到’0’再回到’1’,以標(biāo)記傳輸?shù)摹?/span>

開始。

Operation(操作符):用于定義操作的類型:讀或者寫。

PADDRPHY的地址有5位,可以區(qū)分32個(gè)PHY。高位先被發(fā)送和接收。

RADDR寄存器的地址有5位,可以尋址32個(gè)獨(dú)立的寄存器。高位先被發(fā)送和接收。

TA2位的轉(zhuǎn)向符,插在RADDR和數(shù)據(jù)(DATA)之間,用于避免讀操作時(shí)發(fā)生沖突。讀操作時(shí),在TA的這2位時(shí)間內(nèi),MAC控制器保持MDIO線的高阻狀態(tài),PHY設(shè)備則先保持1位的高阻狀態(tài),在第2位時(shí)輸出’0’信號(hào)。寫操作時(shí),在TA的這2位時(shí)間內(nèi),MAC控制器驅(qū)動(dòng)MDIO線輸出’10’信號(hào),而PHY設(shè)置則保持高阻狀態(tài)。

DATA(數(shù)據(jù))16位的數(shù)據(jù)域。最先發(fā)送和接收的是ETH_MIID寄存器的第15位。

空閑位:MDIO線保持在高阻狀態(tài)。取消所有的三態(tài)驅(qū)動(dòng),由PHY的上拉電阻保證MDIO線處于邏輯’1’

3.3、SMI寫操作

當(dāng)應(yīng)用程序設(shè)置了MII寫和忙位(以太網(wǎng)MACMII地址寄存器(ETH_MACMIIAR)),SMI接口會(huì)向PHY傳 送?PHY地 址 和?PHY寄 存 器 地 址 ,然 后 傳 輸 數(shù) 據(jù) (以 太 網(wǎng)?MAC MII?數(shù)據(jù) 寄 存器(ETH_MACMIIDR))。在SMI接口傳輸數(shù)據(jù)的過程中,不能修改MII地址寄存器和MII數(shù)據(jù)寄存器的內(nèi)容;在此過程中(忙位為高),對(duì)MII地址寄存器或MII數(shù)據(jù)寄存器的寫操作將被忽視,并且不影響整個(gè)傳輸?shù)恼_完成。當(dāng)完成寫操作時(shí),SMI接口將清除忙位,告知應(yīng)用程序。

下圖描述了寫操作時(shí)的幀格式。

3.4、SMI讀操作

當(dāng)程序把以太網(wǎng)MACMII地址寄存器(ETH_MACMIIAR)的MII忙位置為’1’,而保持MII寫位為’0’SMI接口則發(fā)送PHY地址和PHY寄存器地址,執(zhí)行讀PHY寄存器的操作。在整個(gè)傳輸過程中,應(yīng)用程序不能修改MII地址寄存器和MII數(shù)據(jù)寄存器的內(nèi)容。在傳輸過程中(忙位為高),對(duì)MII地址寄存器或者MII數(shù)據(jù)寄存器的寫操作將被忽視,并且不影響整個(gè)傳輸?shù)恼_完成。在讀操作完成后,SMI接口將清除忙位,并把從PHY讀回的數(shù)據(jù)更新到MII數(shù)據(jù)寄存器中。

下圖描述了讀操作的幀格式

3.5、SMI時(shí)鐘選擇

MAC?啟動(dòng)管理寫/讀操作。SMI時(shí)鐘是一個(gè)分頻時(shí)鐘,其時(shí)鐘源為應(yīng)用時(shí)鐘(AHB時(shí)鐘)。分頻系數(shù)取決于MII地址寄存器中設(shè)置的時(shí)鐘范圍。這里既然說到了時(shí)鐘,就再次提一下上文提到的內(nèi)容:當(dāng)使用以太網(wǎng)時(shí),AHB時(shí)鐘必須至少25MHZ。

0 4
代碼

STM32的網(wǎng)口的MII接口初始化是十分簡單的。

初始化GPIO。

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOC |RCC_AHB1Periph_GPIOF, ENABLE);
/* Enable SYSCFG clock */RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;GPIO_Init(GPIOA, &GPIO_InitStructure);GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_ETH);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;GPIO_Init(GPIOC, &GPIO_InitStructure);GPIO_PinAFConfig(GPIOC, GPIO_PinSource1, GPIO_AF_ETH);

因?yàn)?/span>MII接口需要MAC配合,所以需要是使能MAC的時(shí)鐘。

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_ETH_MAC |RCC_AHB1Periph_ETH_MAC_Tx |RCC_AHB1Periph_ETH_MAC_Rx, ENABLE);

MII接口的讀函數(shù)和寫函數(shù)。

uint16_t ETH_ReadPHYRegister(uint16_t PHYAddress, uint16_t PHYReg)uint32_t ETH_WritePHYRegister(uint16_t PHYAddress, uint16_t PHYReg,uint16_t PHYValue)

END

來源:知曉編程,作者:Firefly

版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系刪除。

推薦閱讀
國內(nèi)MCU能替代國外產(chǎn)品嗎?MCU的未來又將如何?
STM32價(jià)格瘋長下,盤點(diǎn)STM32的國產(chǎn)替代者
選微處理器MPU,還是單片機(jī)MCU?兩者區(qū)別詳解

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場,如有問題,請(qǐng)聯(lián)系我們,謝謝!

嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉