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

RTL8201网络芯片讲解

[复制链接]
STMCU小助手 发布时间:2021-7-30 13:40
01 基础问题+ _0 o! N: E* y/ ?& p8 |9 }
8 N4 e7 ^+ Z# V

% o$ t: w1 ]5 ^/ I+ l3 N1.1、芯片数据接口2 \8 R( v/ ^6 u- `* I" _

! {3 ?  z0 d' D& Y$ H0 U$ @' j
5 x- Y+ s9 s% |7 q
1.png 1 ~/ |, \5 s! c3 q. X
, `8 c, H* Z' I( H

7 t6 e* M6 Q' Q, PRTL8201E(L)是一种单芯片/单端口快速以太网物理接收器,支持MII接口,RMII接口,SNI接口。
8 J) Z7 K5 i( h5 _) W" _7 \6 s* `; w. G4 U1 a

" z3 s0 V7 V2 GMII接口和RMII接口切换在8.1.1章节有讲到,如下图:* X9 a# x$ M0 d6 `! Y6 V
; A# o$ g1 W5 h; D: a) t4 n

+ a# C# G% T5 O- {. W6 X* z6 T 2.png
4 h  n7 j- A- S' g
  k; h" x$ U. @9 p! ~
' u$ g; W' b$ H: k6 q7 k" {2 z9 ^
选择MII接口,把COL/SNI脚拉低。0 \$ W6 R' H/ K" `5 A' m' B5 O3 L
+ @; A: t/ K* M& t

- O" b4 Z, Q0 V+ wRTL8201E的框图如下) D3 K8 v5 ?' O$ j$ V
: l4 m: U( e8 Z+ Y$ G$ ]. h& i3 W
- |4 t. [8 q2 ?. u. @
3.png
* T( B) k3 q7 n6 f' y& s( Q! D! M3 G

2 c& I$ @6 k5 e$ z9 O1 d8 C和MCU连接的系统框图如下:
$ Z" V2 R* f; {' n1 T; r* C, X4 P0 I! j; N( G/ P$ r5 @* N( M1 q% ?
, D' P. c3 H3 H7 Z6 Z! n
4.png
0 Z. |4 v) h3 g& M* l
5 v* v, h' v- b2 W! A
; k2 @1 F0 G, V, q- j  }
①RJ45也就是网口,就是我们常见的网口,如下图:0 g7 H& q: ]5 U; A1 Y: [  X

4 H; I+ {. b* V) I: F

* _* F* c1 \8 D# k; w7 R" Y: m 5.png - `3 s4 s$ B: i. [

; _* U/ U* R, ~$ b5 j& F1 p

, e, ^! B3 G0 f$ P5 G9 b②magnetics,直译磁性元件,这里的通常叫法为:网络变压器。网络变压器又名网络隔离变压器、以太网变压器、网络滤波器,主要有信号传输、阻抗匹配、波形修复、信号杂波抑制和高电压隔离等作用。如下图
) e1 v& g( Y- U' t- N
% ]2 K+ T% `' e- a+ E' q6 R! o" @

9 R5 F6 d7 y' t1 @5 r 6.png
$ S9 ^2 u( O8 `% V4 a
, U7 y) I3 Y: z2 l7 O4 U

