你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

RTL8201网络芯片讲解

[复制链接]
STMCU小助手 发布时间:2021-7-30 13:40
01 基础问题
6 j; O. k) n* f" t  Z% X4 L
) q* D5 [- I, F! |, P$ O3 F

" L$ `/ o2 ^* W# Q% m& N1.1、芯片数据接口  _( N- i5 J. s* f) Z. [& H$ R
; P! ]6 z1 r: f$ W- s2 s( u- d2 p
4 A8 G6 B+ r6 u, E; Z
1.png
! X8 U4 T! |6 M, G. g, ^) r# r. [2 A: \- a3 t3 h
  e3 ?* \, ^( I- |! X& G; E) \+ p
RTL8201E(L)是一种单芯片/单端口快速以太网物理接收器,支持MII接口,RMII接口,SNI接口。
# V3 J* t: j: w: x1 t1 [) `" b& g) n3 D2 U5 w. M# i
/ @; J2 l7 R% e3 d. F( R" U/ ?+ g' ?
MII接口和RMII接口切换在8.1.1章节有讲到,如下图:
: e0 P* P! b* u9 t8 b8 o% x) S! r, y- K) N2 ]8 r/ s. P1 k! `2 p; T
* N/ b# S: X: b, H
2.png
' \* C  W& X# w. g4 V9 e
: ?. ~3 M8 `' Z' A" t

1 C) k3 C! y. p2 V选择MII接口,把COL/SNI脚拉低。6 k% i" C: U4 V, K
0 e4 P7 ]9 K) M2 Y2 U5 }0 i
1 g% d4 H9 t3 l( k; F
RTL8201E的框图如下
% q9 b7 p4 d; S4 Z" C' v2 q0 g- ~& Y! d1 h
% V  Y. {) q  ]/ p6 ?3 F# F0 m3 i
3.png
+ r! N1 P1 J9 \1 C+ V! ]1 @* j+ @& B- D
  d/ K$ X5 A( A8 B$ G! Q9 u
和MCU连接的系统框图如下:' X2 t6 ^) s7 ~0 g& l
+ M. w2 Q+ @$ G. V; O& X9 s( S) k, ^( V

6 f1 ^% m$ H. c 4.png ! b& n2 y: x. F( m4 h
/ K9 M# [# o: f) s2 K& F* m5 \
/ Y) X' W6 U1 e0 [
①RJ45也就是网口,就是我们常见的网口,如下图:0 s+ V% k7 P* s3 b7 }# l
+ Z" _8 h$ s9 I) }

4 n& R$ j" n& u 5.png - p4 J4 ~0 ?9 ]: A0 ]" Y

% T, s8 V  X9 t' q2 X
: ~& Y" P+ ^4 J: m/ u/ a' M9 B' Z
②magnetics,直译磁性元件,这里的通常叫法为:网络变压器。网络变压器又名网络隔离变压器、以太网变压器、网络滤波器,主要有信号传输、阻抗匹配、波形修复、信号杂波抑制和高电压隔离等作用。如下图% n* L: U; _2 Y6 Y9 G' z$ T8 }

8 a  Q5 W/ t% O) E5 G8 D
3 K2 ^( n! `0 |2 s" a6 e
6.png
) b. j, h* H" O  ^1 v+ H0 a
+ e$ N& I2 P0 h
% ]( [5 s3 \5 L8 L+ Y, {4 }" l7 l  c- X
③PHY芯片,中文可称之为端口物理层,PHY连接一个数据链路层的设备(MAC)到一个物理媒介,如光纤、铜缆线或网线等。也就是本文重点讲解的内容,如下图) k. D5 c; ~  C( y. t
0 V$ e$ ^/ k+ h" `, O

) y- r0 v0 }) X- D/ X 7.png * n) a+ e3 j6 ]. V+ E

+ M" f3 c, {+ f: }# ~6 ^
& Z- p& o' i- i: w/ S0 h0 v4 e
④MAC部分,主要是STM32的ETH外设部分,这方面之前的文章已经讲解过了' A: L9 V. J. Z( Y( {7 p
) a2 ?5 }- V+ x3 n

