基于FPGA的FSK数字调制毕业设计.docx

上传人:b****6 文档编号:8833778 上传时间:2023-02-02 格式:DOCX 页数:34 大小:523.99KB
下载 相关 举报
基于FPGA的FSK数字调制毕业设计.docx_第1页
第1页 / 共34页
基于FPGA的FSK数字调制毕业设计.docx_第2页
第2页 / 共34页
基于FPGA的FSK数字调制毕业设计.docx_第3页
第3页 / 共34页
基于FPGA的FSK数字调制毕业设计.docx_第4页
第4页 / 共34页
基于FPGA的FSK数字调制毕业设计.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

基于FPGA的FSK数字调制毕业设计.docx

《基于FPGA的FSK数字调制毕业设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA的FSK数字调制毕业设计.docx(34页珍藏版)》请在冰豆网上搜索。

基于FPGA的FSK数字调制毕业设计.docx

基于FPGA的FSK数字调制毕业设计

摘要

在通信领域尤其是无线通信方面,随着技术不断更新和新标准的发布,设计者需要一个高速通用硬件平台来实现并验证自己的通信系统和相关算法。

FPGA(现场可编程门阵列)作为一种大规模可编程逻辑器件,体系结构和逻辑单元灵活、集成度高、适用范围宽,并且设计开发周期短、设计制造成本低、开发工具先进并可实时在线检验,广泛应用于产品的原型设计和产品生产。

与传统的DSP(数字信号处理器)或GPP(通用处理器)相比,FPGA在某些信号处理任务中表现出非常强的性能,具有高吞吐率、架构和算法灵活、并行计算、分配存储以及动态配置等优势,因此非常适合用于设计验证高速通信系统的基带处理部分。

基于FPGA的通信系统基带设计验证平台采用大容量、高性能的FPGA器件,为通信系统的基带设计提供了一个有效的硬件实现平台。

基于FPGA的实现和验证与计算机仿真相结合,将大大加速通信系统基带部分的快速原型设计,极大地方便了对实时性和运算量有较高要求的各类算法的验证。

本论文主要是基于FPGA,通过数字调制(FSK)调制,再由曼彻斯特编码加密,最后再在Quartus

上仿真,目的是将一组信号数据发送出去。

关键词:

FPGA,FSK,曼彻斯特编码,Quartus

Abstract

Incommunications,especiallythewirelesscommunicationtechnology,alongwiththeunceasingrenewalandthenewstandard,designersneedahigh-speedgeneralhardwareplatformtorealizeandverifytheircommunicationsystemandrelatedalgorithm.TheFPGA(fieldprogrammablegatesarray)asalarge-scaleprogrammablelogicdevices,thesystemstructureandlogicunit,flexible,integration,andwideapplicationscopeofshortdevelopmentcycle,designandmanufactureoflowcost,developmenttoolsandon-lineinspectioncanbeadvanced,theproductiswidelyappliedintheprototypedesignandproduction.

AndthetraditionofDSP(digitalsignalprocessor)orGPP(gm),FPGAprocessorinsomesignalprocessingtasksshowsverystrongperformance,highthroughput,architectureandalgorithm,parallelcomputingandstorageanddistributionofthedynamicconfigurationadvantages,thereforeisverysuitableforhigh-speedcommunicationsystemdesignverificationprocessingparts.Baseband

ThecommunicationssystembasedonFPGAbasebanddesignverificationplatformusingthelargecapacityandhighperformanceFPGAdeviceforcommunicationsystem,thebasebanddesignprovidesaneffectiverealizationofhardwareplatform.BasedonFPGAandvalidationandcomputersimulationcombiningcommunicationsystemwillbegreatlyaccelerated,rapidprototypingdesignpartbaseband,greatplaceforreal-timecomputationandshowthealgorithmhashigherrequirementofthevalidation.

ThispaperismainlybasedonFPGAdigitalmodulation(by)modulation,againbyFSKcodeencrypted,finallytoManchesterinthesimulation,thepurposeisQuartusIIwillsendoutasignaldata.

Keywords:

FPGA,FSK,Manchestercoding,Quartus

1绪论

1.1课题背景

从1837年莫尔斯发明电报算起,一个世纪以来,通信的发展大致经历了三大阶段:

以1837年发明电报(莫尔斯电码)为标志的通信初级阶段;以1948年香农提出的信息论开始的近代通信阶段;以20世纪70年代出现的光纤通信为代表的和以综合业务数字网迅速崛起为标志的现代通信阶段。

光纤通信技术、卫星通信技术和移动通信技术成为现代通信技术的三大主要发展方向。

