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

RTL8201网络芯片讲解

[复制链接]
STMCU小助手 发布时间:2021-7-30 13:40
01 基础问题
; q' p$ [  D5 z, F. [$ I1 K0 _% l$ C

( F) @0 ~8 [+ v9 u5 C1.1、芯片数据接口
' z0 ]2 K8 k+ I6 c8 h+ x: r7 I, S. S9 p" k6 ?& G: \$ d) s
* m7 x- C7 z- t4 M& d( Y8 x
1.png 8 W# W+ L0 h6 |  W) Q9 J/ u

+ N3 M1 i6 n+ t; t
* i2 r7 R) F$ g3 \& w: a2 d5 t
RTL8201E(L)是一种单芯片/单端口快速以太网物理接收器,支持MII接口,RMII接口,SNI接口。
+ t9 |' K5 T6 }* a- i, q2 E3 P" ~0 W- b6 d6 r( R0 x

1 w" M% \; Z" [5 ?MII接口和RMII接口切换在8.1.1章节有讲到,如下图:2 Q3 M% \+ m. W) t- @( z: C

/ O3 a* O% F( S' ^- D( N

) p* Y4 |0 v8 O# d, R/ f# t 2.png   c& D; w1 M, m0 X  _4 I
; H# ?3 }& O& ]+ n; y
) O6 }+ c; j) B, @+ j+ Y+ M
选择MII接口,把COL/SNI脚拉低。- R# }! D5 V& E7 \0 n
- U- R) k; k3 q4 E) T  S2 y  O

1 M: C5 I5 J) T! MRTL8201E的框图如下
! n% k* ?" M& w' f; n& T+ b7 W3 F8 N5 n. |( R7 j# s

" z1 L) x/ R2 S0 O% W 3.png 7 M8 Y- U; E5 S( G  i; i$ h) w
4 n9 m5 M4 S  y% t3 e/ E9 f4 z
9 f/ I* E- L( b) H  m5 ]% }
和MCU连接的系统框图如下:
7 m) R  i% T5 h$ s! {9 |6 l& R
/ ]7 I/ |/ P  |' g5 V! T' J
7 l0 k3 Z8 P% R/ D' ]4 [% C
4.png , O* d7 H4 h2 C# h* _/ R
9 j$ a8 F) M& _, b0 P" Q3 K
6 i- w2 @% d# F0 U( v, v- L
①RJ45也就是网口,就是我们常见的网口,如下图:' W# D, E1 E( `! c7 _; e" E! V, t* i

