利用IBERT IP核实现GTX收发器硬件误码率测试实例
作者:潘文明
1. 引言
Vivado中提供了1种IBERT工具用于对Xilinx FPGA芯片的高速串行收发器进行板级硬件测试。通过IBERT我们可以获取误码率,观察眼图,调节串行收发器的参数,从而有助于判断可能存在的问题,便于验证硬件的稳定性和信号完整性。本测试实例教程使用IBERT工具对与SFP连接的GTX进行5 Gbps速率下的测试。从误码率和眼图两个角度来验证电路板GTX部分工作的稳定性和可靠性。本测试实例基于Vivado 2019.1版本开发。
本测试实例是在购买的明德扬(MDY) K7核心板上进行的,这款核心板能够方便二次开发利用。在FPGA 芯片的HP 端口上挂载了4片DDR3存储芯片,每片DDR3 容量512 MB 字节,组成64bit 位的数据位宽。4个板对板连接器扩展出了276个IO,全部IO的电平可以通过更换核心板上的磁珠来修改,满足用户对+3.3V、+2.5V、+1.5V电平接口的需求,另外也扩展出了16对高速收发器GTX接口。供电范围大,5-12V电压均可。通过手册了解到同一个BANK管脚到连接器接口之间走线做了等长和差分处理。该核心板的结构示意图如图1。
图1 该核心板结构示意图
2. 测试原理
IBERT中的BERT是Bit Error Ratio Test的缩写,指比特出错概率测试,简而言之就是误码率测试。误码率(Bit Error Rate,BER)作为高速数据传输技术中的重要指标,它代表了数据传输的可靠性。对于数字通信系统,BER可以定义为出现错误码的估计概率。这意味着任何通过系统传输的比特都可能被错误地接收。因此,发送的“1”接收到为“0”,或传输为“0”被接收到的为“1”。在实际测试中,误码率是通过系统传输一定比特的比特数和计算接收到的不正确的比特数来测量的。误码率是接收到的错误比特数与传输的总比特数之比。利用累积分布函数定义置信系数SLC(Statistical Level of Confidence):
式中,N为传输中发生错误的比特数,n为传输的总的比特数,p = 10-12,通过置信系数得到在传输n bit后误码率为:
式中,BER 传输n bit发生错误概率,ln[.]是自然对数。当没有检测到错误(N = 0)时,式5.7中的第二项等于零,方程的求解得到了很大的简化。
首先对明德扬Xilinx K7核心板光纤接口进行了误码率。Vivado中IBERT工具的测试原理是通过收发器由外部回环进行自收自发而实现。就是将同一组收发器的TX和RX进行短接,TX发送端通过发送某种特定序列的数据流,在RX接收端接收后,通过比对发送和接收的数据,从而得出接收端误码的统计值。将光模块插入SFP屏蔽笼内,然后通过单根光纤将光模块的TX和RX短接,便可以通过IBERT工具对GTX进行测试。
3. QUAD(GTX BANK)、CHANNEL、GTX间的关系
首先可以从图2中看到XC7K325T中共有16个GTX,每4个GTX组成一个Bank,称为Quad,即XC7K325T芯片共有4个Quad。
图2 Kintex-7 FPGA(XC7K325T)GTX结构图
如图3所示,具体看Quad布局图,可以看到一个Quad包含4个GTX_channel(简称GTX或channel)和一个QPLL。
图3 Quad布局图
所以Kintex-7 FPGA(XC7K325T)中quad、channel、GTX相互关系如图4所示。1个Quad中有2个参考时钟(REFCLK0,REFCLK1),根据板卡设计图可知具体使用REFCLK0还是REFCLK1,参考时钟频率应根据核心板实际晶振频率来选择。
图4 quad、channel、gtx相互关系
4. 测试结果
通过新建IP核工程,为IBERT协议配置定义界面,IP核有一些预置的协议,如收发器线速率选择,位宽选择,收发器参考时钟来源和频率等。本设计SFP+来自Quad116,参考时钟来自MGTREFCLK1_116。本设计将GTX收发器参考输入时钟作为其系统时钟。之后例化,生成bit流文件,完成FPGA配置文件生成。按照测试原理,我们将SFP+的光纤模块的TX和RX短接,如图5所示。连接好硬件,将bit文件下载到硬件电路板。
图5 硬件实物图与连接
选择需要查看眼图的链路,眼图参数可以使用默认参数,收发器眼图测试结果如图6所示。
图6 测试收发器眼图
利用单根光纤将光模块输入输出短接进行回环测试,使用IBERT IP核测试,通过Xilinx下载器将数据读出。回环测试序列使用PRBS-31。每2小时记录一次数据,总共测试48小时。测试结果如图7所示,横坐标为时间,连续运行48小时后,纵坐标为误码率,光纤通信误码率为2 × 10-15,速率稳定在5 Gbps,除去编码开销实际速率为4 Gbps,满足一般的速率需求。
图7 误码率测试
5. 总结
通过环回方式的误码率测试,可判断出存在的问题以及测试出板卡实际支持的速率。IBERT可在运行过程中设置高速串行收发通道的各项参数,并提供了多种环回模式及多种测试激励源,并可通过自动扫描测试,确定收发的最佳参数。可以满足硬件测试时对高速串行收发通道信号测试的大部分需求,在故障定位等场合均可使用。
直调光模块中的消光比(ER)和光调制幅度(OMA)
我们在有些用于短距传输的直调光模块的手册上通常会去重点关注与DML或EML相关的ER和 OMA两个指标。那么它们代表了什么意思呢?二者有什么关系呢?取值多大合适?怎么测试?今天带着这几个问题,来谈谈这方面的知识。
1. 定义与计算
ER,extinction ratio,消光比,指的是信号发送高电平和低电平时光功率的比值,即:
(1)
不过通常在手册上看到的是它的对数形式,即ERdB = 10*log10(ER),如果发送“1”和“0”的光功率P1和P0都是用dBm单位的话,对数消光比就等于二者功率之差,即ERdB)= P1(dBm) -P0(dBm)。
OMA,optical modulation amplitude,光调制幅度,指的是光信号经过调制后高电平和低电平时光功率的差异,即:
(2)
很显然,ER和 OMA都是代表发送高电平和低电平信号时光功率的差距,只不过ER表示的是相对差距,而OMA表示的则是绝对的差异。
2. 意义及相互转换
那为什么ER和 OMA重要?
凭直觉就知道,“1”和“0”的光功率区分度越大,在接收端就更容易区分“1”和“0”了,误码率BER自然就小了。事实上理论上也很容易去证明这一点。
还记得上次我们讲眼图的时候,提到过品质因子Q的定义,对吧?就是下面这个式子:
其中分子是高低电平对应的光功率之差,也就是OMA了,而分母是高低电平的标准差之和,其实代表了噪声的大小。对于热噪声受限的PIN接收机,高低电平对应的噪声是一样的。因而对于给定的接收机,Q因子仅由OMA决定。进一步地,我们之前也提到过,Q和 BER是满足确定的函数关系,即:
所以说高低电平对应光功率的差距直接反映了光模块的性能。那么这两种衡量光功率差异的指标之间有没有关系呢?
为了确定相对差异和绝对差异之间的关系,引入一个中间量作为参考是有必要的。这个量就是经常用到的平均光功率Pave。其定义为:
(3)
联合(1),(2),(3)式,进行简单的变量替换后,利用中间量Pave很容易得到OMA和ER之间的关系。
(4)
(5)
以及P1,P0与ER和 Pave之间的关系。
(6)
(7)
从(3)~(7)式不难看出,P1,P0,Pave,ER,OMA这五个量中仅有2个是独立的,知道任意2个就可以利用上述关系求得其它几个的值。基于此,下面的分析我们还是选取较熟悉的Pave和ER来作进一步地分析吧。当然,ER和OMA还是有区别的,这表现为当光信号经过衰减后,ER不变,但是OMA却按照信号衰减系数减小了,反之经过光放后,也类似。
当然,ER和 OMA在眼图上来看也是十分直观的,如图1所示。ER和OMA越大眼图张开度越好。
图1. 眼图中OMA示例
3. ER的代价及实际取值
以上单从接收机灵敏度(或BER)的角度分析了,较大的ER或OMA对改善BER是有好处的,而且,进一步地还可以计算相比于ER为无穷大的时候,有限的ER会引入的功率代价为:
(8)
从上式可知,6dB左右的ER (如DML),引入的功率代价约为2dB,而9dB左右的ER(如EML),引入的功率代价约为1dB。这也很容易解释为何通常EML的性能会比DML好,一部分原因就是因为EML有更高的消光比。那对于直调光模块,是不是消光比越高越好呢?
先看看怎么提高DML的消光比吧。从定义上看就是要增加激光器的开和关两种状态下的光功率的相对差距,那最直接的办法就是增加驱动电压的幅度,增加高电平和低电平的差异。但是这样会带来两个问题。
其一,驱动电压幅度增加容易导致DML中载流子密度交替变化,从而引起有源区折射率的变化,激光器波长发生漂移,电流会因子激光器波长漂移,俗称啁啾,最终的表现是低电平的光信号波长长,高电平光信号波长短,二者在光纤中的传输速度不同,从而引起信号时域展宽,容易造成码间干扰(ISI)。因此高的ER对于DML来说也可能会增加啁啾引起的代价。
另一方面,激光器从低功率(P0)到高功率输出(P1)转换过程需要时间,与载流子渡越时间相关,功率差异变大,会增长渡越时间,从而降低了调制带宽。因此高速DML的 ER通常会比较小点。
那实际中,ER会是多大呢?这取决于DML的直流偏置。如图2所示,为了减小高速DML中的电光延时、弛豫震荡和码型效应,DML的偏置点通常会在阈值附近,这也就是说发“0”的时候,激光器也是发光的,即P0不为0,这显然会降低ER。
图2. 典型的半导体激光器PI特性曲线
而从接收机的角度讲,有一个过载光功率PRth,即当接收到的平均光功率超过该值后,接收机饱和,不能正常工作。所以正常工作时要求P1不超过2PRth-P0,从而最大的消光比为ERmax = 2PRth/P0-1。
再结合图3看看由(8)式计算的功率代价与ER的关系曲线,发现其实当ER超过20dB后,基本对性能没有影响。超过15dB之后,事实上ER提升对性能改善作用就不大了。因此过高的ER也没什么作用,相反可能会增加功耗。
对于25G NZR信号,商用DML的 ER通常在 4~6dB,而EML的ER在8~10 dB.
图3. 有限消光比造成的功率代价
4. 光模块及ER测试
再谈谈怎么测试ER吧。其实,测试ER本身很简单,但是整个光模块却要做很多的测试,如图4所示。
图4. 短距光模块的主要测试项示意图
在发端,主要是测试两项,1是输入信号的电眼图,以保证输入信号的质量足够好。2是测试经过调制后光信号的质量,如光眼图,ER,OMA。通常用带光口的眼图仪,也叫数字通信分析仪(DCA),实在没有光口的,就用一个大带宽的光电探测器(PD)转成电后再看电眼图。眼图仪可以直接测量眼图,顺便显示OMA,ER,Pave等参数,直接读就行了。不过,这时候还要看发送的光眼图通过对应速率的眼图模板的裕量。如下图所示,模板的灰色区域不得有信号样点落入其中。
图5. 眼图模板示例
而接收端的测试与发送端不同,一般需要测试足够差的信号,也叫压力测试,来评估最坏的情况。接收机最终输出的电信号也要进行测试,包括眼图和BER,抖动,抖动跟踪能力的容忍度。
实际中测试光模块是件很复杂的事情,不同型号,不同速率,不同标准的,对应的测试指标和手段也不尽完全相同,需要遵照相应的测试标准和流程。
参考资料:
[1] https://www.lightwaveonline.com/opticaltech/article/16650474/ the-increasing-importance-of-extinction-ratio-in-telecommunications
[2] https://www.etulinktechnology.com/blog/how-to-test-a-optical-transceiver-_b52
[3] https://wenku.baidu.com/view/9d5fd6ebf18583d048645967.html
注:本文首发于本人微信公众号:光通信充电宝。
作者:华仔
如需转载请说明来源,谢谢!
活到老,学到老。本公众号将为您推荐最新的光通信行业资讯,科普最新的前沿专业技术,解答光通信最基础的常见误区。我们共同探讨科研idea,交流技术研发难题。趁年轻,多学习,多点见识,多位朋友,一起加入吧!
相关问答
光模块传输距离的技术指标?
光模块传输距离是衡量光模块传输能力的重要技术指标。光模块传输距离指的是光模块在不同环境下可以传输的最大距离,通常可以用来衡量光模块传输信号的强度和传...
通信误码率计算方法?
误码率(SER:symbolerrorrate)是衡量数据在规定时间内数据传输精确性的指标,误码率=传输中的误码/所传输的总码数*100%。如果有误码就有误码率。另外,也有...
网络光衰多少正常?
1.光损正常范围是在10%以内。2.光损是指在光传输过程中,由于各种因素导致的光信号强度的降低。正常范围在10%以内是因为在这个范围内,光信号的强度降低不...
什么是误码率,在数据通信技术中,控制差错的基本策略有哪些?
误码率就是数据在传输中错误的比率,这个一般在物理层和链路层实现的,对用户来说是透明的,我们控制不了,都是由你所使用的网络协议来控制,比如TCP/IP协议一般...
再生中继系统产生误码的原因数字通信?
误码就是指在光传输过程中,发生错误的数字。产生原因:误码的产生是由于在信号传输中,衰变改变了信号的电压,致使信号在传输中遭到破坏,产生误码。噪音、...
怎么测试光通信接收精确度?-ZOL问答
可以看出,楼上对通信了解一些,不过也有不对的地方。首先,功率是使用w、kw、mw来表示,但光通信中主要使用dBm来表示,而不是也用!通信中定义,1mw的光功率为0dBm...
数据通信系统的主要技术指标之一?
数据通信的主要技术指标在数字通信中,我们一般使用比特率和误码率来分别描述数据信号传输速率的大小和传输质量的好坏等;在模拟通信中,我们常使用带宽和波...
光纤系统最主要的性能指标?
光纤通信系统的主要性能指标1、误码率BER误码率是衡量数字光纤通信系统传输质量优劣的重要指标,反映了在数字传输过程中信息受到损害的程度。一般用在...光...
msk误码率计算?
误码率(SER:symbolerrorrate)是衡量数据在规定时间内数据传输精确性的指标,误码率=传输中的误码/所传输的总码数*100%。如果有误码就有误码率。另外,也有...
卫星通信误码率高还是低?
肯定是低的啊,不可能错误率太高的肯定是低的啊,不可能错误率太高的