高速串行总线的常用测试码型
- 格式:docx
- 大小:224.71 KB
- 文档页数:5
PCIE 3.0简介及信号和协议测试方法安捷伦科技(中国)有限公司:李凯一、前言PCI Express(简称PCIE)总线是PCI总线的串行版本,其采用多对高速串行的差分信号进行高速传输,每对差分线上的信号速率可以是1代的2.5Gbps、2代的5Gbps以及现在正逐渐开始应用的3代8Gbps。
PCIE标准是由PCI-SIG组织制定,自从推出以来,1代和2代标准已经在PC和Server上逐渐普及,用于支持高速显卡以及其它接口卡对于高速数据传输的要求。
出于支持更高总线数据吞吐率的目的,PCI-SIG组织在2010年制定了PCIE 3.0,即PCIE 3代的规范。
目前,PCIE 3.0已经开始出现在一些高端的Server上,而在普通PC上的应用也是指日可待。
那么PCIE 3.0总线究竟有什么特点?对于其测试有什么特殊的地方呢?我们这里就来探讨一下。
二、PCIE 3.0简介1、信号速率的变化首先我们看一下制定PCIE 3代规范的目的,其目的主要是要在现有的FR4板材和接插件的基础上提供比PCIE 2代高一倍的有效数据传输速率,同时保持和原有1代、2代设备的兼容。
别看这是个简单的目的,但实现起来可不容易。
我们知道,PCIE 2代在每对差分线上的数据传输速率是5Gbps,相对于1代提高了1倍;而3代要相对于2代把速率也提高一倍,理所当然的是把数据传输速率提高到10Gbps。
但是就是这个10Gbps把PCI-SIG给难住了,因为PC和Server上出于成本的考虑,普遍使用便宜的FR4的PCB板材以及廉价的接插件,无论采用什么技术都很难保证10Gbps的信号还能在原来的信号路径上可靠地传输很远的距离(典型距离是15~30cm)。
因此PCI-SIG最终决定把PCIE 3代的数据传输速率定在8Gbps。
但是8Gbps比着2代的5Gbps并没有高一倍,所以PCI-SIG决定在3代标准中把在1代和2代中使用的8b/10b编码去掉。
crc十六进制译码CRC(Cyclic Redundancy Check)是一种循环冗余校验码,用于检测和纠正数据传输中的错误。
它通过对数据进行除法运算,并将余数附加到数据中,以便在接收端进行校验。
CRC可以用不同的多项式进行计算,其中最常见的是CRC-16和CRC-32。
CRC-16是一种16位的循环冗余校验码,它使用一个16位的多项式进行计算。
CRC-16的多项式可以是0x8005、0x1021、0x8408等,不同的多项式会导致不同的计算结果。
CRC-16通常用于检验串行通信中的数据传输是否出错或者用于校验存储介质中的数据完整性。
CRC-32是一种32位的循环冗余校验码,它使用一个32位的多项式进行计算。
CRC-32的多项式可以是0x04C11DB7、0x1EDC6F41、0x04C11DB7等,不同的多项式也会导致不同的计算结果。
CRC-32广泛应用于网络协议中,如以太网、ZIP文件、GSM无线通信等。
在进行CRC校验时,发送方会将数据分成若干个数据块,每个数据块的大小由多项式的位数决定。
然后,发送方会通过除法运算计算出校验码,并将校验码添加到数据中一起发送给接收方。
接收方在收到数据后,也会进行相同的除法运算,然后比较接收到的校验码和计算得到的校验码是否一致,从而判断数据是否出错。
CRC校验码的计算过程可以通过表格查找法来简化计算,这样可以节省计算时间。
表格中存储了每个字节的CRC校验码,接收方只需要将接收到的数据字节和表格中对应的校验码进行异或运算,就可以得到校验结果。
这种方法在硬件实现中特别高效。
虽然CRC校验可以检测出大部分错误,但并不能保证绝对的可靠性。
因此,在进行数据传输时,还需要采取其他措施来增强可靠性,如使用重传机制、加入前导码等。
总结起来,CRC十六进制译码是一种用于检测和纠正数据传输中错误的方法。
通过使用不同的多项式进行计算,可以得到不同位数的校验码。
CRC校验码的计算过程可以简化,同时也可以提高传输效率。
集成电路测试中的高速串行接口测试方法高速串行接口测试方法在集成电路测试中起到非常重要的作用。
高速串行接口是现代集成电路中广泛使用的一种通信方式,其在数据传输速率和通信距离方面具有明显优势,适用于高速数据传输和远距离通信。
为确保高速串行接口的稳定性和可靠性,需要对其进行全面的测试。
以下将介绍几种常用的高速串行接口测试方法。
一、物理层测试方法物理层测试主要是对高速串行接口的物理连接进行测试。
该测试方法主要包括以下几个方面的内容:1. 信号完整性测试:通过检测信号的波形和电平,确保信号在传输过程中没有发生失真和干扰。
常用的测试手段包括时钟和数据眼图测试、时钟抖动和噪声测试等。
2. 差分信号测试:对差分信号的幅度、延迟和相位进行测试,以保证差分信号的正常传输。
常用的测试方法包括查找表测试、时序测量和匹配测试等。
3. 传输线测试:通过对传输线的阻抗匹配、衰减和时延进行测试,确保传输线的质量和传输速率。
常用的测试手段包括衰减测试、传输线模型测试和传输线延时测试等。
二、协议层测试方法协议层测试主要是对高速串行接口的通信协议进行测试。
该测试方法主要包括以下几个方面的内容:1. 通信协议测试:对通信协议的正确性和稳定性进行测试,以保证数据能够正确地传输和解析。
常用的测试手段包括数据包验证、错误恢复和流控制测试等。
2. 时序调整测试:对时钟的校准和时序的调整进行测试,以确保时序的准确性和稳定性。
常用的测试方法包括时钟同步测试、时序校准和时序复位测试等。
3. 错误检测与纠正测试:对错误检测和纠正机制进行测试,以保证数据的可靠性和完整性。
常用的测试手段包括CRC校验测试、差错码测试和纠错算法测试等。
三、性能测试方法性能测试主要是对高速串行接口的数据传输性能进行测试。
该测试方法主要包括以下几个方面的内容:1. 传输速率测试:对传输速率进行测试,以确保高速串行接口能够达到设计要求的数据传输速率。
常用的测试手段包括比特错误率测试、吞吐量测试和带宽测试等。
TU-T G.701标准对抖动的定义为:“抖动是指数字信号在短期内重要的瞬时变化相对于理想位置发生的偏移”。
还有一个跟抖动很类似的概念,即漂移。
一般情况下,抖动是指发生得比较快的定时偏差,而漂移是指发生的比较慢得定时偏差。
ITU把漂移和抖动之间的门限定义为10Hz,偏移频率大于10Hz的叫抖动,小于10Hz的叫做漂移。
抖动可以分为随机性抖动(RJ)和确定性抖动(DJ),而确定性抖动又可以分为周期性抖动(PJ)、数据相关抖动(DDJ)和占空比抖动(DCD)三种,如下图所示:缩略语:TJ:Total Jitter 总抖动DJ:Deterministic Jitter 确定性抖动RJ:Random Jitter 随机抖动PJ:Periodic Jitter 周期性抖动DDJ:Data Dependent Jitter 数据相关抖动DCD:Duty Cycle Distortion 工作周期抖动TIE:Time Interval Error 时间区间误差RMS:Root Mean Square 均方根ISI:Inter Symbol Interference 码间干扰1.随机抖动(RJ)随机抖动产生的原因很复杂,很难消除。
器件的内部热噪声,晶体的随机振动,宇宙射线等都可能引起随机抖动。
随机抖动满足高斯分布,在理论上是无边界的,只要测试的时间足够长,随机抖动也是无限大的。
高斯分布概率密度函数图形如下图所示。
所以随机抖动的锋-锋值必须伴同误码率BER表示出来,RJRMS=概率密度函数(pdf)的标准偏差:σ,随机抖动的锋-锋值RJpk-pk=N*σ,按不同的BER,N不同,如下图所示:2.确定性抖动(DJ)确定性抖动不是高斯分布,通常是有边际的,它是可重复可预测的。
信号的反射、串扰、开关噪声、电源干扰、EMI等都会产生DJ。
DJ的概率密度函数图形如下图所示:1).周期性抖动(PJ)以周期方式重复的抖动称为周期性抖动,由于可以将周期波形分解为与谐波相关的正弦曲线的傅立叶级数,因此,这类抖动有时也称为正弦抖动。
Agilent LVDS传输系统测试方案安捷伦应用工程师李凯LVDS是低压差分信号的简称,由于其优异的高速信号传输性能,目前在高速数据传输领域得到了越来越多的应用。
其典型架构如下:一般LVDS的传输系统由FPGA加上LVDS的Serdes芯片组成, LVDS的Serializer芯片把FPGA的多路并行数据通过时分复用的方法变成较少路数、较高速率的串行LVDS信号进行传输,接收端的de-Serializer芯片再把接收到的串行LVDS信号解成多路并行数据。
其好处在于FPGA通过外挂的LVDS芯片可以方便可靠地以高速率把内部数据传输出去,如NS、TI等公司大量提供这种LVDS的Serdes芯片。
对于LVDS系统的测试,主要涉及以下几个方面:1/ FPGA内部逻辑和并行接口测试,用于保证数据处理和控制的正确性;2/ 高速串行LVDS信号质量测试,用于保证LVDS信号的正确传输;3/ 高速互连电缆和PCB的阻抗测试,用于保证传输链路的信号完整性;4/ 系统误码率测试,用于验证系统实际传输的误码率;下面就几个方面分别介绍:1/ FPGA内部逻辑和并行接口测试,用于保证数据处理和控制的正确性;传统上的FPGA内部信号调试有2种方法:直接探测和软逻辑分析仪的方案。
直接探测的测试方法:是通过在逻辑代码里定义映射关系,把内部需要调试的信号映射到外部未使用的I/O管脚上,通过相应PCB走线和连接器把这些I/O管脚的信号引出,再送给逻辑分析仪做信号测试和分析仪。
这种方法的好处是简便直观,可以利用逻辑分析仪的触发和存储功能,同时信号的时序关系都得到保留;但缺点在于FPGA内部要探测的信号节点很多,而外部的未用I/O数量是有限的,因此调试完一组节点后需要修改逻辑代码中的映射关系到另一组节点,并重新综合、布线,当工程比较复杂时综合、布线等花的时间非常长,所以对于比较复杂的设计测试效率比较低。
软逻辑分析仪的方案:是FPGA厂家提供的一种测试方案,其原理是在FPGA逻辑代码设计阶段或综合完成后在工程中插入一个软逻辑分析仪的核,软逻辑分析仪的核需要占用一定的块RAM资源,可以用工作时钟把内部信号信号采集到块RAM里,采完以后再通过FPGA的JTAG接口把块RAM里的数据读到外部PC上显示波形。
高速串行背板总线的仿真设计刘胜利 王砚方 沈国保(中国科技大学近代物理系 合肥 230026)摘要 本文描述了一种基于高速串行背板的系统级信号完整性仿真,重点分析了两种关键网络即1.25Gbps 的差分传输结构和125MHz 的时钟分配网络。
给出了仿真结果并分析了波形畸变的原因。
关键词 差分传输 信号完整性 仿真 背板1引言:近年来, 高速数字设计领域正在面对越来越多的信号完整性(SI )问题, 即更多的时候需将数字信号视为模拟信号并保证其传输质量。
这一方面是由于时钟频率不断提高,信号边沿越来越快,另一方面也是由于大规模,超大规模芯片的集成度不断增长及其广泛应用,电路板上的功能密度和信号的互连密度不断增加,从而使得电路的分布参数,电磁相互作用的场特性越来越明显。
另有其它原因如时间和经费等使信号完整性设计已逐渐成为高速数字设计任务中的一个重要组成部分,而仿真则成为信号完整性设计与分析的重要手段。
本设计考虑了一种用于高速串行空分开关互连结构的背板。
其串行数据互连的波特率是1.25Gbps ,这意味着最大可能的基频为625MHz ;数据以差分模式进行传输,信号上升沿和下降沿300PS 左右,按照H. Johnson 定义的转折频率(Knee Frequency)〖1〗,主要频率成份达1.17GHz ,因此一种子板-背板-子板的系统级信号完整性仿真,及由此确定一种优化的背板PCB 参数成为整个系统设计不可缺少的部分。
此外,系统主时钟分配网络也采用了差分传输模式,信号上升沿和下降沿350PS 左右,它提供了125MHz 的系统时钟,也作为仿真设计中重点考虑的关键网络。
尽管这样一种千兆位互连背板的设计还需考虑其它信号完整性因素,但限于篇幅,这里仅就上述两种关键网络的仿真分析进行描述。
本文首先讨论了仿真前模型的选择和提取及相关的设计考虑,然后基于布局前的系统级仿真确定了背板的PCB 层叠结构及布线参数,最后详细描述了系统设计完成后即布局后的仿真结果。
常见总线标准在电子系统设计和通信中,总线标准是不可或缺的一部分。
它们定义了设备之间的连接和通信方式,以确保数据的准确传输和处理。
以下是一些常见的总线标准:1. IEEE 1394IEEE 1394,也称为FireWire或i.LINK,是一种高速串行总线标准,用于连接计算机和其他设备。
它支持热插拔和即插即用功能,提供高达400 Mbps的传输速率。
2. USBUSB(通用串行总线)是一种广泛使用的总线标准,用于连接计算机和其他设备。
它支持热插拔,提供高达5 Gbps的传输速率,并具有广泛的应用范围,如键盘、鼠标、打印机、移动存储设备等。
3. RS-232RS-232是一种基于串行通信的总线标准,常用于计算机和其他设备之间的连接。
它支持高达20 Kbps的传输速率,但距离较短,通常在15米以内。
4. RS-485RS-485是一种改进的RS-232标准,具有更远的传输距离和更好的抗干扰性能。
它支持多点通信和长距离传输,通常用于工业控制和数据采集系统。
5. RS-422RS-422是一种基于差分信号的串行通信总线标准,具有较高的抗干扰性能和更远的传输距离。
它通常用于工业自动化和远程监控系统。
6. SPISPI(Serial Peripheral Interface)是一种同步串行通信总线标准,常用于微控制器和外设之间的连接。
它具有简单的协议和低成本的特点,广泛应用于各种嵌入式系统中。
7. I2CI2C(Inter-Integrated Circuit)是一种多主总线标准,用于连接微控制器和其他芯片。
它具有简单的协议和高速传输的特点,广泛应用于各种消费电子设备中。
8. PCIPCI(Peripheral Component Interconnect)是一种高速并行总线标准,用于连接计算机主板上的设备和扩展卡。
它具有高带宽和广泛的应用范围,如显卡、声卡、网卡等。
9. PCMCIAPCMCIA(Personal Computer Memory Card International Association)是一种用于笔记本和其他便携式设备的扩展卡总线标准。
信号抖动的种类与测量ITU-T G.701标准对抖动的定义为:“抖动是指数字信号在短期内重要的瞬时变化相对于理想位置发生的偏移”。
还有一个跟抖动很类似的概念,即漂移。
一般情况下,抖动是指发生得比较快的定时偏差,而漂移是指发生的比较慢得定时偏差。
ITU把漂移和抖动之间的门限定义为10Hz,偏移频率大于10Hz的叫抖动,小于10Hz的叫做漂移。
抖动可以分为随机性抖动(RJ)和确定性抖动(DJ),而确定性抖动又可以分为周期性抖动(PJ)、数据相关抖动(DDJ)和占空比抖动(DCD)三种,如下图所示:缩略语:TJ:Total Jitter 总抖动DJ:Deterministic Jitter 确定性抖动RJ:Random Jitter 随机抖动PJ:Periodic Jitter 周期性抖动DDJ:Data Dependent Jitter 数据相关抖动DCD:Duty Cycle Distortion 工作周期抖动TIE:Time Interval Error 时间区间误差RMS:Root Mean Square 均方根ISI:Inter Symbol Interference 码间干扰1.随机抖动(RJ)随机抖动产生的原因很复杂,很难消除。
器件的内部热噪声,晶体的随机振动,宇宙射线等都可能引起随机抖动。
随机抖动满足高斯分布,在理论上是无边界的,只要测试的时间足够长,随机抖动也是无限大的。
高斯分布概率密度函数图形如下图所示。
所以随机抖动的锋-锋值必须伴同误码率BER表示出来,RJRMS=概率密度函数(pdf)的标准偏差:σ,随机抖动的锋-锋值RJpk-pk=N*σ,按不同的BER,N不同,如下图所示:2.确定性抖动(DJ)确定性抖动不是高斯分布,通常是有边际的,它是可重复可预测的。
信号的反射、串扰、开关噪声、电源干扰、EMI等都会产生DJ。
DJ的概率密度函数图形如下图所示:1).周期性抖动(PJ)以周期方式重复的抖动称为周期性抖动,由于可以将周期波形分解为与谐波相关的正弦曲线的傅立叶级数,因此,这类抖动有时也称为正弦抖动。
光通信视频传输PCIE采集方案1.1概述8B/10B编码是1983年由IBM公司的Al Widmer和PeterFranaszek所提出的数据传输编码标准,目前已经被广泛应用到高速串行总线,如IEEE1394b、SATA、PCI-Express、Infini-band、FiberChannel、XAUI、RapidIO、USB 3.0的美好。
8B/10B编码将待发送的8位数据转换成10位代码组,其目的是保证直流平衡,以及足够密集的电平转换。
本课程讲解“7 Series FPGAs Transceivers Wizard”IP的使用。
测试方案,利用HDMI输入1080P视频信号后经光模块回传回来,再通过HDMI输出视频图像,以此测试光通信功能。
本课程的理论部分摘录自网络文章“8B10B 详解&综述”,如有侵权请联系本公司。
本课程还给出了开发板到开发板的视频输出传输demo。
1.2 8B10B编码原理以下是理论部分,学习完成后对于我们后面分析代码还是有所帮助。
在光纤通信中,线路编码是必要的,因为电端机输出的数字信号是适合电缆传输的双极性码,而光源不能发射负脉冲,只能用光脉冲的“有” 和“无” 来表示二进制码中的“1”和“0"。
该方法虽然简单,却存在三个问题:1)遇到数字序列中出现长连“0” 或长连“1” 时,将给光纤线路上再生中继器和终端光接收机的定时信息提取工作带来困难;2)简单的单极性码中含有直流分量。
由于线路上光脉冲中“1” 和“0” 是随机变化的,这将导致单极性码的直流成分也作随机性的变化。
这种随机性变化的直流成分,可以通过光接收机的交流耦合电路引起数字信号的基线漂移,给数字信号的判决和再生带来困难;3)不能实现不中断通信业务下的误码检测;为解决以上问题,通常对于由电端机输出的信号码流,在未对LED(或LD)调制以前,一般要先进行码型变换使调制后的光脉冲码流由简单的单极性码,转换为适合于数字光纤传输系统传输的线路码。
常用ADC/DAC器件介绍ADC系列:1. ADS5483ADS5483 ADC 拥有高信噪比(SNR) 与无杂散动态范围(SFDR),可通过第二尼奎斯特区(Nyquist zone) 接收来自DC 的输入频率。
采样速率为135 MSPS 的ADC 在输入频率(IF) 为70 MHz 时可实现78.6 dBFS 的SNR 以及95 dBc 的SFDR,与同类ADC 相比,SNR 高出3.5 dB,SFDR 高出8 dB。
更高性能ADS 5483 能够显著增强设计灵活性,进而使众多应用受益匪浅。
例如,其不仅可针对测量测试系统提供更高的准确度,而且还能凭借更高带宽在包括空中接口等在内的无线通信领域提供更高的灵敏度,如WCDMA、TD-SCDMA、WiMAX、LTE以及多载波3 GSM 等。
2. ADS795x该系列器件不仅可针对高密度应用实现优异的线性与AC 性能,而且优化后还能最大限度地提升诸如手持式医疗仪器、可编程逻辑控制器以及数字电源等电池供电及低电压应用的性能。
ADS795x 产品系列高度集成了众多组件,如GPIO、可编程告警阈值、板上定序器以及SPI 兼容接口等,能最大限度地降低板级空间要求,并简化与主机设备的连接及相关软件。
3. AS1538AS1538带有8个12Bit的分辨率的输入通道。
其在50ksps的转换速度下低于850μA(包括内部基准)消耗电流。
在关断模式下,AS1538的供电电流可降至1.5μA以下。
无论是2.5V的内部基准还是1V至5.25V范围内的外部基准,都能对满刻度模拟输入范围进行设定。
AS1538的I2C兼容接口支持速度高达3.4MHz的接口,包括100kHz 和400kHz的行业标准速度。
用户可编程I2C地址可以在一条I2C总线上挂多达4种设备。
4. LTC2262LTC2262 用1.8V 的低压模拟电源工作,极大地节省了功率,而且不牺牲AC 性能。
这个ADC 在基带提供了72.8dB 的信噪比(SNR) 性能和88dB 的无寄生动态范围(SFDR)。
串行总线的8b/10b编码为了提高串行数据传输的可靠性,现在很多更高速率的数字接口采用的是对数据进行编码后再做并串转换的方式。
编码的方式有很多,如8b/9b编码、8b/10b编码、64b/66b编码、128b/130b编码等,下面我们以最流行的ANSI 8b/10b编码为例进行一下介绍。
在ANSI 8b/10b编码方式中,8比特的数据先通过相应的编码规则转换成10比特的数据,然后再进行并串转换;接收端收到信号后先把串行数据进行串并转换得到10比特的数据,然后再通过10比特到8比特的解码得到原始传输的8比特数据。
因此,如果发送端并行侧的数据速率是8bit*100Mb/s,通过8b/10b编码和并串转换后的串行侧的数据速率就是1bit*1Gb/s。
8b/10b编码方法最早由IBM发明,后来成为ANSI标准的一部分(ANSI X3.230-1994, clause 11),并在通信和计算机总线上广泛应用。
数据经过8b/10b编码后有几个最大的好处:有足够多的跳变沿,可以从数据里进行时钟恢复。
正常传输的数据里可能会有比较长的连续的0或者连续的1,而进行完8b/10b编码后,其编码规则保证了编码后的数据流里不会出现超过5个的连续的0或1,信号里会出现足够多的跳变沿,因此可以采样嵌入式的时钟方式,即接收端可以从数据流里用PLL电路直接恢复时钟,不需要专门的时钟传输通道。
直流平衡,可以采用AC耦合方式。
经过编码后数据里不会出现连续的0或者1了,但是还是有可能在某个时间段内0或者1的数量偏多一些。
从上面的编码表中我们可以看到同一个Byte对应有正、负两组10bit的编码,一个编码里1的数量多一些,另一个编码里0的数量多一些。
数据在对当前的Byte进行8b/10b编码传输时,会根据前面历史传输的数据中正负bit的数量来选择使用哪一组编码,从而可以保证总线上正负bit的数量在任何时刻基本都是平衡的,也就是直流点不会发生大的变化。
高速串行总线的常用测试码型本文讨论了高速串行链路中常用的测试码型伪随机码流的原理,以及不同的测试码型对物理层测试结果的影响。
高速串行总线的常用测试码型
在当今的电信和计算机产品上,相比传统的并行总线,电路中的串行总线越来越多,速率越来越快。
比如通信产品中的10GBase-KR、CPRI2代,计算机中的PCIeGen2、SATA6G,存储产品中的SAS6G、FC8.5G,这些串行总线都陆续的跨过了5Gbps。
由于速率比较高,使得串行总线上的相关的收发器芯片(SERDES)、连接器、单板、背板的设计面临着越来越多的挑战。
对于这些高速串行总线的物理层测试,测试码型的选用至关重要,在很多串行总线的规范中对测试码型有严格的要求。
本文将对此进行探讨。
首先,串行总线的物理层测试通常分为发射机测试和接收机测试,又称为TX测试和RX测试。
发射机测试通常包括眼图、抖动、信号波形、幅度、上升下降时间等测试项目,接收机测试通常包括误码率、抖动容限、接收机灵敏度等测试项目。
对于眼图测试、误码率和抖动容限测试,最常用的测试码是伪随机码(PseudoRandomBinarySequence,简称PRBS),主要有PRBS7、PRBS15、PRBS23和PRBS31。
除了PRBS以外,K28.5、1010、CJPAT等码型在很多串行总线的物理层测试中都很常用,特别是计算机上的串行标准(比如SATA、USB3.0、SAS)的测试码型有所不同,在本文中主要讨论最常用的测试码型——PRBS。
PRBS的实现方法
顾名思义,PRBS是伪随机码流,在其码流中包括了所有可能出现的比特组合,而且其出现的概率是相同的。
PRBS信号是由PRBS码型发生器生成的。
PRBS发生器通常是由线性反馈移位寄存器(LinearFeedbackShiftRegister,简称LFSR)和异或电路组成。
如下图1所示为最简单的PRBS3的码型发生器,其多项式为X3+X2+1,即寄存器的第3位与第2位做异或(XOR)的逻辑运算后返回到寄存器的第1位,寄存器的第3位X3同时也是PRBS3发生器的输出。
图1:PRBS3码型发生器原理
在表格1中显示了PRBS3的n个周期的时钟后输出n个比特的码流。
X1/X2/X3分别是3个比特移位寄存器的低位到高位,输出位是X3,初始状态为X1/X2/X3=1/1/1,如表格第1行所示。
第1个时钟沿到达后,X3与X2异或后等于0,输入到X1,同时X1和X2前移到X2和X3,所以X1/X2/X3=0/1/1,如表格第2行所示;
第2个时钟沿到达后,X3与X2异或后等于0,输入到X1,同时X1和X2前移到X2和X3,所以X1/X2/X3=0/0/1,如表格第3行所示;
第3个时钟沿到达后,X3与X2异或后等于1,输入到X1,同时X1和X2前移到X2和X3,所以X1/X2/X3=1/0/0,如表格第4行所示;
……
以此类推,第5行为0/1/0,第6行为1/0/1,第7行为1/1/0,第8行为1/1/1,与初始状态相同,接下来的第9行和第10行与第2行和第3行完全相同,也就是说PRBS3的码型输出7个比特后开始重复。
X3是PRBS3的输出位,所以PRBS3输出的码型为1110010,码长为7,如图2所示,每7个比特后开始重复输出同一码型。
在PRBS3中包括了11100属于码流中频率最低的码型,010是频率最高的码型。
表格1:PRBS3的3位寄存器数值
图2:PRBS3输出信号
为何PRBSN的码长为2^N-1
在PRBS3的3位寄存器可以产生2的3次方合计8个排列组合。
采用XOR异或电路的PRBS发生器在3个比特都是0的时候,下一个时钟到来的时候,第3个比特和第2个比特异或后还是0,输入到寄存器的第一位还是0,同时第1个和第2个比特前移到第2个和第3个比特,这样,移位后寄存器的3个比特都是0,则PRBS发生器的输出一直都是0,被锁住。
所以PRBS3码流中不能出现3个全0的比特,这样,PRBS3的组合方式为2^3-1=7共7种,码长位7个比特。
同理,PRBS7的码长为2^7-1=127个比特,PRBS15的码长为2^15-1=32767个比特。
PRBS7和PRBS31
PRBS7是目前10Gbps以下的串行总线中最常用的测试码型。
常用的PRBS7的多项式为X7+X6+1,码长为127个比特,在ITU-TV.29规范中规定。
PRBS7属于短伪随机码型,与8b10bNRZ编码的数据流很相似,所以,在PCIe、SATA、XAUI、1000BASE-LX、FC、SAS等采用8b10b编码的串行总线中,PRBS7是最常用的测试码型,支持这些总线的芯片通常都可以输出PRBS7测试码型,用于眼图、抖动或误码率测量。
图3:PRBS7码型发生器原理
PRBS7的码流中最长的连1为7个,最长的连0为6个;而8b10b编码中最长的连1为5,最长的连0也是5;因此,相比8b10b编码,PRBS7可以产生的较低频率的码型。
使用PRBS7作为驱动源,在同一信道(比如背板上20英寸长走线)上传输到接收端后得到眼图和抖动,都比8b10b编码的作为驱动源时的结果稍差些。
这样,PRBS7作为8b10b编码的串行总线的测试码型,留出了一定的设计余量。
图4:几种常用PRBS的说明
PRBS31的多项式为X31+X28+1,码长为2^31-1=2147,483,647个比特,属于长伪随机码型。
码流中最长的连1为31个,最长的连0为30个,包含了相当多的低频成分而这正是SONET/SDH系统测试规范中所要求的,所以可用于像SONET/SDH信号那样包含了很多低频成分的物理层测量。
除了PRBS外,K28.5也是常用的测试码型之一。
K28.5是8b10b编码表中的一个命令字,也是采用8b10b编码的串行链路中最常用的测试码型,由K28.5-=0011111010和K28.5+=1100000101组成,它有五个连续的1和五个连续的0,是8b10b编码中最长的连1和连0,也就是说K28.5包括了8b10b编码中最低频的码型,同时,K28.5中有101和010这样的高频码型,因此,K28.5非常适合测量和SI仿真时作为驱动端的激励,来计算信道的码间干扰(又称ISI)。
我们知道,在8Gbps以下的串行总线上,8b10b编码是最常用的编码技术,这样也导致了K28.5是最流行的测试码型之一。
在FC和XAUI标准中,也规定了K28.5为固有抖动的测试码型。
各种测试码型在同一信道上传输到接收端的测试结果分析
图5所示为高速背板、电缆的物理层测试的示意图,在发送端使用码型发射器作为驱动信号源,接收端使用误码检测器测量误码,或者使用示波器测量眼图。
这样,就组成了完整的高速背板、电缆的物理层测试系统。
图5:高速印刷电路板的评估与测试系统
在本次测试中,我们使用了美国Centellax公司的可编程码型发生器PPG12500,PPG12500的输出信号速率可在1G到12.5Gbps任意调节。
把输出信号的比特率设置为10.3125Gbps,幅度1V,去加重为1dB,输出码型分别为PRBS7/15/23/31。
信道为某24英寸长PCB走线,在接收端使用Centellax的误码仪PCB12500测量误码率。
表格2为测试结果,可见,驱动码型为短码型PRBS7时,误码率为0,而驱动码型为长码型PRBS31时,接收端的误码率最高。
随着串行速率不断升高,8b10b编码在某些高速率链路上已不被采用,因此,在这些链路中很少使用PRBS7作为测试码型,几乎都使用了PRBS31作为测试码型,以产生最大的抖动和最恶化的激励信号。
表格2:误码率测试结果
Centellax的PPG12500产品介绍,特点,应用范围。
Centellax公司的PPG12500是速率在1-12.5Gbps可调的可编程码型发射器,相比其他码型发射器,有以下特点:
1.可编程码型长度高达24M个比特
2.内置了2个tap的去加重,可以用于评估某特定长度背板走线的TX端所需的去加重程度,而很多码型发射器都没有内置去加重功能,必须使用昂贵的外置去加重仪器附件。
如下图6所示为示波器测量PPG12500输出的某6dB去加重的波形。
3.抖动透明传递功能,即码型发射器的参考输入时钟中注入抖动后,PPG12500的输出数据中也带有同类型抖动。
如下图7为PPG12500搭配Centellax的时钟源TG1C1A,可以
输出比特率为1-12.5Gbps、带有正弦抖动的串行数据。
4.可前面板控制,或者使用USB和GPIB遥控,提供了Labview驱动或者GUI来控制。
图6:PPG12500输出的带6dB去加重的码型
图7:Centellax的码型发射器PPG12500与时钟源TG1C1A 结语
在高速数字电路的互联设计中,伪随机码型PRBS是最常用的测试码型,Centellax的解决方案(码型发射器PPG12500加时钟源TG1C1A)提供了1-12.5G的比特率任意可调、集成去加重、可注入正弦抖动等强大功能,可以作为验证高速背板与高速电缆的驱动信号源、或者接收机抖动容限的加压信号源、以及发送端去加重程度的仿真器,是目前业界最高性价比的码型发生器。