* {- x# c' }0 \3 n5 a) g( ^+ D
( i* v' q7 J& ]& g
5.png
8 h4 t0 K2 R+ `. e+ V& v7 E( q2 J  x# k2 T$ j; B  E* L

4 r8 y! s& [4 _- z2 x5 T4 L②magnetics,直译磁性元件,这里的通常叫法为:网络变压器。网络变压器又名网络隔离变压器、以太网变压器、网络滤波器,主要有信号传输、阻抗匹配、波形修复、信号杂波抑制和高电压隔离等作用。如下图
4 Y$ K) Z' B* M$ e( ?" x: _6 h
5 E# x9 c1 E- [9 M# c; W

$ q' u( R0 e% a- p4 L 6.png ) N& g% E" p, W2 ~5 p% \0 X

# j2 t! L4 t, M! d$ Y2 a& f/ m  |
+ _1 M  C, _  L  ?# T- @, o
③PHY芯片,中文可称之为端口物理层,PHY连接一个数据链路层的设备(MAC)到一个物理媒介,如光纤、铜缆线或网线等。也就是本文重点讲解的内容,如下图+ \, f& R# B/ T" X

0 A# S0 ]7 K+ n4 _  D

4 w! s# u9 V+ c7 U8 r 7.png
2 Z$ S; Q+ r8 u0 ]! J8 P. g9 `* `9 W$ v: a8 }- M
$ c  w0 s1 X/ U" H. u0 ?6 |& C
④MAC部分,主要是STM32的ETH外设部分,这方面之前的文章已经讲解过了
: u  R  y- M& h5 Y& d% W, F; y" Z: `7 W2 @9 w
6 a! E* p' A  @# l
8.png   h, M+ t4 [) T) _9 A' F

5 Z) P, [% X6 w! n9 f
) I9 ^  e# ^! U5 l5 ^! }
涉及到的文章有《STM32网络之SMI接口》《STM32网络之MII和RMII接口》《STM32网络电路设计》《STM32网络之MAC控制器》《STM32网络之DMA控制器》《STM32网络之中断》( T( _. W: Q) U$ n, M8 j% r
( V8 R3 [  Q4 R' L1 z

" _1 Z1 K9 m2 q) \, _1 c" W! N* [1.2、芯片地址7 n  t  U3 H5 T# \2 r; b  F: w( O

7 Y- n0 N3 ]+ t" ?1 e7 N* a0 |
7 F- B" H- t, C  d3 n( b  {; y
MCU如何选择PHY芯片的地址,参看芯片的SMI接口8 J5 Y6 W: J  f; m  V- j
$ K( j2 k0 n# ~* s% a# a  _9 I" I: ]

# z7 ]# U, w. x9 f, mRTL8201的PHY地址经过两个管脚配置的) I# o1 C, ~9 J

3 E, @. ?, x  E! D. ?0 q- {% \) y) d" {
3 s+ l7 e0 P- v; o, m
9.png
- ?# ^, X8 _( @5 c; ^* G2 s
2 l) e8 I2 A- f( E
- e: f8 W; L) v: i$ `9 s
在这里我们看出,这两个管脚和LED灯的管脚是复用的, R' Y  _3 ~* x' K0 ~) k+ {

# n3 s$ k  p$ u

; K) i+ z& ^6 E" G# o 10.png 8 ^7 s, M3 V. S6 H. u9 o$ O

; _& W' _  X9 t8 P/ d, Q
9 u, S- k! d8 {* c
为了减少RTL8201EL的引脚数,LED引脚和PHY地址引脚复用。额外的捆绑考虑和LED使用必须被考虑,为了避免争用。具体的来说,当LED的输出被直接用来驱动LED时,每一个输出驱动的活跃状态依赖于相应的PHAD输入在上电和复位采样的逻辑电平。例如,如图6(左侧)显示,如果一个给定的输入电阻PHYAD拉高,那么相应的输出将被配置为低电平驱动。在右边,我们可以看到,如果一个给定的输入电阻拉低PHYAD然后相应的输出将被配置为一个高电平驱动。PHY地址配置脚不应该直接和VCC或GND相连,但是一个电阻(比如5.1KΩ)拉高或拉低。如果没有LED指示灯,LED的路径组件(LED+ 510Ω)可以被删除。- z0 E$ U% W4 d7 `) w2 [
& T: L* P( y' A5 F) H4 q& e

- v; p& ~! e7 B$ q" } 11.png * a- `; S- u# x% A6 q
7 }6 k7 b2 _* d( O% d( ]- q! E1 k3 v
$ q- Q! I' p( ~; f" v  n% R
查看PCB得知,我们的控制卡PHY的地址是0
6 U, s) E& C- D! T& q) v+ \; W8 V: C/ A4 I- G7 L/ W

9 d8 @! T  [. P5 |1.3、时钟源的选择7 l5 {# ~/ u" Y( h2 s" ^! G3 n6 n/ ]# w

" R4 O$ T, v- X0 Y; \. k$ L
% F$ V; b7 V/ u, I" v1 P
12.png 6 f: R0 p  a6 [1 s$ @

9 F; ?3 a9 S* D2 j1 u& O& t
; T( W+ E' C: i8 W3 G5 y) Y4 F
CKXTAL2 25MHz晶振输出(25MHzCrystal Output):该引脚提供25MHz晶振输出。当X1用一个外部的25MHz振荡器驱动时该引脚必须悬空。
7 B( Z4 Q3 ^, T" R' M# x- w# f1 y: d  q7 ?

, M' ?. h( t$ d+ ?! YCKXTAL1 25MHz晶振输入(25MHzCrystalInput):该引脚提供25MHz晶振输入。如果使用一个25MHz的振荡器,连接X1到振荡器的输出。参见9.3节对时钟源的说明。
% t3 w3 P3 d7 \# r& B" |6 `8 e$ ^% H5 Z* v
& t4 R( s( A4 ^; s; x
13.png & ]- _  Q* Q0 k1 h
% W$ q) o8 v8 L& K+ [

5 K0 j+ {6 r- G& _- k0 s我们使用MCU的MCO1提供时钟,查看电路图,X2是悬空的。
2 m3 r3 D2 m, N; n( j5 F6 Z) M6 {1 J+ v" F; n  u
) X1 i% m6 _, ~3 H# E
备注:8 H, b5 ]6 d  x
1 N; K" e3 A4 U/ L" ]9 r3 O

- g$ U) V5 C- K3 j如果使用25MHz无源晶振,两个脚都需要连接,和MCU的无源晶振连接相同,关于晶振方面知识,可以参考《晶振原理讲解》
- k% C3 M/ D% a# ~, L% F: e6 J
0 j4 K8 u' S0 k# l4 r- D7 U8 o

; p" q3 ?1 W0 |/ A" m2 K4 x: [- ]- R8 V8 z# R5 U" l
+ p2 e7 `. a$ p$ P% J
02 寄存器$ e2 X: Q- i4 R) E( i
9 Q$ _! n# x! j/ h5 Y) V

' L) h$ i8 b, g! G7 ]PHY寄存器是由IEEE802.3定义的,一般通过SMI对PHY进行管理和控制,也就是读写PHY内部寄存器。PHY寄存器的地址空间为5位,可以定义0~31共32个寄存器。IEEE802.3定义了0~15这16个寄存器的功能,16~31寄存器由芯片制造商自由定义。: w9 ]9 O6 Q7 B4 I& d
  D1 K6 V! J$ q$ Y* s  ]

3 c( s/ ]) f1 r寄存器0、寄存器1和寄存器15讲解以及IEEE802.3官方文档,请看《PHY寄存器》  a7 l/ N- `  I7 w
# W; o$ y4 A  G

  E" V' q) f9 C0 R) f( l7 m自定义寄存器16
7 \- Y6 c" y! b3 a获取PHY芯片的链接速度
) G0 \1 F0 ~: P' OST官方库文件的驱动在stm32f2x7_eth_conf.h最后部分
& U3 c, V) r' G+ Y" G8 O/ [$ Q- W- }

* l9 q- u. w* n: w8 w 14.png
" W, [7 A( T# @! b" \, r) Q8 C" X" A8 W. q$ n8 N& Q( g( c
6 ~. l% Z) k- h$ w. v
ST官方使用的是DP83848芯片,寄存器16可以用来获取芯片的速度,这个寄存器就是DP83848芯片厂家自定义的寄存器,所以在移植STM32官方代码时注意这个问题。0 x" i" X8 m) H+ ]7 @
, n0 K' [) g: T) G* x

5 A( R' N! V# U$ k) E( ]我们使用的RTL8201芯片也是并不是这样的
" A" O3 o* w% Z1 T5 N  P$ j% w' m! p0 e- f
. z; O1 n$ \8 x+ e
寄存器16  Nway设置寄存器' i- j8 Y% h9 o6 g" R) p
2 `! E: M5 ]: `% y2 X8 \

% ?- x' Z: D7 x6 {, o9 H$ a9 J 15.png
% o7 L# m; y. W1 P; a! e, n& f& O: S' K4 d
6 _- \4 E) G0 |. l/ C6 [
翻译成中文如下
+ c0 y' k. w( ~- X- ]其他寄存器并非必须的寄存器,重要的寄存器0和寄存器1已经在《PHY寄存器》讲解过了。7 f: _7 Q/ ?" O0 X
16.png 2 L! @: H. S) X" B& G1 W! M5 E
RTL8201资料下载:
- K4 o. o8 `6 ?0 P, A# u: h" p# B! u, ~
+ z$ }" m- R; p" Q. c9 l( r
链接:https://pan.baidu.com/s/1hKQcp9KCyICbTiZRANTiZA
& _3 s( x/ X3 p& }" n/ {: y. l) _6 ?# V9 {( J+ W
* X4 @9 Y( ^+ R
提取码:wkr1" p& r/ m; O& O. u& \& R% G
" p9 P- o" W6 ~* p
收藏 评论0 发布时间:2021-7-30 13:40

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版