雷锋网按:本文作者唐良晓,北京大学博士生,UCLA访问学者,矽说(微信号:silicon_talks)主笔。雷锋网首发文章。
数字电路具有稳定性好、可迁移性强以及便于高度集成等优势,使模拟电路的数字化成为不可阻挡的趋势。这在Wireline SerDes领域也不例外。因此,用ADC和数字信号处理模块代替复杂的模拟前端,是SerDes设计者努力的目标之一。今天我们就来聊一聊基于ADC的SerDes技术。
SerDes是Serializer/Deserializer的简称,顾名思义是指串化器和解串器。但是,将SerDes仅仅描述为串化器和解串器,这样的解释并不完整。除了串化器和解串器,SerDes系统还包括发送端的驱动级和接收端的模拟前端。发送端驱动级将串化后的信号送入信道;而在信道的另一端,接收器的模拟前端将接收到的模拟信号转化为数字信号。
图 1 常见Wireline SerDes系统架构
细心的读者一定已经发现,发送端驱动器其实就是一个DAC(数字-模拟转化器),而接收器的模拟前端就是一个ADC(模拟-数字转化器)。当然,比较特殊的是,对于传输“0”和“1”电平的SerDes系统而言,这里的“DAC”和“ADC”有效位都只有1比特。此外,与传统AD/DA的差别在于,为了补偿信道的影响,SerDes中的“DAC”和“ADC”通常具有均衡能力。
ADC的喜与悲
接收器模拟前端需要通过均衡补偿信道的衰减,而传统的均衡器主要由模拟电路实现。这部分模拟电路通常是整个SerDes设计的重点,工作量大、难度高,而且难以在工艺之间迁移和复用。因此,长久以来,人们都希望借助于多比特的ADC和数字信号处理模块来实现均衡的功能,从而减小甚至取代传统的模拟前端。
然而,理想很丰满,现实很骨感。
对于低速SerDes系统而言,模拟前端的设计难度小、功耗低;使用ADC反而会增大系统的设计难度,在功耗和面积上带来更大的负担。而对于高速SerDes系统而言,实现高精度的高速ADC本身比实现模拟前端的代价更大。
因此,虽然时不时的会有人跳出来发个paper,谈一谈基于ADC的SerDes系统、描绘一番美好前景,但是传统的模拟方法长久以来一直是设计SerDes系统的主流方案。
M-PAM信号的兴起
但是,凡事都有“但是”。关注SerDes技术的读者一定会发现,近几年基于ADC的SerDes的文章越来越多。比如2016年ISSCC上Ultra-High-Speed Wireline Transceivers模块中一半是基于ADC架构的。
为什么基于ADC的SerDes突然又“得宠”了?
要回答这个问题,我们首先得介绍一下M-PAM信号(M Pulse-amplitude modulation,有时候也会把M放在后面,如PAM4和4PAM意思是相同的)。M-PAM是指一个符号包含M种幅度的。传统的Wireline系统中,发送端发送的信号只有“1”电平和“0”电平两种状态,所以一个符号包含1比特信息。
但是随着传输速度的不断提高,一方面信道的衰减越来越大;另一方面系统所能提供的均衡能力反而随着频率越来越小,面积和功耗则是越来越大。于是人们就想到,如果一个符号包含多个比特(比如0,1,2,3等4种状态),即使发送符号的速度保持不变,系统的传输速度也能成倍的提高。
图 2 PAM4 和 NRZ ,[Tektronix]
这种一个符号包含多个比特的思想广泛地应用于无线通信中,比如16-QAM、64-QAM、256-QAM等。这样的系统通常要求在发送端保证信号的线性度,而在接收端先通过ADC量化为数字信号,然后再进行均衡恢复数据。读到这里,我想你已经猜到为什么在M-PAM信号没有应用于Wireline SerDes中了——因为需要高速ADC。
图 3 无线数字通信接收机架构框图,[Noel O'Riordan, Silicon & Software Systems (S3)]
但是,现在情况逐渐在改变。M-PAM信号+ADC的组合所带来的优势正在逐渐改变人们的看法。你是愿意去设计56Gb/s的NRZ收发器(奈奎斯特频率达到28GHz),还是56Gb/s的4PAM收发器(奈奎斯特频率为14GHz)?这个问题的答案已经不是那么显而易见。而随着数据传输速度的进一步提高,M-PAM信号的优势将越来越诱人。
下面就介绍一下基于ADC的SerDes技术。为了描述的简洁和易懂,这里仅以NRZ信号为例进行介绍,大家可以自行推广到M-PAM信号的系统中。常见的基于ADC的SerDes系统有两种:一种是基于uniform ADC,另一种是基于non-uniform ADC。这里的uniform和non-uniform是指ADC量化中使用的步长是否均一。
基于Uniform ADC的SerDes系统
基于uniform ADC的SerDes系统架构与传统的SerDes系统架构比较接近。因为接收到的信号幅度与发送端信号摆幅和信道衰减相关。因此为了能够最大可能地利用ADC工作范围,通常需要使用AGC(auto gain control,增益自动调整放大器)将接收到的信号调整到合适的幅度。然后通过uniform ADC将接收到的模拟信号量化。量化后的信号就可以使用数字高通滤波器进行均衡。因此,量化误差将成为系统是否能够正确接收信号的关键。
图 4 传统收发器 V.S 基于uniform ADC的收发器 [Hayun Cung, 2014]
图 5 传统DFE与基于uniform ADC的DFE对比
与传统SerDes不同的是,量化后的数字信息稳定且易于存储,因此不仅可以通过DFE消除后序的ISI(码间干扰),还可以使用FFE消除前序的ISI。
基于non-uniform ADC的SerDes系统
基于Uniform ADC的SerDes想法非常直接,均衡方法与传统方法相似。但是,当需要补偿高损耗信道时,我们就需要的更多DFE的阶数,而不同的阶的DFE系数各不相同。因此,如果需要有效的区分这些不同阶DFE对信号产生的码间干扰,我们就需要提高ADC的精度、减小量化误差(如果量化误差比某些DFE的系数还大,那这些DFE的系数就会直接湮没在量化误差中)。这就意味着更多的比较器(flash ADC)或者更多的比较周期(SA ADC)。
图 6 基于non-uniform ADC的收发器 [E-Hung Chen, 2012]
图 7 基于non uniform ADC的DFE原理示意图
因此,人们就想到如果将ADC中的参考电平直接对应到DFE的系数,就可以理论上避免量化误差的影响。这就是non-uniform ADC。如果将这些非均一的参考电平进行合理地分组,即使有量化误差的存在,只要保证足够大的电压裕度(voltage margin),就能保证系统的较小误码率。这与uniform ADC的差别在于,这里的量化误差是可控的。当然,这样的代价是控制算法会更加复杂。