# p4 }7 I; F& i) {: T. y③PHY芯片,中文可称之为端口物理层,PHY连接一个数据链路层的设备(MAC)到一个物理媒介,如光纤、铜缆线或网线等。也就是本文重点讲解的内容,如下图
! I% W, z) b# c
2 u4 V# D8 e% L8 B/ D. R3 N
+ V# p! {: n1 M/ n4 H, K$ R
7.png
( I4 \' T  w  I% y6 x, f" `) g4 X
; t% a0 r1 ?" E: ~5 }2 D9 F

( ^$ T( ?: T/ Q/ g( N④MAC部分,主要是STM32的ETH外设部分,这方面之前的文章已经讲解过了
& G- X& H; b8 l
) `+ B9 b, y1 ~) `8 I
: v9 N% {# Q* Z+ r' u
8.png   t0 d6 i! g' X8 d
; q; W$ G% M$ `. p+ O8 j5 }' a
8 a$ b' J5 y, x  g* V% G% N0 a
涉及到的文章有《STM32网络之SMI接口》《STM32网络之MII和RMII接口》《STM32网络电路设计》《STM32网络之MAC控制器》《STM32网络之DMA控制器》《STM32网络之中断》。# h6 W' N. ~; ^( w& O" n

. a  m6 Z# T; W2 P# h. j) R

  K; q( E  y, i' [/ E6 z% M; G1.2、芯片地址" y+ A2 p- R: F& d3 u
7 U% O; U; s6 I# i" C7 U9 ]# |! T! G6 y

& }2 l+ U8 ?: K, qMCU如何选择PHY芯片的地址,参看芯片的SMI接口' \3 N. Q# K0 D+ m6 ]* m$ c

9 x: h2 I8 }+ J

6 G$ Q+ O! i% s) TRTL8201的PHY地址经过两个管脚配置的$ \& |- D% m6 ^/ C
  q7 O8 x" ?% Q  }/ p7 e; ^3 w

8 n. j) ^8 c9 V% ]2 d# a! L 9.png
; W( h9 a: w2 X8 \, r0 @3 z9 S) Y# k: W0 U
+ @; d" e2 [0 z. [0 {
在这里我们看出,这两个管脚和LED灯的管脚是复用的
; r9 H/ [$ p# P
# b2 U) f& ~- A; s/ W0 j# c

. M; g; s2 q0 c 10.png
) j1 z: y3 q. b1 J  q4 x4 N9 g) r! ~: `: _" l' T5 m8 o7 R3 Y8 h9 @
' c% W( _; W* P* _& x+ E; o, Q0 x
为了减少RTL8201EL的引脚数,LED引脚和PHY地址引脚复用。额外的捆绑考虑和LED使用必须被考虑,为了避免争用。具体的来说,当LED的输出被直接用来驱动LED时,每一个输出驱动的活跃状态依赖于相应的PHAD输入在上电和复位采样的逻辑电平。例如,如图6(左侧)显示,如果一个给定的输入电阻PHYAD拉高,那么相应的输出将被配置为低电平驱动。在右边,我们可以看到,如果一个给定的输入电阻拉低PHYAD然后相应的输出将被配置为一个高电平驱动。PHY地址配置脚不应该直接和VCC或GND相连,但是一个电阻(比如5.1KΩ)拉高或拉低。如果没有LED指示灯,LED的路径组件(LED+ 510Ω)可以被删除。
0 I+ |, M/ L3 J
' ^  [5 {" O$ A3 W
  i) Q' q! t! a5 J* Z  q5 h
11.png
9 e, B" g0 j  R, u# b" t6 P; ~- M0 p! Z5 w2 u8 ^7 n

1 L' `: f& t4 ?/ B8 ?/ c查看PCB得知,我们的控制卡PHY的地址是0
" G( m$ [) r9 h1 y
$ u- U# e$ j- N5 O* r3 }
: W( w$ t! D* Q4 m
1.3、时钟源的选择0 w/ j! I+ B4 b. o9 w$ v5 @
$ a8 u, e  b8 T, w; \# j# d$ X

( d5 X6 y0 h+ {6 h  ?; ~' z# D5 \ 12.png + Q9 l7 U, L2 v6 t' y1 d$ L! ]

, h6 A+ l; m; ]: `( E. I

! e% ]: C6 r% P) B: h2 Q0 b! rCKXTAL2 25MHz晶振输出(25MHzCrystal Output):该引脚提供25MHz晶振输出。当X1用一个外部的25MHz振荡器驱动时该引脚必须悬空。9 \6 _0 w& z! _/ S0 ?

9 x  T# S! s( b/ C4 O) \# i: n

/ ]6 i; A5 `' P! t: sCKXTAL1 25MHz晶振输入(25MHzCrystalInput):该引脚提供25MHz晶振输入。如果使用一个25MHz的振荡器,连接X1到振荡器的输出。参见9.3节对时钟源的说明。
7 Q/ I# {/ z; o% U& H7 `5 n' p) h6 f0 }; g
+ G7 A; B" _1 m: \! V
13.png ( ?3 c: z% l0 e0 I) G9 u& [
- T, D, n- ]4 z

) J7 H. [; M* @) x( c# N+ y7 ^我们使用MCU的MCO1提供时钟,查看电路图,X2是悬空的。
1 g2 o) }: R, E+ q" O7 w3 o( I
5 \$ ?; E/ I* \- d+ G. h
$ }/ t. B* }: E' E, [, M' W
备注:
9 }" ]$ i, F/ u% c# u! z$ |
4 J& i' O( D& s, m
/ U4 F/ V* F. n2 g5 ^
如果使用25MHz无源晶振,两个脚都需要连接,和MCU的无源晶振连接相同,关于晶振方面知识,可以参考《晶振原理讲解》。0 O; n: @7 l" X; T, F: f