专用集成电路(ASIC)即特定的电子电路和系统(包括模拟、数字与数模混合电路)的设计与制造,在发达国家已经完成了由传统模式向现代化设计模式的转变,即完成了向电子线路与系统功能设计的转变。

通过软件开发工具完成硬件电路的设计,近年来在国内也已经逐渐开展起来,并引进了一些国外的先进设计技术在各种新型电子设备和采用电子线路的设备中广泛使用。

其中,由于“现场可编程门阵列”(FPGA)设计灵活、速度快,在数字专用集成电路的设计中得到更为广泛的使用。

复杂可编程逻辑器件(CPLD)/现场可编程门阵列(FPGA)器件集成度高、体积小,具有通过用户编程实现专门应用的功能。

它允许电路设计者利用基于计算机的开发平台,经过设计输入、仿真、测试和校验,知道达到预期的结果。

使用CPLD/FPGA器件可以大大缩短系统的研制周期,减少资金投入。

更吸引人的是,采用CPLD/FPGA器件可以将原来的电路板级产品即成为芯片级产品,从而降低了功耗,提高了可靠性,同时还可以很方便地对设计进行在线修改。

它成为研制开发的理想器件之一,特别适合与产品的样机开发和小批量生产,因此有时人们也把FPGA称为可编程的ASIC。

1.2研究现状

1985年,Xilinx公司推出的全球第一款FPGA产品XC2064怎么看都像是一只“丑小鸭”——采用2μm工艺,包含64个逻辑模块和85000个晶体管,门数量不超过1000个。

22年后的2007年,FPGA业界双雄Xilinx和Altera公司纷纷推出了采用最新65nm工艺的FPGA产品,其门数量已经达到千万级,晶体管个数更是超过10亿个。

一路走来,FPGA在不断地紧跟并推动着半导体工艺的进步——2001年采用150nm工艺、2002年采用130nm工艺,2003年采用90nm工艺,2006年采用65nm工艺。

FPGA对半导体产业最大的贡献莫过于创立了无生产线(Fabless)模式。

如今采用这种模式司空见惯,但是在20多年前,制造厂被认为是半导体芯片企业必须认真考虑的主要竞争优势。

然而,基于过去和关系和直接、清晰的业务模式,Xilinx创始人之一BernieVonderschmitt成功地使日本精工公司(Seiko)确信利用该公司的制造设施来生产Xilinx公司设计的芯片对双方都是有利的,于是,无生产线模式诞生了。

未来,相信FPGA还将在更多方面改变半导体产业!

1.3课题研究的目的和意义

通过对FPGA的研究和学习,我对它有了一定的了解。

FPGA即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物,它是作为专用集成电路领域中的一种半定制电路而出现的。

它主要解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

FPGA的使用非常灵活,同一片FPGA通过不同的编程数据可以产生不同的电路功能。

FPGA在通信、数据处理、网络、仪器、工业控制、军事和航空航天等众多领域得到了广泛应用。

随着功耗和成本的进一步降低,FPGA还将进入更多的应用领域。

2FPGA简介

2.1FPGA概述

FPGA是现场可编程门阵列(FieldProgrammableGateArray)的简称,与之相应的CPLD是复杂可编程逻辑器件(ComplexProgrammableLogicDevice)的简称,两者的功能基本相同,只是实现原理略有不同,所以有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/PGFA。

CPLD/PGFA几乎能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路。

它如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入或硬件描述语言自由的设计一个数字系统。

通过软件仿真可以事先验证设计的正确性,在PCB完成以后,利用CPLD/FPGA的在线修改功能,随时修改设计而不必改动硬件电路。

使用CPLA/FPGA开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。

这些优点使得CPLA/FPGA技术在20世纪90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言HDL的进步。

2.2FPGA的作用

现场可变成门阵列(Field-programmablegatearray,FPGA)填补了数字系统设计的空白,是对微处理器的补充。

尽管微处理器能用于许多场合,但是它们依靠软件才能实现其功能,因此比起定制芯片,它们一般运行速度比较慢而且功耗大。

同样地,FPGA也不是定制芯片,因此,它们无法像那些为某一应用而设计的定制芯片那么擅长完成特定功能。

FPGA一般也比定制逻辑芯片的运行速度慢而且功耗大,同时相对较贵;所以人们认为定制芯片更便宜。

然而,由于它们是标准器件,因而能够弥补定制芯片的一些不足。

从完成设计到取得一个可工作的芯片之间不用等待,可以把程序写入FPGA并立即进行测试。

