适用前向纠错的通信链路性能分析器的制作方法

文档序号:12729017阅读:375来源:国知局
适用前向纠错的通信链路性能分析器的制作方法与工艺

本申请要求2015年12月1日提交的、发明人为Junqing Sun和Haoli Qian、名称为“Communications Link Performance Analyzer that Accommodates Forward Error Correctoin(适用前向纠错的通信链路性能分析器)”的美国临时申请No.62/261,648的优先权,此申请在此通过引用整体并入本文。



背景技术:

随着数字数据处理技术继续改善,对更高数据传输率的需求也继续增加。例如,IEEE 25千兆比特以太网标准IEEE 802.3by提供高于25千兆比特/秒的单-通道比特率。由于物理介质和硅基收发机电路的性能限制,实现此类高数据率是非常具有挑战性的。这一挑战导致了专用目的、高速串行器和解串行器(“SerDes”)集成电路(“IC”)模块的发展,所述专用目的、高速串行器和解串行器集成电路模块将并行的、片上比特流转换为多个千兆比特/秒的串行比特流以用于片外通信,并且再次返回到接收端。此类SerDes模块可用于合并到联网和接口设备制造商的IC设计中。

由于干扰,高速率串行比特流信号相比典型的目标值(例如,10-12)可能遭受相对高的比特误差率(例如,10-5)。前向纠错(FEC)提供了能够实现目标误差率的许多代码以及编码技术,但是SerDes模块的制造者典型地不能够为此类模块的用户指定编码要求。此外,他们可能在他们指定物理通信链路的最小性能特性的能力方面受限。这一情况以及用于链路和FEC代码的大量配置参数一起可能使得SerDes模块的潜在用户难以判断它们的合适性。



技术实现要素:

上述问题至少部分地通过所公开的适用FEC的通信链路性能分析器方法和模块得以解决。在至少一些实施例中,用于表征通信链路性能的方法包括:

(A)跨物理通信链路传输预定的比特流以产生接收信号;(B)利用接收机从所述接收信号中导出所接收的比特流,所述接收机包括嵌入的调试模块,所述调试模块具有:(1)比特计数器,将所接收的比特流分割为码元和帧;(2)误差计数器,确定每一个帧的码元误差计数;以及(3)聚合器,从所述码元误差计数中获取至少一个与性能相关的统计;以及(C)基于所述至少一个与性能相关的统计来生成性能测量。

一种说明性接收机实施例可能包括:(A)接收链,从接收信号导出所接收的比特流;(B)调试模块,所述调试模块具有:(1)比较器,将所接收的比特流与预定的比特流比较以提供误差比特流;(2)门,将来自所述误差比特流的所选择的比特传到码元误差检测器;(3)码元误差计数器,耦合到所述码元误差检测器以确定每一个帧的码元误差计数;(4)聚合器,耦合到所述码元误差计数器以从所述码元误差计数中获得至少一个与性能相关的统计;以及(5)比特计数器,利用比特选择信号、码元时钟信号和帧时钟信号中的一个或多个来驱动所述门、所述码元误差检测器、所述码元误差计数器和所述聚合器;以及(C)接口,将所述至少一个与性能相关的统计提供给系统,以便基于所述至少一个与性能相关的统计来显示性能测量。

码元可各自都包括来自所接收的比特流的交织的比特。物理通信链路可包括多个通信通道,并且性能测量基于对所有通道的与性能相关的统计。在前述实施例中,所述至少一个与性能相关的统计可以是帧计数相对于码元误差计数的柱状图的一部分。所述性能测量可以是例如,码元误差计数超过前向纠错(FEC)代码的校正能力的比率(也称为分组丢失率或帧丢失率)。其他合适的性能测量可以是每帧的码元误差的概率分布、(在FEC之前或之后的)码元误差率、多个码元误差或者丢失的帧之间的平均时间、或者可用作比较不同的通信链路或通信链路的元件的基础的任何其他值。

附图说明

在附图中:

图1示出了跨通信链路的通信的说明性模块化方式;

图2示出在发送设备与接收设备之间的示意性物理链路的使用;

图3示出说明性链路性能分析器模块;

图4示出说明性柱状图;以及

图5示出说明性性能分析方法。