% W; h- y" @' B5 e

8 n& r7 g; E. G# I' ?: M* ^# e6 d' v: k4 k8 h* P

5 F( s% F7 w; _% E% L02 寄存器
5 \0 i% ~5 s- Z8 f$ F- U. C% z$ z# `  K2 O
) Q7 B+ |& k/ j. K: \# A1 w
PHY寄存器是由IEEE802.3定义的,一般通过SMI对PHY进行管理和控制,也就是读写PHY内部寄存器。PHY寄存器的地址空间为5位,可以定义0~31共32个寄存器。IEEE802.3定义了0~15这16个寄存器的功能,16~31寄存器由芯片制造商自由定义。
1 r& E  J* Q2 o$ F% f& X. {3 d9 W& ~7 @% n3 F4 S
& H6 r) q- }3 l  O, l" |; e. F0 z
寄存器0、寄存器1和寄存器15讲解以及IEEE802.3官方文档,请看《PHY寄存器》。( ]# w9 P" Z; M4 v& S/ z* b

$ Q4 \+ j& d! c9 Z5 m) @

# }' F2 \2 n- Q: h0 B自定义寄存器16$ s% f, F- P5 R4 {
获取PHY芯片的链接速度/ [. x2 X6 W3 C
ST官方库文件的驱动在stm32f2x7_eth_conf.h最后部分+ G6 a8 x/ @. O

5 v2 k/ J1 A, q, B

* x/ ?2 H& V  `# }' q4 u" w0 f 14.png
$ h: E1 b  [. e  }& V# P7 K$ M- f" D/ r  \3 M) ^

$ c4 i: z; t5 m4 x" KST官方使用的是DP83848芯片,寄存器16可以用来获取芯片的速度,这个寄存器就是DP83848芯片厂家自定义的寄存器,所以在移植STM32官方代码时注意这个问题。
3 N4 ]1 {+ U7 V! B' ~6 }: `) E( B/ X) N) Q; S' W
# a. t# O5 T0 a- {
我们使用的RTL8201芯片也是并不是这样的
1 Q- b/ F; l, Q2 G0 [' k7 m7 o' W( G" K4 _

3 }' j4 k+ B4 J% b寄存器16  Nway设置寄存器
) F$ y7 ]  p0 S. D7 I3 y7 `+ r8 o/ @* ^

3 r& D3 f2 @- K- W" y! F: F 15.png
* O& V$ _: L; A! [) J( j& C3 h: I$ l- z& ]! x: |) ^

' L; w5 ?1 f8 P0 ?$ e$ A, I# \1 ^翻译成中文如下) }2 s% m/ z! L5 g+ i1 e
其他寄存器并非必须的寄存器,重要的寄存器0和寄存器1已经在《PHY寄存器》讲解过了。
8 r2 H. W! G$ B% }/ j8 u; |- v 16.png & u: z) p, G5 l
RTL8201资料下载:- v* W, T8 |- v; r% `: E: D
: l8 @) P5 N4 g+ B3 [. k

7 E6 {0 b/ [9 R/ e& _: J链接:https://pan.baidu.com/s/1hKQcp9KCyICbTiZRANTiZA
% @2 [3 i3 N1 W3 H, y0 Z, Z3 t0 v$ P
/ B2 x& j' P/ t0 C7 ]& s/ Z

6 q& d: u; t9 h2 y# w提取码:wkr1( x" ]; C( i9 t  |2 w
3 B- S# P: Z5 i- [5 j, w
赞 1 收藏 评论0 发布时间:2021-7-30 13:40

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版