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

RTL8201网络芯片讲解

[复制链接]
STMCU小助手 发布时间:2021-7-30 13:40
01 基础问题1 j8 |, L% I- p4 f! `, J
# {1 N- W' S4 W. K/ I4 Q6 B
( U' D% X7 x' V, L# ^! x+ y4 p9 G
1.1、芯片数据接口+ i! d) A$ B9 c$ {2 r
6 j6 ]- }; q3 {3 Q2 W% p4 e0 Z

4 O- T6 P% U( E$ d) t! j 1.png
4 V# ^0 k6 P% v9 {' a# R( `7 p3 w
% k  A5 `) y. p. W" g" I
$ [  q' h. E5 O, S
RTL8201E(L)是一种单芯片/单端口快速以太网物理接收器,支持MII接口,RMII接口,SNI接口。
* s' x7 H; ?; H" m; C& J7 e. b! c8 C
& z4 a2 l& X' @' |1 N) h8 h4 N

* X4 p* q2 m" f* X& \8 AMII接口和RMII接口切换在8.1.1章节有讲到,如下图:
$ ^& A6 L. M% ?* g  i% n( z8 O) Y1 |5 K+ `* C( i

9 `9 W1 @9 }# I1 J" w( E 2.png ) `5 n5 m) E9 V) \

/ `5 q% H- S( @3 S
. O( U3 Y  q+ L; }( d, k
选择MII接口,把COL/SNI脚拉低。3 e* \6 F& N  G7 S& }

; \: [, L# G7 ]( x2 F0 u. @: @
1 t9 z* ^  G, \
RTL8201E的框图如下
, f: y. `; ^- n/ [& |
# H* e$ @* S0 G" V* O& j9 G
: P; x7 Q4 ?+ k- Q. i
3.png
$ ]4 F: h6 c6 n) c6 q- P( i  {1 h5 J# B4 ?1 u

! t! _* c4 c) F4 f和MCU连接的系统框图如下:
, k* Z) b. B) Q2 Z0 f
3 W# [8 E( {: B! K

% k- V. A1 ~6 C( l; P$ ?+ f7 H 4.png 1 j% I0 b" d: V, W8 Y5 G
' k  H" T3 D8 {1 K
8 a0 N+ H' w2 G4 d5 a: b
①RJ45也就是网口,就是我们常见的网口,如下图:+ y! _" e7 X5 {* |( T) h9 Z! Y

' h$ T& m4 ^& M' J
. W- X6 {+ `# k; a
5.png
- ~  Z2 T. q1 O4 d3 R' J
% m5 D3 R+ R' ]( z/ E" `% c: g
0 x3 Q- D0 j) ?' D6 n
②magnetics,直译磁性元件,这里的通常叫法为:网络变压器。网络变压器又名网络隔离变压器、以太网变压器、网络滤波器,主要有信号传输、阻抗匹配、波形修复、信号杂波抑制和高电压隔离等作用。如下图4 S  _3 U* Q0 j4 j% C; [
  a6 s# s1 x) O. l4 s

- h  }) p& s4 M0 \; l% V% Y/ R 6.png
* S9 E6 c0 Q/ r! \- ?  I5 x. y4 ^
9 X( t* V# V8 q2 m+ u; l
4 {: ?7 p6 M  R. @& R+ O# B
③PHY芯片,中文可称之为端口物理层,PHY连接一个数据链路层的设备(MAC)到一个物理媒介,如光纤、铜缆线或网线等。也就是本文重点讲解的内容,如下图
9 y, h( w- K) A; s5 R9 K) z5 q9 E2 P( H0 ^
" w8 P( Y  N) u8 c1 |/ ?
7.png
, \! Y' _+ R9 V1 g" x  G" J5 o: J( }# G& G, X( o# s1 l: }! ?  `
: p7 W0 |& u+ b7 ^& |3 Q$ L3 ]
④MAC部分,主要是STM32的ETH外设部分,这方面之前的文章已经讲解过了
* O  p; A/ m% x& a, c: a6 y8 g: p2 V$ V5 D+ M& I+ h
  |; [) @0 M% l$ g
8.png
/ I, s- K9 \3 W* u% Y/ Q* f! z5 x, y$ P' z  H
$ d# u* S# v; |
涉及到的文章有《STM32网络之SMI接口》《STM32网络之MII和RMII接口》《STM32网络电路设计》《STM32网络之MAC控制器》《STM32网络之DMA控制器》《STM32网络之中断》。# l8 k1 T; X; Q# e1 ~- k  h4 i  k9 [4 k
" @# K. z7 T; A. Z2 |/ h, b& z
5 i1 F( ]) y0 z; `
1.2、芯片地址
! z/ e( t; y% a2 G# p. B
9 O( k& `) U$ n

