曼彻斯特编码的FPGA设计方案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

曼彻斯特编码的FPGA设计

方案

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设计和实现。

在本次设计中,为了验证电路系统能否顺利完成曼彻斯特码的编解码功能,采取了比软件仿真的验证方式。在该方式中需要使用Verilog HDL语言对系统编译并使用Modelsim进行仿真。

第二章详细介绍了本文所采用的编程语言及仿真软件,介绍了FPGA的原理及开发工具,Quartus Ⅱ的特点及软件开发流程,Modelsim的应用优点。

第三章介绍了曼彻斯特码原理以及编码规则,并详细说明了曼彻斯特编解码系统的总体结构。论述了曼彻斯特编解码实现的系统方案。

第四章介绍了利用Verilog HDL语言对系统的功能的实现。

第五章论述了利用Quartus Ⅱ对系统软件的调试和编译以及Modelsim软件对系统的仿真。

第六章是对本次设计的小结和展望。

2. 开发工具及仿真软件

2.1 FPGA原理

FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点[8]。

FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output

Block)和内部连线(Interconnect)三个部分,如图2.1。

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.2 QuartusⅡ

2.2.1 QuartusⅡ系统的特点

Alter推出的QuartusⅡ软件为用户提供完整的多平台设计环境,不但能够直接满足特定设计的需要,而且为可编程芯片系统提供全面的设计环境。QuartusⅡ软件提供CPLD和FPGA设计所有阶段的解决方案[10]。

QuartusⅡ系统的特点:

·基于模块的设计方法。Alter专门为QuartusⅡ软件提供了LogicLock基于模块的设计方法,这有利于用户独立完成设计以及实施各种设计模块,而且在不改变各个模块的性能前提下可以将模块集成到顶层工程。因为每一个模块仅需要一次优化,所以设计流程可以显著缩短,大大提高设计效率。

相关文档
最新文档