8 L( J% z$ ^- E 8.png
$ u( `# L8 Z9 q# a$ c) K# }% B! i5 ]4 w9 G

* g# G0 D/ I# J6 V" X$ b涉及到的文章有《STM32网络之SMI接口》《STM32网络之MII和RMII接口》《STM32网络电路设计》《STM32网络之MAC控制器》《STM32网络之DMA控制器》《STM32网络之中断》: ~: |! q: u: k9 l; O% S" m2 V

: o; y; m6 X3 T6 O% u/ e

9 Q$ ^6 x: F& _+ I9 R1.2、芯片地址. [$ Q6 f% \. z! |! X5 i
0 Z% ]5 o' |! V. i1 c4 P: r0 I; A
" z4 m1 J6 Y0 v# z/ w* [: t
MCU如何选择PHY芯片的地址,参看芯片的SMI接口: Q# t, m: b/ i- E/ G4 |

) ?; z/ ]" ?5 p% N

; v/ ?8 x1 I9 @RTL8201的PHY地址经过两个管脚配置的) D0 [8 J$ r) w& M/ L

. u( S5 @' b& C/ Q
$ m+ Q" f0 J/ `6 u, r1 F; d
9.png 3 M5 Q4 @8 ~  B5 D. \

$ q: x. ]: ~" ?: n' m# P

; X$ c" [: _& o; z3 A在这里我们看出,这两个管脚和LED灯的管脚是复用的- t! q" L. g, f: U7 N
' I7 }3 d( ], O7 z0 ~
. B4 L' _7 P& j/ v0 P, x: J9 o
10.png - X6 i3 b/ E# k% L9 H
1 h) l# A1 U0 K4 U2 U. r3 T9 N* I
" ^: k! @- b" G
为了减少RTL8201EL的引脚数,LED引脚和PHY地址引脚复用。额外的捆绑考虑和LED使用必须被考虑,为了避免争用。具体的来说,当LED的输出被直接用来驱动LED时,每一个输出驱动的活跃状态依赖于相应的PHAD输入在上电和复位采样的逻辑电平。例如,如图6(左侧)显示,如果一个给定的输入电阻PHYAD拉高,那么相应的输出将被配置为低电平驱动。在右边,我们可以看到,如果一个给定的输入电阻拉低PHYAD然后相应的输出将被配置为一个高电平驱动。PHY地址配置脚不应该直接和VCC或GND相连,但是一个电阻(比如5.1KΩ)拉高或拉低。如果没有LED指示灯,LED的路径组件(LED+ 510Ω)可以被删除。9 n5 @4 o0 ~) f6 \+ s) N% |# s
/ J5 Q4 `9 {3 o+ {  r; D' ?+ P
' ~2 g* ?' h% O
11.png ; w' z, s% _. l* m5 U& w; v. E  q4 u
1 F# u9 |( X9 x+ X% c6 E
5 [( i( o; ^; Z/ q
查看PCB得知,我们的控制卡PHY的地址是0* p" h8 n' A$ O. s9 o

6 r5 w! i# \, W
2 u- Z( d+ R: u6 Z! j; b1 Z6 D; x5 K) G
1.3、时钟源的选择9 ]$ `, [; t8 s
& Q, r1 m: d, V
0 r- W6 V% k( W4 e9 W* k. \9 _$ n
12.png
' i( X" \( f  Y" e  A6 Y( i" \1 i0 b: S( Q. t! b4 h" z
1 R4 ?" D: u9 s! ?% B
CKXTAL2 25MHz晶振输出(25MHzCrystal Output):该引脚提供25MHz晶振输出。当X1用一个外部的25MHz振荡器驱动时该引脚必须悬空。$ f7 u4 H. x  ~+ G: O: j" k

, ^. ^6 a: W# p6 Y( H

3 {9 @! p( v3 h" h' ^CKXTAL1 25MHz晶振输入(25MHzCrystalInput):该引脚提供25MHz晶振输入。如果使用一个25MHz的振荡器,连接X1到振荡器的输出。参见9.3节对时钟源的说明。
, }6 {  _% z' _, O; x: v& S3 R, l" K/ e

9 ?: k- p+ x  j- u1 f 13.png
) a: w& w! l& U0 B; y1 H6 W) Z7 l
+ }( \; Q! I  \4 u# }1 o9 F" C" P' t
我们使用MCU的MCO1提供时钟,查看电路图,X2是悬空的。. J4 u$ J! Q$ z6 \2 k4 Q# p' ~. T+ \
  T3 ]$ d( v' b+ t! C- t+ e8 i* [
3 k# l- e  |/ C8 n. T% i, [
备注:2 }9 _6 e/ X5 M- |
5 B0 z  Z& f4 n/ U* p1 b# P: u- O6 Q
  G) O: T7 u8 m7 w% ]