然而,应当理解,附图中给出的特定实施例以及对这些特定实施例的详细描述并不限制本公开。相反地,它们为本领域技术人员提供认识替代形式、等效方案和修改的基础,所述替代形式、等效方案和修改与给出实施例中的一个或多个实施例一起被涵盖在所附权利要求书的范围中。

具体实施方式

各种通信标准采用指定通信链路协议的模块化方式。图1是一种此类通信链路协议的示意图。从第一设备104中的数据源102到第二设备108中的数据接收机(sink)106的前向路径100采用物理通信链路110,如同从第二设备108中的数据源112到在第一设备中的数据接收机116的返回路径111一样。该标准提供协议的层次结构,该协议的层次结构可由每一个设备使用来合适地采用物理通信链路110,同时提供标准特征,所述标准特征例如,分配的设备地址、通信信道、消息路由、递送保证、目的地强加的速率限制、可靠性等级、期望的数据传输率、以及对事务等待时间(latency)的限制。

紧接着物理通信链路110的是由SerDes模块实现的协议层,即,“信令协议”。发送设备中的SerDes模块每次一个字符地接受数据流。所述字符可以是字节、字或者二进制数据的某个其他任意的固定长度片段。数据流包括用于纠错的成帧(framing)和冗余,并且可能进一步包括用于将定时信息嵌入到数据流中的信道编码。SerDes模块将数据流转换为传输比特流,所述传输比特流作为经调制的信号跨物理链路被传送。

接收设备中的SerDes模块接收经调制信号的潜在受损的版本,下文中称之为接收信号。SerDes模块从该接收信号导出接收比特流并且将接收比特流转换为对应的数据流,供由接收设备的实现更高协议层的其他部件处理。

如在背景技术中所提及,此分层式方式可能在评估SerDes模块的性能时产生困难,进而当问题在通信链路中产生时可能使故障查找过程复杂化。

附图2示出经由物理通信链路110耦合的说明性第一设备201和说明性第二设备202的多个部分。在第一设备201中,多路复用器204将比特流供应至驱动器206,所述驱动器206将比特流转换为经调制的光、电或电磁信号以便跨物理通信链路110传输。基于调试信号的状态,多路复用器204在以下两者之间进行选择:根据通信协议层次结构中的较高层而准备的传输流(“普通”模式);以及预先确定的比特流(“调试”模式)。在示出的实施例中,由伪随机二进制序列(PRBS)生成器208供应该预先确定的比特流。此类PRBS生成器在文献中是已知的,并且被高效地实现为配置成用于产生最大长度序列(即,对于m-比特移位寄存器,长度2m-1的序列)的线性-反馈移位寄存器。

由于物理通信链路110将经调制的信号传输到第二设备202,因此它除了引入依赖于频率的衰减和相位延迟之外,还引入噪声。检测器和/或低噪声放大器210被耦合到物理通信链路110,从而提供模拟电气形式的接收信号。反混叠(anti-aliasing)滤波器212以及模-数转换器214将模拟接收信号转换为数字形式。(在模拟接收机的实施例中,部件212被省略,并且比特流可在模拟域中被恢复。)在数字域中,接收信号可由数字滤波器216均衡化,并且由解调器218解调为接收比特流。解调器218可采取例如以下形式:比较器、决定反馈均衡器或最大似然序列估计器。定时恢复模块220可基于数字滤波器216和解调器218的输出来生成用于模-数转换器214的样本时钟。自适应增益控制滤波器22可提供反馈信号,以便于基于模-数转换器214的输出来控制低噪声放大器210的增益。

注意,比特流典型地在SerDes模块中被并行化,使得示出的接收比特流可以在并行总线上携带。

对于双向通信,第一和第二设备中的每一个设备将具有用于发送经调制的信号的部件以及用于解调所接收信号的部件。在物理链路110包括多个通信通道的情况下,示出的部件可能被复制用于每一个通道。注意,部件210-222仅示出一个接收链(receive chain)实施例。实际的实现方式可能包括附加的复杂性,诸如,近似、并行化、信道训练以及系数自适应。由此,期望给第一和第二设备装配调试模块以用于故障查找目的。

调试模块优选地被设计为用于利用或不利用FEC来促进对通信链路的性能分析。图3示出调试接口302,此调试接口302耦合至说明性调试模块部件306-330,所述说明性调试模块部件306-330被嵌入在多个通信通道304中的每一个的接收机电路中。经由调试接口302,外部测试器能够设置调试模块中的寄存器,从而控制电路的操作并检索信号状态以及例如当满足某些触发条件时可捕获的其他测量。

