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

上传人:b****6 文档编号:2773746 上传时间:2022-11-15 格式:DOCX 页数:44 大小:626.84KB
下载 相关 举报
曼彻斯特编码的FPGA设计方案.docx_第1页
第1页 / 共44页
曼彻斯特编码的FPGA设计方案.docx_第2页
第2页 / 共44页
曼彻斯特编码的FPGA设计方案.docx_第3页
第3页 / 共44页
曼彻斯特编码的FPGA设计方案.docx_第4页
第4页 / 共44页
曼彻斯特编码的FPGA设计方案.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

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

《曼彻斯特编码的FPGA设计方案.docx》由会员分享,可在线阅读,更多相关《曼彻斯特编码的FPGA设计方案.docx(44页珍藏版)》请在冰豆网上搜索。

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

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

曼彻斯特编码的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设计和实现。

在本次设计中,为了验证电路系统能否顺利完成曼彻斯特码的编解码功能,采取了比软件仿真的验证方式。

在该方式中需要使用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。

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器件、外的虚拟连接。

●仿真

仿真分为功能仿真和时序仿真。

功能仿真验证电路功能是否符合设计要求;时序仿真包含了延时信息,能较好反映芯片的工作情况。

●编程和配置

成功编译后,将生成的编程文件下载到目标FPGA系统中调试;调试成功后,烧写到FPGA的配置芯片中。

图2.2为软件开发流程。

 

无错

无错

建立项目文件

建立设计文件

选芯片,映射管脚

编译下载

文本输入

原理图输入

软件仿真

编译

有错

有错

有错

判断输

入方法

判断是

否有错

判断是

否有错

 

 

 

实验成功

图2.2软件开发流程

2.2.3QuartusⅡ的仿真

仿真分为功能仿真和时序仿真。

通常,功能仿真用于验证电路的功能是否正确。

本次设计主要是在quartusⅡ软件中进行功能仿真验证。

仿真的一般步骤如下:

●新建波形编辑文件;

●设置仿真时间区域;

●保存文件;

●导入欲观察的信号节点;

●编辑激励信号;

●设置数据格式;

●设置仿真器参数;

●启动仿真和观察仿真结果。

2.3Modelsim

Modelsim软件是Mentor公司推出的一款仿真软件,到目前为止,被认为是比较优秀的语言仿真器之一[12]。

Modelsim软件提供最友好的仿真环境,是FPGA设计的门级以及RTL级电路仿真的首选。

Modelsim软件支持UNUX、UNIX和PC平台,是唯一的一个单一核支持Verilog和VHDL混合仿真的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 书信模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1