高速突发模式误码测试仪的FPGA实现方案
扫描二维码
随时随地手机看文章
摘要:突发模式误码测试仪与一般连续误码测试仪不同,其接收端在误码比对前要实现在十几位内,对具有相位跳变特点的信号进行时钟提取和数据恢复,并且在误码比对时须滤除前导码和定界符,仅对有效数据进行误码统计。本文提出一种基于FPGA实现的高速突发模式误码测试仪设计方案,并介绍该方案的总体设计过程,以及FPGA中主要功能逻辑模块的工作原理和控制系统的设计。该测试仪应用于1.25 GHz GPON系统突发式光接收模块的误码测试中,具有较好的性能和实际意义。
关键词:突发模式;误码测试仪;时钟相位对齐;高速串行收发器
引言
无源光网络PON以其独特的优势在网络中已经规模化地应用。由于GPON系统在现有PON系统中带宽利用率最高,系统成本最低,且具有全业务支持能力,因此其前景被普遍看好,成为众多电信运营商和设备制造商推崇的宽带接入技术。
在GPON中,下行数据是以广播形式发送的,上行数据由多个用户终端按时分多址的方式发送的数据包组成。因传输路径不同,各数据包有不同衰减,不同数据包相位间存在跳变,数据包中存在长连“1”、“0”,这些因素的影响使得OLT突发接收模块接收的信号是特殊的突发光信号。对于上行的突发信号,OLT突发接收模块不仅要从中恢复出幅值相等的信号,而且要消除相位突变,即完成时钟和相位的对齐,因此OLT输出的信号应该为幅值相等且时钟和相位对齐的电信号。本突发模式误码测试仪的作用是,准确地判断被测的OLT突发接收模块的完成幅值恢复响应时间和其可靠性。
1 突发模式误码测试原理
与一般连续误码测试仪相同的是,突发误码测试仪也由发送和接收两部分组成。发送部分发送可预知的信号作为测试信号来模拟实际信道中传输信号,并将该信号送到待测设备中;接收部分产生与发送部分相同的信号,用以和接收的信号逐位比对,并统计误码数和误码率。
与一般连续误码测试仪不同的是,突发误码测试仪发送部分发送的测试信号要模拟突发信号,即具有相位突变和幅度不均衡的特点。此外,接收部分要从接收到的可能存在相位跳变信号中准确地提取时钟和恢复数据。
根据突发误码测试仪的特点,其总体设计框图如图1所示。
突发接收模块(BMRx)是要测试的模块。突发误码测试仪用FPGA逻辑来实现两路时分复用(TDMA)数据的输出,两路数据先分别通过光可变衰减器不同幅度的衰减后,再经过不同长度的光纤的时延,最后经过光合路器合为1路信号输出。光合路器的输出数据近乎于实际GPON中的上行突发信号,且假定信号在经过这些路径后没有出现误码。模拟的突发信号在经过待测突发接收模块后,经过包分离电路提取1路包数据(ON-U#1或ONU#2),该路包数据最后经过突发模式时钟数据恢复芯片提取出时钟和4路并行数据。FPGA将提取的时钟作为误码比对的源时钟,并将4路并行数据重构造后与本地产生的数据进行比对,统计误码。
2 FPGA中逻辑功能模块设计
作为实现突发模式误码测试仪的重要芯片,FPGA主要实现如下功能:
①发送端产生两路高速的时分复用信号,这两路信号要具有GPON上行数据包的特点,即32位保护时间,44位前导码,20位定界符。
②接收部分将接收到的4位宽的数据并化为8位宽的数据,并搜寻定界符将接收的数据进行边界对齐。
③误码检测器将接收到的边界对齐后的数据与本地产生的伪随机码进行比对,仅对有效数据中出现的误码进行统计。
④同步检测,失步后的重新同步。
图2为FPGA中实现的主要逻辑功能模块。
①控制信号译码器根据Microblaze微处理器通过GPIO_IN输入的地址信息,将控制信息赋值给误码测试逻辑模块相应的控制信号。控制信息主要包括:包长度、保护时间长度、前导码长度、码型选择、GTP属性的DRP地址和值、时钟合成芯片的控制信息等。
②状态编码器将误码测试模块的状态信息存储映射到不同地址的GPIO_OUT上,然后传送给Microblaze微处理器。输出的状态信息主要包括:误码比特数、接收到的总码数、同步状态、接收无信号等。
③码型产生器模块包含PRBS产生器和数据包头产生器2个子模块。PRBS产生器根据码型选择控制信号产生相应码型的8位宽度伪随机序列,数据包头产生器模拟GPON上行数据包包头结构的特点中产生类似前导码和定界符的码型。码型产生器模块还包含1个数据包封装有限状态机,它的主要作用是产生发送码状态的控制信号,将包头数据、包间隔(保护时间)、CID(长连O/1)穿插在PRBS中以模拟GPON上行数据。包含两路包信号的数据txdata在与包分离信号相与后,分离成两路时分复用的信号txdata0和txdatal,时序如图3所示。
④GTP0和GTPl为FPGA芯片的固核。它将低速的8位宽度的并行数据txdatal和txdata2串化为1路高速的串行数据,可以通过修改GTP的DRP属性来改变发送数据的速率。GTP还负责向发送端提供同步时钟。
⑤数据重构模块将接收到的4位宽的数据并化为8位宽的数据,并搜寻16位定界符将接收的数据进行边界对齐。
⑥误码检测器主要由1个本地伪随机序列产生器、1个接收状态机和1个同步检测状态机构成。本地伪随机序列产生器与发送端的随机序列产生器阶数和本原多项式相同,它生成的伪随机数据与接收到的数据进行比对,对比的结果由误码计数器进行统计。接收状态机根据定界符检测信号和包长(包1或包2)计数器来判断接收的数据是否为有效数据,并生成一个有效数据指示信号。同步检测状态机根据比对结果判断本地随机序列产生器生成的数据与接收到的数据是否已经同步,如果没有同步,本地伪随机序列产生器将从接收的数据中截取32位的连续信号作为其移位寄存器的初始值来产生后面的数据以重新同步(灌码同步)。
⑦误比特计数器用来统计误比特数,它仅对有效数据中出现的误码进行统计。接收字计数器用来统计接收到的有效数据字节数。
3 控制系统设计
本设计中使用Microblaze嵌入式软核处理器来实现对误码测试仪逻辑部分的控制,控制部分的硬件框图如图4所示。GPIO1用于处理器与BERT核的通信;GPIO2与LED和拨码开关相连,用于显示状态和板级控制误码测试仪;GPl03与LCD相连,将误码测试结果显示于LCD上;count-er 64为64位宽的计数器,用于记时。UART通过RS232与电脑相连,读取在PC上设定的控制信息并将误码测试结果和误码仪的状态详细地显示在PC上。
控制程序包含的函数主要有GPIO驱动、UART驱动、LCD驱动、GTP DRP属性的读改写函数、BERT的控制和状态读取函数、误码率计算函数、主函数等。主函数提供一个用户与误码测试仪交互的平台,其流程如图5所示。
在上电或复位后,系统初始化LCD和UART,并加载上次保存的用户设置以初始化BERT。然后进入主菜单,主菜单上可以通过选择相应选项进入相应的操作。通过读取误码测试加载的上次保存的用户设置,核对本次用户需要的设置是否与上次保存的设置相同,如果不同可以返回主菜单,从主菜单进入相应的设置操作,进行参数的修改。修改完毕后,如果用户要保存本次设置,可以进行保存再返回主界面;如果不需要保存,则直接返回主界面。从主界面上可以选择误码测试显示进入误码测试结果显示界面,在显示误码测试结果前,控制程序会先进行计算误码率,以保证实时显示误码测试结果。
4 系统验证与设计总结
为了验证系统的性能,分别用该仪器做了自环测试和对1.25 GHz GPON系统突发式光接收模块的误码测试。在自环测试中,发送的数据不通过光路直接送到BMCDR的接收端。测试结果表明,在电信号信道中误码测试系统自身不会误码。在对1.25 GHz GPON系统突发式光接收模块测试过程中,采用两个步骤的测试。步骤1中,按图1连接误码测试系统,两路数据包信号0UN#1和0UN#2都不经过可变光衰减器的衰减,经光合路器合路后的光信号中所有包信号幅值一致,用以验证误码测试系统光路中是否产生误码,实验结果同样验证了误码测试系统自身不会产生误码。步骤2中,对一路数据包信号进行不同幅度的衰减,使光合路器输出的光信号存在幅值的跳变,并在两路数据包信号存在不同幅值跳变的情况下,分别测试突发式光接收模块的误码性能。试验中使用的被测突发式光接收模块强包弱包幅度相差20 dB,保护时间为32位,速率为1.248 8 Gbps的情况下误码率低于10-12。,说明此误码测试系统具有较好的性能。