广告

高速串行系统性能测试:如何编写自定义眼图模板?

2022-10-25 09:25:23 苏水金 阅读:
如何评定高速串行系统的性能?在高速串行系统中,主要通过眼图测试。评估一个眼图的好和坏,通常利用一些常见的指标来衡量,比如眼高,眼宽,抖动,占空比等。为了简单而又直观地判断眼图的指标是否符合规范的要求,将规范指标的要求编写成一个眼图模板,然后利用示波器来调用这个模板,这样就可以直观看到眼图是否有碰到模板……

当你利用示波器观测波形时,阿拉斯加的鳕鱼正跃出水面;当你debug电路时,南太平洋的海鸥正掠过海岸;当你测试眼图模板时,地球的极圈夜空正五彩斑斓。IzUednc

总有一些波形会有畸变,总有一些电路会有bug,总有一些眼图会压模板。高速信号的质量,需要测试眼图模板;那些电路中看不到的bug,都终将在眼图模板中得到体现。IzUednc

IzUednc

为什么要测眼图模板?

如何评定高速串行系统的性能?在高速串行系统中,主要通过眼图测试。眼图是把连续的比特流按照某一特定的时钟,分割为单独的比特,而后叠加而形成的图形,类似一个张开的眼睛,故得名眼图(Eye-diagram)。眼图是高速串行信号的宏观信号质量的整体体现,在眼图中可以直接反映出串行信号的幅度、抖动特性等。IzUednc

IzUednc

评估一个眼图的好和坏,通常利用一些常见的指标来衡量,比如眼高,眼宽,抖动,占空比等。为了简单而又直观地判断眼图的指标是否符合规范的要求,将规范指标的要求编写成一个眼图模板,然后利用示波器来调用这个模板,这样就可以直观看到眼图是否有碰到模板。如果眼图没有碰到模板区域,表示眼图符合规范要求,结果是Pass;同样如果有碰到模板区域,结果是Fail,需要工程师对电路进行整改,改进信号质量到Pass。IzUednc

IzUednc

眼图模板测试是一种评估高速串行信号质量的手段。示波器的抖动眼图分析软件都内置了业界主流高速串行信号的眼图模板,例如PCIE、USB、SATA、SAS、DisplayPort、HDMI、Ethernet、Fibre Channel等。但是有些情况可能无法直接套用示波器内置的标准模板,例如被测信号是新出标准定义的,或者实际测试点和标准要求的测试点不一致等情况,这就需要示波器调用自定义的眼图模板完成测试。IzUednc

眼图模板定义解读

眼图模板有绝对模板和相对模板,电信号的眼图测试一般使用绝对模板,光信号的眼图测试一般使用相对模板。今天将介绍电信号的眼图模板测试,即自定义绝对模板的编写和调用。IzUednc

眼图模板的Segment解读IzUednc

眼图模板一般由上、中、下三部分组成,我们把最上边的称为Segment1,简称SEG1,一般为长方形;中间部分的称为Segment2,简称SEG2,一般为菱形或六边形;最下边的称为Segment3,简称SEG3,一般是长方形。IzUednc

IzUednc

眼图模板的坐标解读IzUednc

SEG1,SEG2,SEG3分别代表模板从上到下的三块阴影区域,即使有时候不需要SEG1和SEG3,也要定义SEG1和SEG3,否则会影响模板缩放,SEG1和SEG3的v1=v2,v3=v4,t1=t4,t2=t3,t1=-t2。如果SEG2是菱形的话,v1=v3,v2=-v4,t2=t4,t1=-t3。IzUednc

各拐角在模板中按逆时针顺序分布,各SEG的t1,v1为左下角的坐标,t为水平坐标,v为垂直坐标。IzUednc

IzUednc

如何编写自定义眼图模板

眼图模板根据芯片电气特性规格定义的,下面是某个高速串行信号标准的眼图模板定义规范指标,通过模板规范指标,可以推导出了眼图模板的t和y的参数,用记事本编辑,然后存为.msk模板文件,最后利用DPOJET导入使用。IzUednc

IzUednc

打开txt文本文件IzUednc

假如被测信号的速率是3.125Gbps,一个UI就是3.125Gbps的倒数,即1UI=320ps,码型是NRZ。BITR为信号速率3.125e9;WID为BITR倒数320e-12;打开一个空白txt文本文件,然后再空白输入如下:IzUednc

