ESIstream IP–简化确定性数据序列化的设计
扫描二维码
随时随地手机看文章
概述
当使用现代宽带数据转换器时,管理产生的高速串行数据流是一个巨大的挑战。ESIstream是一个开源的串行数据接口协议,成本极低,支持多种FPGA架构的简单硬件实现,并占用最小的资源。简单来说,它是JEDEC的JESD204B子集1和2标准的开源替代方案。另外,ESIstream可为用户带来很多好处,这里将讨论其中的一些,包括低复杂度、低链接延迟和实现确定性延迟的简单方案。
本文将仅阐述ESIstream的架构,因为当前有很多文档已很好地描述了JESD204B的标准。然后我们将揭示这两种协议之间的细微区别,并介绍Teledyne e2v,ESIstream协议的开发者,已决定发布自己的ESIstream VHDL IP,以进一步简化用户的使用。
串行的历史
新千年以来,数据转换器技术和CMOS工艺的发展开始到达功能的瓶颈。起初,高速ADC和DAC(fs>10MHz)采用并行数据接口,这意味着在印刷电路板(PCB)上需从每个数据转换器上引出/引入大量的布线(图1)。随着采样率和输出数据速率的提高,PCB设计变得越来越有挑战性。而串行化接口,起初使用LVDS(低压差分型号),最近则使用串行器/解串器(SERDES)接口(时钟嵌入在数据流中),为这种数据传送的挑战提供了一种解决方案,并可简化PCB布线,大大推进形状参数的发展。这种接口的简化对链接的两端都有利(图1)。Serdes链接进一步简化了PCB的设计,因为无需保证数据线长度匹配。
图1 串行链接如何降低互联负荷
然而,经过了很多年,才有了一种串行方案解决了宽带数据转换器带来的所有系统级挑战。实现确定性延迟是同时采样的前提,人们付出了很多努力研究它。下表(表1)展示了过去12年甚至更长时间里JESD204标准的发展和开源ESIstream的发展。
串行数据的一个显著的优点是,当分辨率提高时,器件的封装无需包含额外的数据线,这可以帮助限制引脚数的增加。但是,串行化的缺点是由于引入了编码/解码流程,且通过某些额外的接收路径弹性缓冲器补偿路径之间的对齐度,导致增加了额外的传递延迟。
图2 串行化引入互联延迟
串行化也可帮助管理数据转换器的电源需求,因为它能降低单个器件需要的特定输出驱动器的数目。而且,通过实现差分串行线,可帮助减少复杂系统中产生的电气噪声,以保证良好的动态范围。另外,编码方案也可分散频谱噪声,而且差分信号可降低串扰。
事实上,直到现在,早期串行接口依然不能很好地支持多个并行通道的应用,设计师依然会面临板级设计的挑战。
ESIstream 具体实现
现在让我们看一下ESIstream的核心要素。ESIstream使用14b/16b的数据编码算法,低有效位优先,支持超过13Gbps的线路速率。它支持12位和14位的转换器。协议使用线性回馈移位寄存器加扰技术,为每个数据字加入不均等位和时钟同步位(2个bit的额外负担),如图3。通过这种方式,它的编码效率高达87.5%,比JESD204B(8b/10b的编码流)略高。不均等位(DB)可在CLK位切换使能同步监控时,保持数据链间的DC平衡。
图3 ESIstream 基本数据帧
ESIstream发射端(Tx)和接收端(Rx)核心的上层框图如图4和图5所示。
图4 ESIstream的Tx路径
图5 ESIstream的Rx路径
ESIstream编码算法被设计成可减少串行接口的物理限制。最重要的是,发射端和接收端之间的链接需要AC耦合。考虑到这一点,发射的数据要确保DC平衡,否则链接耦合电容可能漂移,导致数据眼图闭合,破坏接收的数据。
在接收端,时钟和数据恢复(CDR)模块通常使用PLL锁到发射的信号,这样无需使用独立的时钟线。但是,为了使得CDR锁定并保持锁定状态,需保证传送的信号经过特定的变换次数。为发送的数据加扰是为了维持DC平衡,确保链接保持锁定。ESIstream的开发者希望限制数字设计的复杂度,于是采用附加的算法最小化错误传递。这种算法基于斐波那契数列,长度为217-1。此外还应用了14位的移位。转换流程输出的有用数据和线性反馈移位寄存器数据(伪随机码)进行异或操作,如图6。
图6 通过与LSFR码异或实现数据加扰
加扰之后,14位的数据结果被编码成16位的数据帧。第一个附加位时钟位,随着每个连续帧切换。第二个附加位不均等位根据不均等计数器(RDC)的当前状态设置。两种RDC状态可导致:
1.RDC小于+/-16,不均等位设置为‘0’。
2.RDC大于+/-16,不均等位设置为‘1’,数据反向(按位非运算)。这个操作可满足Rx PLL锁定的最小转换次数的要求,并满足链接DC平衡的需要。在正常操作下,接收端首先检查不均等位。如果它为高,则在去扰前反向接收的数据。如果它为低,则直接对数据进行去扰操作。对于确定性操作,ESIstream要求链接同步,即发射端和接收端的数据帧对齐,链接两端的加扰引擎在同样的初始化状态。同步分两步,帧对齐和伪随机位序列(PRBS)初始化。
图7 ESIstream 链接同步帧
接收端通过使能SYNC启动流程。这个脉冲应该持续至少一个帧周期。然后发射端发送一个32帧的对齐样式(图7)。在接收端,这个保留的序列绕过加扰和不均等的处理,使接收端和发射端时序对齐。在对齐帧之后,发射端立刻发送一个32帧的PRBS数据——包含14位的PRBS以及时钟和不均等信息。经过正确地处理,接收端LFSR由接收端的PRBS字初始化。这时链接已同步(图8)。用户可在接收端通过观察时钟位,连续监控同步状态。如果时钟位在某一帧没有切换,则出现了同步问题,需复位链接重新同步。
图8 ESIstream接收端线路同步序列
通过加扰以及时钟位和不均等位的处理,ESIstream可保证确定的数据传输。