编者注:本文节选自力合资本的研究报告,比较简洁,但是内容比较清晰。
一、SerDes简要介绍
1、概述
SerDes是SERializer(串行器)/DESerializer(解串器)的简称,是一种主流的时分多路复用(TDM)、点对点(P2P)的串行通信技术。发送端将多路低速并行信号转换成高速串行信号,经过传输媒体(光缆或铜线),在接收端高速串行信号重新转换成低速并行信号。这种点对点的串行通信技术充分利用传输媒体的信道容量,减少所需的传输信道和器件引脚数目,提升信号速度,从而大大降低通信成本。
随着电子行业技术的发展,特别是在传输接口的发展上,传统并行接口的速度已经达到一个瓶颈,取而代之的是速度更快的串行接口,于是原本用于光纤通信的SerDes技术成为了高速串行接口的主流。串行接口主要应用了差分信号传输技术,具有功耗低、 抗干扰强,速度快的特点,最高传输速率可达10Gbps以上。
在SerDes流行之前,芯片之间是通过系统同步或源同步并行接口来传输数据的。SerDes的优点:更少IO数量,更小封装,更少走线,更低成本;有效降低电磁干扰,有效降低噪声和串扰。SerDes的劣势:系统的设计复杂程度高,需要更高性能材质的通道。
帮助SerDes实现更高速高带宽的技术主要有:多路复用/差分/时钟数据恢复/链路均衡。
图1 Serdes电路的示意图
图1可以看出,SerDes是一种数模混合芯片,成对使用。
2、serdes的技术原理
提升数据传递效率,总体上有两种方法:提高频率/带宽,提高带宽/频谱利用率。
信息技术的早期,数据传输主要用低速串口,为提高带宽,出现了低速并口(因为早期技术和硬件无法支持更高的频率和带宽)。随着并口技术的发展,干扰和噪音问题逐渐凸显,并口传输速度的瓶颈也逐渐到来。为此,又出现了“高速串行HSS“技术,逐渐用于通信、显示、消费电子等领域;SerDes就是一种可以集合串口和并口的技术。狭义的SerDes是一种物理概念,是一种在发送端将并行数据转换为串行数据,在接收端将串行数据恢复为并行数据的电路。
串-并转换的实现是基于信号复用技术的成熟。
信号复用是指在传输路径上综合多路信道,然后恢复原机制或解除终端各信道复用技术的过程。当前最常见的是时分复用、频分复用、波分复用、码分复用四种。
时分复用是将一条物理信道按时间划分为不同的时间片段,分配给多个信号使用。即,每一个信号在不同的时间上占用同一个信道;
频分复用是指将物理信道按频率划分为不同的虚拟信道,使多信号共同传输;
波分复用是按波长划分,是频分的一个分支;码分时按码型/地址划分;时分复用和频分复用在SerDes领域更常见;
复用技术使得多个并行信号在串口中传输成为可能,进一步提高了效率。
图2-1 时分复用示意图
图2-2 波分复用示意图
上图为光通信领域,信号“复用”的示意图。
为进一步发挥SerDes的优势,还会用到名为“低电压差分信号“的技术,以更进一步提升带宽。差分信号由一对相反信号组成,接收端以两者的大小关系来识别“0“和”1“,信号在传输过程中即使受到干扰,大小关系也不会发生变化,保持了传输信号的完整性。差分信号有三种:低电压差分信号(LVDS)、低电压伪射级耦合逻辑(LVPECL)和电流模式逻辑(CML),目前在SerDes领域较常见的是LVDS。
3、信号的数模转换
所有信号,在传输时都是以模拟信号的形式传递。我们日常所说的“数字信号”“模拟信号”是指信号的处理形式。因为二极管的工作原理,显而易见地,数字信号更容易被计算机处理。
数字信号转换为模拟信号,是通过调幅或者调频加到一个正弦波(一般称为“基带信号”)上面,这样调制后的携带信息的波就已经不是一个固定频率的正弦波了,这个调制后的波称为“载波信号”,就是我们想要的信息。数字转换为模拟的电路称为DAC。
模拟信号转换为数字信号,可以简单记忆为:采量编,采样、量化、编码。模拟转换为数字的电路称为ADC,ADC的过程可看作是DAC的逆过程。
ADC的指标主要有分辨率(又名精度)和采样率(又名转换速率)两项。分辨率用“位”来形容(可以理解为小数点的位数)。目前最初级的是8位的,常见于单片机。分辨率的位数越高,采样越准确,单点的采样值越接近真实值。采样率越高,还原数据的能力就越强。
图3 模拟信号-数字信号转换
图片截取自B站up主“郭天祥老师”《AD/DA数模转换介绍》
以三位ADC为例介绍ADC的大致工作过程:
三位,就是2的三次方,即均分8等份。假设模拟信号的峰值电压为1V,则每0.125V作为采样间隔。0.125V就被称为LSB(least significant bit最低有效位)。小于0.125V的,转换为数字时统一记为“001”(对应十进制为1),0.125-0.25V,转换为数字时统一记为“010”(对应十进制为2),以此类推。最终完成模拟信号向数字信号的转换。
二、SerDes的重要概念和技术
1、码元
理解SerDes的传输过程,需要引出“码元”的概念。
一个码元就是一个脉冲信号,即一个最小信号周期内的信号。我们都能够理解,最简单的电路,以高电平代表“1”,低电平代表“0”。一个代表“1“或“0“的信号,就是一个码元。
信号可以传递信息主要是因为信号有频率,振幅,相位,波长,周期,其中频率/波长/周期三者有相关性,因此可以认为,频率、相位、振幅使信号可以传递信息,其中最常见的是振幅(电平)。所以,有没有可能让一个码元/脉冲信号携带的信息量是2或是4bit呢?
答案是肯定的。一个码元可以包含多个bit数据,包含的bit数称为码元的宽度。比特率是指一秒钟可以发送多少bit的数据,波特率是指一秒钟可以发送多少码元。当一码元携带2bit数据,那么比特率=波特率的2倍。
一个二进制信号,比如0或1,就是1bit。现在有8bit数据,如果用二进制码元(一次只运送一个比特),需要在信道上传输八次脉冲信号,如果用四进制码元(一次能运送2个比特),需要在信道上传四次脉冲信号……因此码元携带比特越多,传输的脉冲信号次数越少,传输速度就越快。
2、NRZ和PAM
理解了码元的概念和意义后,就能够较好理解NRZ和PAM。NRZ和PAM是信号传输方式。
NRZ:Non-Return-to-Zero,不归零编码;可以把NRZ看作PAM2,一个码元只有1bit信息,即,只代表0或1。
PAM:Pulse AmplitudeModulation,脉冲幅度调制。常见的有PAM4,PAM8,PAM12等。PAM4即第四代脉冲幅度调制,目前最成熟,是指一个码元包含2bit信息。PAM4的波形一共有4种,见下图,可分别定义为:00,01,10,11。
图4 NRZ与PAM
以十进制下的逻辑数字“9“为例,”9“对应的二进制为”1001“,当使用NRZ时,需要的码元数量为4,“1”“0”“0”“1”依次传输;当使用PAM4时,需要的码元数量为2,“10”“01”两个码元依次传输。这样,在信号频率不变的情况下,信道带宽/传输能力提高了一倍。
可以通俗理解为,PAM4之于NRZ相当于在车速不变的情况下(频率不变),车道数量增加一倍。原理上也有些类似于前述提到的“信号复用”。
从以上原理可知,PAM的本质是将信号的幅度做更大密度的利用,这就对信号发射和接收,以及编码和解码过程,提出了更高的要求。
NRZ需要信号频率高,但是电路结构相对简单,而且数模转换过程简单。相同带宽下,PAM4需要的信号频率是NRZ的一半,如果是PAM6、PAM8等,信号频率可以更低。所以,PAM需要的信号频率低,但是电路结构相复杂,而且数模转换过程复杂,需要消耗更多功率,而且成本也更高。同样因为电路复杂,PAM的延迟也大于NRZ。
因此,NRZ还是PAM,各企业都会选择最适合自身的路线。所以,也会有企业选择多通道/低信号频率的方式实现高带宽。比如,光通信领域的100G产品,业内既有PAM4的单通道光模块,也有4通道,每通道为25G的NRZ光模块产品。
3、时钟
简单的来讲,时钟信号就是由电路产生的具有周期性的脉冲信号,被用来为系统中多个同步执行的电路之间、为不同系统之间的数据传输提供参考基准。微处理器的指令执行也都是在时钟的节拍下进行操作的。时钟信号的作用就像交响乐团的指挥;或是龙舟上的鼓手。
生活中能见到的最原始的时钟信号:石英表,用到的原理是晶振效应。晶振效应是指,晶体以一定角度切割为两部分,两侧加电压,晶体就会以固定的频率震动,而频率不受外界环境影响。晶振有一个频率,用这个频率来计时,够一秒钟的时候发一个驱动信号给电机,电机带动秒针跳动一下,这就是最原始的石英表。
目前晶振/时钟信号已经广泛应用于电信领域。很多电路/信道中都会同步传递时钟信号。
而时钟信号在SerDes领域使用时,存在一个非常严重的问题:时钟与数据并行传输时,无法达到1Gb/s以上的带宽。超过这个带宽,会出现非常严重的时钟信号偏移。而目前常见的SerDes,车端已经基本在2Gb/s以上,通信用serdes已经达到100-200Gb/s。
于是,人们研发出了在serdes信道内只传输串行数据,而不传输时钟信号;在接收端进行时钟数据恢复的技术,即CDR,Clock and Data Recovery,时钟数据恢复。CDR技术目前已经广泛应用于SerDes、以太网、PCI-Express、Aurora等领域。
再详细介绍下为何需要做时钟恢复:
假设输入信号是规整的,每个码元的时间间隔都是完全一样的,类似下图:
图5-1 规整码元(每个冰墩墩看作一个码元)
经过传输后,可能因为线路中各种噪音的影响,或是其它各种原因,导致接收端的码元不再是规整的,类似下图:
图5-2 不规整码元(t2>t1)
因为SerDes的所有电路都使用统一的参考时钟,所以图5-2所示的码元是没办法被接收端处理的,或是会存在误判,因此需要对其进行恢复,使之重新成为图5-1的状态。这就是CDR的意义。具体的恢复过程稍微复杂,在此不做详细介绍。
CDR技术还使得不需要单独布设时钟信号线,减少布线冲突,节省成本,降低电路/网络设计难度。
4、CDR和DSP
CDR已经在上一部分做了简要介绍。CDR主要是用模拟电路的处理方式,对时钟做恢复,即在图1中,接收端先对传输过来的模拟信号进行时钟恢复,再转为数字信号。
那么,可否先转为数字信号,再恢复时钟呢?答案也是可以的。用到的处理电路,就是DSP。
DSP用于SerDes,初衷并不是为了做时钟恢复,而是因为PAM4及以上的传输方式下,码元的处理较为复杂,需要由DSP完成。然后因为DSP有更好的数字处理能力,所以除了提供CDR能提供的时钟恢复功能之外,还可以进行色散补偿操作,去除噪声、非线性等干扰因素,对于整个电路的提升是优于CDR的。
DSP的短板在于,因为处理更复杂,所以功耗更高,成本也更高,而且DSP的延时也要长于CDR。
目前业内的主流观点认为,DSP更适合长距或中长距,CDR可能更适合短距或中短距。用于SerDes的DSP主要是16nm及以下的方案,研发费用较高,需要有较大的出货量来平摊。产业界内,单通道最高数据率大于30 Gbit/s以上,通常考虑采用PAM4+DSP的方案,以下使用NRZ+CDR。笔者了解到,已经有业内企业在研发新的CDR技术用于替代现有的DSP方案,用于PAM,最终实现低成本和更好的可操作性。
CDR的方案包括:基于数字PLL的CDR,基于相位插值的CDR,基于电荷泵和模拟滤波器的CDR等。其中后两者被更多认为属于模拟电路。而DSP被认为是完全数字电路。
关于CDR、DSP在SerDes领域的应用,以及与NRZ、PAM的搭配关系,与国外相比目前国内的相关研究还不够深入,国内能够获取的资料也还较少。
5、包头和包尾
通信领域,数据包头一般用于识别一帧(包)的开始。包尾的作用较多,如果是固定长度的包,可以是做校验位等。或者是用于标识一帧的结束。
笔者认为,警匪片里“洞幺,我是洞拐”,这个就可以认为是包头,“XXXX,over”这个“over”可以看作“包尾”。
理论上来说,SerDes不分拆压缩成包,输入端接收到什么就传输什么,这是SerDes可以实现实时、无损传输的重要原因。相比之下,以太网受到带宽限制,需要分拆、压缩成包,然后对压缩包进行传输。
SerDes理论上不存在包头包尾。但是芯片内部根据不同的设计需要会加入包头或者包尾进行校验或者分包,比如4合一的SerDes芯片,在芯片内部就需要进行区分哪个通道的数据,这个时候,芯片内部就需要做类似包头的操作;另外为了校验数据,会增加额外的类似于包尾的开销。
因此,SerDes的包头包尾和以太网等的包头包尾有一定区别。尤其当使用CDR时,SerDes的包头包尾中还必须包含特殊的比特序列,这进一步增加了serdes电路的复杂度。
除此之外,SerDes用到的重要技术还包括前向纠错(FEC)、循环冗余校验(CRC)、误差校正码(ECC)、链路均衡、预加重、多重相位技术、线路编解码等,多通道SerDes还会用到通道绑定。而SerDes信道内传输电信号和传输光信号,也有很多差别。受篇幅所限,此处不做过多展开。
三、serdes的抖动与噪声
1、抖动概述
ITU-T G.701标准对抖动的定义为:“抖动是指数字信号在短期内重要的瞬时变化相对于理想位置发生的偏移”。噪声、非理想电路、非理想信道,都是抖动产生的原因。
图6 抖动示意图
抖动可以分为随机性抖动(RJ-Random Jitter)和确定性抖动(DJ- Deterministic Jitter)。RJ的噪声源、串扰源很多,产生的原因很复杂。随机抖动满足正态分布,一般很难消除;DJ是由可识别的干扰信号造成的,这种抖动通常幅度有限,具备特定的(而非随机的)产生原因,它是可重复可预测的。信号的反射、串扰、开关噪声、电源干扰、EMI等都会产生DJ。
DJ又可以主要分为周期性抖动(PJ)、数据相关抖动(也有叫数据依赖型抖动,DDJ)和占空比抖动(DCD)三种。
PJ由电路上周期性干扰源导致。比如开关电源的开关频率,时钟信号的串扰等。PJ不能被均衡器校正。
DDJ是由于不理想的信道导致。是可以被均衡器校正的抖动。
DCD因差分信号的正端负端的偏置电压不一致,或者上升沿和下降沿时间不一致会导致占空比失真。DCD和数据pattern相关,是可以被校正的抖动。
除抖动外,SerDes面临的挑战还包括:电磁干扰、衰减、插入损耗等。其中,抖动、电磁干扰、衰减的大小基本与信号频率成正相关性。
抖动的分析和校正,主要用到概率统计与分析等各种数学手段。因为现实中的抖动很多是多个抖动的叠加,而每个单项抖动又可能有多项干扰源,所以SerDes领域抖动的难点在于如何准确找到抖动的干扰源并制定有效的干预/补偿手段。
2、抖动与噪声的区别
笔者在了解SerDes,了解通信原理的过程中,很长一段时间都无法搞清楚抖动和噪声的区别。乍一听起来,二者都是用来描述信号偏离的现象。实际上,抖动和噪声是对同一类物理现象的两种不同表述方式,或者叫不同的数学表达式。二者甚至可以进行变换。
真实信号和理想值的偏离,分两个方面:信号幅度的偏离,称之为幅度噪声,简称噪声;时间的偏离,称之为时序抖动,简称抖动。幅度噪声是一个持续的过程,时刻影响整个系统,时序抖动只是在边沿跳变时影响系统。
或者这样理解:抖动是一个时间域的概念,而噪音是一个频率域的概念。抖动是对信号时域变化的测量结果,它从本质上描述了信号周期距离其理想值偏离了多少。
图7 抖动与噪声
上图可以比较清晰的理解抖动与噪声的区别。“Δt”是抖动,“noisy signal”是噪声。
通过以上内容我们可以理解,抖动/噪声是无法完全消除的,干扰源也非常多,包括电路设计,PCB的布局布线,半导体器件自身,甚至电子和空穴特性都可能产生抖动/噪声。而且随着信号频率/带宽/分辨率越高,抖动/噪音带来的影响可能就越大,尽力减小抖动/噪音的必要性就越大。
另一个比较让人难受的问题是,由于SerDes采用了差分信号,即在一个信道内错频收发传输,两个反向信号可能会互为干扰。这极大增加了减少抖动/噪声的难度。
抖动与噪声的数学变换稍显繁琐,在此不做介绍。
本文转载自:信号完整性微信公众号