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