FPGA是一种出色的制作样机工具。

当在最终设计中用到FPGA时,可以更简单、更容易地完成从样机到产品的飞跃。

同种类型的FPGA可以用于不同类型的设计中,以降低库存费用。

它们大多数时候用作胶合逻辑(gluelogic)——即将将系统的主要元件连接在一起的逻辑。

通常用于样机设计,因为它们是可编程的,并且可以在几分钟内嵌入电路板中。

但是通常不用它们来做最后的产品。

可编程逻辑器件在使用它的系统中通常并不是主要器件。

随着数字系统越来越复杂,更高密度的可编程逻辑需求越来越多,PLD器件的两级逻辑结构的局限性也越来越明显。

两级逻辑结构对相对较小的逻辑功能是非常有用的,但随着集成度的提高,两级逻辑结构的效率降低。

FPGA通过使用任意深度的多级结构提供可编程逻辑,使用可编程的逻辑单元和可编程的互联结构来建立多级逻辑功能。

一般认为是RossFreeman研制了FPGA。

他的FPGA包括可编程逻辑器件和一个可编程的互联结构,通过SRAM而不是反熔丝方式编程。

这样可以按照标准VLSI加工流程生产FPGA,节省资金并提供更多的加工选择。

同时也能对电路中的FPGA进行重新编程;在FLASH闪存没有广泛使用前,这是一个特别吸引人的特征。

Xilinx和Altera公司早期都销售基于SRAM的FPGA。

Actel公司则研制了另一种反熔丝结构的FPGA。

这中结构无法现场重编程,在无需重新配置的情况下这是一种优点。

Actel公司的FPGA在连线通路上使用多取向的逻辑结构组织。

多年以来,FPGA主要是胶合逻辑和样机设计的工具。

今天,它们被用于各种各样的数字系统:

高速电信设备的组成部分;家庭个人视频录像机(PVR)的视频加速器。

FPGA已经成为数字系统实现的主流器件。

2.2.1FPGA的类型

迄今为止,我们一直没有对FPGA进行定义。

一个好的定义一方面可以区分FPGA和较小的可编程器件(如PLD),另一方面又可以区分FPGA和定制芯片。

以下定义了FPGA的一些特征:

第一,它们是标准器件。

它们不是为了某一个特定功能设定的,使用者可以用它们进行特定目的的编程。

第二,它们实现多级逻辑。

FPGA内部的逻辑模块可以连接成任意深度的网络。

而PLD只使用两级的与非/或非函数来实现所有的逻辑。

由于FPGA实现多级逻辑,因此,它同时需要可编程逻辑模块和可编程互连结构。

PLD使用固定的连线,只改变加在连线上的逻辑函数。

相反,FPGA需要对逻辑模块进行编程并将它们连接到一起,以实现逻辑功能。

逻辑和互联的结合被称为层构(fabric),因为它拥有规则的结构,可以先通过设计工具进行高效优化,再把指定的逻辑映射到FPGA中。

FPGA的一个重要特征是它可被编程。

FPGA编程与微处理器编程有很大的区别。

微处理器是一个可存储程序的计算机。

计算机系统包含CPU和存储指令、数据的独立存储器。

FPGA编程交织在FPGA的逻辑结构中。

FPGA不取指令——FPGA的编程过程直接实现了逻辑功能和互联。

在FPGA编程中采用了大量技术。

一些FPGA是一次性编程;另一些则是可再编程。

可再编程的FPGA器件也被称为可重配置(reconfigurable)器件。

可重配置的FPGA在样机制作中很受欢迎,因为它们在每次编程后还能再用。

可配置的系统在系统运行期间可以不停地编程。

这样允许一块硬件实现几个不同的功能。

当然,这些不同的功能无法同时实现,但当系统运行在不同的模式中时,可重配置能力是十分有用的。

比如,径向计算机的显示操作有水平和垂直模式。

当用户旋转显示,水银开关使完成显示功能的FPGA重新编程以显示新的模式。

一般,FPGA使用细粒度结构逻辑。

在传统FPGA中用组合逻辑器件实现少数逻辑门电路和寄存器的功能。

随着芯片的变大,出现了粗粒度结构的FPGA。

这些芯片内的单独逻辑器件可以实现一个多位的ALU和寄存器。

对某些类型的函数,粗粒度结构的FPGA能更有效地利用芯片的面积。

更新类型的FPGA包含FPGA层构以外的东西。

平台FPGA包括几种不同类型的结构,所有大型系统的每个部分都可以用最适合的结构来高效的实现。

典型的平台FPGA包含一个CPU,所以某些功能可以用软件方式运行。