:MASK:USER:WID 320e-12;IzUednc

:MASK:USER:BITR 3.125e9;IzUednc

:MASK:USER:SERIALTRIG NRZ;IzUednc

编写Segment1的坐标IzUednc

根据上面的眼图模板规范指标,注意:规范模板左边是0UI,最右边是1UI,中间是0.5UI;但编写模板时是左边是-0.5UI,最右边是0.5UI,中间是0。所以SEG1的t1,v1,t2,v2,t3,v3,t4,v4计算如下:IzUednc

t1=-0.5UI=-0.5*320e-12=-160e-12;IzUednc

v1=600mV=600e-3;IzUednc

t2=0.5UI=0.5*320e-12=160e-12;IzUednc

v2=600mV=600e-3;IzUednc

t3=0.5UI=0.5*320e-12=160e-12;IzUednc

v3=(600+200)mV=800e-3;IzUednc

t4=-0.5UI=-0.5*320e-12=-160e-12;IzUednc

v4=(600+200)mV=800e-3;IzUednc

得到Segment1模板如下:IzUednc

:MASK:USER:SEG1:POINTS -160e-12,600e-3,160e-12,600e-3,160e-12,800e-3,-160e-12,800e-3;IzUednc

IzUednc

IzUednc

编写Segment2的坐标IzUednc

根据上面的眼图模板规范指标,SEG2是六边形,推导六个坐标t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6计算如下:IzUednc

t1=-(0.5-0.15)UI=-0.35*320e-12=-112e-12;IzUednc

v1=0mV=0;IzUednc

t2=-(0.5-0.4)UI=-0.1*320e-12=-32e-12;IzUednc

v2=-400mV=-400e-3;IzUednc

t3=(0.5-0.4)UI=0.1*320e-12=32e-12;IzUednc

v3=-400mV=-400e-3;IzUednc

t4=(0.5-0.15)UI=0.35*320e-12=112e-12;IzUednc

v4=0mV=0;IzUednc

t5=(0.5-0.4)UI=0.1*320e-12=32e-12;IzUednc

v5=400mV=400e-3;IzUednc

t6=-(0.5-0.4)UI=-0.1*320e-12=-32e-12;IzUednc

v6=400mV=400e-3;IzUednc

得到SEG2的模板如下:IzUednc

:MASK:USER:SEG2:POINTS -112e-12,0,-32e-12,-400e-3,32e-12,-400e-3,112e-12,0,32e-12,400e-3,-32e-12,400e-3;IzUednc

编写Segment3的坐标IzUednc

根据上面的眼图模板定义规格,SEG3是长方形,要推导出四个坐标,SEG3的t1,v1,t2,v2,t3,v3,t4,v4计算如下:IzUednc

t1=-0.5UI=-0.5*320e-12=-160e-12;IzUednc

v1=-(600+200)mV=-800e-3;IzUednc

t2=0.5UI=0.5*320e-12=160e-12;IzUednc

v2=-(600+200)mV=-800e-3;IzUednc

t3=0.5UI=0.5*320e-12=160e-12;IzUednc

v3=-600mV=-600e-3;IzUednc

t4=-0.5UI=-0.5*320e-12=-160e-12;IzUednc

v4=-600mV=-600e-3;IzUednc

得到Segment2模板如下:IzUednc

:MASK:USER:SEG3:POINTS -160e-12,-800e-3,160e-12,-800e-3,160e-12,-600e-3,-160e-12,-600e-3;IzUednc

编写模板名称IzUednc

编写自定义眼图模板名称如下:IzUednc

:MASK:AUTOSET:STANDARD SRIO_3.125G_Tx_Mask;IzUednc

模板文件内容IzUednc

最终模板文件内容见下图。IzUednc

IzUednc

把txt文件后缀名改为mskIzUednc

保存文件,然后把文件的后缀名改为msk,见下图。IzUednc

IzUednc

如何加载自定义眼图模板IzUednc

加载自定义眼图模板步骤IzUednc

Step1: 点击analyze→Jitter and Eye Analysis→One Touch jitter进行抖动眼图测试,示波器会自动进行抖动眼图分析,见下图。IzUednc

IzUednc

IzUednc

Step2: 点击Plot→Clear All,见下图。IzUednc

IzUednc

Step3: 点击Select→Eye→Mask Hits见下图。IzUednc

IzUednc

Step4: 点击Configure→Mask Hits→Bits Config→All Bits→Absolute→Browse,见下图。IzUednc

