新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 一种基于FPGA的高速误码测试仪的设计

一种基于FPGA的高速误码测试仪的设计

作者: 时间:2011-09-20 来源:网络 收藏

控制SY87700V从122M数据提取时钟和恢复数据的功能仿真的结果波形图(用Modelsim仿真)如下图5所示。

本文引用地址:https://www.eepw.com.cn/article/191002.htm

d.JPG


测试文件中给data_i赋值为000011111,可以观察出FREQUSEL1输出值1,FREQUSEL2输出值为0,FREQUSEL3输出值为1,DIVSEL1输出值为0,DIVSEL2输出值为1。CLKSEL输出高电平(这一信号可以控制SY87700V完成提取的输入数据时钟的功能)。CD也输出高电平(使SY87700V能正常的进行数据恢复和时钟提取)。从图中可以看出SY87700V控制模块输出的信号可以控制SY87700V完成对122M数据的时钟提取和数据恢复,实现预想的逻辑功能。
1.3 计数模块
计数模块是用来计算总的码数和误码数以及误码块数的,该计数器是一个同步复位计数器。由verilog HDL代码综合出的图元如图6所示。

j.JPG


该计数模块最大的计数值达252,用Modelsim仿真软件对计数模块进行功能仿真的结果如图7所示:

e.JPG


在测试文件中,c_i赋值为一个脉冲流,在cnt_o输出的计数结果是正确的。可以判断出该模块的功能的正确性。
1.4 伪随机序列发送模块
伪随机序列发送模块的任务是以SY87739L合成的频率为时钟产生伪随机序列并串行输出伪随机序列。该模块可以产生三种级数的伪随机序列,生成的伪随机序列串行输出。具体合成那一级数决定于washbone模块(与单片机的通信控制模块)输出的控制信号:P09T-en(合成9级m序列使能信号)、P15T-en(合成15级m序列使能信号)、P23T-en(合成23级m序列使能信号)。三个信号中哪个为高电平就合成相应级数的伪随机序列。由Verilog HDL代码综合出的图元如图8所示。

k.JPG


功能仿真结果(合成23级伪随机序列)如图9所示。

f.JPG


在测试文件中赋给该模块的输入信号相应的值,使其完成合成23级伪随机序列的功能。在上图中,ser_o串行输出23级的m序列,可以判断该模块可以成功的合成m序列实现仪发送端的功能。
1.5 数据接收模块
中的接收模块实现的功能有:1)m序列发生,2)是误码检测。前者的逻辑功能与发送端模块相类似,其作用是产生一个与发端码形相同并且比特对齐的本地m序列;后者的作用是将收到的数据与本地m序列相比较,检测是否有误码,若有误码则输出一个误码脉冲给计数模块进行统计。该模块可以接收三种级数的伪随机序列,由Verilog程序综合出的图元如图10所示。

l.JPG


发送的测试码为周期是29-1的m序列时,数据接收模块的仿真波形如图11所示。

g.JPG


在仿真文件中对该模块输入端口ser_i赋值一个码流,当赋值码流与本地伪随机序列同步的(同频同相),数据接收模块每比对一bit码,就在sum_o端口输出一高电平,若比对时有误码,则prt_o端口输出一高电平。在上图中,PRBS_r是本地合成的伪随机序列,可以看出该模块能够实现了m序列的产生和误码的检测和统计功能。



评论


相关推荐

技术专区

关闭