它还包括专用总线逻辑,这样,系统内可轻易地包含像PCI之类的总线接口。

2.2.2FPGA平台

FPGA平台是一种相对新的芯片,它集中了几种不同类型的可编程元器件。

FPGA平台拥有建立一个完整系统所必须的所有元器件,而且可以附加一些芯片。

当然,实际上,一个系统的建构依赖于个人的一些观点。

由于每个人观点不同,最后的结果也就会有一些不同之处。

FPGA平台包括FPGA层构,还包括CPU、嵌入式存储器、存储器接口、高速串行接口和总线接口。

FPGA平台的最大优势在于高级集成。

将很多功能放在一个芯片中,有如下优点:

*物理尺寸更小。

*功耗更低。

*可靠性更高。

在实现复杂的功能时,将若干个功能集成在一起也很重要。

有些子系统和子系统之间的内部连接需要更多的连接,与芯片和芯片的连接相比,这些连接更复杂。

但是可以把它们集成在芯片上,将芯片与芯片之间的连接转换到芯片中也有利于运行速度的提高。

与单独的FPGA层构相比,FPGA平台的另外一些优点是可以更有效地完成许多系统级的功能。

FPGA平台将这些归到子系统级别。

通过增加指定的逻辑,FPGA平台可以把一个复杂系统所需要的全部逻辑都压缩到一个单独的芯片中。

也可以把指定的高速I/O看作一个集成的可编程的FPGA的I/O引脚。

高速串行协议被广泛应用在硬盘和网络中。

这些协议的不同标准的原理都是相似的,只在细节处不同。

可编程I/O子系统允许系统设计者通过基本电路的集合来选择要实现的I/O特性。

2.3FPGA基本结构

FPGA具有掩膜可编程门阵列的通用结构,它由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块来实现不同的设计。

FPGA一般由3种可编程电路和一个用于存放编程数据的静态存储器SRAM组成。

这3种可编程电路是:

可编程逻辑模块(CLB--ConfigurableLogicBlock)、输入/输出模块(IOB--I/OBlock)和互连资源(IR—InterconnectResource)。

可编程逻辑模块CLB是实现逻辑功能的基本单元,它们通常规则的排列成一个阵列,散布于整个芯片;可编程输入/输出模块(IOB)主要完成芯片上的逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源包括各种长度的连接线段和一些可编程连接开关,它们将各个CLB之间或CLB、IOB之间以及IOB之间连接起来,构成特定功能的电路。

1.CLB是FPGA的主要组成部分。

图2-1是CLB基本结构框图,它主要由逻辑函数发生器、触发器、数据选择器等电路组成。

CLB中3个逻辑函数发生器分别是G、F和H,相应的输出是G’、F’和H’。

G有4个输入变量G1、G2、G3和G4;F也有4个输入变量F1、F2、F3和F4。

这两个函数发生器是完全独立的,均可以实现4输入变量的任意组合逻辑函数。

逻辑函数发生器H有3个输入信号;前两个是函数发生器的输出G’和F’,而另一个输入信号是来自信号变换电路的输出H1。

这个函数发生器能实现3输入变量的各种组合函数。

这3个函数发生器结合起来,可实现多达9变量的逻辑函数。

CLB中有许多不同规格的数据选择器(四选一、二选一等),通过对CLB内部数据选择器的编程,逻辑函数发生器G、F和H的输出可以连接到CLB输出端X或Y,并用来选择触发器的激励输入信号、时钟有效边沿、时钟使能信号以及输出信号。

这些数据选择器的地址控制信号均由编程信息提供,从而实现所需的电路结构。

CLB中的逻辑函数发生器F和G均为查找表结构,其工作原理类似于ROM。

F和G的输入等效于ROM的地址码,通过查找ROM中的地址表可以得到相应的组合逻辑函数输出。

另一方面,逻辑函数发生器F和G还可以作为器件内高速RAM或小的可读写存储器使用,它由信号变换电路控制。

2.输入/输出模块IOB。

IOB提供了器件引脚和内部逻辑阵列之间的连接。

它主要由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成。

每个IOB控制一个引脚,它们可被配置为输入、输出或双向I/O功能。

当IOB控制的引脚被定义为输入时,通过该引脚的输入信号先送入输入缓冲器。

缓冲器的输出分成两路:

一路可以直接送到MUX,另一路经延时几纳秒(或者不延时)送到输入通路D触发器,再送到数据选择器。

通过编程给数据选择器不同的控制信息,确定送至CLB阵列的I1和I2是来自输入缓冲器,还是来自触发器。