$ q$ u& y/ C- H/ d. EMCU如何选择PHY芯片的地址,参看芯片的SMI接口9 R+ p( w. C+ @2 z# ^

5 F6 g, }" @3 i0 [' p0 |$ T+ m5 \
2 b/ T! [: ?& K( X3 b' w$ A
RTL8201的PHY地址经过两个管脚配置的0 S# Q; A! V1 N8 b% }* d
( z# ~2 i2 |8 k' F. W, X

& s% \0 i1 R& u  }# G  k2 y" D 9.png $ S( z8 U, I1 K0 {- Q' {- S: k

  \3 E+ u& R; d! y: y! I  e
% }: T, U! C0 f. J3 g  u
在这里我们看出,这两个管脚和LED灯的管脚是复用的+ }# _$ C+ Y) W+ h* b& d
& N* a" L  d  K5 S( Q- i/ V
1 s3 d# A+ E  m
10.png
# O' |, }1 w, ^& Y
+ i7 D4 Q/ t0 a6 R

! p7 ?7 J* q$ ]+ c2 S为了减少RTL8201EL的引脚数,LED引脚和PHY地址引脚复用。额外的捆绑考虑和LED使用必须被考虑,为了避免争用。具体的来说,当LED的输出被直接用来驱动LED时,每一个输出驱动的活跃状态依赖于相应的PHAD输入在上电和复位采样的逻辑电平。例如,如图6(左侧)显示,如果一个给定的输入电阻PHYAD拉高,那么相应的输出将被配置为低电平驱动。在右边,我们可以看到,如果一个给定的输入电阻拉低PHYAD然后相应的输出将被配置为一个高电平驱动。PHY地址配置脚不应该直接和VCC或GND相连,但是一个电阻(比如5.1KΩ)拉高或拉低。如果没有LED指示灯,LED的路径组件(LED+ 510Ω)可以被删除。  C( i1 X* p& S( r& R, j; V
6 Y* [; w: G" v2 r% N$ m% v5 y

9 |0 I2 d6 ~" S1 T% W( _" L 11.png 6 ]# v6 @! F3 t6 s# B" r* @8 T

7 ]% k# H. O/ C% L; v

3 y$ R3 s3 F8 D5 O查看PCB得知,我们的控制卡PHY的地址是0
# D5 O+ I; U0 b! M! U/ l5 f. I8 z1 q8 k& q6 ]) r! }' z1 h- a

( G0 N. I6 X& x: j& V# B/ J1.3、时钟源的选择
% w+ @) y/ r8 m  w2 x8 k# R, ]2 o* ~* E5 |

8 x4 g% w0 w5 ]$ u. S 12.png
$ d9 q$ Z' Q2 M8 _- o5 U, W0 D! L- r2 L2 G

2 d4 c6 y* Y* b: n7 E% |' s9 MCKXTAL2 25MHz晶振输出(25MHzCrystal Output):该引脚提供25MHz晶振输出。当X1用一个外部的25MHz振荡器驱动时该引脚必须悬空。
5 L* V7 D5 B0 z0 ~5 [* H% |- b  q$ z# i' p" h9 {' \
$ W& a- V9 g8 J8 g6 @) R
CKXTAL1 25MHz晶振输入(25MHzCrystalInput):该引脚提供25MHz晶振输入。如果使用一个25MHz的振荡器,连接X1到振荡器的输出。参见9.3节对时钟源的说明。
+ Z5 x" a9 k+ s  n! c3 V# f$ g1 f! N- a! l9 R

