为了提高单根线的传输速率,必须要讲到我们模拟电路工程师的三大法宝,差分信号(differential signaling),时钟-数据恢复(Clock-Data Recovery,简称CDR),和信道均一化(Channel Equalization,Eq)。
( N! O9 D( C5 `. e9 e. m
差分信号的好处:不外乎抗干扰能力强,引入的噪声也比较小,虽然必须要两根线,但速度从几百M提高到几G,还是很值得的。, U0 a7 t" W( a2 t
* ?* d3 C2 [9 J fCDR的好处:消灭了skew,减少了时钟的功耗和噪声(但多出了CDR电路本身的功耗和噪声),同时避免了电磁干扰。想想在PCB或者电线上传一个15G的时钟,太带感了,幸亏我们不用做这种事。4 W, T! F. V2 A9 R7 P" ~
& x5 B. b0 G2 ]1 }
信道均一化 相当值得一提,这才是SerDes高速发展的决定性因素,所以我决定花点文字讲一下。
u. `7 H8 y6 d; ~一般来说,真实世界中的信道都是低通特性的,到处都是小电容,所谓绝缘体中的分子在高频情况下吸收电场能量,再加上金属线中的趋肤效应,所以我们想要的高频信号走不了多远就不像样子了,比如下面某信道的频率特性(绿线)。
4 O( O, {( y: J- \( s; O
1 ?' h( N( r: Q6 a, T0 O如图所示,在对应28Gbps的频点上,信号能量被衰减了30db,电压幅度只剩3%了;在对应56Gbps的频点上更惨,65db意味着信号电压摆幅剩下不到千分之一。在这种信道中,发送端一个完美漂亮的数据眼图:
. p- ?# z5 l7 `9 G/ c6 u
) r' S2 H6 n/ E& X6 j2 p, I0 `到了接收端会变成这样的一堆垃圾:
. d: }6 ?6 J) O( u$ Z9 B
什么都辨认不出来对吧。但是,经过我们聪明的工程师们一番努力,均一化开关打开,信号就变成了这样:
0 c2 Q$ ^" Z- w7 F3 V& z2 s
1 W3 j1 N$ R2 W
神奇么?我觉得挺神奇的,我认识的电子工程师们第一次看到这个,没人觉得不神奇。
! E/ F: l/ {+ ]: E& R, x1 M. o, D
! l6 ` _8 n" W/ t. J" e下面一个重要的问题,既然有了三大法宝,他们只能用在串口上吗?
7 p9 O+ C5 t; x+ N% V: L答案很显然,不是,串口可以用的,我们并口一样可以用。那为什么并口不用呢?
Q3 X1 w: [1 S4 ]( B# z* C2 t- @: W差分信号这条不用说了,并口的电线本来已经够多了,数目还要再翻一倍?系统工程师会杀人的。
, F5 N4 _# H* b; ^9 d3 B7 T5 |% V
CDR 意义也不大,反正你并口速度也不高,一堆数据线中顺便传下时钟,比做接收端做CDR再采样每一位数据省事多了。
3 I% r1 m: l" l: D2 ~2 o
信道均一化属于屠龙之技,不用差分信号的话也就传几百M,本来就没啥衰减,用这个干啥?还是考虑下各种噪声串扰的问题吧。- M2 w3 x/ c9 q* m a2 [
2 _& Z. X/ k* g: R% S于是答案就呼之欲出了。串口为啥比并口快?是因为串口的特性和应用场景,决定了它更加适合采用一些可以提高单根信道速率的设计方法,这些方法用在并口上并不合适。
6 M3 ~/ j* G" f' @) f5 E) Y: D+ p9 Z: y; Q" e$ d4 K, Y" [( R3 p
从现有的应用看来,需要持续稳定高带宽的应用,往往使用高速串行接口,一根带宽不够再加一根,各种视频网络应用,基本如此。而一些历史遗留速度不高的应用,还有一些需要突发性高带宽的应用,并口仍然存活,比如很特殊的DDR。虽然XDR/GDDR/HMC/HCM这些新标准都在试图引入SerDes, 但DRAM行业的特殊性还是让并口继续存活着。1 a1 u( r( R8 [2 G
& `4 g) j8 N4 a' S% x. }1 g2 N
这个答案清楚明晰的指出了几乎所有串口的优势,但是忘了提及一点,这些优势其实是三大法宝带来的,并非串口与生俱来。就像小强开车小明走路,小强自然快很多,但并非他天生就快,而是因为小明腿短够不到油门。haha...