




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《手把你學(xué)STM32》主講人 :正點(diǎn)原子團(tuán)隊(duì)硬件平臺(tái):正點(diǎn)原子STM32開(kāi)發(fā)板:廣州市星翼電子科技淘寶
:http:/技術(shù)
: 開(kāi)源公眾平臺(tái):“正點(diǎn)原子”::ALIENTEK淘寶:http:/技術(shù)《手把你學(xué)STM32》STM32F1xx開(kāi)發(fā)板(正點(diǎn)原子)STM32F4xx開(kāi)發(fā)板(正點(diǎn)原子)F4開(kāi)發(fā)板LWIP無(wú)操作系統(tǒng)移植(上)適用平臺(tái)淘寶:http:/技術(shù)參考資料:1,探索者STM32F407開(kāi)發(fā)板《STM32F4
LWIP開(kāi)發(fā)手冊(cè)》——LWIP無(wú)操作系統(tǒng)移植2,以太網(wǎng)參考資料《STM32F4xx中文參考手冊(cè)》-第29章以太網(wǎng)(ETH)3,LAN8720參考資料見(jiàn)光盤(pán):硬件資料→
資料→①
LAN820A.pdf淘寶:http:/技術(shù)STM32F4以太網(wǎng)MAC簡(jiǎn)介1LAN87202硬件連接3以太網(wǎng)DMA描述符4淘寶:http:/技術(shù)STM32F407自帶有10/100Mbit/s的以太網(wǎng)MAC內(nèi)核,這個(gè)以太網(wǎng)MAC內(nèi)核有如下特性:1、支持外部PHY接口實(shí)現(xiàn)10/100Mbit/s數(shù)據(jù)傳輸速率。2、通過(guò)符合IEEE802.3的MII接口與外接快速以太網(wǎng)PHY進(jìn)行通信3、支持全雙工和半雙工操作、在接收路徑中刪除4、報(bào)頭和幀起始數(shù)據(jù)(SFD)在發(fā)送路徑中5、可逐幀控制CRC和pad自動(dòng)生成。6、可編程幀長(zhǎng)度,支持高大16KB的巨型幀。7、可編程幀間隔8、支持通過(guò)MDIO接口配置和管理PHY設(shè)備……………1.1、MAC簡(jiǎn)介淘寶:http:/技術(shù)STM32F407的ETH框圖如下:1.1、MAC簡(jiǎn)介淘寶:http:/技術(shù)1.2、SMI接口F407的MAC有3種接口:SMI、MII和RMII。SMI稱(chēng)為站管理接口,程序中可以通過(guò)這個(gè)接口來(lái)兩條線:數(shù)據(jù)線MDIO和時(shí)鐘線MDC,該接口支持PHY寄存器,SMI接口有多達(dá)32個(gè)PHY。MDC:周期性時(shí)鐘,提供以最大頻率2.5
MHz
傳輸數(shù)據(jù)時(shí)的參考時(shí)序,在空閑狀態(tài)下,SMI
管理接口將MDC
時(shí)鐘信號(hào)驅(qū)動(dòng)為低電平。MDIO:數(shù)據(jù)輸入/輸出比特流,用于通過(guò)MDC
時(shí)鐘信號(hào)向/從PHY
設(shè)備同步傳輸狀態(tài)信息。淘寶:http:/技術(shù)1.3、MII接口MII接口:介質(zhì)獨(dú)立接口(MII)定義了10
Mbit/s
和100
Mbit/s
的數(shù)據(jù)傳輸速率下MAC
子層與PHY
之間的互連。TX_CLK和RX_CLK為發(fā)送和接收連續(xù)時(shí)鐘,當(dāng)速率為10Mbit/s時(shí)為2.5MHZ,速率為100Mbit/s時(shí)為25MHZ。淘寶:http:/技術(shù)淘寶:http:/技術(shù)1.3、MII接口要生成TX_CLK和RX_CLK時(shí)鐘,必須向外部PHY提供25MHZ時(shí)鐘,通常使用25M的晶振,也可以使用STM32F4xx的MCO引腳輸出25MHZ的時(shí)鐘。1.4、精簡(jiǎn)介質(zhì)獨(dú)立接口:介質(zhì)獨(dú)立接口(RMII)規(guī)范降低了10/100Mbit/s
下微控制器以太網(wǎng)外設(shè)與外部PHY
間的引腳數(shù)。根據(jù)IEEE802.3u
標(biāo)準(zhǔn),MII
包括16
個(gè)數(shù)據(jù)和控制信號(hào)的引腳。RMII
規(guī)范將引腳數(shù)減少為7
個(gè)(引腳數(shù)減少62.5%)。不過(guò)RMII接口的參考時(shí)鐘必須是50MHZ!淘寶:http:/技術(shù)1.4、精簡(jiǎn)介質(zhì)獨(dú)立接口:PLL生成50MHZ頻率來(lái)驅(qū)動(dòng)RMII時(shí)鐘源:通常使用50MHZ的時(shí)鐘驅(qū)動(dòng)PHY或使用PHY。淘寶:http:/技術(shù)2.1、LAN8720簡(jiǎn)介L(zhǎng)AN8720是低功耗的10/100M以太網(wǎng)PHY層
,I/O引腳電壓符合IEEE802.3-2005標(biāo)準(zhǔn)。LAN8720支持通過(guò)RMII接口與以太網(wǎng)MAC層通信,內(nèi)置10-BASE-T/100BASE-TX全雙工傳輸模塊,支持10Mbps和100Mbps。LAN8720可以通過(guò)自協(xié)商的方式與目的主機(jī)最佳的連接方式(速度和雙工模式)。支持HPAuto-MDIX自動(dòng)翻轉(zhuǎn)功能,無(wú)需更換網(wǎng)線即可將連接更改為直連或交叉連接。1、支持RMII接口以減少引腳數(shù)2、支持全雙工和半雙工模式3、可以使用25M晶振以降低成本4、支持SMI串行管理接口5、支持MAC接口淘寶:http:/技術(shù)PHY地址設(shè)置前面說(shuō)了MAC可以通過(guò)SMI接口來(lái)讀寫(xiě)PHY(LAN8720)的寄存器,SMI最多可以控制32個(gè)PHY
,通過(guò)不同的PHY
地址來(lái)對(duì)不同的PHY操作。LAN8720通過(guò)設(shè)置RXER/PHYAD0引腳來(lái)設(shè)置其PHY地址,默認(rèn)情況下為0,其地址設(shè)置如下表所示。STM32F407開(kāi)發(fā)板使用的是默認(rèn)地址,也就是0X00。RXER/PHYAD0引腳狀態(tài)PHY地址上拉0X01下拉(默認(rèn))0X00淘寶:http:/技術(shù)nINT/REFCLKO配置nINTSEL引腳(2號(hào)引腳)用于設(shè)置nINT/REFCLKO引腳(14號(hào)引腳)的功能。nINTSEL配置如下表所示。
STM32F407開(kāi)發(fā)板使用的是REF_CLK
Out模式。nINTSEL引腳值模式nINT/REFCLKO引腳功能nINTSEL=0REF_CLK
Out模式作為REF_CLK時(shí)鐘源nINTSEL=1REF_CLK
In模式作為中斷引腳淘寶:http:/技術(shù)REF_CLK
In模式當(dāng)工作在REF_CLK
In
模式時(shí),50MHz
的外部時(shí)鐘信號(hào)應(yīng)接到LAN8720
的XTAL1/CKIN引腳(5號(hào)引腳)和STM32F407的RMII_REF_CLK(PA1)引腳上,如下圖所示。淘寶:http:/技術(shù)REF_CLK
Out模式為了降低成本,LAN8720可以從外部的25MHz的晶振中產(chǎn)生REF_CLK時(shí)鐘。到要使用此功能時(shí)應(yīng)工作在REF_CLK
Out模式時(shí)。當(dāng)工作在REF_CLO
Out模式時(shí)
REF_CLK的時(shí)鐘源如下圖所示。淘寶:http:/技術(shù)2.2、LAN8720寄存器PHY是由IEEE
802.3定義的,一般通過(guò)SMI對(duì)PHY進(jìn)行管理和控制,也就是讀寫(xiě)PHY 寄存器。PHY寄存器的地址空間為5位,可以定義0~31共32個(gè)寄存器,但是隨之PHY 功能的增加,很多PHY 采用分頁(yè)技術(shù)來(lái)擴(kuò)展地址空間,定義 的寄存器,在這里 不 這種情況。IEEE802.3定義了0~15這16個(gè)寄存器的功能,16~31寄存器由 制造商 定義。淘寶:http:/技術(shù)BCR寄存器(0)淘寶:http:/技術(shù)BSR寄存器(1)淘寶:http:/技術(shù)在ST的以太網(wǎng)驅(qū)動(dòng)庫(kù)stm32f4x7_eth.h中定義了PHY的BCR和BSR寄存器的地址和這兩個(gè)寄存器對(duì)應(yīng)bit的意義,如下:#define
PHY_BCR#definePHY_BSR01/*!<
Transceiver
Basic
Control
Register
*//*!<
Transceiver
Basic
Status
Register
*/((uint16_t)0x8000)((uint16_t)0x4000)((uint16_t)0x2100)((uint16_t)0x2000)((uint16_t)0x0100)((uint16_t)0x0000)((uint16_t)0x1000)#definePHY_Reset#definePHY_Loopback#define
PHY_FULLDUPLEX_100M#definePHY_HALFDUPLEX_100M#definePHY_FULLDUPLEX_10M#definePHY_HALFDUPLEX_10M#definePHY_AutoNegotiation…………#define
plete#definePHY_Linked_Status#define
PHY_Jabber_detection((uint16_t)0x0020)((uint16_t)0x0004)((uint16_t)0x0002)淘寶:http:/技術(shù)LAN8720特殊功能寄存器(31)LAN8720的特殊功能寄存器中的bit2~4是 關(guān)心的,因?yàn)閺倪@3個(gè)bit中,我們可以判斷出當(dāng)前開(kāi)發(fā)板網(wǎng)絡(luò)的雙工方式和網(wǎng)速。這個(gè)寄存器的地址和bit的意義需要 手動(dòng)添加到ST的以太網(wǎng)驅(qū)動(dòng)庫(kù)文件stm32f4x7_eth_conf.h中淘寶:http:/技術(shù)淘寶:http:/技術(shù)4.1、以太網(wǎng)DMA描述符F407有一個(gè)以太網(wǎng) 的DAM,DMA可以在CPU完全不干預(yù)的情況下,通過(guò)描述符有效地將數(shù)據(jù)從源傳送到目標(biāo),接收緩沖區(qū)和發(fā)送緩沖區(qū)的數(shù)據(jù)都可以通過(guò)以太網(wǎng)DMA來(lái)傳送。共有兩個(gè)描述符:一個(gè)用于接收,一個(gè)用于發(fā)送。描述符是一種鏈表,最后一個(gè)描述符會(huì)指回第一個(gè)描述符以構(gòu)成環(huán)形結(jié)構(gòu)。描述符列表位于主機(jī)的物理存儲(chǔ)空間,兩個(gè)列表的基址分別寫(xiě)入ETH_DMARDLAR寄存器和ETH_DMATDLAR寄存器中。每個(gè)描述符最多可指向兩個(gè)緩沖區(qū),描述符一共有兩種結(jié)構(gòu):環(huán)形結(jié)構(gòu)和 結(jié)構(gòu)。淘寶:http:/技術(shù)淘寶:http:/技術(shù)4.2、DMA描述符
結(jié)構(gòu)在ST提供的以太網(wǎng)驅(qū)動(dòng)庫(kù)stm32f4x7_eth.c中使用是結(jié)構(gòu),結(jié)構(gòu)如下描述符注意事項(xiàng):1、一個(gè)以太網(wǎng)數(shù)據(jù)包可以 一個(gè)或多個(gè)DMA描述符2、一個(gè)DMA描述符只能用于一個(gè)以太網(wǎng)數(shù)據(jù)包3、DMA描述符列表中的最后一個(gè)描述符指向第一個(gè),形成鏈?zhǔn)浇Y(jié)構(gòu)!淘寶:http:/技術(shù)描述符不是實(shí)際存在的物理結(jié)構(gòu),而是在程序中通過(guò) 實(shí)現(xiàn)的,其實(shí)就是一個(gè)結(jié)構(gòu)體!在ST的以太網(wǎng)驅(qū)動(dòng)庫(kù)stm32f4x7_eth.h中有個(gè)結(jié)構(gòu)體ETH_DMADESCTypeDef,這個(gè)結(jié)構(gòu)體就是DMA描述符!?。ypedef
struct
{
IO
uint32_t
Status;uint32_tuint32_tuint32_tControlBufferSize;Buffer1Addr;Buffer2NextDescAddr;//狀態(tài)//控制和buffer1,buffer2的長(zhǎng)度//buffer1地址//buffer2地址或下一個(gè)描述符地址//一下只有增強(qiáng)的以太網(wǎng)DMA描述符含有#ifdef
USE_ENHANCED_DMA_DESCRIPTORSExtendedStatus;1;TimeStampLow;TimeStampHigh;//增強(qiáng)描述符狀態(tài)//保留//時(shí)間戳低位//時(shí)間戳uint32_tuint32_tuint32_tuint32_t#endif}ETH_DMADESCTypeDef;淘寶:http:/技術(shù)描述符有分為增強(qiáng)描述符和常規(guī)描述符, 只講常規(guī)描述符!因?yàn)?的網(wǎng)絡(luò)例使用到了常規(guī)描述符。常規(guī)描述符和增強(qiáng)描述符的結(jié)構(gòu)體成員變量不同。常規(guī)描述符只使用了描述符的前4個(gè)成員變量。常規(guī)描述符和增強(qiáng)描述符又有發(fā)送描述符和接收描述符兩種,下圖是常規(guī)Tx
DMA描述符:淘寶:http:/技術(shù)常規(guī)TxDMA描述符中TDES0的bit20用來(lái)表示描述符中的第二個(gè)地址是用來(lái)保存下一個(gè)描述符地址還是第二個(gè)緩沖區(qū)的地址,這點(diǎn)很重要!常規(guī)Rx
DMA描述符如下常規(guī)TxDMA描述符和常規(guī)Rx
DMA描述符的成員變量的意義不同!常規(guī)Rx
DMA描述符中RDES1的bit14用來(lái)表示描述符中的第二個(gè)地址是用來(lái)保存一個(gè)描述符地址還是第二個(gè)緩沖區(qū)的地址。淘寶:http:/技術(shù)ST
以太網(wǎng)庫(kù)stm32f4x7中使用結(jié)構(gòu)的DMA描述符,那么在以太網(wǎng)描述符結(jié)構(gòu)體ETH_DMA
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度汽車(chē)維修行業(yè)人才引進(jìn)與培養(yǎng)合同
- 2025年度環(huán)衛(wèi)工人勞動(dòng)爭(zhēng)議調(diào)解與處理合同
- 二零二五年度農(nóng)村宅基地租賃協(xié)議(農(nóng)村文化產(chǎn)業(yè)發(fā)展)
- 2025年度高級(jí)建造師聘用與技術(shù)咨詢(xún)服務(wù)協(xié)議
- 二零二五年度商業(yè)企業(yè)購(gòu)銷(xiāo)合同印花稅稅率調(diào)整與稅收籌劃實(shí)務(wù)
- 二零二五年度藝人經(jīng)紀(jì)與全產(chǎn)業(yè)鏈合作合同
- IT基礎(chǔ)設(shè)施建設(shè)項(xiàng)目投資合同
- 鄉(xiāng)村旅游資源開(kāi)發(fā)利用合作協(xié)議
- 電梯采購(gòu)工程合同
- 文化旅游項(xiàng)目開(kāi)發(fā)合作框架協(xié)議
- 2025年第六屆(中小學(xué)組)國(guó)家版圖知識(shí)競(jìng)賽測(cè)試題庫(kù)及答案
- GB/T 26436-2025禽白血病診斷技術(shù)
- 體育場(chǎng)館工程施工組織設(shè)計(jì)
- 春季校園常見(jiàn)傳染病及預(yù)防措施培訓(xùn)課件
- 國(guó)際標(biāo)準(zhǔn)下的AI技術(shù)應(yīng)用-深度研究
- 2025-2030年城市軌道交通運(yùn)營(yíng)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢(xún)報(bào)告
- 2025年江西生物科技職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 《信息技術(shù)(拓展模塊)》高職全套教學(xué)課件
- 2025天津市安全員《B證》考試題庫(kù)
- DB37T-住宅小區(qū)供配電設(shè)施建設(shè)標(biāo)準(zhǔn)編制說(shuō)明
- 食品飲料行業(yè)酒類(lèi)2025年度策略報(bào)告:拐點(diǎn)漸近行穩(wěn)致遠(yuǎn)
評(píng)論
0/150
提交評(píng)論