基于FPGA的误码率测试仪的设计与实现
发布时间:2007/8/28 0:00:00 访问次数:610
作者:解放军信息工程大学 刘江 张宏霄 刘洛琨
摘 要: 本文提出了一种使用FPGA 实现误码率测试的设计及实现方法。该设计可通过FPGA 内建的异步串行接口向主控计算机传递误码信息,也可以通过数码管实时 显示一段时间内的误码率。文章先介绍了系统构成和工作流程,然后重点分析了关键技术的实现。
关键词: 误码测试,现场可编程门阵列
1、 概述
在通信系统的设计实现过程中,都需要测试系统的误码性能。而常见的误码率测试仪多数专用于测试各种标准高速信道,不便于测试实际应用中大量的专用信道,并且价格昂贵,搭建测试平台复杂。随着大规模集成电路的迅速发展,FPGA 在保持其集成度高,体积小,功耗低,性价比高特性的同时,能够实现越来越复杂设计功能,日益广泛的应用于通信设备的设计实现。
本文提出了一种基于FPGA 的误码率测试仪的方案,使用一片Altera 公司的Cyclone系列的FPGA(EP1C6-144T)及相关的外围电路,实现误码测试功能,主控计算机可以通过FPGA 内建的异步串行接口(UART)配置误码测试仪并读取误码信息,由计算机完成误码分析。同时,该方案还提供了简易的数据显示,可以在脱离计算机的情况下,进行通信系统工作性能的定性分析。
2、 系统构成和工作流程
按照完成的功能,整个系统可以分为测试码生成单元、误码测试单元、接口单元、显示单元和时钟生成单元以及主控计算机上运行的控制测试软件六个部分,具体框图如图1 所示。
图1 误码测试仪框图
利用误码率测试仪进行误码率测试的闭环测试平台结构如图2 所示。对照图1、图2,将系统的工作流程描述如下。
图2 通信系统误码测试框图
根据待测通信系统的数据速率由计算机通过UART 配置时钟生成单元,得到工作时钟和各使能计数器的参数,使得系统按照预定时钟工作;由测试码生成单元按照设置好的时钟将 测试码发送给待测系统的发送设备;发送信号经过信道仿真器后,由待测系统的接收单元接收、判决,再将接收数据和恢复的数据时钟送入误码测试仪;误码测试仪中的误码测试单元完成输入数据和本地数据的同步后,对输入数据同本地数据进行比较,统计误码数,每完成两个测试码周期的数据比较,就将误码信息通过UART 发送给计算机,进行误码统计,同时将误码数传送给显示单元,进行处理后驱动外部的四个七段数码管,显示本测试码周期内的误码率。
3、 关键技术及其实现
3.1 测试码的产生
本设计使用m 序列作为测试码,m 序列发生器按照CCITT 建议,生成用于低速数据传输设备测试误码的m序列,其特征多项式为x9+x4+1,周期为512。利用m 序列的伪随机特性,可以很好的测试在不同的输入组合下,系统的通信性能,同时,m 序列极强的自相关性,便于测试仪实现输入数据同本地测试码同步,以便进行误码计数。
3.2 误码测试单元的实现
误码测试单元是整个系统的核心单元,其功能框图如图3 所示。序列同步跟踪单元的功能是利用m 序列的自相关特性,将输入的数据同本地的m 序列同步起来,并将同步信息传给码元比较单元。
我们利用测试序列—m 序列的自相关性实现接收序列与本地序列的同步。m 序列的捕获有很多方法,通常使用的有相关器法和循环累加法。相关器法的优点是捕获速度快,通常捕获时间不超过两个m 序列的周期,但是相关器最大的问题就是所需的逻辑资源太多。相比之下,循环累加法所需的逻辑资源很少,虽然捕获时延较长,但在测试环境下,通常是可以忍受的,另外,我们还可以采取一定的措施进一步减少捕获时延。循环累加器的工作原理如下,系统复位后,m 序列发生器按照预设的参数生成m 序列,存入m 序列缓冲区,码元同步后,在地址发生器的控制下,将m 序列从缓冲区中读出,同输入序列按位进行同或运算后进行算术加,相加得到的和经D 触发器缓冲一个时钟周期后,输入加法器,作为下一次加法运算的一个加数,从而实现本地序列同输入序列的循环累加。累加和送入门限检测器同所设门限比较,如低于门限,则地址发生使能和同步指示输出均无效,为‘0’,如果高于所设门限,则两信号置高。后面的码元比较单元开始工作,进行输入序列和本地序列的比较。地址发生器产生的地址由两部分组成,即:
地址输出=累加地址+偏移地址
两个地址的初值均为‘0’,累加地址计数范围同m 序列的长度一样,每个时钟周期加1,第一个周期输出的m 序列从第一个码元开始输出,加完一个m 序列周期后,地址发生器检查由门限检测输入的地址发生控制信号,如果该信号为‘0’,那么表示输入序列同本地序列没有同步,存在相位差,此时,偏移地址加1,累加地址重新开始累加计
作者:解放军信息工程大学 刘江 张宏霄 刘洛琨
摘 要: 本文提出了一种使用FPGA 实现误码率测试的设计及实现方法。该设计可通过FPGA 内建的异步串行接口向主控计算机传递误码信息,也可以通过数码管实时 显示一段时间内的误码率。文章先介绍了系统构成和工作流程,然后重点分析了关键技术的实现。
关键词: 误码测试,现场可编程门阵列
1、 概述
在通信系统的设计实现过程中,都需要测试系统的误码性能。而常见的误码率测试仪多数专用于测试各种标准高速信道,不便于测试实际应用中大量的专用信道,并且价格昂贵,搭建测试平台复杂。随着大规模集成电路的迅速发展,FPGA 在保持其集成度高,体积小,功耗低,性价比高特性的同时,能够实现越来越复杂设计功能,日益广泛的应用于通信设备的设计实现。
本文提出了一种基于FPGA 的误码率测试仪的方案,使用一片Altera 公司的Cyclone系列的FPGA(EP1C6-144T)及相关的外围电路,实现误码测试功能,主控计算机可以通过FPGA 内建的异步串行接口(UART)配置误码测试仪并读取误码信息,由计算机完成误码分析。同时,该方案还提供了简易的数据显示,可以在脱离计算机的情况下,进行通信系统工作性能的定性分析。
2、 系统构成和工作流程
按照完成的功能,整个系统可以分为测试码生成单元、误码测试单元、接口单元、显示单元和时钟生成单元以及主控计算机上运行的控制测试软件六个部分,具体框图如图1 所示。
图1 误码测试仪框图
利用误码率测试仪进行误码率测试的闭环测试平台结构如图2 所示。对照图1、图2,将系统的工作流程描述如下。
图2 通信系统误码测试框图
根据待测通信系统的数据速率由计算机通过UART 配置时钟生成单元,得到工作时钟和各使能计数器的参数,使得系统按照预定时钟工作;由测试码生成单元按照设置好的时钟将 测试码发送给待测系统的发送设备;发送信号经过信道仿真器后,由待测系统的接收单元接收、判决,再将接收数据和恢复的数据时钟送入误码测试仪;误码测试仪中的误码测试单元完成输入数据和本地数据的同步后,对输入数据同本地数据进行比较,统计误码数,每完成两个测试码周期的数据比较,就将误码信息通过UART 发送给计算机,进行误码统计,同时将误码数传送给显示单元,进行处理后驱动外部的四个七段数码管,显示本测试码周期内的误码率。
3、 关键技术及其实现
3.1 测试码的产生
本设计使用m 序列作为测试码,m 序列发生器按照CCITT 建议,生成用于低速数据传输设备测试误码的m序列,其特征多项式为x9+x4+1,周期为512。利用m 序列的伪随机特性,可以很好的测试在不同的输入组合下,系统的通信性能,同时,m 序列极强的自相关性,便于测试仪实现输入数据同本地测试码同步,以便进行误码计数。
3.2 误码测试单元的实现
误码测试单元是整个系统的核心单元,其功能框图如图3 所示。序列同步跟踪单元的功能是利用m 序列的自相关特性,将输入的数据同本地的m 序列同步起来,并将同步信息传给码元比较单元。
我们利用测试序列—m 序列的自相关性实现接收序列与本地序列的同步。m 序列的捕获有很多方法,通常使用的有相关器法和循环累加法。相关器法的优点是捕获速度快,通常捕获时间不超过两个m 序列的周期,但是相关器最大的问题就是所需的逻辑资源太多。相比之下,循环累加法所需的逻辑资源很少,虽然捕获时延较长,但在测试环境下,通常是可以忍受的,另外,我们还可以采取一定的措施进一步减少捕获时延。循环累加器的工作原理如下,系统复位后,m 序列发生器按照预设的参数生成m 序列,存入m 序列缓冲区,码元同步后,在地址发生器的控制下,将m 序列从缓冲区中读出,同输入序列按位进行同或运算后进行算术加,相加得到的和经D 触发器缓冲一个时钟周期后,输入加法器,作为下一次加法运算的一个加数,从而实现本地序列同输入序列的循环累加。累加和送入门限检测器同所设门限比较,如低于门限,则地址发生使能和同步指示输出均无效,为‘0’,如果高于所设门限,则两信号置高。后面的码元比较单元开始工作,进行输入序列和本地序列的比较。地址发生器产生的地址由两部分组成,即:
地址输出=累加地址+偏移地址
两个地址的初值均为‘0’,累加地址计数范围同m 序列的长度一样,每个时钟周期加1,第一个周期输出的m 序列从第一个码元开始输出,加完一个m 序列周期后,地址发生器检查由门限检测输入的地址发生控制信号,如果该信号为‘0’,那么表示输入序列同本地序列没有同步,存在相位差,此时,偏移地址加1,累加地址重新开始累加计
上一篇:一种实用的集成芯片测试仪的设计