RTL8201網絡芯片講解


01、基礎問題

1.1、芯片數據接口

圖片

RTL8201E(L)是一種單芯片/單端口快速以太網物理接收器,支持MII接口,RMII接口,SNI接口。

MII接口和RMII接口切換在8.1.1章節有講到,如下圖:

圖片

選擇MII接口,把COL/SNI腳拉低。

RTL8201E的框圖如下

圖片

和MCU連接的系統框圖如下:

圖片

①RJ45也就是網口,就是我們常見的網口,如下圖:

圖片

②magnetics,直譯磁性元件,這里的通常叫法為:網絡變壓器。網絡變壓器又名網絡隔離變壓器、以太網變壓器、網絡濾波器,主要有信號傳輸、阻抗匹配、波形修復、信號雜波抑制和高電壓隔離等作用。如下圖

圖片

③PHY芯片,中文可稱之為端口物理層,PHY連接一個數據鏈路層的設備(MAC)到一個物理媒介,如光纖、銅纜線或網線等。也就是本文重點講解的內容,如下圖

圖片

④MAC部分,主要是STM32的ETH外設部分,這方面之前的文章已經講解過了

圖片

涉及到的文章有《STM32網絡之SMI接口》《STM32網絡之MII和RMII接口》《STM32網絡電路設計》《STM32網絡之MAC控制器》《STM32網絡之DMA控制器》《STM32網絡之中斷》。

1.2、芯片地址

MCU如何選擇PHY芯片的地址,參看芯片的SMI接口

RTL8201的PHY地址經過兩個管腳配置的

圖片

在這里我們看出,這兩個管腳和LED燈的管腳是復用的

圖片

為了減少RTL8201EL的引腳數,LED引腳和PHY地址引腳復用。額外的捆綁考慮和LED使用必須被考慮,為了避免爭用。具體的來說,當LED的輸出被直接用來驅動LED時,每一個輸出驅動的活躍狀態依賴於相應的PHAD輸入在上電和復位采樣的邏輯電平。例如,如圖6(左側)顯示,如果一個給定的輸入電阻PHYAD拉高,那么相應的輸出將被配置為低電平驅動。在右邊,我們可以看到,如果一個給定的輸入電阻拉低PHYAD然后相應的輸出將被配置為一個高電平驅動。PHY地址配置腳不應該直接和VCC或GND相連,但是一個電阻(比如5.1KΩ)拉高或拉低。如果沒有LED指示燈,LED的路徑組件(LED+ 510Ω)可以被刪除。

圖片

查看PCB得知,我們的控制卡PHY的地址是0

1.3、時鍾源的選擇

圖片

CKXTAL2 25MHz晶振輸出(25MHzCrystal Output):該引腳提供25MHz晶振輸出。當X1用一個外部的25MHz振盪器驅動時該引腳必須懸空。

CKXTAL1 25MHz晶振輸入(25MHzCrystalInput):該引腳提供25MHz晶振輸入。如果使用一個25MHz的振盪器,連接X1到振盪器的輸出。參見9.3節對時鍾源的說明。

圖片

我們使用MCU的MCO1提供時鍾,查看電路圖,X2是懸空的。

備注:

如果使用25MHz無源晶振,兩個腳都需要連接,和MCU的無源晶振連接相同,關於晶振方面知識,可以參考《晶振原理講解》。

 

02、寄存器

PHY寄存器是由IEEE802.3定義的,一般通過SMI對PHY進行管理和控制,也就是讀寫PHY內部寄存器。PHY寄存器的地址空間為5位,可以定義0~31共32個寄存器。IEEE802.3定義了0~15這16個寄存器的功能,16~31寄存器由芯片制造商自由定義。

寄存器0、寄存器1和寄存器15講解以及IEEE802.3官方文檔,請看《PHY寄存器》。

自定義寄存器16

獲取PHY芯片的鏈接速度

ST官方庫文件的驅動在stm32f2x7_eth_conf.h最后部分

圖片

ST官方使用的是DP83848芯片,寄存器16可以用來獲取芯片的速度,這個寄存器就是DP83848芯片廠家自定義的寄存器,所以在移植STM32官方代碼時注意這個問題

我們使用的RTL8201芯片也是並不是這樣的

寄存器16  Nway設置寄存器

圖片

翻譯成中文如下

Address

Name

Decription

15~11

保留

Realtek測試模式內部使用

未經Realtek批准,請勿更改此字段。

10

Testfun

為1時,自送協商內部加速定時器

9

NWLPBK

為1時,設置NWay為回送模式

8~3

保留

 

2

FLAGABD

為1時,自動協商進入性能檢測狀態

1

FLAGPDF

為1時,自動協商遭遇硬性檢測故障情況

0

FLAGLSC

為1時,自動協商進入連接狀態檢查

其他寄存器並非必須的寄存器,重要的寄存器0和寄存器1已經在《PHY寄存器》講解過了。

RTL8201資料下載:

鏈接:https://pan.baidu.com/s/1hKQcp9KCyICbTiZRANTiZA

提取碼:wkr1

 

硬件原理圖和PCB開源地址:

https://github.com/strongercjd/STM32F207VCT6

 

點擊查看本文所在的專輯,STM32F207網絡開發


免責聲明!

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



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