如果使用25MHz无源晶振,两个脚都需要连接,和MCU的无源晶振连接相同,关于晶振方面知识,可以参考《晶振原理讲解》* ?% W5 w5 \! @2 Y: v

0 r2 d2 ~1 v' _! G( a" Q' d  y
& h; t: x1 y8 B8 I; j5 E
( M! r3 D0 \/ m1 ^0 h
$ l9 ]( w; P# p) h
02 寄存器( D2 t# j. E' K; @, Q7 ?/ C
' E/ k3 W; b$ G- p3 k/ A

2 g( h3 }& z& ~5 G2 v/ a' RPHY寄存器是由IEEE802.3定义的,一般通过SMI对PHY进行管理和控制,也就是读写PHY内部寄存器。PHY寄存器的地址空间为5位,可以定义0~31共32个寄存器。IEEE802.3定义了0~15这16个寄存器的功能,16~31寄存器由芯片制造商自由定义。+ ?& X# O+ B% T  |
! y8 H' @0 o( M' [
1 P& Q8 d' s- O+ a4 m
寄存器0、寄存器1和寄存器15讲解以及IEEE802.3官方文档,请看《PHY寄存器》% C* e* \, H1 `) f: U

* D% A' m9 V2 _* Y/ w1 _- {4 u
$ K0 d9 G  p+ w# b1 b
自定义寄存器16
, c- p0 @* D8 N' B- ~( }# Q- V/ U1 P3 {获取PHY芯片的链接速度3 O* V$ ]5 Q2 r. P4 R1 l8 e2 l
ST官方库文件的驱动在stm32f2x7_eth_conf.h最后部分' `& W6 e/ f$ E7 ^( m

( ?5 I7 l7 C" M/ e5 ^
# a  Z! @7 H- U$ c
14.png ! l7 {+ y5 z6 v" b* ?& M7 R

0 ~" ]. i$ i  r9 y

* U/ Q+ w4 Y" L' i- mST官方使用的是DP83848芯片,寄存器16可以用来获取芯片的速度,这个寄存器就是DP83848芯片厂家自定义的寄存器,所以在移植STM32官方代码时注意这个问题。9 ?% l/ M- u5 X4 k9 C( H

# L3 C  S) x9 g* `
- K" G% q( x+ i% [3 S* d% r; o7 _
我们使用的RTL8201芯片也是并不是这样的
% F5 x6 T, j- t9 t; w& e/ g& K* d+ M; H  \+ W6 L$ e3 N6 [0 g

) `4 I+ \# c5 r/ b寄存器16  Nway设置寄存器8 |2 B4 B: I/ A$ _* p2 Y
' m' _- S! Q" X6 R$ i
& p; j2 o" m' w0 K3 A
15.png
' E3 Z! F0 w) F. `/ G8 Z3 m5 l% R2 E+ k2 S0 B  N& J

& D. n1 x0 O4 U翻译成中文如下
7 Q3 D6 G9 t# m- |其他寄存器并非必须的寄存器,重要的寄存器0和寄存器1已经在《PHY寄存器》讲解过了。. Q7 n% x0 z( T/ R7 v
16.png 1 \9 P; n$ C- {; C( N4 o
RTL8201资料下载:! F! p- t0 n9 |. p1 _  ^- U$ _0 D# r/ j

+ l- b- m5 _& \4 O" k

% S) z7 k0 o4 D5 G6 h) _# }链接:https://pan.baidu.com/s/1hKQcp9KCyICbTiZRANTiZA
! i3 b& c& h* D2 F7 b; a+ B' N, g
" Q- o" j7 a5 |, Z

- m6 \" |* `  E7 i* [  i8 d1 i5 w提取码:wkr1
& Y  [3 p1 ~# l( @( j  ^/ I) i! s. l" ?
1 收藏 评论0 发布时间:2021-7-30 13:40

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版