IzUednc

Step5: 打开模板文件,见下图。IzUednc

IzUednc

Step6: 点击Recalc进行眼图模板分析,见下图。IzUednc

IzUednc

Step7: 点击Result→Mask Hits查看违规Segment,见下图。IzUednc

IzUednc

Step8: 点击Report→Save As 生成报告,见下图。IzUednc

IzUednc

IzUednc

眼图模板Pass/FailIzUednc

模板通常限定了信号不合格区域,如果眼图与模板相交违规,眼图软件会标注不合格区域,该部分波形迹线将显示为白色。见下图。此外示波器将计算违规hits数量,并标出是哪个Segment违规。IzUednc

IzUednc

责编:Demi
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 一种用于电路板回收的新基材:遇水能溶 英国的Jiva Materials公司开发了一种新型的PCB基材Soluboard,这种基材是由天然纤维包裹在一种无卤的聚合物中制成的,与行业内经常使用的FR-4基材不同,这种材料只要在90摄氏度左右的热水中浸泡30分钟,就可以分层溶解···
  • 机器人版的ChatGPT,谷歌新模型泛化能力大幅提高 7月28日,Google DeepMind宣布以训练AI聊天机器人的方式训练了一款全新的机器人模型Robotic Transformer 2(RT-2),这是一种新颖的视觉-语言-动作(VLA)模型,可以从网络和机器人数据中学习,并将这些知识转化为机器人控制的通用指令。
  • 头部跟踪功能如何提升您的空间音频体验 音频已成为我们使用媒体时沉浸感和逼真度的重要组成部分。当前的技术正在加强各种体验本身的沉浸式体验,让它们更加栩栩如生,但如果没有头部跟踪,由于大脑无法解决这种关键的含糊不清问题,这种沉浸感可能会被破坏。
  • 如何用软件定义无线电实现更有效的核磁共振成像仪设计 在本文中,我们讨论了MRI的基本概念,以及如何将SDR集成到这些系统中以提高性能和功能。我们介绍了一些适用于MRI应用的SDR规范,以及对MIMO射频通道的支持。还讨论了让SDR成为高性能射频单元的原因,以及高信噪比和MIMO通道之间的高相位相干性。
  • 闪存控制器在医疗安全中的作用简述 与大多数其他领域不同,对医疗设备的攻击可能危及人们的健康甚至生命,特别是当有大量医疗设备联网以便对患者实现更好的监控和管理时。这包括药物输液泵、心脏起搏器,以及监测心率、血压和其他生命体征的设备。
  • 基于软件的无线输电建模方法 本文探讨了无线输电(WPT)在电动汽车(EV)充电、手机充电以及医疗设备等应用中的作用。
  • 下一个医疗前沿:网联可穿戴设备 医疗和消费级可穿戴设备将继续增强连接性和电池寿命,以实现对血压、体温和身体水分等多种生物标志物的实时和非侵入性监测。
  • 一比一复刻iOS版功能,Android版ChatGPT正式上线 7月25日,OpenAI宣布,Android版ChatGPT已经正式上线,可在谷歌应用商店进行下载,目前仅限在美国、印度、孟加拉国和巴西四国下载使用,不过OpenAI计划在下周拓展到更多地区。
  • 基于晶体管的简单异或逻辑器件 “异或”逻辑器件广泛应用于各种数字电路中。然而,在某些情况下,例如,当使用更高的工作电压时,使用标准芯片是不可能的。这个问题可以通过使用分立器件来解决。
  • 为所有PWM优化简单的模拟滤波器 关于如何为任意特性的PWM选择最佳滤波器元件值的讨论很少,更不用说针对一种设计中所提到的特定PWM(8位,1MHz时钟)。在本文中,我将介绍一种针对任意周期PWM优化这些更简单滤波器的方法。
  • 中国成功发射首款柔性太阳翼卫星,折叠主体厚度不到5cm 7月23日,我国在太原卫星发射中心使用长征二号丁运载火箭,成功将银河航天灵犀03星发射升空,卫星顺利进入预定轨道,该卫星主要用于卫星通信技术验证,也是中国首款使用柔性太阳翼的卫星。
  • 射频能量采集让医疗应用能够使用无线电源 射频能量采集为许多应用提供了显著优势,但需要特别注意关键元器件,包括此方法所需的接收器天线和电源调节电路。
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了