图2-1CLB基本结构

当IOB控制的引脚被定义为输出时,CLB阵列的输出信号OUT也可以有两条传输途径:

一条是直接经MUX送至输出缓冲器,另一条是先存入输出通路D触发器,再送至输出缓冲器。

IOB输出端配有两只MOS管,它们的栅极均可编程,使MOS管导通或截止,分别经上拉电阻接通Vcc、地线或者不接通,用以改善输出波形和负载能力。

3.可编程互连资源IR。

可编程互连资源IR可以将FPGA内部的CLB和CLB之间、CLB和IOB之间连接起来,构成各种具有复杂功能的系统。

IR主要由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现各种电路的连接。

2.4FPGA系统设计流程

一般说来,一个比较大的完整的项目应该采用层次化的描述方法:

分为几个较大的模块,定义好各功能模块之间的接口,然后各个模块再细分去具体实现,这就是TOPDOWN(自顶向下)的设计方法。

目前这种高层次的设计方法已被广泛采用。

高层次设计只是定义系统的行为特征,可以不涉及实现工艺,因此还可以在厂家综合库的支持下,利用综合优化工具将高层次描述转换成针对某种工艺优化的网络表,使工艺转化变得轻而易举。

CPLD/FPGA系统设计的工作流程如图2-2所示。

图2-2CPLD/FPGA系统设计流程

流程说明:

1.工程师按照“自顶向下”的设计方法进行系统划分。

2.输入VHDL代码,这是设计中最为普遍的输入方式。

此外,还可以采用图形输入方式(框图、状态图等),这种输入方式具有直观、容易理解的优点。

3.将以上的设计输入编译成标准的VHDL文件。

4.进行代码级的功能仿真,主要是检验系统功能设计的正确性。

这一步骤适用于大型设计,因为对于大型设计来说,在综合前对源代码仿真,就可以大大减少设计重复的次数和时间。

一般情况下,这一仿真步骤可略去。

5.利用综合器对VHDL源代码进行综合优化处理,生成门级描述的网络表文件,这是将高层次描述转化为硬件电路的关键步骤。

综合优化是针对ASIC芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库的支持下才能完成。

6.利用产生的网络表文件进行适配前的时序仿真,仿真过程不涉及具体器件的硬件特性,是较为粗略的。

一般的设计,也可略去这一步骤。

7.利用适配器将综合后的网络表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。

8.在适配完成后,产生多项设计结果:

(a)适配报告,包括芯片内部资源利用情况,设计的布尔方程描述情况等;(b)适配后的仿真模型;(c)器件编程文件。

根据适配后的仿真模型,可以进行适配后时序仿真,因为已经得到器件的实际硬件特性(如时延特性),所以仿真结果能比较精确的预期未来芯片的实际性能。

如果仿真结果达不到设计要求,就修改VHDL源代码或选择不同速度和品质的器件,直至满足设计要求。

最后将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片CPLD/FPGA中。

2.5FPGA开发编程原理

硬件设计需要根据各种性能指标、成本、开发周期等因素,确定最佳的实现方案,画出系统框图,选择芯片,设计PCB并最终形成样机。

CPLD/FPGA软件设计可分为两大块:

编程语言和编程工具。

编程语言主要有VHDL和Verilog两种硬件描述语言;编程工具主要是两大厂家Altera和Xilinx的集成综合EDA软件(如MAX+plusII、QuartusII、Foundation、ISE)以及第三方工具(如FPGAExpress、Modelsim、SynposysSVS等)。

具体的设计输入方式有以下几种:

1.HDL语言方式。

HDL既可以描述底层设计,也可以描述顶层的设计,但它不容易做到较高的工作速度和芯片利用率。

用这种方式描述的项目最后所能达到的性能与设计人员的水平、经验以及综合软件有很大的关系。

2.图形方式。

可以分为电路原理图描述,状态机描述和波形描述3种形式。

软件3种输入方法都支持,如Active-HDL。

MAX+plusII图形输入方式只支持电路原理图描述和波形描述两种。

电路原理图方式描述比较直观和高效,对综合软件的要求不高。

大都使用成熟的IP核和中小规模集成电路所搭成的现成电路,整体放到一片可编程逻辑器件的内部去,所以硬件工作速度和芯片利用率很高,但是项目很大的时候,该方法就显得有些繁琐;状态机描述主要用来设计基于状态机思想的时序电路。

图形的方式下定义好各个工作状态,然后在各个状态上输入转换条件

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

当前位置:首页 > 求职职场 > 自我管理与提升

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

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