多数高带宽、实时示波器配有软件,以便为串行数据分析恢复嵌入式时钟。不过,你究竟需要多大的内存呢?
你进行串行数据分析时所需的实时示波器内存大小取决于你想完成的作业。检查几项常见的验证与故障排除任务有助于确定你需要多大内存。
典型的时钟恢复软件包都含有一个选项,以便软件仿真一个具有可变频率响应的锁相环( PLL)。当你选择该选项时,算法就要求若干个周期跟踪时钟。该锁定范围中的数据无法用于测量,你在规划存储要求时,必须考虑到这一点。所需的内存大小取决于几个因素--主要是时钟频率和环路带宽。
你可以从三项常见作业的角度评估内存问题,这三项作业是:检查低频抖动事件(即偶然发生的抖动或噪声事件)、检查 PRBS(伪随机二进制序列)中的所有比特序列组合,以及实现满足某个给定误码率所要求的置信度。
低频或偶然抖动
如果你想测量来自低频调制的串行数据信号的抖动,那么你就已经确定了对存储深度的需求。例如,假如你用一个具有 20G 采样/秒(S/s)的采样率和 1M采 样内存的示波器捕获一个 2.5Gbps 信号,那么你就能捕捉到50 微秒实耗时间,从而你能看到一个频率为 20kHz的抖动周期。
测量低频抖动通常并不是串行数据分析的一项要求,因为大多数串行数据接收器中的时钟恢复 PLL 都能有效地抑制在适度低频率的抖动。不过,一个以低重复率发生的事件有时会导致突发抖动或噪声,而这类抖动或噪声包含较高的频率,PLL 无法加以抑制。因此,你需要对此类事件做规划。图 1 示出了这类信号串扰的一个实例。黄色迹线是串行数据信号。绿色迹线是来自系统其它地方的不相关侵扰信号,它导致数据信号的短期突发抖动。紫色迹线是抖动趋势信号,来源于串行数据信号。与“理想的”已恢复时钟相比,该抖动趋势只是数据流中每一个边缘的定时的一条时间曲线。你可以看到突发定时错误是与绿色侵扰信号的每次跃变一致的。
图1,某一个信号(绿色)的耦合会导致另一个信号(黄色)的抖动。
紫色迹线是由串行数据信号导出的抖动趋势信号。
如果信号的数据速率合适,你就能够利用一个较低的采样率来延长在每个触发脉冲上被捕获的时间。例如,在数据速率为1Gbps时,你能够充分地捕获采样率为10Gbps的信号的所有频率成分。在这种情况下,存储量为1M采 样的可以捕获 100 微秒宽的数据,从而你就能看到频率为 10 kHz的一个完整抖动周期。
表 1 列出了采样率为 20G S/s的示波器能够捕获的最低抖动频率,即突发脉冲发生率,是存储深度的函数。要注意的是,即使是目前市场上存储深度最深的示波器,在以 20G S/s的采样率采样时,也捕获不到低达 60Hz 甚或 120Hz 的抖动频率。如果你怀疑电源中有什么部件正在电源线交叉处发出突发抖动或噪声,则一种有用的故障排除技术就是在电源线上进行触发,然后查看在抖动趋势波形上是否有稳定的突发脉冲。
多数开关式电源的工作频率高于 20kHz,因此采样率为 20G S/s的示波器中的 1M 采样内存通常足以捕获到与开关式电源相关的问题。
检查 PRBS 中的所有组合
在测试系统中使用 PRBS 作为激励信号有一个优点,就是它包含了所有可能的 由很多1 和 0 组成的序列,仅受限于 PRBS 的长度。一个 2N-1 PRBS 序列包含一个由 N-1 个 0及其后面 N 个1组成的序列以及由你应该使用的 PRBS 模式的长度取决于你正在设计的串行总线。你选择的PRBS中由连续的0或1组成的最长连序列应该与你正在设计的串行总线中由连续的 0 或 1 组成的最长连序列匹配。例如,如果你的总线使用 8b/10b 编码,那你只需要使用一个 25-1 PRBS 来测试。
为了查看所有组合的影响,你应该捕获整个 PRBS。如果你分析的一次采集比整个 PRBS 短,那你就会捕获不到某些组合。只要重复运行,你仍然会有很好的机会在不确定的时间之后看到序列的所有部分,这是因为示波器将很可能在 PRBS 内的各个点随机反复触发。不过,在每个触发脉冲或一个触发脉冲上捕获整个 PRBS,都会使你 100% 放心。
表 2 列出了比特率为2.5Gbps和示波器采样率为20G S/s时捕获整个 PRBS 序列所需的存储量。对于其它组合,计算所需内存的数学运算都是很简单的。要注意的是,即使是目前市场上内存最深的示波器,也无法在一次采集中捕获一个完整的 232-1 PRBS 序列。27-1 序列和 211-1 序列是常见的模式,这两种模式都很容易存入 256k采 样内存。216-1 序列可存入 1M采 样内存,还有剩余空间。如果是 表 2 未列出的序列,或者是其它采样率和数据速率,那你可以利用捕获的周期数量=[(存储深度)*(数据速率)]/(示波器采样率),再按要求的误码率推算,就可很方便地计算出所需的内存。
在你能确信自己的系统将满足给定误码率之前,你需要多长时间来让示波器掩码或抖动测试运行呢?从统计角度而言,你可以把这个问题描述如下:在误码率比如 说为10-12时,你可能在你检查的最初几个比特中看到大量错误;另一方面,你也可能在 1016 或任意大数量的连续比特中看不到错误。
你可能要等待很长时间来确定已测的误码率,但这可能没有花费很长时间,尤其是当你从来没看到任何差错时。假定你没有发现任何差错违背情况,那你就可以计算置信区间,以便根据较少的数据预计给定误码率。例如,对于给定的 BER(误码率),表 3 说明你必须观察多少无错误比特才能达到表中的置信度。
要注意的是,虽然示波器和 BERT(误码率测试仪)之间的相关性很好,但示波器给你的只是误码率的估计值,而不是测量值。为了达到你实现误码率目标的最终置信度,你需要使用 BERT,尤其是在误码率很低的时候。现在的问题是,示波器即使没有固有的抖动或随机噪声,也只能捕获数据的一个子集,而 BERT则能 检查每一个比特。
假定你的确看到了一些差错,那么表 3 和外推法就是无效的。在这种情况下,你需要让系统一直运转,直到你看到 10 ~ 15 个差错才能确信差错的数量除以被测 UI(单位区间)的数量就是长期 BER 的良好预测值。假定差错随机发生,则该过程所需的时间就是不确定的。
表 4 示出了内存深度、每次采集捕获的 UI 数量以及达到 95% 和 99% 置信度(确信 BER 小于 10-12)所需的采集总数三者之间的关系。表4还假定数据速率为 2.5Gbps,示波器的采样率为 20G S/s。你可以看到,即使借助 100M 采样内存,也要花很长时间才能达到很高的置信度(确信 BER 很低)。
很多配有串行数据分析软件包的示波器都报告已检查的 UI 的数量和失败的 UI 的数量。你可以按以下方法计算每次采集所包含的 UI数量: UI 的数量=(内存持续时间)*(比特率),而内存持续时间=内存深度/采样率,因此 UI 的数量=(内存深度)*(比特率)/(采样率)。
用软件恢复时钟的优点
如果你在寻求统计置信度,那就要记住,与眼图测量的老方法相比,用软件恢复时钟并根据该时钟重建眼图的示波器有几大优点。在过去时钟和数据彼此分离年代里,你用时钟信号来触发示波器,并观看数据信号的眼图,测量值很容易受触发脉冲抖动和假性触发脉冲的影响。示波器的触发脉冲抖动又使测量值抖动增大。如果用软件恢复时钟,触发脉冲抖动就不会影响测量结果。示波器可以用任何信号来触发,或者是自激的,根本不需要主动触发源。
所有示波器都有一定的假性触发率,这是由逐级触发器中的建立与保持差错引起的。虽然假性触发率很低,但它会影响低 BER 的测量统计数据。如果用软件恢复时钟,假性触发再次不成为问题。只要用软件恢复时钟,这些优点合在一起,就使测量结果的置信度高了很多。 |