2. 串行链路基础
说起串行链路,我总想起刚入行时调试SGMII口的那段日子。当时觉得不过就是两根线来回传数据嘛,能有多难?结果眼图上满是毛刺,时钟就是锁不住。后来才明白,差分信号、调制方式和编码这三个东西,就像串行链路的“地基”——任何一个不稳,整栋楼都得塌。今天咱们就一个一个掰开聊。
2.1 从单端到差分:信号传输的进化
单端信号大家都熟,一根信号线加一根地线。但到了SGMII这种几Gbps的速率,单端就扛不住了。为什么?
- 地弹噪声:高速翻转时,地电位瞬间波动,信号参考点就漂了。
- 共模干扰:电源噪声、辐射串扰全部耦合到信号上,你根本分不清是1还是0。
- EMI辐射大:单端回路面积大,天线效应明显。
差分信号就聪明多了:两根线传互为反向的信号,接收端只看两线之差。共模噪声同时叠加到两根线上,一减就没了。这就是共模抑制——说白了,噪声被“对消”了。
SGMII物理层用的就是低压差分信号(LVDS),典型摆幅只有350~450mV。电压低、摆幅小,功耗和EMI都降下来了。但这也意味着信号更容易被衰减——所以后面才会讲到均衡和时钟恢复,环环相扣。
2.2 PAM-N调制:不止是0和1
传统串行链路用NRZ,也就是PAM-2:电平要么高、要么低,一个符号传1比特。但随着速率冲到10Gbps以上,NRZ的带宽代价太大了。这时候PAM-4就上场了。
PAM-4用4个电平:00、01、10、11,每个符号传2比特。同样波特率下,数据速率翻倍。听起来很爽对吧?但代价也不小——信噪比直接损失约9.6dB。我在10Gbps PAM-4链路上遇到过信号质量刚过线,温度一高眼图就闭了。所以说,PAM-N是拿信噪比换带宽,得权衡。
| 参数 | PAM-2 (NRZ) | PAM-4 |
|---|---|---|
| 每符号比特数 | 1 | 2 |
| 电平级数 | 2 | 4 |
| 信噪比损失 | 0 dB(基准) | ~9.6 dB |
| 眼图 | 单眼 | 3个叠加眼 |
| 应用场景 | SGMII (1.25Gbps / 3.125Gbps) | 25Gbps+ 以太网 |
2.3 编码基础:DC平衡与时钟恢复
原始的二进制数据直接丢进信道会出大问题:长串的连续0或1会导致信号直流分量漂移,接收端DC基线一团糟。而且没有足够的跳变沿,时钟恢复电路根本提取不出时钟。
解决办法就是编码。8B/10B编码是最经典的——每8比特数据扩展成10比特编码,保证游程长度不超过5个连续相同符号,DC平衡也算得好好的。我当年第一次调8B/10B链路,写了个编码器自查表对着跑,结果发现接收端解码老是出错。查了半天,原来是编码表里有个映射值不对。嗯,那之后我学乖了,直接用IP核,但原理必须吃透。
后来有了更高效率的64B/66B编码,它用同步头做帧锁定,再加扰码实现DC平衡。不过SGMII和它的前身GMII都用8B/10B,所以咱们重点掌握这个就行。
2.4 三者如何协同?
差分信号负责物理传输,PAM-N定义每个符号承载多少比特,编码保证符号序列有足够的时钟信息。这三者一结合,串行链路才能跑起来。
这张图把三者关系串起来了。你想想看:差分信号保证了传输质量;PAM调制决定了波特率和信噪比预算;编码则提供了时钟恢复所需的跳变。缺一不可。
好了,到这一步,差分信号、PAM-N调制、编码基础这三个核心概念你应该有了整体认识。它们是串行链路建立和时钟恢复的底层支撑,后面的均衡、预加重、CTLE等全都建立在它们之上。把地基打牢,后面调试起来就顺多了。