|
网卡由哪些部分组成6 N. L: }# I" _+ q- J% Y! T
, z1 s* d+ b3 ]$ @, o" r+ }
3 ?- _: ]6 H9 Z7 r; R; V一、网卡) s) ~3 W# W+ c1 K; F
# k% O8 `( u0 r; a7 b+ X- g
3 t7 j, e- N2 \2 M0 M网卡基本单元有4个:MAC、PHY、变压器、RJ45。- ?/ C0 e }) J# }& t' Z1 n
( {0 X c- m6 ]
0 O4 J8 I: y5 P" m0 X) V, |8 Q% W$ W7 s7 e
框图里舍去晶振、电源、存储设备、LED等外设,根据方案差异,某些数字电路部分不同程度的整合到一个芯片内。
" w& w# Y( q* U' S
% b% q: K! `: D' n/ i! k K% o4 u, m$ g" r6 ] d' X9 n, b
% t; e4 c' L P3 w* h) ?# y+ f
# Z/ l! U3 J2 g1 z
$ K* T" J# q' p+ s* K( F* R网卡上至少有两个LED灯,分别表示Link(链路正常)和数据传输或数据速率选择(10M/100M)。& H: Y( n( ?; W& W5 Q
: @% T5 b { _6 ]! C
9 m# ~" r7 B( {- P$ H
/ i4 C3 J. t; ? |7 x; M4 t9 Z晶振是处理器自同步的时钟源。
5 ~: {5 G3 L" q6 A0 _% G2 g7 A/ L
( ~/ X, J3 d; v4 n* y, j$ H; u# w. }3 s
! n8 h4 x% X7 {. i
存储设备指的是EEPROM存储设备,我没用过,绝大多芯片手册里介绍MAC链接一个几K的EEPROM,内部存储MAC地址,其实没有这个EEPROM网卡也能工作,MAC地址可以待CPU启动后由CPU写入。
) {. }1 d; Y. z- Z* \8 Y) Q* e. c7 }/ G3 _$ W: ~: e
0 n; e/ P* u. e8 v3 |
9 l: v3 m) g( w, R
网卡BOOTROM,是无盘启动的ROM接口,通过远程启动服务构造无盘工作站。
2 u h8 ]1 k3 a) f! L( H2 I ^5 a( m7 m
& x: v. r8 h" t" y
% U9 X# u; t0 E) O1、MAC
0 ^; H+ H* T9 t2 G媒体访问控制(MAC,Media Access Control),平时所说的MAC地址(局域网地址)指的是MAC芯片的地址。按设计要求它应该是全球唯一,实际上只做到局域网广播域内唯一即可,Windows和Linux都有修改MAC地址的方法。" Q8 {0 M# [5 u4 I/ b9 V
/ M3 k) e; R K; P* P
, s) @5 [5 r. p& l7 C9 L$ D/ ^+ @/ X4 p1 o; L/ Y8 t% u0 i2 R# `
MAC的作用:在局域网广播链路里控制和协调所有站点对共享介质的访问,以避免或减少冲突。这种冲突检测的方法叫载波侦听多路访问/冲突检测(CSMA/CD,Carrier Sense MultipleAccess With Collision Detection)。
: G& }" w5 o% Z' k+ w0 f! T4 ]0 l& c9 }+ {9 S$ P, [! n
, `" R' x& R. i9 z, e _- L- S! U* n( m# e# N8 P
下图的多块网卡MAC链接到同一个HUB上,相当于所有MAC的收、发信号连接在一起,组成星形拓扑。
3 i: X5 A4 V4 p- } E9 e" _2 E6 z
; r" H9 l! D: S" h- @# O4 d# g% d. a1 k/ h: I
, r# R/ ^/ d& M3 @: h, i
; N- [' X8 q4 N6 j( ~3 M4 [; g" c. b4 d9 {; f3 F4 [
3 X, T( H2 f: }) P) e" [0 B; @& M$ H8 o fCSMA/CD协议逻辑是:# x* c6 y U, O. S v( G6 @- x4 S1 ?
# H# ^1 C- U* ^6 A• 发送前检查信道是否空闲,空闲则发送,信道繁忙则继续监听,直到信道空闲;8 R, h& k) d F: W5 v
• 边发送边检测冲突。如果发送完毕都没有检测到冲突,则发送成功;
& ~* i. @5 r3 V3 V- e- }) T( l• 如果发送时检测到冲突,立即停止数据发送,并发送jamming信号增强链路冲突,随机等待一段时间等待信道空闲。$ e6 k! N9 K2 ~ q
1 t/ A5 u# w2 L; m- P0 q2、PHY
% W6 J% x6 J/ A; x物理层(PHY,Physical Layer)是数、模转换模块,它实现物理层.IEEE-802.3标准定义了以太网PHY。包括MII/GMII(介质独立接口)子层,PCS(物理编码子层),PMA(物理介质附加)子层,PMD(物理介质相关)子层,MDI子层。
$ F2 i1 k+ X9 j. J6 e/ a- e- t, r# G, P6 v! v `6 l* e, k
PHY是MAC的工具人,PHY是CSMA/CD的执行部件,当发生冲突时它告知MAC,由MAC做决策。
, ~1 m, D$ H" t8 X: u* p( d
. U8 m# U: x2 P2 L- ?PHY眼里只有数据没有帧概念,数据、地址、CRC都同等看待。它负责网络数据编码、解码、链路错误检测。在100Base-T里PHY采用4B/5B编码,用5bit编码传递4bit信息的编码方式,带宽利用率80%,5bit可有32种编码方式,4bit有16种编码方式,从5bit里取出16组编码作为信道信息编码。
( T6 }' n6 X* h
! r: e2 B! ^: b# X对这16组编码只有两个要求:一是5bit组里至少有2个1,二是5bit里不能有连续3个0;其余的16组表示无用信号或者控制码。
$ \3 |$ C) ] I- A
0 g9 u/ a. u3 ]4 y* O2 C% U3、变压器8 R l# I( Q1 t4 l7 h) x5 t
变压器作用:
+ l) D+ u; {, Q" q9 m• 提高传输距离、波形修复* }4 U& A% z8 `. E8 T
• 电气隔离、抗干扰、防雷
/ r4 v4 D) r# Y4 J* f/ G1 d, a O1 {
! e# t7 F# I0 ]其实,没有变压器两网卡之间也可以通信,只是这个距离会很短,距离越远衰减越大,加上变压器提高信号幅度通信距离得以提高,同样远端传递的信号幅度太低,经过变压器后得以放大,实现波形修复功能。
% L7 W$ n/ j* a+ w5 t" Y ~% i9 B* o3 C: B: e' Z
变压器使芯片端与外部隔离,抗干扰能力大大增强,而且对芯片增加了很大的保护作用。
8 v( Y5 _; K5 b* S& {& F- E% V3 H( C4 `" }
4、RJ45) ?* V8 s+ w9 l, x: u
RJ45是布线系统中信息插座(即通信引出端)连接器的一种,连接器由插头(接头、水晶头)和插座(模块)组成,插头有8个凹槽和8个触点。RJ是Registered Jack的缩写,意思是“注册的插座”。+ A6 | o1 b' v, P/ {* n
+ D% l/ A4 B8 f$ |
在FCC(美国联邦通信委员会标准和规章)中RJ是描述公用电信网络的接口,计算机网络的RJ45是标准8位模块化接口的俗称。
( w5 V3 T7 h( s* l0 r
4 C! s6 W+ }+ s* [4 I网线有8根4对双绞线,百兆以太网中只用到其中4根:1、2发送、3、6接收。6 S/ K: t3 R. q4 X0 X) a7 r* S
7 D }9 D: q. g) b. x二、典型案例9 P5 f. B3 I+ @3 J$ p" l3 G# N
现在嵌入式SOC中,MAC常集成到SOC芯片内,如STM32F4、龙芯1B、i.MX287。下图是龙芯片1B芯片结构图,GMAC指的是千兆网媒体访问控制。8 C! b: q1 ?/ K
; J" U7 w" v9 w B+ [7 w% _; a' u
0 s7 M- E$ U8 V' ~
2 Q7 F+ _ O8 S$ `1 `* b早些年的处理器内部集成MAC,代表有S3C2440,以太网解决方案是外接明显网卡芯片DM9000,下图是DM9000芯片结构图。内部集成MAC和PHY,S3C2440的外部地址总线(内存总线)留出一块区域为DM9000用,访问数据就如同读写内存一样。+ B; E8 R" g9 t: N! w; ?
$ E% ^* l: f6 u! L( \& ^
& g8 W1 p5 N8 }. o
; D( \3 B3 P, n- E) Z
下图是某宝PCIE网卡实物图,可以看出MAC和PHY集成到一起,右上角8脚芯片没有焊接,应该是电源转换芯片,网卡的电源直接从PCIE获取。
& i% b" } O E/ h8 O
|
|