7 ]- ~2 [7 E( @ 13.png # L" D' i( u) w! t" R$ s  q- s9 ^
% V7 {, \* Y% C& R
7 Z9 m; P2 O# ]5 R- K6 Q6 m6 O
我们使用MCU的MCO1提供时钟,查看电路图,X2是悬空的。
% Y$ e9 O( R: p8 h3 \* J& x  C5 T6 w
( g  ^2 r* w/ u; q, B
% t3 Z  V$ o  n( M. n5 E
备注:  X4 n: [  W: F& K  h8 X' }

5 u9 ~" O% }! l- P

- K$ U9 |0 c& n5 h5 F0 M% l0 u  e如果使用25MHz无源晶振,两个脚都需要连接,和MCU的无源晶振连接相同,关于晶振方面知识,可以参考《晶振原理讲解》。
" Q/ e; o4 I4 O+ y% S; i0 g) O9 Y" y7 n  s

6 H0 G$ t3 ?8 o3 F& V" @4 @, T: H' k5 b7 W; u
; J5 Y: Z+ O8 A+ V
02 寄存器0 G4 E4 ~4 S1 {+ J% q- j% _
/ J; p( k$ d* ?6 O6 G. S1 i( e- F# P$ k

. L* m1 D0 e" J9 n% EPHY寄存器是由IEEE802.3定义的,一般通过SMI对PHY进行管理和控制,也就是读写PHY内部寄存器。PHY寄存器的地址空间为5位,可以定义0~31共32个寄存器。IEEE802.3定义了0~15这16个寄存器的功能,16~31寄存器由芯片制造商自由定义。
2 P9 p2 b! R9 ?! z* Z3 b+ \' J" t/ k9 j3 B
7 V+ m1 G  T; D. n
寄存器0、寄存器1和寄存器15讲解以及IEEE802.3官方文档,请看《PHY寄存器》。
; T- k, N/ `# i, l" b( h. C6 C# m. ?

( l' x" X& p4 j/ d4 ~' J9 Y+ a自定义寄存器168 L5 q' w7 g, f( q* g8 M* S
获取PHY芯片的链接速度; P5 d$ Q1 ^+ t5 Z7 y* i
ST官方库文件的驱动在stm32f2x7_eth_conf.h最后部分
/ y9 ]$ J3 S. H
; k# R( v% s& O

" |- _( g9 K& b) Q7 [: n 14.png 1 O9 M/ j6 \$ C( ^" ~2 y/ d7 e, q6 d

  O& i# b' E% h9 S# _! U6 g

# z: f4 B! ~4 q) h5 a# o8 s. NST官方使用的是DP83848芯片,寄存器16可以用来获取芯片的速度,这个寄存器就是DP83848芯片厂家自定义的寄存器,所以在移植STM32官方代码时注意这个问题。
7 N* O) E( [0 I' a9 @% u
2 q& f! L3 Y- S
. o  s* N* S; ^1 L# ^
我们使用的RTL8201芯片也是并不是这样的
* a9 o1 `! d) r/ i, [9 [: u
* B, i4 U3 P9 X) r
) y  E3 r9 e  S
寄存器16  Nway设置寄存器7 Q4 l  F7 q; L& X: Z

8 M* W, i6 F( ?/ f
8 d% T1 ~% u9 Z
15.png
3 ~  _7 W5 z2 e7 \
9 P8 T. Q) l1 z/ f

6 }) s( {. w0 v* i. z* T7 {( C: Z翻译成中文如下! ^( R! R* J$ U7 U* |  d% B0 b# n* I
其他寄存器并非必须的寄存器,重要的寄存器0和寄存器1已经在《PHY寄存器》讲解过了。. o9 B' L$ S/ ~1 E! |' @. w; t
16.png % K! l1 v" W+ c  H$ _& r6 Y
RTL8201资料下载:1 `' J( s8 w/ N+ ]* o& f
3 W: R( K& ~9 y% S6 n' c
; L% ~3 w4 L7 J5 E
链接:https://pan.baidu.com/s/1hKQcp9KCyICbTiZRANTiZA  |9 D1 m  ^; I! Y) `0 N: G7 w
' P; Q7 c6 T) p/ @$ \6 `
: C: b1 h1 ^1 K, F8 Q+ D
提取码:wkr1- Y2 k. }# w! Z5 w3 |# ^, L
+ C7 q7 r% W4 ^2 A6 M3 y8 o* j5 G
赞 1 收藏 评论0 发布时间:2021-7-30 13:40

举报

0个回答

所属标签

相似技术帖

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