可利用本地PRBS生成器306来生成预定比特流的本地副本。调试模块可使用各种技术将本地生成器306同步至远程生成器208。例如,在PRBS生成器采用具有线性反馈的m-比特移位寄存器的情况下,可通过向移位寄存器加载来自接收比特流的m个连续的比特来实现同步。只要这些比特是正确的,本地生成器306就将产生预定比特流的本地副本。如果针对后续帧测量的误差率超过阈值(例如,10-1),则同步尝试可被视为失败,并且重复同步过程直到测量误差率落入到低于阈值为止。

接收比特流和预定比特流的本地副本以及任何其他期望的诊断信号(例如,在定时恢复模块中的相位误差)通过对应的延时缓冲器308,从而为生成触发信号提供充足的机会。如果触发信号发生,则调试存储器310捕获接收比特流,预定比特流的本地副本以及其他诊断信号。通过调试接口302设置多路复用器330,以便将(来自检测器320的)码元误差信号或来自另一源的误差条件信号选为将用作数据捕获信号的触发信号。如同触发信号那样,每一个触发事件捕获的数据的量可也可以是可配置参数,此可配置参数经由调试接口302被设置为寄存器值。调试接口302进一步警告测试器,使得被捕获的数据能够由测试器检索,以便进行基于软件的分析。

比较器312将接收比特流与预定比特流的本地副本比较,从而每当在比特流之间存在失配时就断言误差信号。在比特流被携带在并行总线上的情况下,比较器312表示一组比较器,每一个比较器都可操作用于将来自接收比特流总线的比特线与来自预定比特流总线的相应的比特线进行比较。

当断言了调试信号时,比特计数器314对接收比特流中的比特进行计数,从而生成门控信号316以便任选地将交织考虑在内。对于码元中的每一个比特断言门控信号316,并且对于码元跨度内可能发生的其他比特解除断言门控信号316。比特计数器进一步生成码元边界信号322以及帧边界信号326。交织程度(即,多个码元比特之间的其他比特的数量),码元长度(即,每个码元的比特数量)以及帧长度(即,每一个帧的码元数量)各自都是优选地经由调试接口302可配置的。

上文参考的交织可以采取各种形式,包括来自跨多个通信通道的多个FEC编码器的FEC编码的数据流的交织。用于每一个通道的门控信号316可经设置以仅选择那个通道中源自所选择的FEC编码器的码元。当当为每一个通道聚集的误差统计被合并在一起时,尽管所选择的FEC编码器使其经编码的码元跨多个通信通道分布,但是可评估所选择的FEC编码器的性能。

“AND”(“与”)逻辑门318将门控信号316与来自比较器312的误差信号组合以形成经门控的误差信号,所述经门控的误差信号在误差存在于所选择的码元的比特中时被断言。误差检测器320接收经门控的误差信号,从此经门控的误差信号中导出码元误差信号,每当在码元的比特中的任何比特中检测到误差,码元误差信号就被断言。对于串行比特流,误差检测器320可实现为S-R触发器(S-R flip flop),当经门控的误差信号被断言时,所述S-R触发器被置位,并且在新的码元开始之前,所述S-R触发器由码元边界信号322重置。对于并行化的比特流,可采用一组OR(“或”)门来合成来自并行的经门控的误差信号的码元误差信号。在一些实施例中,码元边界可以是固定的,例如,并行的接收比特流的每一个循环被假定为表示一个码元。

码元误差计数器324对每一帧中检测到的码元误差的数量进行计数。当码元边界信号322被断言时,如果码元误差信号被断言或以其他方式保持相同,则码元误差计数器324递增。在新的帧开始之前,帧边界信号326重置计数器324。来自计数器324的码元误差计数用于:当帧边界信号326被断言时,递增误差柱状图模块328中的寄存器。在一些实施例中,误差柱状图模块328包括十五个寄存器,每一个寄存器对应于帧中的0、1、2、3、…、13或者14个码元误差中的一个。每当误差计数超过帧中14个码元误差时,可递增第十六个寄存器。以这种方式,柱状图模块对具有对应数量的码元误差的帧的数量进行计数。优选地递增寄存器而无需反转(rollover)。寄存器内容优选地是可检索的以便经由调试接口302进行软件分析。

