SERDES的数字系统中高效时钟设计方案
扫描二维码
随时随地手机看文章
数字系统的设计师们面临着许多新的挑战,例如使用采用了串行器/解串器(SERDES)技术的高速串行接口来取代传统的并行总线架构。基于SERDES的设计增加了带宽,减少了信号数量,同时带来了诸如减少布线冲突、降低开关噪声、更低的功耗和封装成本等许多好处。而SERDES技术的主要缺点是需要非常精确、超低抖动的元件来提供用于控制高数据速率串行信号所需的参考时钟。即使严格控制元件布局,使用长度短的信号并遵循信号走线限制,这些接口的抖动余地仍然是非常小的。
固定频率振荡器可用于很多通用的SERDES标准;但是,这些解决方案价格昂贵。此外,这种做法缺乏灵活性,并且使调试、测试和生产变得困难。
另一种解决方案是使用可编程时钟器件,如莱迪思的ispClock系列,以及一个低成本的CMOS振荡器。ispClock器件具有超低抖动特性,同时保留了用户可编程器件所提供的灵活性,从而满足SERDES时钟的一系列要求。本文将解释如何更有效地使用可编程时钟器件,实现各种基于SERDES接口的参考时钟子系统。下面将详细研究一个XAUI的应用示例。
SERDES参考时钟源的设计挑战
无论是在一个FPGA、SoC还是ASSP中,为任何基于SERDES的协议选择一个参考时钟源都是非常具有挑战性的。器件成本、通过耦合高速信号使得噪声最小化、超低抖动要求、由于信号长度匹配的要求而对走线的限制、考虑周全的电源供电设计(包括噪声的考虑、元件布局上的限制、信号布线的要求和电源去耦)以及测试/生产要求,这些都必须考虑到并对各个因素的利弊进行权衡分析。
传统驱动SERDES参考时钟的方法是使用一个真正的差分输出振荡器,特别选择固定适合的频率,来实现低抖动和较小的相位噪声。该解决方案非常昂贵而且不够灵活,无法在以后的设计中再次使用。固定的解决方案,就其本质而言也限制了灵活性,为一种接口而设计的时钟系统不能方便地在另一个新的设计中使用。相反,新的设计必须从头开始,还可能需要使用不同的器件、不同的架构或改变电路板原来的布局布线和走线规范。备货、测试和生产也会更加复杂:固定频率器件需要预备多个器件以符合不同标准,从而增加了生产费用。如果器件不能更改时钟频率或不能覆盖整个时钟输出范围,那么子系统的测试和调试会更加困难。
固定频率、低抖动差分振荡器采用的工艺通常不包括产生输出频率的内部PLL电路,因而这些器件在频域分析中会有噪声边带和多重模式分布。同时寻找理想的终端和差分I/O逻辑标准并保持稳定的电源供电也同样存在挑战。根据参数规格、数量、包装和温度范围,这些振荡器成本在12美元至50美元。
像莱迪思半导体公司的ispCLOCK5406D这样一种新兴的可编程逻辑器件,提供了灵活、超低抖动和低成本的解决方案来驱动SERDES参考时钟。这些器件和低成本的CMOS振荡器能够满足FPGA、SoC和ASSP的SERDES参考时钟所需的严格超低抖动要求。此外,这种增强型的应用实现保持了器件低成本的同时还简化了设计、测试和生产。由于这些器件是可编程的,因而可以仅通过对时钟进行不同功能的编程来实现设计重用。例如:输出可以改为不同的标准——可能是从LVDS变为LVPECL——使用不同接口代替昂贵的晶振。基于ispClock的设计可以在多个未来的设计中使用,以缩短产品上市时间、降低库存并简化生产制造。甚至可以实现现场的功能更改,实现便捷的更改、升级并提高服务质量。由于这些时钟器件有多个带有单独相位偏移和时间偏移的输出,因而可以“覆盖”很广的测试范围,能更好地确定元件的容限值,实现更稳定的系统。
一个采用低成本的振荡器和一个ispClock5400D器件的系统示例如下面图1所示。振荡器通过使用一些电容和铁氧体磁环来实现去耦并隔离电源噪声。单端振荡器输出与分压器一起为时钟器件上的参考输入提供一个差分信号。将参考信号布线尽可能的靠近,可以尽可能地减少共模噪声,提高信号的完整性。
图1:低成本振荡器和ispClock5400D超低抖动参考时钟。
使用ispClock5406D实现XAUI参考时钟源
通常我们能在XAUI设计中找到SERDES应用。XAUISERDES的工作频率为3.125GHz,并有0.35UI(单位间隔)的严格的抖动要求,一个单位间隔为一个完整的波形周期。(3.125GHz的周期是1/3.125GHz或320ps。那么320ps的0.35UI就是120ps)。一种常见的建立片上3.125GHzSERDES时钟的方法是利用一个精确的输入参考时钟,时钟频率为1/10的SERDES速率或312.5MHz。该参考时钟必须足够精确,以保证SERDES设计能满足XAUI规范的严格抖动要求。
isp5406D可通过基于GUI的设计软件(莱迪思的PAC-Designer5.2)轻松配置。配置ispClock5406D的GUI如图2所示。可通过该器件的框图定义不同的配置选项。用户只需简单地双击框图中的功能,然后会打开一个对话框,显示该功能的各种可编程选择。例如,在右上角的对话框中,用户可以输入参考时钟频率和反馈信号源。
图2:PAC-Designer5.2中显示的莱迪思ispClock5406D框图。
如图2所示,环路滤波器和VCO块的参考时钟输入源可以从REFA或REFB差分输入中选择。V分频器块使用环路滤波器和VCO块的输出来产生由PLL的几分频(2、4、8和16分频)决定的四种频率。来自输出V分频器块或用于外部反馈的FBK输入的反馈信号,提供了可与VCO“匹配”的参考时钟。如果选择输出V分频器块较小的分频数的信号来匹配输入参考时钟,其反馈信号将是选择较大分频数信号的几倍,这就产生了有效的频率是输入参考时钟源几倍的参考时钟源。在本示例中,将78.125MHz的输入参考时钟源加到REFA并将V分频器块的8分频输出作为反馈,则其8分频的输出为78.125MHz,4分频的输出为156.25MHz,2分频的输出为312.5MHz。
V分频器的输出频率可用于布线矩阵阵列,也可以分配给任意的isp5406D输出。每个输出都可以进行独立的相位和时间偏移设置,可以针对走线延迟来调整输出或其它细节方面的时序考虑。最后,输出类型可以从M-LVDS、LVDS、LVPECL、HCSLx6、HSTL/eHSTL、SSTL1.5V/SSTL1.8V或SSTL2.5V中任意选择。在示例设计中312.5MHz和156.25MHz信号可通过BANK_0至BANK_3的输出获得,使用LVDS和LVPECL标准。还可以选择REFB作为Bank4和Bank5的输出。这可以通过一些简单的时序调整来实现一个独立的时钟信号。
XAUI测试系统结果
测试系统使用了ispClock5406D评估板和LatticeECP3FPGA开发板。测试建立的框图如图3所示,该设计中的开发板照片上标识了左侧是ispClock5406D板,右侧是ECP3FPGA板。(请注意,两个板之间使用SMA电缆传输时钟信号。这是一个比集成的时钟解决方案更具挑战性的信号环境。)
EpsonCMOS振荡器的工作频率为78.125MHz,用作ispClock5406D的参考时钟。ispClock5406D通过编程以4倍的参考频率即312.5MHz,用作使用LatticeECP3FPGA实现的XAUI设计的时钟源。使用片上ECP3的CDR/PLL块,实现了超低抖动、频率为312.5MHz10倍的参考时钟。3.125GHz时钟分配给高速的XAUI功能部分:SERDES的接收器(RX)和发送器(TX)块以及8b10b解码和编码块。
图3:使用ispClock5406D的XAUI系统。
在抖动测试时,XAUI状态机通过编程输出标准的PRBS7测试图形。这从TX块和DOUT+/-信号上显示出来,标识于图3中LatticeECP3FPGA块的底部位置。这些输出连接到AgilentDSO-81304B的输入,以获取详细的抖动数据。图4以图形形式显示了0℃下的重要测量结果。在-55℃和+85℃下也进行了类似的测量。图4底部的表格显示了测试过程中的关键抖动测量结果。总抖动测量值需满足120ps(0.35UI)的XAUI标准,即时在最差的情况下,当超过-55℃至+85℃温度时,也必须满足105.65ps和0.33UI。同样,这些符合标准的结果是在使用两块独立的开发板的情况下取得的。使用一块板的话应该产生更低的抖动结果。
图4:抖动测试结果。
表1
ispClock5406D的配置存储在片上非易失性存储器中,可通过JTAG接口进行再编程。器件上的许多功能还可以通过I2C接口进行“即时”修改。基于ispClock5406D的系统的可编程特性支持许多附加功能,包括:TH和TCO时序裕度测量,有助于设计稳定性的测试;使用发送和接收通道间独立的偏移时钟的裕度测试,提高了可制造性;在数据有效窗口的中心进行准确的时钟对齐,增强了系统的可靠性。