基于FPGA误码检测器的设计与实现

上传人:y****3 文档编号:12835184 上传时间:2020-05-30 格式:DOC 页数:35 大小:2.22MB
返回 下载 相关 举报
基于FPGA误码检测器的设计与实现_第1页
第1页 / 共35页
基于FPGA误码检测器的设计与实现_第2页
第2页 / 共35页
基于FPGA误码检测器的设计与实现_第3页
第3页 / 共35页
点击查看更多>>
资源描述
.基于FPGA误码检测器的设计与实现.西安欧亚学院本科毕业论文(设计)开题报告题 目基于FPGA误码检测器的设计与实现学生姓名:*学生学号:12610602150807指导教师: 导师职称:所在分院:信息工程学院专 业:通信工程班 级:统本通信1201班提交日期:2015年12月21日一、课题的意义 在当今的信息时代,通信在我们生活中必不可少。数字通信技术更是以抗干扰能力强、适合远距离传输、方便于计算机连接、容易加密等优点,在现代社会的信息传输领域变得越来越重要。通信网络给我们带来了种种便利,因特网和电话网等通信网络为我们的生活增添了非常多的便利,人们也越来越离不开通信网络了。 在通信系统中,机器故障、信号衰落、干扰等多种原因都可以导致接收端接收到误码,甚至可能造成系统性能恶化,乃至通信中断,其结果都可通过误码的形式表现出来,在误码中加入时间的概念就有了误码率,误码率是衡量数据在规定时间内数据传输精确性的指标,是检验设备传输性能的重要指标。因此,各种各样针对不同通信系统的误码检测设备应运而生。 误码检测器主要基于FPGA技术,并且以方便,实用,经济三个方面为特点进行设计开发的。它的核心器件是现场可编程逻辑阵列,便于移植或者升级。FPGA是目前应用比较广泛的可编程门阵列(FPGA),如今很多数字通信系统都是用FPGA作为系统的核心控制器件,不仅使系统的集成度大大提高而且降低了硬件设计的复杂程度。所以,采用FPGA作为误码检测器的核心控制器件是比较合适的选择。二、国内外研究现状早期的误码率检测器一般采用分立元件设计,这种方式在设计上相对复杂;有的采用MCS-51系列单片机与误码测试专用芯片相结合的方法,测试专用芯片有DS2172、DS21554等,这种方式缩短了误码率测试仪开发周期,设计成本较低,但是测试速率较低。随着FPGA的迅速发展,采用FPGA与单片机相结合的误码率检测器也应运而生,采用FPGA完成误码测试的各个部分,采用单片机实现系统的控制。虽然这种方式的误码率检测器较多,但是受到FPGA本身的速率限制,大多数检测器的速率都较低,一般在2Mb/s、24Mb/s以及300Mb/s左右,个别设计达到2488Mb/s。误码率检测器国外的产品较多,安捷伦公司和泰克公司的检测器都是比较高端的,功能也非常完善。例如安捷伦公司的81250并行误码率检测器和串行误码率检测器N4906、N4903A速率可以达到12.5Gb/s,E4898A BERT等多款检测器速率达到100Gb/s20。泰克公司的BERT Scope CR系列检测器数据速率可以达到28.6Gb/s。国内的设备比较典型的是中国电子科技集团研制的AV系列的误码检测器,例如AV5232e、AV5231和AV5235等。随着数据传输方式的改变,误码率检测器都在朝着串行方向发展。国外高速误码器的功能相对国内比较完善,国外检测器的发送端的码型相对较多,测试速率可选,而且具有很好的人机交互界面,有很好的性能指标,主要适用于大中型企业以及对于技术指标要求相对较高的场合测试,因其价格较高、而且操作也比较复杂、维修困难,一般不适用于小型企业以及教学实验。国内的产品操作相对简单,但是处理信号的速率一般在几Mb/s或者百Mb/s,速率相对较低,达到千兆速率的误码率检测器非常少,而且其发送码型单一。目前,光通信接入网技术在不断提高,传输速率也在不断提高,光传输模块应用也越来越多,如1.25Gb/s、2.5Gb/s和3.125Gb/s光模块,对通信设备性能的要求也越来越高,通信系统可靠性的检测也显得尤为重要。三、毕业论文(设计)的主要内容本文主要阐述的是基于FPGA误码检测器的设计与实现。第一部分是绪论,包括课题的研究目的及意义、 误码率测试仪的国内外发展现状 、本课题的主要研究内容;第二部分是总体方案设计,包括误码率测试基本原理、FPGA 芯片选择;第三部分是基本功能设计,包括码型发生单元设计、误码检测单元设计;第四部分是仿真验证。第五部分是结论。四、所采用的方法、手段以及步骤等1、主要方法采用文献研究法、文本细读法和案例分析法进行研究。2、 步骤 (1)阅读相关资料,补充理论知识的不足。 (2)了解本论题的研究状况,形成文献综述和开题报告。 (3)通过文献研究法全面的掌握误码检测器的发展及分析。 (4)进一步搜集阅读资料并研读文本,做好相关的记录,形成论题提纲。 (5)再用案例分析法,通过一些案例的分析与反思关于误码检测器的设计与实现的问题。 (6)深入研究,写成初稿。最后,反复修改,完成定稿。五、阶段进度计划1、2015年11月20日-2015年12月20日:查阅资料,完成开题报告。2、2015年12月21日-2016年1月30日:阅读相关资料,确定系统的具体设计思路及框架。 3、2015年2月1日-2016年3月1日:着手论文初稿的的撰写。4、2016年3月2日-2016年4月15日:进行工程测试,完成测试报告。5、2016年4月16日-2016年4月25日:根据老师的建议,进一步完善论文的结构和内容。6、2016年4月26日-2016年5月15日:完成毕业论文及PPT,进行毕业答辩。六、参考文献 1 赵慧玲,电信网络技术的发展趋势J,电信建设,2012,2,36-452 李宏,齐林,杨亮,一种便携式误码测试仪的设计J,现代电子技术,2010,12,122-124 3 马万治,唐友喜,赵贤,邵士海,瑞丽信道中无线通信设备误码率测试仪实现J,电子测量与仪器学报,2010,4,414-4194 沈瀚涛,孙学聪,朱蕊蘋,一种串行通信的误码率测试方法J,现代方与技术,2013,3,110-1145 李佳,陈顺方,丁勇飞,刘国梁基于FPGA的数据链路误码仪设计J航空电子技术,2013,10,8-116 陈寅芳,朱勇,曹彦武,基于FPGA 的突发误码测试仪的设计J,光通信技术,2010,7,45-487 阳子轩,吴友宇,秦神祖,一种误码仪控制方案的实现J,武汉理工大学学报,2013,11,4-7指导教师意见: 同意开题。 不同意开题,原因是 。指导教师签字: 年 月 日教研室意见: 同意开题。 不同意开题,原因是 。主任签字: 年 月 日备注:“指导教师意见”和“教研室意见”请在“”内打“”表示。摘要随着通信测试技术的发展,对测试仪器也提出了更高的要求。要求测试仪器软件化、智能化。而且由于通信技术的迅速发展,通信测试仪器的价格比较昂贵,所以要求仪器开发商要考虑到测试仪器的功能问题及仪器的成本问题。另外,小型化和便携化的思想是通信测试仪器的两个重要发展趋势和方向。鉴于网络通信监测具有移动性,要对同一通信网络不同测试点进行监测,对于测试点的物理距离比较远的通信网络,要求通信网络测试设备向小型化,便携化的两个方向发展。手持式网络测试设备主要以现场施工以及运行维护使用为目的,不要求其测试功能的完善,但侧重于实用性和方便性。误码测试仪主要基于FPGA技术,并且以方便,实用,经济三个方面为主要特点进行设计开发的。它的核心器件是现场可编程逻辑阵列(FPGA),便于移植或者升级。FPGA是目前应用比较广泛的可编程门阵列,如今很多数字通信系统都是用FPGA作为系统的核心控制器件,不仅使系统的集成度大大提高而且降低了硬件设计的复杂程度。所以,采用FPGA作为智能误码仪的核心控制器件是比较合适的选择。本论文在分析了误码仪工作原理的基础上,釆用FPGA等构建硬件平台,完成误码仪的功能。用FPGA实现伪随机序列的收发和误码统计,然后通过数码管显示检测结果。关键词:误码检测仪 FPGA 伪随机码 同步AbstractWith the rapid development of communication technology test, also put forward higher requirements for the test instrument. Requirement of intelligent instrument software. And because of the rapid development of communication technology, communication test instruments are expensive, the cost function and instrument so instrument developers to consider to test instruments. In addition, miniaturization and portability of the thought is the two important development trend and direction of communication testing instrument. In view of the network traffic monitoring with mobility, to monitor the same communication networks of different test points, for the physical distance between the test point is far from the communication network, communication network testing equipment to the miniaturization, portable two direction. The portable network test equipment to the main maintenance on-site construction and operation for the purpose, does not require the test function perfect, but focuses on the practicality and convenience. Intelligent error tester is mainly based on FPGA technology, and with convenient, practical, the three aspects of economy as the main characteristics of the design and development of the. It is the core component of field programmable logic array (FPGA), easy to transplant or upgrade. FPGA is widely used programmable gate array, now a lot of digital communication system is using FPGA as the core of the system control device, not only the system integration degree greatly improve and reduce the complexity of the hardware design. So, using FPGA as the core control device of intelligent error tester is a suitable choice.In this paper, based on the analysis of the principle of the error code, using FPGA, processor and other hardware platform to complete the function of the error tester. FPGA implementation of the pseudo random sequence of transceiver and error statistics, and then through the digital tube display detection results.Key Words : Error detecting instrument FPGA Pseudo random code Synchronization目录摘要IAbstractII1.绪论- 1 -1.1研究目的及意义- 1 -1.2国内外研究现状- 1 -1.3本课题主要要求内容- 2 -2.系统的总体方案设计- 4 -2.1 EDA与VHDL介绍- 4 -2.1.1 FPGA发展历程- 4 -2.1.2 VHDL语言介绍- 6 -2.2总体方案设计,- 7 -2.2误码率测试基本原理- 7 -2.3伪随机序列的原理及特点- 9 -2.4硬件电路设计方案选择- 10 -3.功能设计- 11 -3.1基本功能设计- 11 -3.1.1伪随机码型发生单元设计- 12 -3.1.2误码插入单元- 13 -3.1.3误码检测单元设计- 14 -3.1.4同步模块- 15 -3.1.5显示模块- 18 -3.1.6模拟信道模块- 21 -3.2 顶层电路的设计- 21 -4.功能的仿真和验证- 25 -4.1仿真验证- 25 -4.1.1伪随机码型发生单元设计- 26 -4.1.2误码插入单元和模拟信道模块- 26 -4.1.3误码检测单元设计- 26 -4.1.4同步模块- 26 -4.1.5显示模块- 27 -4.2整体仿真图- 27 -4.3FPGA验证- 27 -5.结论- 28 -参考文献- 29 -致谢- 31 -1.绪论1.1研究目的及意义 在当今的信息时代,通信在我们生活中必不可少。数字通信技术更是以抗干扰能力强、适合远距离传输、方便于计算机连接、容易加密等优点,在现代社会的信息传输领域变得越来越重要。通信网络给我们带来了种种便利,因特网和电话网等通信网络为我们的生活增添了非常多的便利,人们也越来越离不开通信网络了。 在通信系统中,机器故障、信号衰落、干扰等多种原因都可以导致接收端接收到误码,甚至可能造成系统性能恶化,乃至通信中断,其结果都可通过误码的形式表现出来,在误码中加入时间的概念就有了误码率,误码率是衡量数据在规定时间内数据传输精确性的指标,是检验设备传输性能的重要指标。因此,各种各样针对不同通信系统的误码检测设备应运而生。 误码检测器主要基于FPGA技术,并且以方便,实用,经济三个方面为特点进行设计开发的。它的核心器件是现场可编程逻辑阵列,便于移植或者升级。FPGA是目前应用比较广泛的可编程门阵列(FPGA),如今很多数字通信系统都是用FPGA作为系统的核心控制器件,不仅使系统的集成度大大提高而且降低了硬件设计的复杂程度。所以,采用FPGA作为误码检测器的核心控制器件是比较合适的选择。1.2国内外研究现状早期的误码率检测器一般采用分立元件设计,这种方式在设计上相对复杂;有的采用MCS-51系列单片机与误码测试专用芯片相结合的方法,测试专用芯片有DS2172、DS21554等,这种方式缩短了误码率测试仪开发周期,设计成本较低,但是测试速率较低。随着FPGA的迅速发展,采用FPGA与单片机相结合的误码率检测器也应运而生,采用FPGA完成误码测试的各个部分,采用单片机实现系统的控制。虽然这种方式的误码率检测器较多,但是受到FPGA本身的速率限制,大多数检测器的速率都较低,一般在2Mb/s、24Mb/s以及300Mb/s左右,个别设计达到2488Mb/s。误码率检测器国外的产品较多,安捷伦公司和泰克公司的检测器都是比较高端的,功能也非常完善。例如安捷伦公司的81250并行误码率检测器和串行误码率检测器N4906、N4903A速率可以达到12.5Gb/s,E4898A BERT等多款检测器速率达到100Gb/s20。泰克公司的BERT Scope CR系列检测器数据速率可以达到28.6Gb/s。国内的设备比较典型的是中国电子科技集团研制的AV系列的误码检测器,例如AV5232e、AV5231和AV5235等。随着数据传输方式的改变,误码率检测器都在朝着串行方向发展。国外高速误码器的功能相对国内比较完善,国外检测器的发送端的码型相对较多,测试速率可选,而且具有很好的人机交互界面,有很好的性能指标,主要适用于大中型企业以及对于技术指标要求相对较高的场合测试,因其价格较高、而且操作也比较复杂、维修困难,一般不适用于小型企业以及教学实验。国内的产品操作相对简单,但是处理信号的速率一般在几Mb/s或者百Mb/s,速率相对较低,达到千兆速率的误码率检测器非常少,而且其发送码型单一。目前,光通信接入网技术在不断提高,传输速率也在不断提高,光传输模块应用也越来越多,如1.25Gb/s、2.5Gb/s和3.125Gb/s光模块,对通信设备性能的要求也越来越高,通信系统可靠性的检测也显得尤为重要。1.3本课题主要要求内容本文主要研究内容为设计一款误码检测仪,通过Quartus II 软件开发平台,编写实现误码检测功能的VHDL代码,然后再该开发平台上进行仿真,调试代码,等代码功能满足要求时配置到FPGA开发板中,在实际的硬件平台进行测试该测试仪的功能和性能。本设计论文安排如下:第一章讲述误码测试仪在国内外的发展现状,和对本课题开展研究的意义。第二章讲述误码测试仪在设计过程中将要涉及到的理论和原理,如何进行误码率的检测,以及器件的选型等。第三章进行该设计的功能设计,包括软件的编写和功能模块的划分,以及功能框架的搭建和分析。第四章将会对各个功能模块进行仿真和测试功能实现是否正确,然后进行整体的功能仿真,最后将代码配置到FPGA开发板中进行功能验证。第五章对全文的总结和展望。2.系统的总体方案设计2.1 EDA与VHDL介绍FPGA(Field-Programmable Gate Array 现场可编程门阵列)是近年来广泛应用的超大规模、超高速的可编程逻辑器件,由于其具有高集成度(单片集成的系统门数达上千万门)、高速(200MHz以上)、在线系统可编程等优点,为数字系统的设计带来了突破性变革,大大推动了数字系统设计的单片化、自动化,提高了单片数字系统的设计周期、设计灵活性和可靠性。在超高速信号处理和实时测控方面有非常广泛的应用。硬件描述语言HDL是一种用形式化方法描述数字电路和系统的语言。VHDL是硬件描述语言的几种代表性语言的一种。VHDL(Very High Speed Integrated Circuit Hardware Description Language 即超高速集成电路硬件描述语言)主要用于描述数字系统的结构、行为、功能和接口,与其它的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。用VHDL设计的程序,通过综合工具产生网表文件,下载到目标器件,从而生成硬件电路。VHDL还是一种仿真语言,包括行为仿真、功能仿真和时序仿真,给系统设计各个阶段的可行性做出了决策。2.1.1 FPGA发展历程当今社会是数字化的社会,是数字集成电路广泛应用的社会。数字集成电路本身在不断地进行更新换代。它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路(VLSIC,几万门以上)以及许多具有特定功能的专用集成电路。但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。 早期的可编程逻辑器件只有可编程只读存储器(PROM)、紫外线可擦除只读存储器(EPROM)和电可擦除只读存储器(EEPROM)三种。由于结构的限制,它们只能完成简单的数字逻辑功能。其后,出现了一类结构上较复杂的可编程芯片,即可编程逻辑器件(PLD),它能够完成各种数字逻辑功能。典型的PLD由一个“与”门和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与一或”表达式来描述,所以, PLD能以乘积和的形式完成大量的组合逻辑功能。这一阶段的产品主要有PAL(可编程阵列逻辑)和GAL(通用阵列逻辑)。 PAL由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输出可以通过触发器有选择地被置为寄存状态。 PAL器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM技术和EEPROM技术。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列(PLA),它也由一个“与”平面和一个“或”平面构成,但是这两个平面的连接关系是可编程的。 PLA器件既有现场可编程的,也有掩膜可编程的。 在PAL的基础上,又发展了一种通用阵列逻辑GAL (Generic Array Logic),如GAL16V8,GAL22V10 等。它采用了EEPROM工艺,实现了电可擦除、电可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,至今仍有许多人使用。 这些早期的PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使它们只能实现规模较小的电路。 为了弥补这一缺陷,20世纪80年代中期。 Altera和Xilinx分别推出了类似于PAL结构的扩展型 CPLD(Complex Programmab1e Logic Device)和与标准门阵列类似的FPGA(Field Programmable Gate Array),它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围广等特点。这两种器件兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。与门阵列等其它ASIC(Application Specific IC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。FPGA(现场可编程门阵列)与 CPLD(复杂可编程逻辑器件)都是可编程逻辑器件,它们是在PAL,GAL等逻辑器件的基础之上发展起来的。同以往的PAL,GAL等相比较,FPGA的规模比较大,它可以替代几十甚至几千块通用IC芯片。这样的FPGA实际上就是一个子系统部件。这种芯片受到世界范围内电子工程设计人员的广泛关注和普遍欢迎。尽管FPGA和其它类型PLD的结构各有其特点和长处,但概括起来,它们是由三大部分组成的:一个二维的逻辑块阵列,构成了PLD器件的逻辑组成核心;输入/输出块;连线资源:由各种长度的连线线段组成,其中也有一些可编程的连接开关,它们用于逻辑块之间、逻辑块与输入/输出块之间的连接。FPGA芯片都是特殊的ASIC芯片,它们除了具有ASIC的特点之外,还具有以下几个优点:(1)随着VLSI(Very Large Scale IC,超大规模集成电路)工艺的不断提高单一芯片内部可以容纳上百万个晶体管,FPGA芯片的规模也越来越大,其单片逻辑门数已达到上百万门,它所能实现的功能也越来越强,同时也可以实现系统集成。(2)FPGA芯片在出厂之前都做过百分之百的测试,不需要设计人员承担投资的风险和费用,设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能设计。所以,FPGA的资金投入小,节省了许多潜在的花费。(3)用户可以反复地编程、擦除、使用或者在外围电路不动的情况下用不同软件就可实现不同的功能。所以,用FPGA 试制样片,能以最快的速度占领市场。 FPGA软件包中有各种输入工具和仿真工具,及版图设计工具和编程器等全线产品,电路设计人员在很短的时间内就可完成电路的输入、编译、优化、仿真,直至最后芯片的制作。 当电路有少量改动时,更能显示出FPGA的优势。电路设计人员使用FPGA进行电路设计时,不需要具备专门的IC(集成电路)深层次的知识, FPGA软件易学易用,可以使设计人员更能集中精力进行电路设计,快速将产品推向市场。2.1.2 VHDL语言介绍VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的。(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL丰富的仿真语句和库函数,使得在任何系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统设计,高速的完成必须有多人甚至多个开发组共同并行工作才能实现的工程。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管最终设计实现的目标器件是什么,而进行独立的设计。2.2总体方案设计,本次设计中高速误码测试系统主要是完成连续的误码测试工作。硬件系统通过Altera Cyclone EP1C3T144C8作为主控制芯片和数据处理芯片,完成连续信号的的发送和接收,通过待测模块,在线测试模块的误码率。图2-1误码检测硬件方案由于在FPGA作为主芯片下,FPGA电源要求和外围电路的电源要求,电源系统的也是设计的重点;另误码测试系统本身通过LED显示和控制按钮独立的完成误码测试功能,这些就要求电路设计中,包含有测试接口的设计,指示电路的设计,通信电路的设计等。2.2误码率测试基本原理根据国际电信联盟电信标准部门 ITU-TG702 建议,比特误码率是通信系统性能最基本的测试,是指在一定的测试时间内,错误码元的数量与总码元数量的比值。表达式为:误码率=误码个数/码元总数串行比特误码率测试仪是一个功能强大的工具,能够分析通信行业中的系统和元器件,是通信以及高速集成电路(ICs)和光子元件设计及故障排除的重要工具。其直观的操作和领先的性能能够帮助设计者快速检测系统性能。串行比特误码率测试仪能够准确记录误码的个数,并分析造成误码的原因。误码率测试仪的工作方式主要有几个步骤:首先,以某种方法产生与发送码组相同的本地码组,本地码组与发送码组相位相同,将本地码组作为比对标准;然后,将本地码组与接收码组逐位进行比较,并输出误码脉冲信号,统计误码脉冲个数,计算最终的误码率。误码测试的基本原理如图所示图2-2 误码测试基本原理图2-2中的被测系统包括调制解调器、传输媒质以及交换设备等,是广义的信道,通过检测误码可以了解整个系统的性能。引起误码的原因不仅是噪声干扰和线路的码间串扰,还有可能是系统的收发设备以及其他部分引起的。由图2-2知,码型发生器和误码检测器是误码测试仪的发送和接收部分。码型发生器的功能是产生测试需要的各种序列,然后发送到被测设备,在发送的同时,可以插入一定的误码到发送码中。发送部分所产生的测试码必须是标准的测试信号,能够很好的代替实际线路中的数据。接收部分接收被测系统发送回来的数据并进行预处理。误码检测器的作用是产生与发送端相同的本地数据,在接收被测系统发送回来的数据的同时启动本地信号进行比对,并统计相应的误码。其比较方法是将码元进行逐位比对,逐位比对过程如图2-3所示。图2-3 逐位比对过程由图2-3可知,采用异或门对接收序列和测试仪产生的本地序列进行比对,如果两序列相同,异或门输出“0”,如果不同,异或门输出“1”,同时记录1个误码。本设计将采用逐位比较的方式,将接收到的数据首先存入寄存器中,然后通过接收数据提取出同步信号,控制本地数据和接收数据逐位进行比较,并计算相应的误码率。2.3伪随机序列的原理及特点通信系统中,干扰通信质量的一个重要原因就是随机噪声,正因如此,人们很早就关注随机噪声。如果一个信道中具有随机噪声,那么就会使模拟信号的输出产生失真现象,数字信号的解调输出出现误码现象,而且噪声的存在会造成信噪比降低,同时会限制信道的传输容量。对于随机噪声,我们要采取一定的措施消除或使之减小,但我们也试图产生随机噪声,并有效的利用随机噪声的特性,使通信更有效。 香农编码理论提出,在信道容量大于信息速率的条件下,一定存在某种编码方式,如果码周期足够长,就可以将原始的信号从收到的具有高斯噪声干扰的信号中几乎无误的复制出来。香农理论同时指出,在一些特殊的情况下,可以采用具有白噪声统计特性的信号进行编码来提高通信的有效性。白噪声的瞬时值符合正态分布,在较宽的频带范围内其功率谱密度都是均匀的,具有很好的相关特性。 本设计采用离线监测方式,所以测试仪自身必须能够产生测试需要的测试码,不但要求测试数据有很好的随机特性,而且必须便于生成和统计。在通信工程应用中,最常采用的标准伪随机序列模式就是最大线性反馈移位寄存器序列(m序列),它具有很多特性,比如具有能够使模拟数据“0”和“1”保持平衡的能力。较长的序列可以更好地近似随机数据,并使设备测试更严格。这种数据易于产生,可以重复发送并能够进行统计,所以可以用于统计测试当中。当对m序列本身进行比较时,如果序列有错位,那么将得到50%的误码率。伪随机序列中包含较多的长“0”和长“1”串,能够很好地对设备进行压力测试。m序列自相关系数见式(2-1),其中n是m序列的长度。 (2-1)由m序列的自相关系数公式可以看出,m序列具有很好的自相关特性。产生m序列的一般方式是采用线性反馈移位寄存器,通常要求寄存器级数尽量少,而且生成的数据尽可能长。如果反馈移位寄存器有n级,则产生2n-1长度的周期序列。生成m序列的反馈电路有两种形式,分别为Galois和Fibonacci线性反馈移位寄存器。Galois和Fibonacci线性反馈移位寄存器原理如图2-4和2-5所示。图2-4 Galois 原理图图2-5 Fibonacci原理图其中Ci (i=1,2,n)表示每一级的反馈系数,如果Ci=1说明该寄存器有参与反馈;如果Ci=0说明该级寄存器没有参与反馈。保证C0和Cn不等于0,如果C0=0就表示移位寄存器没有反馈,如果Cn=0就表示寄存器变为n-1级或者是更少级的反馈移位寄存器。 Galois形式每两个移位寄存器内进行异或操作,这就使得在节点增多的情况下,序列的生成速度不会降低。 Fibonacci方式在寄存器外进行异或操作,节点少时,会提高反馈速度,主要是序列同步比较简单。 上述反馈移位寄存器是线性递归函数,一旦确定反馈系数和级数之后,就确定了输出序列的周期和组成方式。m序列的一个重要特点就是任意一个m序列的循环位移同样是一个m序列。反馈移位寄存器的级数n不同,则m序列的反馈系数也不同,对于m序列最重要的是要确定移位寄存器的连接方式。分析两种形式的反馈移位寄存器,本设计采用Fibonacci反馈移位寄存器生成m序列。2.4硬件电路设计方案选择高速误码测试系统的设计在现阶段有很多的实现方式,传统的误码测试是基于软件模拟,检测相当耗时,不适合目前高速数字通信系统性能,甚至更高速率的测试。传统的误码测试方案实现主要以软件方式,或者FPGA和单片机,再者FPGA和外部高速并串芯片实现,要么速率达不到要求,要么实现起来电路设计或逻辑设计庞大。现今FPGA芯片的的高速发展,采用FPGA作为系统的核心控制器件。将物理层上的各协议层的功能集中到FPGA内部实现,提高了系统的集成度,同时也减少了硬件和软件设计的复杂度。基于FPGA为核心的误码测试系统设计方案,现阶段FPGA芯片的的高速发展,系统具有高集成度和可扩展性,并可以随时升级,因此,采用FPGA进行误码测试系统硬件设计成为最佳选择。本误码测试系统需要内部数据并串获得更高的速率,并且通过外围电路控制完成数据发送与接收,数据通过外部测试设备,达到仪器本身接收端与目标码比对完成误码测试的功能。在配置 FPGA 时,能够创建一个用作软件用途的硬件,同时采用这种方式进行连接。随着先进工具的不断出现,系统设计者创建 FPGA 的速度也变得越来越快,而且能够轻易地将它应用到各种场合。FPGA 不同于处理器,它运用专用逻辑处理硬件,不需要操作系统。由于 FPGA 采用的是平行的处理路径的方式,所以即使存在不同的操作也不会在相同的处理资源上相互争夺,这就明显使处理速度大大提高,如果要在不同速率下同时运行多个控制回路,采用一个 FPGA 设备就可以实现。而且 FPGA 的可重构性,使设计的灵活性大大提高。3.功能设计本章具体介绍误码率测试仪的基本功能的设计方法以及各部分的具体电路设计。主要包括 FPGA 内部的码型发生单元,误码插入单元、误码检测单元,同步单元,误码计数单元,模拟信道单元和显示单元组成。3.1基本功能设计本节将介绍各个功能模块的功能和实现的核心代码等。3.1.1伪随机码型发生单元设计码型发生单元主要描述的是伪随机序列产生模块,伪随机序列产生有两种方式:串行和并行。本节主要研究串行伪随机序列的产生方法,编写伪随机序列的产生代码。(1)串行 m 序列生成模块串行方式生成的m序列可以用于低速测试,在低速测试时,将测试数据通过接口直接发送到被测设备,不需要经过高速收发器进行转换。本设计采用线性反馈移位寄存器的方式设计m序列生成电路。在设计m序列时,关键是首先要确定寄存器的反馈方式,根据m序列本原多项式确定本设计的不同长度伪随机序列。移位寄存器的连接方式见表3-1。表3-1 移位寄存器连接方式以27-1伪随机序列为例,介绍串行m序列的生成方法。由表3-1可知,27-1伪随机序列的本原多项式为f ( x)=1+x6+x7,表示寄存器的第七级和第六级参与反馈,其VHDL核心代码如下:3.1.2误码插入单元误码插入单元主要实现在发送码中插入一定的误码,可以实现单一误码插入或者是插入一定比例的误码,插入一个误码的原理主要是对一个正确的码元取反,就是在随机序列产生模块的输出端设计一个取反电路,当选择插入一个误码时,取反电路开始工作,插入一个误码。 也可以在发从的码中插入一定比例的误码,其VHDL核心代码如下:process(clk)beginif rising_edge(clk)then case cnt_m is-取反12位when 11 =m_om_om_om_om_om_om_om_om_om_om_om_om_o=m_i;end case;end if;end process;3.1.3误码检测单元设计误码检测单元及误码统计模块集成在一个模块里。同步信号提取及状态检测是误码统计的前提,该部分将在接下来进行介绍。误码统计模块统计误码个数。本节主要设计误码检测单元的各部分逻辑模块。下面是本模块的核心代码。process(clk,rst,start)beginif rst=0thenm=0;cnt=1;elsif rising_edge(clk)thenif start=0 thenm=0;cnt=255 then-循环255个时钟周期内,对比接收和本地M序列,统计误码数err_cnt=m;cnt=1;m=0;elsecnt=cnt+1;end if;if m_1 /= m_loc then-对比不相同,误码数+1m=m+1;end if;end if;end if;end process;3.1.4同步模块在接收端,要产生与发送端相同的 m 序列,然后进行两列数据的对比统计,这就要求两列数据具有相同的时钟控制,以保证数据相位的一致性和状态的一致性。在串行测试时,采用数字锁相环的方式提取出同步信号,同步信号同时控制本地 m 序列生成模块以及误码检测的其他模块工作。本模块采用了状态机进行功能实现,其状态转移图如下图3-1 状态关系转移图在该模块中,st0为初始状态,对收到的一串码和本地产生的伪随机码进行比对,如果连续的7个码中误码数不超过3个就认为本地的码和接受到的码已经同步,可以进行误码计数。St1的功能是比对本地和接收到的码,对其进行计数,用于st2判断误码的个数,st3是本地码和接收码未同步,对本地码进行暂停一个周期,加快对同步的检测。3.1.5显示模块该显示模块是对255个时钟周期内的误码个数进行显示,通过部分使用的是8段数码管,显示的有效值是误码的个数。该核心代码包括数码管的扫描,有效位数的提取等核心程序。其代码如下process(clk)variable m: integer range 0 to 24999;begin if rising_edge(clk)then-产生数码管显示使能跳转时钟if m=24999 then m:=0;clk_1k=not clk_1k;elsem:=m+1;end if;end if;end process;-process(clk,rst,err_cnt)beginif rst=0thend3=0;d2=0;d1=0;err=100 thenerr=err-100;d3=10 thenerr=err-10;d2=d2+1;else-err=err_cnt;d1=err;end if;end if;end if;end process;-process(clk_1k)beginif rising_edge(clk_1k)thenif cnt=3 thencnt=1;elsecnt scan=011; data scan=101; data scan=110; data null; end case;end if;end process;-process(data)begincase data is when 0=segsegsegsegsegsegsegsegsegsegnull; end case;end process;3.1.6模拟信道模块本模块是为了验证设计的误码测试仪的正确性而设计的验证单元,其主要功能是模仿实际信道,对传输的码中加入一定的误码,然后将生成的序列发送给接收部分。其误码的加入调用了前面的误码产生模块。其核心代码如下component sim_channel port ( clk : in std_logic;- rst : in std_logic; m_i : in std_logic;-模拟信道M序列输入 cnt_m : in integer; m_o : out std_logic-模拟信道M序列输出 );end component;beginsim_cha : sim_channel port map ( clk,m_i,cnt_m,m_o);3.2 顶层电路的设计设计完成了上述的子模块后,下面将进行顶层点了的设计,顶层设计采用的是VHDL例化方式对子模块进行例化和调用,其核心代码如下为了方便大家了解顶层电路各个模块的链接方式,已将各个子模块生成了symbol,然后也创建了一个原理图,下面贴出来供大家方便的了解该设计的主要思想。图3-2误码检测顶层模块4.功能的仿真和验证4.1仿真验证在上一章节对本误码测试仪的各个模块进行了搭建和编写,本章将进行将各个模块的功能验证和仿真,以及整体的功能和效果。4.1.1伪随机码型发生单元设计在该节对伪随机码的产生进行了仿真。其结果如下图,从图中看的出得到的结果就是我们希望的,所以该部分的功能是正确的,稍后将进行在FPGA中进行验证。如图4-1所示,随着时钟的动作,一定时钟周期以后就产生了伪随机码,产生的七位的伪随机码。从波形中可以得到和我们产生伪随机码的原理产生的码是相同的。图4-1 伪随机码的产生4.1.2误码插入单元和模拟信道模块在图4-2的中我们可以发现,第一列是我们产生的伪随机码,第二列是我们在产生伪随机码的过程中产生的一个计数,用于在模拟信道中产生误码的第多少位。第三列是我们模拟信道输出的码,这个码就是我们模拟通过实际信道产生的误码。从图中我们可以发现一段相同的码后有一个误码,达到了我们预想的效果,功能满足我们的设想。图4-2 误码插入和模拟信道模块的产生4.1.3误码检测单元设计从图4-3中我们可以发现,对误码进行统计的个数为9个,和我们设置的9个是完全吻合的,功能满足需要。图4-3 误码检测单元对误码的计数4.1.4同步模块从图4-4中我们可以得到,当Reset电平为高时,同步模块开始对本地的伪随机序列和模拟信道输出的伪随机码进行同步,同步一段序列后我们就可以看出,基本上两个码序列就同步上了,然后误码计数模块开始计数。图4-4 同步模块4.1.5显示模块从图4-5可以看出,这是我们所需要的数码管扫描时序信号。图4-5显示模块仿真波形4.2整体仿真图下图是误码检测仪的全部模块的整仿波形,波形完全符合我们的设计初衷。图4-6 整体仿真波形4.3FPGA验证将本设计项目进行编译生成编译文件后,通过JTAG接口将文件配置到FPGA开发板中进行验证,其中模拟通道误码的个数改为10个(和上述仿真不同),然后通过拨码开发模拟Reset功能,得到的数码管显示如下图。5.结论设计通过理论论证
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 模板表格


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!