摘要设计以现场可编程门阵列(FPGA)为主要控制核心,实现了一个基于直接数字频率合成技术(DDS)的幅度调制信号发生器。用 Matlab 软件进行理论验证,然后利用 VHDL硬件描述语言在 QuartusⅡ开发软件上进行电路设计,通过编译、仿真后,将程序下载到FPGA 上进行测试。在示波器上观察输出信号,得到经过调制后的信号波形以及载波波形和调制波形;在硬件开发平台的数码管上动态显示载波信号频率和调制信号频率,在误差允许范围内与理论算得的频率一致,符合预期的结果。27393
毕业论文关键词 现场可编程门阵列 直接频率合成技术 幅度调制 信号发生器
Title Design and implementation of amplitude modulationsignal generator based on FPGA
AbstractThis design takes Field Programmable Gate Array(FPGA) as the main central controlmodule and makes the amplitude modulation signal generator which bases on DirectDigital Synthesis(DDS) toward its realization.Via the theoretical verificationof Matlab,the design can utilize Vhsic Hardware Description Language(VHDL) toperform the design of circuit on the platform which provide by the developmentsoftware QuartusⅡ,and then download the program to the FPGA for test after thecompiling and the simulation.The output will be observed in the oscilloscope asthe modulated signal waveform,the carrier waveform and the modulation waveform.The frequency of carrier signal and the frequency of modulated signal will bedisplayed dynamically on the LED of the hardware development platform and theresult will be accordant with the theoretical result in the range of the errorspermitted that have been expected.Keywords FPGA direct digital synthesis technology amplitude modulationsignal generator
目 次
1 引言 1
1.1 信号幅度调制的背景 1
1.2 QuartusⅡ软件介绍 2
1.3 VHDL 语言简介. 3
2 幅度调制原理与实现方法 5
2.1 幅度调制原理 5
2.2 实现方法 7
3 幅度调制信号电路设计 8
3.1 控制模块 8
3.2 核心 DDS 模块 10
3.3 调制模块 14
3.4 测频显示模块 15
3.5 分频电路 19
4 测试与分析 21
结论 25
致谢 26
参考文献 27
附录 A 完整电路代码 28
1 引言1.1 信号幅度调制的背景现在社会的通信技术越来越发达,信号的调制与解调是信号在传输过程中至关重要的一个环节。所谓调制,就是用调制信号去控制载波某个参数的过程,调制信号是由原始信息(如声音、数据、图像等)转变成的低频或视频信号,这些信号既可以是模拟的,也可以是数字的,而载波信号是未受调制的高频信号,它一般是正弦波,也可以是方波、三角波等其他的周期性信号[1]。信号的调制一般可以分为幅度调制、频率调制和相位调制三种。而幅度调制的目的是为了用调制信号控制载波信号,使载波信号的振幅随着调制信号振幅的变化而变化,确切地说是让载波信号的振幅与调制信号呈线性关系,而保持频率和相位不变,经过调制之后输出的新的波被称为已调波[2]。由于已调波基本保留了调制波的参数信息,因此,在信号经过传输到达目标接收端以后再通过解调,我们就可以从已调波中将需要的信息提取出来。通过调制,可以把调制信号转换成适合于信道传输的信号,并且保留原始信号做携带的信息,这样做可以更加高效并且可靠的进行信号的传输。调制方式按照调制信号的性质可以分为模拟调制和数字调制两类。其中模拟调制中使用的调制信号均为连续波,模拟调制又可分为幅度调制、频率调制和相位调制三种方式,而频率调制和相位调制统称为角度调制。幅度调制作为常用的调制方法之一,在无线电通信中有广泛的应用[3]。我们平时经常提到的 AM 广播其实就是指调幅制广播,它用到的便是幅度调制技术。调幅系统的实现十分简单,但是作为一个窄带系统,它的抗干扰性能很差,会受到噪声的干扰,导致音质较差。与幅度调制相比,角度调制对振幅变化的噪声相对不敏感,而频率调制系统的实现也比幅度调制更加复杂,但它的抗干扰性好,可以大大提升信号传输的信噪比[4]。随着调制技术不断发展,直接数字合成技术(DDS)也渐渐地开始变得热门,DDS 是基于取样技术和数字计算技术来实现数字合成,产生所需频率的正弦信号,极易实现频率和相位控制,且切换时间快,尤其适于合成任意波形,集成度高,体积小,其因频率分辨率高、频率切换速度快、相位噪声低和频率稳定度高等优点而成为现在频率合成技术中的佼佼者[5]。但是在很多时候,专用 DDS 芯片存在很多不足,导致无法满足现实需求,而采用 FPGA实现DDS 可以很好地弥补专用 DDS 芯片的缺陷。首先在灵活性上有很大的改善,我们只需要改变 FPGA 中 ROM 的数据和控制的参数,DDS 就能产生任意的波形,而且分辨率高[6]。在价格上,专用的DDS 芯片要比用 FPGA 设计的 DDS 昂贵很多,因此采用 FPGA设计 DDS 系统具有高性价比。FPGA 是由许多未配置的逻辑门组成的,它不同于 ASIC(专用集成电路)芯片,ASIC芯片的功能是供应商定义且固定的,而FPGA 可以由设计者自己配置来完成特定的功能。当ASIC 芯片的开发和制作成本过高,或者当硬件在应用之后需要重新配置的时候,我们就可以用 FPGA 来解决这个问题。灵活,软件可编程架构的 FPGA有以下特点:自定义算法高性能运行、精确的定时和同步、决策快速、同时执行并行任务。用 FPGA 设计系统可以节约很多时间,并且在设计完成过后,我们也可以非常方便地进行测试、修改和升级。由于他的优良性能,所以在很多地方都应用到了 FPGA,如汽车、飞机、复印机、专用计算机硬件等。本次设计采用的是 CycloneⅢ FPGA,它集功能强大、功耗低、成本低等优点于一体。在可编程逻辑发展历史中,CycloneⅢ FPGA 也比其他低成本 FPGA 系列能够支持实现更多的应用。1.2 QuartusⅡ软件介绍设计中用到 QuartusⅡ开发软件来实现电路的设计与时序仿真,这里对它做一个简单的介绍。QuartusⅡ开发软件为可编程片上系统(SOPC)提供了一个完整的设计环境。不管是用电脑还是 Linux 工作站,该软件都确保设计入门容易,处理快速,设备编程简单。QuartusⅡ软件提供丰富的图形用户界面并加以补充说明,还提供使用方便的在线帮助系统。完整的 QuartusⅡ系统拥有一个十分全面的设计环境,从设计入门到器件的编程,每一步都可以在 QuarusⅡ中实现。QuartusⅡ支持多种设计方式和层次化设计,设计人员可以选择最适合各个功能模块的设计方式进行设计, 然后将这些不同类型的设计文件结合在一个项目里,完成对整个电路的设计。例如,你可以先使用 QuartusⅡ的块编辑器来创建一个框图,用来描述你的顶层设计。 然后你可以使用原理图、 AHDL 文本设计文件(.tdf)、 VHDL 设计文件(.vhd)、Verilog HDL 设计文件(.v)来创建低层次的设计组件,通过对组件的调用可以将这些由不同设计方式设计的模块结合起来。QuartusⅡ开发软件先进的用户界面允许设计者同时编辑多个文件,在编辑设计文件使他们传递信息的时候可以编译和仿真另一个工程[7]。QuartusⅡ编译是系统的核心,它能提供强大的设计处理,你可以自定义完成你项目最好的硅实现。它拥有自动错误定位功能,并且会描述你的错误和警告信息,使你尽可能方便地去修改设计。在设计过程中的每一步,QuartusⅡ软件都能让你专注于你的设计而不是如何使用软件。它高超的整合能力可以大幅提高你的设计效率和生产力。QuartusⅡ的设计流程主要包括设计输入、综合、布局布线、仿真、时序分析、编程和配置几个环节[8]。具体如1.1 所示。1.3 VHDL语言简介VHDL 是一种硬件描述语言,它可以对电子电路和系统的行为进行描述。基于这种描述,结合相关的软件工具,可以得到所期望的实际电路与系统。传统的硬件电路设计方法是采用自下而上的设计方法[9]。但是,当一个电路系统十分复杂的时候,想要理解让人眼花缭乱的原理图成了一大难题,一旦电路出现问题,修改起来也困难重重。为了克服这一个难题,提高设计效率,各 ASIC 研制和生产厂家相继开发了具有自己特色的电路硬件描述语言(Hard Description Language,简称 HDL)。但是这些语言并没有统一的标准,它们只被各自的开发者所接受,而设计者之间无法进行方便地交流。因此,将硬件描述语言标准化是解决这一问题的最好方法。于是,在 20 世纪 80 年代 VHDL 语言诞生了,VHDL 是 IEEE 制定为规范的第一种硬件描述语言,规范版本为 IEEE1076。IEEE 后来又补充制定了 IEEE1164,引入了多值逻辑系统。综合起来讲,VHDL 语言具有如下优点:(1)拥有很强的描述能力,并且描述方式多样,可以满足设计者不同的需求。比较常见的描述方式有 4 种:使用进程语句的行为描述方式、使用信号赋值语句的数据流描述方式、使用元件例化语句或生成语句的结构描述方式、混合使用上述三种方式的混合描述方式。其次,VHDL 硬件描述语言还拥有多种数据类型,除了本身库中存在的预定义的数据类型外,VHDL 还允许用户自己定义数据类型。(2)语言简单易懂,设计结构清晰,十分容易被读者所接受,而且计算机也能准确识别并运行。(3)当用 VHDL 描述电路时,只需要按照电路希望完成的功能来编写,没有必要再去思考选用什么器件。这也大大降低了设计的复杂程度,为设计者留出更多的时间去完善电路的功能。(4)作为一种标准的硬件描述语言,在设计过程中,它允许将模块分解设计后再组合,这样有利于一个大工程的分工合作与交流。当一个人进行设计的时候,也可以调用以前已完成的模块作为电路系统的一部分,这样可以显著降低设计周期。一段完整的 VHDL 代码中一定包含三个部分:库和程序包使用部分、实体描述部分和结构体描述部分[10]。库中一般包含了很多预先定义好的数据类型、子程序等有用的信息,通过调用库,可以显著提高设计效率,库的存在也是为了使设计遵循某些统一的语言标准或数据格式。实体的作用是对一个设计实体和外部电路进行接口描述,它是设计实体的表层设计单元,通过端口定义语句对设计实体的每个端口进行描述,它相当于设计实体对外的一个通信界面。而结构体是一个比较重要的部分,它包含的内容也是比较丰富的。其中包括对数据类型、常数、信号、子程序、元件等元素的说明,描述实体逻辑行为的功能描述,以元件例化语句为特征的外部元件端口间的连接等。 基于FPGA的幅度调制信号发生器设计与实现:http://www.youerw.com/tongxin/lunwen_21866.html