曼彻斯特码编解码的FPGA设计与实现.docx
- 文档编号:7038245
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:53
- 大小:775.47KB
曼彻斯特码编解码的FPGA设计与实现.docx
《曼彻斯特码编解码的FPGA设计与实现.docx》由会员分享,可在线阅读,更多相关《曼彻斯特码编解码的FPGA设计与实现.docx(53页珍藏版)》请在冰豆网上搜索。
曼彻斯特码编解码的FPGA设计与实现
武汉理工大学
本科生毕业设计(论文)开题报告
1、目的及意义(含国内外的研究现状分析)
1.1目的和意义:
曼彻斯特编码是一种自同步的编码方式,即时钟同步信号就隐藏在数据波形中。
在曼彻斯特编码中,每一位的中间有一跳变,位中间的跳变既作时钟信号,又作数据信号;从高到低跳变表示"1",从低到高跳变表示"0"。
还有一种是差分曼彻斯特编码,每位中间的跳变仅提供时钟定时,而用每位开始时有无跳变表示"0"或"1",有跳变为"0",无跳变为"1"。
在曼彻斯特编码中,用电压跳变的相位不同来区分1和0,即用正的电压跳变表示0,用负的电压跳变表示1。
因此,这种编码也称为相应编码。
由于跳变都发生在每一个码元的中间,接收端可以方便地利用它作为位同步时钟。
由于技术的发展,现代通信体现出了越来越高的要求:
1.能有效实现各子系统之间的数据传输,且满足特定的通信特性;2.通信子系统相对独立地工作,对应用软件尽可能透明,且占用主机的时间尽可能少;3.通信系统灵活,易于修改;4.通信子系统具有较强的抗干扰能力。
在数据通信领域,开发一个数据通信系统,选择一种好的数据编码方式是非常重要的,关系到整个系统的可行性、稳定性、通信质量以及以后系统的工作效率等方面。
如何实现开发出更高可行性、可靠性及稳定性的通信系统,这正是研究曼彻斯特码的目的和意义所在。
1.2研究现状
曼彻斯特码采用跳变沿来表示0或1,与二进制码相比,具有如下优点:
1.波形在每一位元中间都有跳变,因此具有丰富的定时信息,便于接收端提取定时信号。
若采用二进制传输,当出现连续的0或1时,则无法区分两位元之间的边界;2.由于曼彻斯特码在每一位元中都有电平的转变,因此,传输时无直流分量,可降低系统的功耗。
而对于二进制波形,当出现连续的1时,将有直流分量的产生;3.曼彻斯特码传输方式非常适合于多路数据的快速切换。
所以曼彻斯特码在许多领域得到广泛的应用,如电信业,工业控制,车辆总线,石油勘测探井等。
1.2.1在电信业的应用
在电信领域,曼彻斯特码是一种数据通讯线性码,它的每一个数据比特都是由至少一次电压转换的形式所表示的,曼彻斯特编码因此被认为是一种自定时码。
自定时意味着数据流的精确同步是可行的。
每一个比特都准确的在一预先定义时间时期的时间中被传送。
曼彻斯特编码已经被许多高效率且被广泛使用的电信标准所采用。
曼彻斯特码的一个最常见的使用是在Xerox、DEC和Intel公司共同开发的“以太”本地数据传输网络(Ethernet)中采用数字双向码作为线路传输码型。
以太网的数据传输,IEEE802.3规定必须用曼彻斯特编码进行。
1.2.2在工业控制中的应用
在工业现场控制网络中,曼彻斯特码由于编码方式简单易行、无直流分量,且含有丰富的时钟信息,常被用作高速基带数据传输。
曼彻斯特编码已经广泛应用在数控测井和无线监控等领域。
1.2.3在车辆总线中的应用
随着嵌入式微机控制技术和现场总线技术的飞速发展,线代列车的运转过程控制已从过去的集中数字控制系统发展成为先进的基于网络的分布式控制系统。
基于分布式控制系统的MV(多功能车辆控制总线)是IEC61375-1(1999)TCN(列车数据通信网络国际标准)的推荐方案,它与WTB(绞线式列车控制总线)构成的列车总线具有可靠性高、实时性强的特点。
而其数据传输过程就是采用的曼彻斯特码进行编解码。
1.2.4在石油勘测探井中的应用
在油田测井中,井下仪在井下采集大量信息,并传送给地面测井系统;但井下仪到地面这段信道的传输性能并不好,常用的NRZ码不适合在这样的信道里传输,而且NRZ码含有丰富的直流分量,容易引起滚筒的磁化,因而选用了另外一种编码--曼彻斯特码。
曼彻斯特编码是串行数据传输的一种重要的编码方式和最常用的NRZ码相比,曼彻斯特码具有很多优点。
例如:
消除了NRZ码的直流成分,具有时钟恢复和更好的抗干扰性能,这使它更适合于信道传输。
目前,在实际的工程测井中,常采用曼彻斯特编译码器(6408、6904)把测井数据转换为曼彻斯特码及把曼彻斯特码解码为数据。
2、基本内容和技术方案
2.1基本内容
在曼彻斯特编码中,每一位的中间有一个跳变,位中间的跳变既作时钟信号,又作数据信号。
从高到低跳变表示“0”,从低到高跳变表示“1”。
从曼彻斯特码的特点可以看出曼彻斯特码是一种自同步码源,且没有直流分量,因此抗干扰能力强。
但其缺点是编码后每一个码元都被调成2个电平,所以数据传输速率只有调制速率的1/2,曼彻斯特信号编码所要求的带宽相比异步通讯要高一倍,并且其频谱也更宽。
本项目主要研究曼彻斯特码编码器的硬件设计和实现。
为了能顺利完成曼彻斯特码的编解码任务,实现数据传输它应该包括这样几个部分:
编码电路,解码电路,以及同步信号提取电路。
2.2技术方案
曼彻斯特编解码电路由两个个部分组成,分别是编码电路模块,解码电路模块。
编码电路模块提供时钟源,并且对输入的待传送原码进行编码,将其转换成曼彻斯特码并发送。
逻辑框图如下:
解码电路模块用则是将接收到的曼彻斯特码整形后利用同步时钟提取电路模块提供的同步信号把它转换成原码输出。
逻辑框图如下:
两个相对独立的模块相互协同工作共同完成曼彻斯特编解码工作,同时相互独立的模块结构有利于查找电路中存在的问题,便于维护。
3、进度安排
第1-3周:
查阅相关参考文献,撰写开题报告。
第4-5周:
学习相关知识,熟悉曼彻斯特编码器原理。
第6-7周:
学习Verilog语言及Modelsim软件的应用。
第8-10周:
根据系统框架确定设计方案。
第11-14周:
系统软硬件方案设计实现与测试。
第15-17周:
撰写并修改毕业论文,准备进行毕业答辩。
4、指导教师意见
指导教师签名:
年月日
摘要
曼彻斯特码采用跳变沿来表示0或1,与二进制码相比,具有如下优点:
1.具有丰富的定时信息,便于接收端提取定时信号;2.传输时无直流分量,可降低系统的功耗;3.曼彻斯特码传输方式非常适合于多路数据的快速切换。
在数据通信领域,开发一个数据通信系统,选择一种好的数据编码方式是非常重要的,关系到整个系统的可行性、稳定性、通信质量以及以后系统的工作效率等方面。
如何实现开发出更高可行性、可靠性及稳定性的通信系统,这正是研究曼彻斯特码的目的和意义所在。
作者主要的研究工作如下:
1、对选题的背景和意义做了阐述,介绍了曼彻斯特编解码在国内外的研究现状以及应用范围。
2、对开发环境FPGA以及应用的编程软件QuratusⅡ和仿真软件Modelsim做了相应的介绍。
阐述了他们的主要特点以及软件的使用方法和仿真流程。
3、论述了曼彻斯特码的原理,介绍了其编码规则,即:
用下降沿表示“1”,用上升沿表示“0”。
然后说明了用此种方式编码的优点:
没有直流分量从而损耗小,并且有着丰富的时钟信息,非常适合于多路数据的快速切换。
4、根据项目需要,结合通信中线路编码与位同步的相关知识,设计了基于FPGA的曼彻斯特码编解码器。
本次设计主要包括两大部分,曼彻斯特编码器,曼彻斯特解码器。
其中曼彻斯特编码器还包括一个串并转换模块和编码模块,同样的,曼彻斯特解码器也含有一个解码模块和一个并串转换器。
5.使用VerilogHDL语言,编写编解码的各个模块,并使用QuartusⅡ进行软件的调试和编译,最后通过Modelsim实现了功能仿真。
关键词:
曼彻斯特码FPGAVerilogModelSim
Abstract
Manchestercodehoppingalongrepresents0or1,ascomparedwiththebinarycodehasthefollowingadvantages:
1.Waveforminthemiddleofeachbittransition,andthereforehasawealthoftiminginformation,theconvenienceofretrievingthetimingsignal.Binarytransmission,whenthecontinuous0or1,cannotdistinguishbetweenthetwobetweentheboundary;2duetotheManchestercodeeachbithasalevelshift,therefore,whentransmittingnoDCcomponent,canreducethepowerconsumptionofthesystem.Forbinarywaveform,theWhenappearconsecutive1,thegenerationoftheDCcomponent;3.Manchestercodetransmissionmethodisverysuitableforfastswitchingofthemultiplexeddata.Manchestercodeiswidelyusedinmanyfields,suchastelecommunications,industrialcontrol,vehiclebus,oilexplorationexploratorywell.
Themaintaskoftheresearchareasfollows:
1.Thebackgroundandsignificancearedescribedinthispaper,andthepaperdescribedtheManchesterencodinganddecodingresearchstatusathomeandabroadaswellasapplications.
2.MadeAcorrespondingdescriptionofFPGAasthedevelopmentenvironment,theprogrammingsoftwareQuratusⅡandthesimulationsoftwareModelsim.Describedtheirmaincharacteristicsandthewayofusingthesoftwareandtheirsimulationprocesses.
3.DiscussedtheprincipleofManchestercode,introducedthecodingrules,thatis:
afallingedgeindicates"1"whiletherisingedgeindicates"0".Andthendescribedtheadvantagesofcodinginthismanner:
noDCcomponentandthusloss,andhasawealthofclockinformation,ideallysuitedformulti-channeldatafastswitching.
4.Basedontheneedsoftheproject,combinedwiththecommunicationlinecodingandbitsynchronizationknowledgetodiscussthedesignandFPGADesignandImplementationoftheManchester-basedcodecodec.Thedesignincludedtwoparts,Manchesterencoder,Manchesterdecoder.Manchesterencodercomprisedastringandconversionmoduleandencodingmodule,thesame,Manchesterdecoderalsoincludedadecodingmoduleandaparallel-serialconverter.
5.UsingVerilogHDLlanguage,writingacodecofthevariousmodulesandusetheQuartusⅡforsoftwaredebuggingandcompiling,andfinallyachievedthroughModelsimfunctionalsimulation.
Keywords:
ManchestercodeFPGAVerilogModelSim
1绪论
1.1背景及目的意义
曼彻斯特编码是一种自同步的编码方式,即时钟同步信号就隐藏在数据波形中。
在曼彻斯特编码中,每一位的中间有一跳变,位中间的跳变既作时钟信号,又作数据信号;从高到低跳变表示"1",从低到高跳变表示"0"。
还有一种是差分曼彻斯特编码,每位中间的跳变仅提供时钟定时,而用每位开始时有无跳变表示"0"或"1",有跳变为"0",无跳变为"1"。
在曼彻斯特编码中,用电压跳变的相位不同来区分1和0,即用正的电压跳变表示0,用负的电压跳变表示1。
因此,这种编码也称为相应编码。
由于跳变都发生在每一个码元的中间,接收端可以方便地利用它作为位同步时钟[1]。
由于技术的发展,现代通信体现出了越来越高的要求:
1.能有效实现各子系统之间的数据传输,且满足特定的通信特性;2.通信子系统相对独立地工作,对应用软件尽可能透明,且占用主机的时间尽可能少;3.通信系统灵活,易于修改;4.通信子系统具有较强的抗干扰能力。
在数据通信领域,开发一个数据通信系统,选择一种好的数据编码方式是非常重要的,关系到整个系统的可行性、稳定性、通信质量以及以后系统的工作效率等方面。
如何实现开发出更高可行性、可靠性及稳定性的通信系统,这正是研究曼彻斯特码的目的和意义所在。
1.2国内外研究现状
曼彻斯特码采用跳变沿来表示0或1,与二进制码相比,具有如下优点:
1.波形在每一位元中间都有跳变,因此具有丰富的定时信息,便于接收端提取定时信号。
若采用二进制传输,当出现连续的0或1时,则无法区分两位元之间的边界;2.由于曼彻斯特码在每一位元中都有电平的转变,因此,传输时无直流分量,可降低系统的功耗。
而对于二进制波形,当出现连续的1时,将有直流分量的产生;3.曼彻斯特码传输方式非常适合于多路数据的快速切换。
所以曼彻斯特码在许多领域得到广泛的应用,如电信业,工业控制,车辆总线,石油勘测探井等[1]。
1.2.1在电信业的应用
在电信领域,曼彻斯特码是一种数据通讯线性码,它的每一个数据比特都是由至少一次电压转换的形式所表示的,曼彻斯特编码因此被认为是一种自定时码。
自定时意味着数据流的精确同步是可行的。
每一个比特都准确的在一预先定义时间时期的时间中被传送。
曼彻斯特编码已经被许多高效率且被广泛使用的电信标准所采用[2]。
曼彻斯特码的一个最常见的使用是在Xerox、DEC和Intel公司共同开发的“以太”本地数据传输网络(Ethernet)中采用数字双向码作为线路传输码型。
以太网的数据传输,IEEE802.3规定必须用曼彻斯特编码进行[3]。
1.2.2在工业控制中的应用
在工业现场控制网络中,曼彻斯特码由于编码方式简单易行、无直流分量,且含有丰富的时钟信息,常被用作高速基带数据传输。
曼彻斯特编码已经广泛应用在数控测井和无线监控等领域[4]。
1.2.3在车辆总线中的应用
随着嵌入式微机控制技术和现场总线技术的飞速发展,线代列车的运转过程控制已从过去的集中数字控制系统发展成为先进的基于网络的分布式控制系统[4]。
基于分布式控制系统的MV(多功能车辆控制总线)是IEC61375-1(1999)TCN(列车数据通信网络国际标准)的推荐方案,它与WTB(绞线式列车控制总线)构成的列车总线具有可靠性高、实时性强的特点。
而其数据传输过程就是采用的曼彻斯特码进行编解码[5]。
1.2.4在石油勘测探井中的应用
在油田测井中,井下仪在井下采集大量信息,并传送给地面测井系统[6];但井下仪到地面这段信道的传输性能并不好,常用的NRZ码不适合在这样的信道里传输,而且NRZ码含有丰富的直流分量,容易引起滚筒的磁化,因而选用了另外一种编码--曼彻斯特码。
曼彻斯特编码是串行数据传输的一种重要的编码方式和最常用的NRZ码相比,曼彻斯特码具有很多优点。
例如:
消除了NRZ码的直流成分,具有时钟恢复和更好的抗干扰性能,这使它更适合于信道传输。
目前,在实际的工程测井中,常采用曼彻斯特编译码器(6408、6904)把测井数据转换为曼彻斯特码及把曼彻斯特码解码为数据[7]。
1.3项目研究内容及组织结构
本项目主要研究曼彻斯特码编码器的FPGA设计和实现。
在本次设计中,为了验证电路系统能否顺利完成曼彻斯特码的编解码功能,采取了比软件仿真的验证方式。
在该方式中需要使用VerilogHDL语言对系统编译并使用Modelsim进行仿真。
第二章详细介绍了本文所采用的编程语言及仿真软件,介绍了FPGA的原理及开发工具,QuartusⅡ的特点及软件开发流程,Modelsim的应用优点。
第三章介绍了曼彻斯特码原理以及编码规则,并详细说明了曼彻斯特编解码系统的总体结构。
论述了曼彻斯特编解码实现的系统方案。
第四章介绍了利用VerilogHDL语言对系统的功能的实现。
第五章论述了利用QuartusⅡ对系统软件的调试和编译以及Modelsim软件对系统的仿真。
第六章是对本次设计的小结和展望。
2.开发工具及仿真软件
2.1FPGA原理
FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点[8]。
FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分,如图2.1。
图2.1FPGA的基本结构
FPGA的基本特点主要有:
1.采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。
2.FPGA可做其它全定制或半定制ASIC电路的中试样片。
3.FPGA内部有丰富的触发器和I/O引脚。
4.FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5.FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
目前FPGA的品种很多,有XILINX公司的Virtex系列、TI公司的TPC系列、ALTERA公司的Stratix系列等。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。
用户可以根据不同的配置模式,采用不同的编程方式。
加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。
掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。
FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。
当需要修改FPGA功能时,只需换一片EPROM即可。
这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。
因此,FPGA的使用非常灵活。
FPGA提供了一种“自顶向下"的全新的设计方法。
这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计,在图表级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统级进行验证。
然后用综合优化工具生成具体门电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。
由于设计的主要仿真和调试过程是在高层次上完成的,这不仅有利予早期发现结构设计上的错误,避免设计工作的浪费,而且也减少了逻辑功能仿真的工作量,提高了设计的一次成功率[9]。
2.2QuartusⅡ
2.2.1QuartusⅡ系统的特点
Alter推出的QuartusⅡ软件为用户提供完整的多平台设计环境,不但能够直接满足特定设计的需要,而且为可编程芯片系统提供全面的设计环境。
QuartusⅡ软件提供CPLD和FPGA设计所有阶段的解决方案[10]。
QuartusⅡ系统的特点:
·基于模块的设计方法。
Alter专门为QuartusⅡ软件提供了LogicLock基于模块的设计方法,这有利于用户独立完成设计以及实施各种设计模块,而且在不改变各个模块的性能前提下可以将模块集成到顶层工程。
因为每一个模块仅需要一次优化,所以设计流程可以显著缩短,大大提高设计效率。
·更快集成IP。
QuartusⅡ软件里包含了SOPCBuilder工具。
SOPCBuilder工具针对可编程系统可以自动完成IP核的添加和参数设置,以及连接等操作。
这里IP核包括嵌入式处理器、存储器、外设以及协处理器等。
这样就把原先系统集成工作中的时间节省出来,设计人员就能在短时间内将概念转化为运行的系统。
·在设计周期的早期对1/0引脚进行分配以及确认。
无论顶层设计是否完成,QuartusⅡ软件都可以进行1/0引脚的分配和验证操作,这样印刷电路板的布线设计工作就可以尽早进行。
同时,设计人员可以随时根据修改引脚的分配,不需要进行专门的设计编译。
·存储器编译器。
QuartusⅡ软件有存储器编译器功能,这样用户就可以对FPGA中的嵌入式存储器进行有效管理。
·支持FPGA、CPLD以及基于HardCopy的ASIC。
2.2.2QuartusII下的FPGA设计
QuartusII为硬件电路的设计提供了很大的方便。
FPGA之所以能够广泛应用于电路设计中,就是因为它们有使用相当方便的开发软件工具包,通过编程工具和软件的配合使用,对器件芯片可以进行流畅的开发、校验。
FPGA特别适用于正向设计,即从电路原理图或各种硬件描述语言到芯片成品的设计,在这些设计流程中,设计人员对特别底层的硬件知识并不需要特别的了解和掌握,完全可以从功能应用出发,根据任务需求,自顶向下地进行电路设计。
下面我们来看看FPGA的设计流程,QuartusII环境下的FPGA设计过程主要包括5个步骤[11]:
●设计输入
运用电路原理图输入、HDL文本输入等方式,表达设计思想,指定所用HIGA器件的型号,分配其外部管脚。
●综合
将原理图、HDL语言等设计输入翻译成由基本电路逻辑单元组成的连接网表,供布局布线器进行实现。
●布局布线
根据连接网表文件,进行布局布线的分析和优化,完成FPGA器件内、外的虚拟连接。
●仿真
仿真分为功能仿真和时序仿真。
功能仿真验证电路功能是否符合设计要求;时序仿真包含了延时信息,能较好反映芯片的工作情况。
●编程和配置
成功编译后,将生
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 曼彻斯特 解码 FPGA 设计 实现