基于FPGA的高速误码测试系统设计.doc
- 格式:doc
- 大小:202.50 KB
- 文档页数:5
题目:基于FPGA的误码率测试目录一设计内容及任务 (3)1.1设计内容 (3)1.2设计任务 (3)二设计方案 (4)2.1方案猜想 (4)2.2系统整体方案设计 (4)三系统硬件调试 (4)3.1系统硬件的整体设计框图 (4)3.2FLEX 10K最小系统 (5)3.3单片机最小系统 (7)3.4并行接口电路 (7)3.5显示电路 (8)3.6复位电路 (9)四系统软件设计 (10)4.1发送模块 (10)4.1.1M码产生模块 (10)4.1.2误码插入模块 (12)4.2接收模块 (12)4.2.1伪随机码同步模块 (12)4.2.2误码统计模块 (13)4.3单片机模块 (14)五系统调试 (15)六课程设计总结 (16)参考文献 (17)附录 (18)一、设计内容及任务1.1设计内容误码率=接收出现差错的比特数/总的发送的比特数实现一个误码率测试电路,在数字通信中,必须在数字信号序列中插入标示码元起始位置的同步码元,否则接收端将无法识别连接数字序列中每一个字符或每一帧的起始码元位置。
对于接收端来说,信息序列是随机的,不可预知的,但帧同步码元则是已知的,所以可以通过检测帧同步码的错码情况来确定整个系统的误码率。
1.2设计任务本系统的核心单元是误码率测试电路,无码测试主要是检测同步头的无码个数,这部分用FPGA来实现,要求数据的速率为19.2MB/S,同步头为7个128位的伪随机码。
测试完毕,将误码个数与总的比特数送往CPU进行处理,计算误码率,最后把测试结果送往数码管输出显示。
误码率测试电路扩展并行口CPU显示电路晶振及复位电路二、设计方案2.1设计猜想根据设计要求得出误码测试原理是:通过对经过被测系统的序列和原序列进行逐位比较,从而得到误码数。
基本原理如图所示:2.2系统整体设计方案本系统是以单片机中心,将各个模块结合起来。
误码测试的是要检测出同步头的误码个数,将结果送往CPU 进行算法处理,再把结果用数码管输出显示。
一种基于FPGA的误码性能测试方案摘要提出了一种基于的误码测试方案,并简要介绍了该方案的设计思想。
关键词误码仪数字微波传输1系列在数字通信系统的性能测试中,通常使用误码分析仪对其误码性能进行测量。
它虽然具有简单易用、测试内容丰富、误码测试结果直观、准确等优点,但是,价格昂贵、不易与某些系统接口适配,通常需要另加外部辅助长线驱动电路;此外,误码分析仪对于突发通信系统的误码性能测试存在先天不足。
例如,在对系统上行链路误码性能测试时,只有通过外加接口,对连续数据进行数据压扩,才能为被测设备模拟出突发形式的数据,从而完成测试。
这给测试工作带来极大的不便。
另一方面,现今的通信系统大量采用作为系统的核心控制器件。
将物理层上的各协议层的功能集中在内部实现,不仅提高了通信系统的集成,同时也减少了硬件和软件设计的复杂度。
基于上述两方面的考虑,笔者在内部实现了一个简易的多功能误码分析仪。
该误码仪主要有三方面优点一是可以根据用户需要,以连续或突发的方式产生若干种不同的随机序列或固定序列,并据此测试数字通信系统的误码性能;二是测试结果可以误码率或者误码数两种形式,通过外围器件直观地显示出来;三是作为被测系统的一个嵌入式模块,便于功能扩展及系统调试。
1伪随机序列序列许多数字通信理论的结论都基于这样一个假设原始的信源信号为0、1等概并相互独立的随机数字序列。
同样,实际数字通信系统的设计,也是基于相同假设。
因此,为使测试结果尽可能真实地反映系统的性能,采用伪随机序列序列作为测试中传输的信号。
序列是一种线反馈移位寄存器序列,其原理方框图如图1所示。
每级移位寄存器的输出被反馈系数加权可以取1或0,经模2和运算再反馈到第一级。
令第一级的输入为,就有根据反馈系数的取值不同,电路可以产生出各种具有不同特性的数字序列。
对于一定的移位寄存器级数,存在一些特殊的取值,使得输出序列的周期达到最长,即为2-1。
这样的序列被称为最长线性反馈移位寄存器序列,即序列。
基于FPGA的高速突发模式误码测试系统的设计与实现的开题报告一、选题背景与意义随着各种信息技术的迅猛发展,高速通信系统已经成为了人们生活和工作中不可或缺的一部分。
而在这些高速通信系统中,比如数据通信、传感器网络等等,突发模式误码测试是一个重要的课题。
因为在实际的应用场景中,会出现瞬间的电磁噪声、信号干扰等情况,从而使得高速通信系统的信号质量出现异常,比如出现误码等。
因此,突发模式误码测试对于保证高速通信系统的可靠性至关重要。
现有的突发模式误码测试系统多采用软件实现,在测试速度和实时性上存在优化空间,并且软件实现需要CPU的干预,更容易受到CPU性能的限制。
因此,本课题尝试基于FPGA(Field Programmable Gate Array)器件,设计一种高速突发模式误码测试系统,能够提高测试速度和实时性。
二、研究内容与目标本课题的研究目标是设计并实现一种基于FPGA的高速突发模式误码测试系统。
具体的研究内容包括以下几个方面:(1)调研突发模式误码测试系统的基本原理和现有的测试方法;(2)研究FPGA技术的应用和原理,以及如何在FPGA上实现高速突发模式误码测试;(3)设计突发模式误码测试系统的硬件电路,包括信号输入输出、FPGA芯片放置、时序控制、误码检测等电路设计;(4)编写突发模式误码测试系统的软件程序,实现误码测试的参数设置、误码检测与数据存储等功能。
三、研究方法与技术路线本课题的研究方法主要是理论分析和实验研究相结合。
具体的技术路线如下:(1)首先,调研突发模式误码测试系统的基本原理和现有的测试方法,为后续的研究提供理论依据;(2)然后,研究FPGA技术的应用和原理,掌握如何在FPGA上实现高速突发模式误码测试;(3)接着,设计突发模式误码测试系统的硬件电路,包括信号输入输出、FPGA芯片放置、时序控制、误码检测等电路设计;(4)编写突发模式误码测试系统的软件程序,实现误码测试的参数设置、误码检测与数据存储等功能;(5)最后,根据实验数据进行误码测试结果的分析和实验优化,完善突发模式误码测试系统。
一种基于FPGA的误码性能测试方案在数字通信系统的性能测试中,通常使用误码分析仪对其误码性能进行测量。
它虽然具有简单易用、测试内容丰富、误码测试结果直观、准确等优点,但是,价格昂贵、不易与某些系统接口适配,通常需要另加外部辅助长线驱动电路;此外,误码分析仪对于突发通信系统的误码性能测试存在先天不足。
例如,在对TDMA 系统上行链路误码性能测试时,只有通过外加接口,对连续数据进行数据压扩,才能为被测设备模拟出突发形式的数据,从而完成测试。
这给测试工作带来极大的不便。
另一方面,现今的通信系统大量采用FPGA 作为系统的核心控制器件。
将物理层上的各协议层的功能集中在FPGA 内部实现,不仅提高了通信系统的集成,同时也减少了硬件和软件设计的复杂度。
基于上述两方面的考虑,笔者在FPGA 内部实现了一个简易的多功能误码分析仪。
该误码仪主要有三方面优点:一是可以根据用户需要,以连续或突发的方式产生若干种不同的随机序列或固定序列,并据此测试数字通信系统的误码性能;二是测试结果可以误码率或者误码数两种形式,通过外围器件直观地显示出来;三是作为被测系统的一个嵌入式模块,便于功能扩展及系统调试。
1 伪随机序列(m 序列)许多数字通信理论的结论都基于这样一个假设:原始的信源信号为0、1 等概并相互独立的随机数字序列。
同样,实际数字通信系统的设计,也是基于相同假设。
因此,为使测试结果尽可能真实地反映系统的性能,采用伪随机序列(m 序列)作为测试中传输的信号。
M 序列是一种线反馈移位寄存器序列,其原理方框图如图1 所示。
每级移位寄存器的输出被反馈系数Ci 加权(Ci 可以取1 或0),经模2 和运算再反馈到。
1.系统组成原理
数字通信系统的误码测试一般有近端测试和远端测试2种方式,如图1 (a)、(b)所
7J\o
(a)近端测试(单向)方式图
(b)远端测试(环路)方式图
图1数字通信系统的误码测试
图1中误码测试发送部分与误码测试接收部分为误码测试系统的基本组成。
木文设计的误码测试发送和接收系统图分别如图2和图3所示。
时钟信号发生器—►码型产生与选择Tp吴码插入控制f输出接口电路
图2误码测试发送系统
图(3)误码测试接收系统
误码测试发送部分主要由时钟信号发生器、伪随机码和人工•码发生器、误码插入发生器
以及接曰电路组成它可以输出各种不同序列长度的伪随机码(从(2”7-1广(2'23-1)bit)和16bit的人工码,以满足ITU-T对不同速率的PCM系统所规定的不同测试用的序列长度。
它具有“0”码插入功能,并能发出带有10^3^10^-6误码率的数据,可用于检测被测设备和系统的承受能力和检测告警功能等。
接口电路用来实现输出CM 1码、HDB3 码、NRZ码和RZ码等码型,以适应符合ITU-T要求的被测电路的各种不同接口码型。
输出码型经被测信道或被测设备后,由误码测试接收部分接收,接收部分可产生一个与发送部分码发生器产生的图像完全相同的且严格同步的码型,并以此为标准,在比特比较器中与输入的图案进行逐比特比较。
被测
设备产生的任何一个错误比特,都会被检出误码,并送误码计数器显示。
2.伪随机序列发生与自校验误码插入
误码测试系统的工作码流是伪随机序列。
印序列具有B好的伪随机噪声性质,是在通信工程中被广泛应用的伪随机序列之一,本系统采用m序列发生器产生伪随机序列。
图4为『7的伪随机序列发生器结构。
伪随机序列发生器在2. 048MHz时钟信号的作用下产生序列长度为2^7-1=127的伪随机序列。
伪随机序列发生器部分VHDL源程序如下:library ieee;
use ieee. std logic 1164. al;1 entitympsn7is
port (elk: in std logic;
load: in stdlogic;
Q: out std logic);
endmpsn7;
architecture one ofmpsn7is
signal cO, cl, c2, c3, c4, c5, c6, c7: std logic; begin
process (elk, load)
begin
if (elk' eventand elk二'1! ) then
if (load='1! ) then
c7<=z (T ;
c63 O';
c5<=, 0z ;
c4<=, O';
c3<=z O';
c2<=z O';
cl<=, 0z ;
coe r ;
Q<=c7;
else
cl<=cO;
c2<=cl;
c3<=c2;
c4<=c3;
c5<=c4;
c6<=c5;
c7<=c6;
c0<=c7xor c4xor c3xor c2;
Q<=c7;
end if;
end if;
end process;
end one;
图(5)给出了在EP1K30TC144-3FPGA上实现VHDL伪随机序列发生器模块时序仿真结果。
伪随机序列通过误码插入模块实现“禁插”和“插入单个误码”功能的选择。
误码插入模块由时钟控制的二级D触发器构成,如图6所示。
经过误码插入处理后的码流下一步流入接口
电路。
500 ns 1.0 ps 1.5 gs 2.0 gs 2.5 Jis 3.0 |is 3.5 gs 4.0 ps 4.5 ps
Onload1 1 _______________
l>-clk卿
pQ0____ MULjmn_ini_J
图5伪随机序列时序仿真图
图6自校验误码插入模块原理图
3.同步设计原理
要实现正确检测必须使被测信号与接收端的伪随机码发生器产生的伪随机码同步。
同步过程由同步检测电路完成。
一旦失步,同步检测送出一脉冲信号控制开关,使码型发生器反馈中断,由被测信号取代伪随机码,并开始同步捕捉,一旦检查到连续32bit无误码,就认为同步。
这时,同步检测电路控制开关,断开送入码型发生器的被测信号,使码型发生器环路闭合。
误码测量时,…次测量持续的时间间隔(tO)由计数器控制,to也就是闸门脉冲宽度。
ITU-T推荐用于电话业务的误码测量时间间隔为Imin,这与一次电话呼叫的平均时间相当:用于数据业务的误码测量时间间隔取Is,这与分组码码长相当。
当被测信号送入误码测试的接收部分后,一个很重要的工作是提取位同步时钟信号。
位同步的方法有插入导频法(外同步法)和直接法(自同步法)2种。
插入导频法是在发送有用信号的同时,在适当频率位置上插入一个(或多个)称为导频的正弦波;直接法则不需要专门的导频,而是在接收信号中直接提取同步信号。
数字通信中常使用数字锁相法,本测试系统采用微分整流型数字锁相环提取位同步信号。
位同步是数字通信系统有效可靠工作的基础,其性能的好坏直接影响到整个数字通信系统的好坏,因此采用一个良好的位同步系统至关重要。
微分整流型数字锁相环法实现位同步的基本原理是:输入信码经微分整流器输出位同步基准脉冲,这些脉冲包含了输入信码的边沿信息。
本地振荡器产生的脉冲经控制电路扣除或附加脉冲后再经N分频输出位同步脉冲。
由于发端信码时钟振荡源与接收端本地振荡源存在频率和相位上的误差,数字鉴相器可根据误差的大小输出分
频比调整信号,不断扣除或附加脉冲,保证位同步脉冲与位同步基准脉冲之间的相位误差在给定的范围内。
图7为在EP1K30TC144-3FPGA中实现的位同步模块顶层原理图。
图(7) FPGA位同步模块顶层仿真图
图(7)中位同步基准脉冲作为相位比较器的触发脉冲。
当位基准脉冲出现时,相位比较器就从可变模分频器中读出分频器计数值,并判别是同步、滞后或是超前状态,然后再根据判
断结果来修改分频器模值存储器中的模值。
可变模分频器在完成一个分频周期输出位同步脉冲时,会重新加载分频器模值存储器中的模值。
高频时钟信号的频率应远高于基带码元的速率。
位同步脉冲要求能在最佳判决时刻对接收码元进行抽样判决。
在一般接收时可在码元的中间位置抽样判决,而在最佳接收时应在码元的终止时刻进行抽样判决。
这两种情况对相位比较器的要求是不同的。
设码元速率为fb,本地振荡器频率为Nfb,即可变模分频器的初始分频值为No这里选择的是一般接收,当位同步基准到来时,如果读取的分频器计数值为N /2,则判为同步状态;大于N /2时判为滞后状态;小于N /2时判为超前状态。
分频器按减1计数,那么滞后状态时应减小分频值,超前状态时应增大分频值。
因为本地振荡器的频率fosc=Nfb,所以,选择本地振荡器的频率实际上就是选择合适的分频值。
分频值的选取则与同步的精度有关。
若fb二1 200bit/s,本地fosc=12MIIz,若取N=fosc/fb=10 000,则相位误差最高,这将导致同步建立时间变长,且需设计一个14位长的可变模分频器(计数器),使设计占用FPGA的资源较大。
在可变模分频器前加一个定模分频器(模100),则N二100,只需设计一个7位长的可变模分频器。
此时同步精度会有所降低,但节省了FPGA片内资源,同时也缩短了同步建立时间。
锁相环法位同步的主要性能指标有相位误差、同步建立时间、同步保持时间和同步带宽等。
在初始建立同步时,同步建立时间的长短与初始相位误差有关,最差的情况是初始相位是半个码元宽度t/2o 设分频值为N,且连“0”码与连“1”码的概率与“0”、“1”交替出现的概率相等,则最
大的同步建立时间为Ntb。
可见N越大,同步建立时间越长。
另一方面,分频值为N 时对应的相位误差为360° /N, N越大,相位误差越小,本系统相位误差小于3°。
4.心得体会
设计思路是最重要的,只要你的设计思路是成功的,那你的设计已经成功了一半。
因此我们应该在设计前做好充分的准备,像查找详细的资料,为我们设计的成功打下坚实的基础。
对设计出来的电路进行,一步步的分析调试,最终的一个比较满意的结果。
要熟练地掌握课本上的知识,这样才能对试验中出现的问题进行分析解决。
本次实习给我最大的教育就是要认真学习,我们这个学期学习通信原理以及EDA时候由于我正忙于准备考研所以课下看的时间就少了很多,到设计时候什么都记不起来,什么都要翻书,这种情形使我很恼火,怎么什么都不会呢,学习要扎实不是没有道理的, 如果什么都看书那我们的效率也就没了,做完设计,懂了很多。