作者:一博科技
4 T# H# \- i/ ~
8 X3 O4 g2 H; v6 d& Z上周我们把MAC到PHY、PHY到PHY这两个子层之间的通信框架拎出来,把它们放在一个框图下,如下图所示:* S& ]: o5 ^% z
6 B2 Q& w( f( O* }' J% H
图1 MAC与PHY框架
9 w7 v# H; I7 A1 W q+ u) z: S2 u! ?/ c; F3 t+ y) E1 n
今天来讲讲这个PHY的内部、及其内部各个模块间的接口协议。PHY它包含了多个功能模块,功能模块的多少会因需要的不同而有所增减,比如:9 b3 C/ t# ~1 T
只有10GBase-R、40GBase-R、100GBase-R的PCS需要FEC;4 \/ ^; P/ H0 u# K' ^0 Q* g
40GBase-R的PCS需要2个PMA、100GBase-R的PCS需要3个PMA;
1 E9 M1 i0 E& H& o7 C% k, j0 m- y0 K只有≥1Gbps以上的背板应用场景才会用到AN。
5 t+ N/ M% `! w( F3 J# n- q
' T7 T; M0 e0 x" d" ~1. 功能模块介绍我们知道PHY在OSI(开放式系统互连)参考模型下,属于物理层,PHY由多个模块组成,各个功能模块的作用如下:
$ P* K0 f( s& Q" l4 ]- w) ZPLS:PhysicalSublayer Signaling,对MAC给的信息进行传递,只在1Mb/s、10Mb/s的应用场景才出现;/ Y! o) @5 B3 M' E9 P* B
PCS:Physical Coding Sublayer,对MAC给的信息进行编码,应用于≥100 Mb/s的应用场景,比如完成8B/10B、64B/66B、256B/257B编码;4 [1 g/ d4 x+ e% C5 B( S2 W
FEC:Forward Error Correction,前向纠错,与10GBase-R、40GBase-R的PCS 搭配;* {/ A; F8 ?' v. h
RS-FEC:Reed-Solomon前向纠错,比单纯的FEC纠错能力更强,与100GBase-R的PCS 搭配,采用256B/257B编码;
) v, b/ I6 @3 h/ O3 j f0 SPMA:Physical Medium Attachment,' K# i2 a/ ^) E' p: o+ H
PMD:Physical Medium Dependent,: b* x$ l4 L) O
AN: Auto-Negotiation Function,自动协商,使背板两侧的Device能够互换信息以发挥出彼此最大的优势;
; |+ P- c, B i% H! q ]3 c7 t2. 模块间的接口定义1) PLS与PMA间的接口,称之为AUI(Attachment Unit Interface);; U6 r/ m, i- A( K( ?) V
2) PCS与FEC间的接口,称之为XSBI:10Gigabit Sixteen Bit Interface;9 z) {/ }* N6 X, p2 m9 G5 A/ F+ n
3) PMA与PMA间的接口,可以是chip to chip,也可以是chip to module,有两种:
/ F6 M# ~( z- F+ W' p# NXLAUI:40 Gigabit Attachment Unit Interface,4条lane,每条lane的数率是10.3125Gbps;+ j8 T8 G) N% r- P
CAUI:100 Gigabit Attachment Unit Interface,10条lane,每条lane的数率是10.31250Gbps;+ p3 b. P9 A% x0 B, y
4) PMA与PMD间的接口,称之为nPPI(Parallel Physcial Interface)。
# T8 D0 c- l9 f! z' ^, @7 Z! m
; |/ a! w$ N7 MnPPI特定出现在PMD所接的媒介是光纤的情况下,比如40GBase-SR4、100GBase-SR10、40GBase-LR4协议。也就是说这种情况下的PMD是光模块,nPPI就必然是一种chip to module间的接口,这也是IEEE802.3标准与OIF_CEI标准兼容的地方之一。nPPI按照通道数量的不同分成两种。! M* y3 u7 x- {: n: W# ^) _- Y
( O* v/ f, K1 J/ r3 \$ @0 p& z
• XLPPI:40 Gigabit Parallel Physcial Interface,4条lane,每条lane的数率是10.3125Gbps;2 Y$ y* B1 w: @0 C3 B; @1 I' o, ^
• CPPI:100Gigabit Parallel Physcial Interface,10条lane,每条lane的数率是10.3125Gbps;: `0 D, u: ~# e
5 M% ]* Y, n* ^( y& q
3. 接口协议对通道的要求我们了解了这么多PHY内部的接口,对于很多人,最关心的还是产品设计该怎么做?不同接口的通道(channel)衰减多少能满足要求?下面就用简单粗暴地方式来一一列举,都是干货啊!开始划重点了!
- j* J; G2 W3 C! d, M5 K+ }# B
4 e" c4 p2 [2 L0 `$ s1 L1) PLS与PMA间的AUI接口 P7 v8 f8 B% N- z) x
: i) \# J/ d/ H F& g7 H. W
2) PCS与FEC间的XSBI接口7 } M9 |: b9 C6 o7 _. E) B8 \
对通道没有给出无源的要求,但对接收端的信号质量和时序有要求,测试工程师应该喜欢这张标准定义方式。
+ K0 y0 O U2 m) K, H' z' v( W1 c5 j% U" F2 Z% {& ~* q
3) PMA与PMA间的XLAUI、 CAUI接口3 |/ T( Q, m1 b) l x* j
- 如果是用于chip to chip的场景,则对channel的要求如下所示:
0 W8 e7 e5 ^" E9 E/ O! [ / d2 o2 S: V' \* [
( p% K+ a# T1 B( U' O" L ~$ Q- W# l* K1 |; t
" D7 e/ v8 K0 p7 q+ t T
+ s: w5 h! o8 s4 L
如果是用于chip to module的场景,则channel分为host、connector、module三部分,如下图所示:
: w4 X$ g6 u+ G: P' I0 g" G7 D2 D; F: D% o6 L4 B( b: S
: |1 v7 {5 {5 s6 A2 [: I7 Y
4 _6 G2 n# Q c5 O* K$ q下面是对host插损的详细要求:$ m$ D7 `3 ?) `& @
- s+ R3 _ Z1 u4 j3 C( D$ E
' X. n* q5 S: [8 I$ x4 e( S8 L; Z/ z& x7 q0 f& S
5 }6 I/ d* H! ?/ T- D下面是对Module插损的详细要求:; {% x$ N6 Z5 S5 S
) z2 A Q1 W( C: i/ I# v, Y
- J, x) n! O5 S( a3 h
0 ~ s4 b) C: p' w4) PMA与PMD间的nPPI(XLPPI、CPPI) 接口! R( \3 i+ N1 y' f4 c
下面是对host部分的详细要求:* d4 l# p9 x6 C" M8 ~: m
, j! i, }9 r- Z. t7 I' J- D- ^1 R: ^6 O3 Y9 X$ A" I
0 `4 O& i3 c# f1 Q" g# `
用插损、回损的表达方式对通道做要求,一部分工程师对于此感觉依然是云里雾里,看着这些所谓的dB完全不理解,那么下面还一种更为大家熟悉的方式:眼图,这也是在产品测试阶段最直观的标准。对于XLAUI、CAUI、nPPI接口眼图标准如下所示:
# ]9 Y* s1 b$ K& o$ h& T& a
0 m; M6 t( y9 G% D( L' [; ~PHY子层内部接口今天就介绍到此,下周我们开始讲讲两个PHY之间的传输协议,通过背板、光纤传输的10G、25G信号有什么要求,比如10GBase-KR、100GBase-KR4等协议。
3 K! B3 @" _3 G# s |