高速突发模式误码测试仪的FPGA实现方案
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上。
评论