图4示出说明性码元误差柱状图,所述码元误差柱状图具有沿水平轴的16个箱体(bin),并且第一个箱体对应于零个码元误差,而第十六个箱体对应于15个或更多个码元误差。竖直轴示出在经修改的对数刻度(计数加一的对数)上的每一个箱体中的所计数的帧的数量。因此,以箱体2至16的加权和除以箱体1中的计数来确定FEC前码元误差率(pre-FEC symbol error rate)是可能的。

图4还示出可校正性阈值T,其通过FEC代码的选择来设置。在图4中,可校正性阈值T是可由FEC在帧中校正的码元误差的最大数量。如果更多的码元误差发生,则帧不能被校正,并且码元误差保持未校正,从而潜在地导致数据丢失。因此,以高于T+1的箱体的加权和除以箱体1至T中所计数的帧的总数来确定FEC后码元误差率(post-FEC symbol error rate)是可能的。

如果设计者认为柱状图寄存器将需要过多的芯片区域,则可校正性阈值T可以供应至调试模块,使得其能够将每一个帧的码元误差计数与T比较,并且直接对FEC后码元误差和帧丢失计数进行计数。也可直接对FEC前码元误差率和总帧计数进行计数。当调试模块具有对可校正性阈值T的访问权时,其能够进一步生成伪-FEC解码的比特流,所述伪-FEC解码的比特流具有PRBS数据的帧(其中,码元误差计数小于或等于T),并且具有(受损的)接收比特流的帧(其中,码元误差计数超过可校正性阈值)。在此类实施例中,经伪解码的比特流任选地可由调试存储器捕获。

然而,柱状图模块的优点在于,它能够实现一系列FEC代码的性能比较。此外,柱状图能够实现待公式化的误差统计的较好的模型。例如,柱状图可揭示误差传播倾向或者在接收链中的其他不足。

鉴于前述原理和技术,图5示出用于表征通信链路性能的说明性方法。物理通信链路将第一设备与第二设备连接(或者,在一些测试情况下,第一设备的发射机被耦合至“环回(loopback)”电路中的第一设备的接收机)。在框502中,测试系统将发射机置于调试模式,使得此发射机开始发送预定的比特流。预定的比特流并入成帧信息,编码,或者来自通信协议层次结构的较高层级的任何信息不是必要的。

在框504中,测试系统重置接收机的调试模块中的各种计数器和柱状图寄存器。在框506中,测试系统设置针对比特交织的各种参数,柱状图箱体宽度,码元长度,帧长度、用于数据捕获的触发器条件以及任何其他合适的参数。测试系统进一步将本地PRBS生成器与接收比特流同步。

在框508中,测试系统启用调试模块,使得所述调试模块开始检测码元误差并对码元误差计数,并且累积误差柱状图。为每一个通信通道执行框504-508。在框510中,在经历可执行有意义的性能分析的足够的时间之后(例如,在已传输至少1013个码元之后,其中,期望的码元误差率为10-12或更小),测试系统为每一个通道收集柱状图。在框512中,测试系统从单个通道柱状图中导出多通道性能数据。在一些实施例中,此类性能数据仅是通过对来自单通道的柱状图对应箱体求和而获得的柱状图。

在框514中,计算并存储FEC前和FEC后码元误差率。也可导出其他基于统计的性能测量,包括例如,分组丢失率(packet loss rate)以及导致失败分组的平均时间。在框516中,可改变一个或多个测试参数,并且可按需重复框502-514,以便映射出码元误差率相对于测试参数的依赖关系。此类测试参数可包括链路的物理长度、交织程度、码元长度、帧长度、可校正性阈值、滤波器训练策略,等等。

在框518中,测试系统生成性能测量结果的可视表示,并且将此可视表示显示给用户以进行分析。此类性能测试可使用户能够判定是否具有接收链中具有硬件错误、故障的接收信道或应当支持通信协议层次结构的较高层的操作的有效的物理链路。用户可基于所测量的依赖关系来选择合适的通信参数值,或者可动态地优化该参数值或调整参数值以满足要求。

一旦完全理解上述公开内容,各种修改、等效方案和替代方案对于本领域技术人员来说将变得显而易见。所附权利要求书旨在被解读为在适用的情况下涵盖所有此类修改、等效方案和替代方案。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1