毕业论文——基于FPGA的正弦扫频信号源的设计_第1页
毕业论文——基于FPGA的正弦扫频信号源的设计_第2页
毕业论文——基于FPGA的正弦扫频信号源的设计_第3页
毕业论文——基于FPGA的正弦扫频信号源的设计_第4页
毕业论文——基于FPGA的正弦扫频信号源的设计_第5页
免费预览已结束,剩余37页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

盐城工学院本科生毕业设计说明书(2015) 毕业设计说明书基于FPGA的正弦扫频信号源的设计专业电气工程及其自动化学生姓名班级 学号指导教师完成日期 基于FPGA的正弦扫频信号源的设计摘 要:扫频技术是电子测量中非常重要的一种高端技术,在滤波器和调频放大器等得到了广泛的应用,而整个测量环节的重点就是扫频信号源。本文介绍了扫频电路和直接数字频率合成技术的原理(DDS),利用FPGA设计一个以DDS技术为基础的扫频信号源。文章首先介绍了频率合成器的发展,然后介绍了DDS的原理和结构;接着介绍了FPGA的基础知识如结构特点、开发流程、使用工具等。本次设计主要使用硬件描述语言在FPGA系统中实现正弦扫频信号源。在FPGA芯片、D/A转换电路以及滤波电路的支持下,用VHDL语言编程描述和实现电路。通过采用流水线技术提高了相位累加器的运算速度,改进ROM压缩算法可以减小存储器的容量,完成了对整个系统的优化设计。在理解程序设计语言之后,结合EDA工具软件Quartus对程序进行编写以及编译检查,确定程序正确无误之后进行整个工程的综合测试,运用modelsim软件仿真验证了程序设计的正确性,最终实现了该扫频信号源。关键词:FPGA;DDS;扫频信号源 Design of sine sweep signal source based on FPGAAbstract:Sweep-frequency technique,because of its is a very important high-end technology in electronic measurement,has been used more widely in the filter and FM amplifier,The focus of the whole measurement process is the sweep-frequency signal source.This paper introduce the principle of the sweep frequency circuit and direct digital frequency synthesis technology(DDS), presents an implementation of DDS technology-based sweep frequency signal source using FPGA. The Paper firstly introduces the development of frequency synthesis techniques;Secondly,the principle and structure of DDS are introduced,and a few knowledge of FPGA such as the structure,peculiarity,design flow and design tools are introduced.This design mainly realize sine sweep signal source by using hardware description language in the FPGA system.In the FPGA chip, D/A conversion circuit and filter circuit support,the VHDL programming language is used to describe and realize circuits.Through the use of pipelining technology,the phase accumulator performs better,improvement of the ROM compression algorithm can reduces the capacity of memory, and completes the optimal design of entire system. Combining with EDA tool software Quartusto write and compile inspection for program after understanding the programming language,being carried out comprehensive test of the whole project after determining the correct procedures.By validating the correct results of the program design through the modelsim software simulation and realizes this sweep signal source in the end.Keywords : FPGA;DDS;Sweep Frequency Signal Source目 录1. 概 述11.1课题的意义11.2课题的主要研究工作11.3 EDA技术简介11.4 FPGA技术简介21.5 设计说明书结构52. 设计理论分析62.1 扫频技术原理62.2 直接数字频率合成技术DDS工作原理63. 系统FPGA的设计实现93.1 频率累加器的设计113.2 相位累加器的设计173.3 波形ROM的设计223.4 数模转换器D/A233.5 低通滤波器模块244. 系统实现与仿真264.1 各子模块的仿真264.2 扫频信号源仿真274.3 遇到的问题和解决方法275. 结束语29参考文献30致 谢31附 录:32附录1:系统顶层原理图33附录2:频率控制字程序34附录3:相位累加器程序35附录4:正弦发生模块程序36盐城工学院本科生毕业设计说明书(2015)基于FPGA的正弦扫频信号源的设计1.概述1.1课题的意义现如今数字集成电路应用已经越来越广泛,开始向全面化发展,过去那些传统的电子设计方法已经被时代所淘汰。大规模集成电路技术已经开始慢慢成为电子领域数字电路系统设计的主流,并且这种技术也遵循着摩尔定律的规律在快速的发展,由刚开始的专用集成电路即ASIC电路快速地向着系统及片上系统即SOPC的方向在发展。这都主要归功于大规模可编程逻辑器件CPLD和现场可编程门阵列FPGA两类可编程逻辑器件的快速发展与应用。很多电子设计工程师可以在办公室或者实验室里借助于这个平台设计出所需的专用集成电路及相关的大规模数字系统产品,从而在很大程度上缩短了各类产品的上市时间,同时也降低了产品的开发成本。DDS(直接数字频率合成技术)是经直接频率合成技术和锁相频率合成技术演变而来的,是当今数字化电路中非常关键的一项技术。它根据相位的概念来合成频率,随着科技的进步,DDS芯片有很高的转换速度,而且在向数字化、高集成化以及小体积方向迈进。本文的研究主题是基于FPGA的正弦扫频信号源设计,利用VHDL语言进行硬件电路的描述编程,然后在Quartus中调用Modelsim并进行仿真。1.2 课题的主要研究工作利用(数字直接合成技术)DDS可进行数据的采集分析来进行数据的传递,最后合成所需波形并输出。设计一个高速D/A转换电路,然后经过外围的低通滤波器过滤其它杂质信号输出所需扫频信号。设计中需要完成以下工作:a)对扫频信号源的设计做出相应的研究;b)利用Quartus软件开发平台,画出扫频信号源的原理图;c)编写VHDL程序语言;d)在Modelsim中进行仿真并得到正弦扫频信号波形。1.3 EDA技术简介EDA技术在20世纪慢慢兴起的,现如今取得了快速的发展。它利用大规模可编程平台开发,用硬件描述语言HDL来编写程序。现如今数字电子线路集成技术向高集成、低消耗以及小体积的方向发展,在一块小小的芯片中可集成各种功能。EDA的快速发展使得电子工程师们的设计任务大量减少。EDA经历了三个发展阶段而来,在此期间随着电子信息工程师们不断地努力与研究,在一定程度来说取得了很大的成功。如今,EDA技术渗透到了各行各业,比如电子,医疗,机械,航天等。EDA的功能也日益强大。可以说现在只要与控制有关的电子产品就与EDA有关。所以,EDA技术已于我们的生活息息相关。 EDA技术以计算机为载体,包含着很多方面的技术。它的工作平台为计算机,利用了模拟电路、数字电路以及计算机信息技术处理等的研究成果,进行电子自动化的设计。可以说它解决了电子线路最基本的硬件实现问题 ,使电子线路向高效化,全面化发展。电子设计工程师们可以利用EDA的工具软件从功能、概念、算法等设计电子电路,其中设计师们的工作大都由计算机来代替完成。EDA的设计可以通过对软件的改编,即修改程序来达到对硬件模块的修改,这样的方式是通关一些可编辑逻辑器件来实现的,即利用软件实现其功能。例如本文中使用到的FPGA可编辑逻辑器件。 电子信息工程师们在设计EDA数字电路的时候,最为重要的部分就是硬件描述语言的编写,而硬件描述语言包括:Verilog-HDL和VHDL。本课题使用VHDL硬件描述语言来进行硬件电路的描写编程,VHDL语言用来对大规模集成数字电路进行描述及编写仿真测试语言,具有强大的设计功能,而且设计灵活多变,是一门强大的硬件描述语言,应用非常宽广,可移植性强而且易于修改。设计者可以通过编写硬件描述语言来使得自己得到自己想要的芯片。但由于EDA技术涉及知识全面,内容深厚,所以必须要掌握硬件描述语言、软件开发系统、实验开发系统以及大规模可编程逻辑器件。在本课题中将使用到FPGA的可编程逻辑器件,在下一节会详细介绍。1.4 FPGA技术简介 Field Programmable Gate Array(FPGA)即为现场可编程门阵列。在数字集成电路领域中,它能实现半定制电路,这种半定制电路即改良了定制电路无法任意修改的缺陷,又在门电路数目上有所成就,对原来的可编辑器件门电路数目的不足进行改良。最后可在数字集成电路上完成现场可编辑门电路,拥有极高的灵活性、专业性以及稳定性。FPGA极高的集成度可使它能依据设计者的要求进行匹配系统内部的逻辑功能。 Cyclone III 器件的硬件部分包括: a) LAB 以及 LE 一个 LAB 含有 16 个 LE。其中包括了寄存器、输出逻辑等。 b) 存储器块(Memory Blocks) Cyclone 器件内嵌的 M9K 存储器块可以提供 9K bits 片上存储容量,最高速度可达 315MHz。M9K 可以被配置成 RAM、FIFO、缓冲器、ROM。它支持单端、双端口和真正双端口的存储器操作模式,可被配置成任意端口宽度:1、2、4、8、9、16、18、32 和 36 位。 c) 嵌入式乘法器(Embedded Multiplers) Cyclone III 器件和Cyclone III LS 器件分别至多可以嵌入 288 和 396 个乘法器块。每一个乘法器块都能够被重新装备成一个 9*9 的乘法器。 d) 锁相环以及时钟网络 Cyclone III 里面有 20 个全局时钟网络。这些全局时钟可以得自用户定义的时钟输入脚输入,双功能时钟脚,用户的逻辑输出和 PLL。Cyclone III 里面最多可以内嵌4个 PLL,有的 PLL 还支持在系统重配置功能。 e) 输入/输出脚 Cyclone III 有 8 个 I/O 块。所有的 I/O 块均支持 single-ended 和差分模式。 f) 个别器件还支持工业级的嵌入式处理器Cyclone III 器件支持使用 32 位软核配以 50 多种其他的 IP 核实现 SOPC(System on a Programmable chip,可编程片上系统 )系统。 g) JTAG 边界扫描 Cyclone III 支持符合 JTAG IEEE1149.1 标准的 JTAG 边界扫描(boundary scan test,BST)。使用 JTAG BST 可以任意锁定预探测管脚的数据,而不需要任何物理连接。图 1-1是一个 LE 的原理框图,其中的核心部件 LUT 是一个 4 输入查找表。你可以把它看成是有四位地址线,16 bit 存储单元的 RAM。当使用硬件描述语言VHDL对硬件电路进行描述后,利用FPGA技术可以自动算出并记忆这些可能的结果,最后写入到随机存储器RAM中,当系统接收到一个输入信号后可在RAM中进行查表,找到存储数据的地址并输出。比如,对于逻辑函数这样一个逻辑函数,用 LUT 实现的方法就是在第 15个存储单元和第 7 个存储单元存 1,其他 14 个存储单元存 0,这样当输入“1111”或”0111”时读出两个单元的 1 送往输出,输入其他组合时,输出 0。图 1-1 LE原理图图 1-2 LAB 的结构原理图 LAB 之间的数据传输室通过行列互联网络来实现的。相比于 CPLD 内部固定 PIA,连接两地的LAB 所经过的路径长是固定,即信号传输延时固定;而 FPGA 内部的行列互联形式导致,连接两地的 LAB 的路径可以有多个选择,这样对于两个 LAB 之间的传输延时就变成了不可控。FPGA 内部走线延时问题可以通过静态时序分析,外加时序约束来使得设计满足我们的要求。FPGA有着较高的集成性能,一块小芯片就能将整个系统装载进去,在很大程度上节约了体积与效率,而且具有较高的隐蔽性和可移植性能。通用性非常强,可满足大量的生产需求,只需改变硬件描述语言,便可实现相对应的功能以及硬件电路的设计。其大致可分为逻辑单元、输入输出以及逻辑联系,对于集成电路的大部分功能可用IP核来进行逻辑合成,使得设计周期大大的减少。相比较于集成电路(ASIC),FPGA开发周期短,功能强大,实用性能更好,对以后硬件进行维护升级测试都很方便。而基于FPGA在断电后会失去原有的信息,所以在设计中须在FPGA芯片中配置一个ROM存储器。自从第一款的FPGA出现宣布了FPGA时代的到来。时至今日,在其发展的20多年时间里,它的进步对于现代电子技术有着极大地影响。 随着数字集成电路以及可编程逻辑器件的发展,FPGA以后大致发展方向如下: a)嵌入式FPGA技术飞速的发展; b)向着更高的性能迈进; c)IP库的设计。 相对于ASIC芯片,正是基于以上的优点使得目前在市场上FPGA拥有极大的市场份额,拥有非常大的需求。 FPGA设计流程图如下:图1-3 FPGA使用VHDL的设计流程图图1-1各步骤涉及的工具说明如下: a)本课题使用的HDL语言是VHDL; b)逻辑综合器通常指FPGA可编程逻辑器件; c)本文使用的开发软件包括Modelsim和QuartusII。1.5 设计说明书结构说明书的结构如下:a)介绍了EDA的发展背景以及课题的意义,主要的工作;b)描述了直接频率合成技术(DDS)以及扫频技术原理;c)对正弦扫频信号源的分模块的设计,以及硬件电路的设计;d)对扫频信号源各子模块以及扫频信号模块系统进行软件功能仿真验证,同时阐述在设计以及仿真过程中遇到的问题以及解决办法;结束语、参考文献、致谢、附录。2. 设计理论分析2.1 扫频技术原理 扫频信号源是信号发生器的一种,也可以把扫频信号源加入到其他仪器里,比如扫频仪。在很多时候我们都希望在测量频率时其测试信号的频率可进行连续的变化,扫频技术也因此诞生。扫频信号源是指随着时间的变化其输出的正弦波信号频率可进行连续的变化,将正弦信号(这里输入的正弦波是指从某一时间点才开始的正弦波)加入线性时不变系统,其稳态响应是与输入信号相同频率的正弦量,但它的幅值和相位则决定于具体系统的动态特性。为此,就需要分析在正弦信号作用下,一定频率范围内系统的输出量和输入量的幅值比和相位的变化规律,即系统的频率特性。一个系统输出量与输入量之比称为频率响应函数。即: 其中, 幅频特性就是输出量与输入量之比即频率响应的模。相频特性指的是表征输出与输入的相位之差即频率响应的相位。为了测量系统的频率响应,我们可以利用仪器来测量的实验法、根据系统结构来研究的分析法和扫频的办法。采用扫频的方法通常需要利用扫频信号发生器产生一定频率范围的扫频信号,并将这一信号加到被测系统的输入端。同时,测出该系统对应的扫频输出。则测出的输出信号与对应的输入信号幅度之比就是系统的幅频特性。输出信号与对应的输入信号的相位之差就是系统的相频特性。利用信号发生器产生一个不间断的信号且其频率是可连续变化的扫频信号。通常使用正弦波信号来进行测试。扫频技术对于当今社会电子信息技术的发展起着密不可分的作用,它具有扫频速度高,精度大等特点,也解决了干扰、信号覆盖、体积小以及电路复杂等问题。2.2 直接数字频率合成技术DDS工作原理 扫频信号源是整个测量系统设计的关键环节之一,随着被测量的频率和精度要求的不断提高,由传统的晶体振荡器设计的扫频信号源已不能满足要求。因此,近年来出现一种直接数字频率合成技术(DDS),它采用数字电路合成所需波形,具有效率高、实用以及高频等特点。它的基本结构由以下几个部分构成;图2-1 DDS结构图直接数字频率合成技术在现代数字电路设计中用途广泛,它具有快速可变的频率以及相位的连续性等特点。DDS的工作原理就是进行数据的采集,然后将得到的数据经过幅值量化输出,由上图可以看出直接数字频率合成技术(DDS)是由相位累加器和波形ROM存储器以及D/A转换构成。加法器和寄存器构成相位累加器。波形ROM主要用来存储数据,而经过D/A转换器将得到模拟波形信号。在一个时钟周期内,加法器主要将频率控制字K与累加寄存器输出的数据进行相加,然后相加后的数据传递至寄存器输入端,然后寄存器可将上一个周期加法器产生的数据传输给输入端,从而能开始新一轮的相加。从中我们了解到,相位累加器在时钟周期作用下,对频率控制字进行累加,且这种关系呈线性的。在一个时钟周期内,相位累加器可对频率控制字累加一次,其中溢出的频率就是波形信号合成的频率,输出的数据就是波形合成信号的相位。相位累加器输出的数据传输到ROM存储器的输入端口,然后对其进行数据查表,得到的数据经过D/A转换器转换成模拟信号输出给LPF过滤,(低通平滑滤波器)LPF进一步压制不需要的杂波就能得到频谱非常纯正的正弦波输出信号。由此我们知道溢出的频率和频率控制字有关系,当频率控制字越大,其输出频率就高,溢出就越快。如图2-2为DDS各部分输出波形。图2-2 DDS各部分输出波形直接频率合成技术DDS系统有很多优点,比其它的频率合成技术更全面,主要有以下三点优势; a) 任何波形都能由DDS技术随意产生 根据DDS的工作原理,要想改变输出波形,只需改变波形存储器中的波形数据。由于DDS的基础是采样定理,所以只要满足上述条件都可以用直接频率合成技术DDS来完成。b)具有高频率分辨率伴随着相位累加器的位数逐渐增多,DDS系统频率的分辨率成指数增长,因此保持系统时钟频率不变,只需增加相位累加器位数,任意小的频率分辨率都能得到,能实现精细频率控制的目标。 c) 具有连续变换的相位当改变频率控制字是的时候,其输出的频率也随之发生改变,由于其函数的曲线是一个连续函数,所以只是在某一点突然发生改变,其曲线是连续的,并没有因此而发生中断。d)其它的优点 直接频率数字合成技术DDS的电路基本全是高集成化的数字电路,能耗低及体积小的特点使具有很高的经济性能。e)频率切换速度快及保持相位的连续根据自动控制原理,我们可以了解到直接数字频率合成技术DDS其实是一个开环系统,在此过程中没有反馈。只要我们改变频率控制字K,它的频率切换速度就变得很快,因为它必须经过一个时钟周期的相位累加。所以频率控制字对输出波形信号的频率呈线性关系。同时,输出波形的相位频率在切换时是连续的。当频率字改变时,输出波形的变化如下图2-3所示; 图2-3 频率控制字改变时累加器的输出值和输出波形的变化 注释:相位累加器输出值变化示意曲线输出波形变化曲线 在波形输出到点P时,频率字发生了改变(变小),相位累加器的累加值即相位步进变小,其输出值斜率也变小,系统的输出波形的频率也在同时刻变小。DDS系统在频率字发生改变后的一个时钟周期,其输出频率就可以就转换到了新的频率上,也即在频率字的值改变以后,累加器在经过一个时钟周期后就按照新的频率字进行累加,开始合成新的频率。所以我们可以认为DDS的频率切换是在一个系统时钟周期内完成的,系统时钟频率越高,切换速度越快。 另外,从前面对DDS技术原理的分析可知,要改变输出频率,实际上改变的是频率字,也就是相位增量。当频率字的值从改变为之后,相位累加器是在已有的累积相位上,再对进行累加,相位函数曲线是连续的。从图2-3也可以看出,只是在频率字改变的瞬间相位函数曲线的斜率发生了突变,相位值并没有发生跳跃,因此DDS能够在频率切换的过程中保持相位连续,输出波形能够平滑地从一个频率过渡到另外一个频率。3. 系统FPGA的设计实现参考频率频率增量 本章节讨论基于FPGA的正弦扫频信号源模块的详细设计,主要内容为DDS部分以及外部电路部分。如下图3-1系统总体方案设计图;起始频率输出 频率累加器 相位累加器 ROM存储器 D/A转换器低通滤波终止频率图3-1 系统总方案设计图根据图3-1可知,频率累加器在一个时钟脉冲中依据频率的增量产生瞬时频率,然后经过相位累加器的计算可输出扫频信号的瞬时相位,然后再ROM表中查询对应的量化值,频率累加器在下一个周期来临时将新的频率可反馈到累加器的输入端,继续累加然后经相位累加器溢出的值作为波形ROM的地址,然后可把量化的数字波形经D/A转换器,在经过LPF(低通滤波器)过滤即可得到正弦波形。 根据系统方案图设计出顶层原理图,如3-2所示;图3-2扫频信号系统的顶层图扫频信号系统的RTL视图; 图3-3扫频信号系统的RTL视图 从上图3-3扫频信号系统的RTL视图中可以看出系统有三个子模块,分别是频率控制字模块、地址寻址模块以及ROM存储模块,同时包括输入管脚clk和rst_n以及输出管脚q7.0。其中rst_n为重置输入端。在一个时钟信号周期内,频率控制字模块将频率字K传输到累加器中进行累加,每一次的溢出值可作为输出波形信号的频率,可见其产生一个16位的频率控制字传输到地址寻址模块后经过转换输出一个8位的波形数据,最后可将输出波形数据到存储器ROM中进行查表并输出波形信号。扫频信号系统的Technology Map Viewer (post-mapping):图3-4扫频信号系统的Technology Map Viewer (post-mapping) 从上图3-4扫频信号系统的Technology Map Viewer (post-mapping)视图中可以看出有10个I/O接口,系统由1个频率控制字模块,1个地址寻址模块以及1个ROM存储模块组成。图中含有2个输入管脚clk 和rst_n以及一个8位数据输出管脚q0.7。扫频信号系统的Technology Map Viewer (post-fitting);图3-5扫频信号系统的Technology Map Viewer (post-fitting)图3-6扫频信号系统的Technology Map Viewer (post-fitting) 图3-5和3-6扫频信号系统的Technology Map Viewer (post-fitting)视图中有10个I/O接口,由频率控制字(fword)模块,地址寻址模块(address)、数据存储ROM模块和2个INCLK_OUTCLK模块组成。包括输入管脚clk、rst_n和输出管脚q0.7。3.1 频率累加器的设计 K被称为频率控制字,直接数字频率合成技术DDS数学模型如下:,时钟频率是,输出频率是。当K=1时,即输出最低频率。根据公式知道只要增大n,就可以划分到很细很精确的频率。采样定理可决定DDS的最大输出频率。 因此,输出波形信号的频率可由有频率控制字K来决定,我们只要改变频率控制字K就可改变DDS的输出频率。本课题设计如下图3-7的频率控制字模块的顶层原理图;图3-7 频率控制字模块设计由上图知道其控制并输入产生的16位频率控制字,为能使后面的硬件测试方便而设计此模块。上图计数电路各端口功能如下:a) fword_data15.0和是16位频率控制字;b) rst_n为清零信号;c) enable作为使能端,频率字K依据计算出的期望值调节而得到,要想输出恒定的频率控制字K需令计数器停止技术,达到一个稳态后,就可以输出一个恒定的正弦波。频率控制字的RTL视图:图3-8频率控制字模块的RTL图3-8为频率控制字模块的RTL视图中,从图中可以看出其含有3个DQ触发器,15个寄存器,1个加法器与比较器。输入和输出管脚rst_n、enable、fword_data7.0和back。频率控制字模块的Technology Map Viewer (post-mapping):图3-9频率控制字模块的Technology Map Viewer (post-mapping)图3-10频率控制字模块的Technology Map Viewer (post-mapping)图3-11频率控制字模块的Technology Map Viewer (post-mapping)图3-12频率控制字模块的Technology Map Viewer (post-mapping)图3-13频率控制字模块的Technology Map Viewer (post-mapping)图3-9到3-13为频率控制字模块的Technology Map Viewer(post-mapping)的局部视图中含有I/O接口、DQ触发器、加法器、比较器以及频率控制字逻辑数据模块。图中有输入管脚enable、rst_n以及输出管脚fword_data0.7和back。频率控制字模块的Technology Map Viewer (post-fitting):图3-14频率控制字模块的Technology Map Viewer (post-fitting)图3-15频率控制字模块的Technology Map Viewer (post-fitting) 图3-16频率控制字模块的Technology Map Viewer (post-fitting)图3-17频率控制字模块的Technology Map Viewer (post-fitting)图3-18频率控制字模块的Technology Map Viewer (post-fitting) 图3-14到3-18为频率控制字模块Technology Map Viewer(post-fitting)的局部视图中有I/O接口、DQ触发器、加法器和比较器、数据逻辑模块及两个INCLK_OUTCLK模块、输入和输出管脚enable、rst_n、data0,2、fword_data0.7和back等。3.2 相位累加器的设计在利用FPGA设计DDS电路时,相位累加器是决定DDS电路性能的一个关键部分之一,如下图3-19就是其内部的组成结构,可以看出频率控制字在一个时钟脉冲下经过加法器的累加后通过寄存器,然后寄存器把得到新的累加数据反馈到全加器进行下一次的累加,而后可把所得的累加数据进行输出。频率控制字KN位相位数列N位数字全加器N位数字寄存器N位数字全加器频率控制字N位N位相位控制字图3-19相位累加器的基本结构根据相位累加器的基本结构图,我们可以得到其顶层原理图,如下图3-20。图3-20累加器设计 相位累加器实现的功能可设定初始相位然后利用加法器将频率控制字与其累加寄存器输出的数据相加,然后将其值输出到累加寄存器输入端进行再一次的累加,其溢出值就是输出波形信号的频率,相位累加器作用就是利用输入的频率控制字从而输出地址。所以此次设计中我们用address地址模块。如下图3-21;图3-21寻址地址模块设计上图中有16位数据输入fword15.0、重置输入端rst_n、时钟频率输入端clk、和选择控制输出端enable以及8位地址数据输出线。根据频率控制字产生查找表的地址,查找表根据这个地址输出数据。输入一个16位的频率控制字,输出一个8位的寻址地址。寻址地址模块的RTL:图3-22寻址地址模块的RTL 上图为寻址地址模块的RTL视图,由1个加法器、等法器和3个DQ触发器构成。3个输入管脚clk、rst_n及fword15.0,2个输出管脚enable和address7.0。寻址模块的Technology Map Viewer (post-mapping): 图3-23寻址模块的Technology Map Viewer (post-mapping) 图3-24寻址模块的Technology Map Viewer (post-mapping) 图3-25寻址模块的Technology Map Viewer (post-mapping)图3-26寻址模块的Technology Map Viewer (post-mapping) 图3-27寻址模块的Technology Map Viewer (post-mapping) 图3-23到3-27为寻址模块的Technology Map Viewer(post-mapping)局部视图,其中含有I/O接口,DQ触发器,等法器、频率控制字和地址逻辑模块逻辑模块及输出管脚enable和address0.7。寻址模块的Technology Map Viewer (post-fitting):图3-28寻址模块的Technology Map Viewer (post-fitting)图3-29寻址模块的Technology Map Viewer (post-fitting) 图3-30寻址模块的Technology Map Viewer (post-fitting) 图3-28到图3-30为寻址模块的Technology Map Viewer (post-fitting)局部视图,其中有I/O接口、DQ触发器、等法器、INCLK_OUTCLK模块和地址寻址模块以及输入管脚时钟信号clk和重置信号rst_n以及输出管脚enable。3.3 波形ROM的设计 DDS查询表ROM所储存的数据时一个相位所对应的二进制数字正弦幅度值,在每个时钟周期内,相位累加器输出序列的高n位对其进位进行寻址,最后输出为改相位对应的二进制正弦幅度序列。将相位累加器产生的数据输入到存储器ROM中,然后在其中可进行数据的查表,找出数据所对应的模拟信号值,然后再输出其信号。利用正弦函数的对称性,则一个周期内的波形都可由090变化得来。波形的符号可根据相位最高位来进行判定,而ROM存储器的性能基本就是由次高位来决定,我们可以对所得到的波形幅度以及相位进行恰当的变化,这样经过压缩后ROM就变为了原来的1/4。相位的区间可以用S1和S2来表示,如下表1所示:表1S1S2对应的区间000 ,90)0190 ,180)10180 ,270)11270 ,360)ROM存储器中所储存的数据都是有符号的,在二进制中其补码可用复数来描述。其中符号位是最高位,0和1表示正负。相应的复数可由正数取反加1得到。 本次设计研发中在FPGA中存放波形数据,如下图3-31为波形ROM模块。图3-31波形ROM模块 上图是一种容量为256*4位的ROM的引脚图。该ROM地址线为adr(0)-adr(7)总共有8位,含有8位数据输出q7.0以及时钟频率输入端clock。图3-32波形ROM模块RTL 从上图波形ROM模块的RTL视图中看出含有2个ROM模块,2个输入端口clk和rst_n以及输出端口q7.0。ROM模块的的Technology Map Viewer (post-mapping):图3-33波形ROM模块Technology Map Viewer (post-mapping) 上图ROM模块的的Technology Map Viewer (post-mapping)视图中含有10个I/O接口,2个数据存储ROM模块,2个输入管脚clk和rst_n以及输出管脚q0.7。 ROM模块的的Technology Map Viewer (post-fitting):图3-34 ROM模块的的Technology Map Viewer (post-fitting) 图3-34为ROM模块的Technology Map Viewer (post-fitting)局部视图,含有10个I/O端口,2个ROM模块,2个INCLK_OUTCLK模块,输入管脚clk、rst_n以及输出管脚q0.7。3.4 数模转换器D/AD/A转换器的主要功能就是把系统传递的数字量转换成模拟量然后输出。D/A转换器的结构大致有以下几个部分构成:运算放大器、电压或电流源、模拟开关以及权电阻网络。它的主要性能包含其转换精度和速度以及分辨率等等,其中非线性误差、增益以及失调误差可影响其转换精度。而转换速度基本与运算放大器有关,若想有很快的转换速度,则必须也选择转换速度较大的运算放大器,从而可大大缩短运算放大器的建立时间。差模信号通过一对信号线来传输。一个信号线上传输我们通常所理解的信号;另一个信号线上则传输一个等值而方向相反(至少在理论上是这样)的信号。 共模方式是指信号出现在一个(差分)信号线对的两个信号线上,或者是同时出现在单端信号线和地上。利用差分原理设计D/A控制,如下图3-35;3-35 D/A控制差分电路是一种利用差分电流实现数据传输的差分输出电路,通过电流方向来判断0或1的。其输入端是两个信号的输入,这两个信号的差值,为电路有效输入信号,电路的输出是对这两个输入信号之差的放大,是一个口输出。如果存在干扰信号,会对两个输入信号产生相同的干扰,通过二者之差,干扰信号的有效输入为零,这就达到了抗共模干扰的目的。3.5 低通滤波器模块此次设计我们使用巴特沃斯低通滤波器,它的幅频响应公式如下: 其中: a ) G 表示滤波器的放大率; b ) n 表示滤波器的级数; c )是角频率,单位rad/s; d )是振幅下降3分贝时的截止频率。 令截止频率 = 1, 将上列公式规定一化成为; 根据衰减度求滤波器的阶数,令; 高频衰减;通过计算得出我们选用7阶巴特沃斯滤波器。如下图3-36所示;图3-36 7阶巴特沃斯滤波器 在通带内巴特沃斯低通滤波器曲线非常平坦,但正是这样使得它的过渡带变得比较长,以至于从通带缓慢的衰减到阻带,所以非常容易在过渡带上形成失真,而且其特性由阶数决定,当阶数越高时,其特性曲线越陡。巴特沃斯滤波器的频率响应曲线在通频带内为最大限度的平缓,但是在阻频带则慢慢下降为零。其7阶幅频特新曲线如图3-37所示; 图3-37 7阶巴特沃斯幅频特性曲线4. 系统实现与仿真4.1 各子模块的仿真a)对扫频信号源各个模块进行波形的仿真,我们可以进行对频率控制字K改变,然后观察后续模块其波形周期频率的变化。这一模块是整个系统的关键,通过编写程序然后调用modelsim进行仿真,其仿真如图;图4-1 频率控制字模块仿真 注释:16位频率控制字各波形;rst_n重置波形;当rst_n=1时,为频率控制字模块的波形。可以看出,当频率控制字K的值越大,其变换速度也快,频率也越高。最后输出的频率可以通过频率控制字来确定,SYSTEM CLOCK可以改变频率控制字从而就能产生我们所需的波形频率。即DDS变化频率控制字,输出的频率也相应地发生变化,即频率跳变的时间DDS本质上就是频率字的更新周期。DDS 频率字更新周期越短,其调频速度越高。b)地址模块仿真通过频率控制字的变化我们可以看到地址刷新速度的变化,在此模块中我们可将相位累加后的值然后经地址输出到波形ROM模块中。在QuartusII中输入地址模块的VHDL程序,验证后生成地址模块顶层原理图,详见上一章节。然后点击Tools-Run Simulation Tool-Gate Level Simulation进入modelsim仿真,进入modelsim之后,选择对应的模块。从而我们可以得到地址模块的仿真图。4-2 地址模块波形输出仿真 注释:时钟信号clk波形图;频率控制字的波形,当频率控制字改变一次,地址模块刷新速度变化;rst_n重置波形。地址模块波形图,随着频率控制字的增大,它的地址刷新速度也在变快。 c) 波形ROM仿真 将上述的数字信号传输到存储器ROM中,然后可进行查表,将数据对应的波形幅值进行量化输出。通过编写VHDL程序然后调用modelsim进行仿真,如下图。 注释:输出8位数据波形图;时钟信号clk波形图;ROM波形图。图4-3 波形ROM仿真分析:把频率控制字与相位控制字相加即可得到ROM地址。设定ROM的基本信息,数据的个数为256,宽度为10bits,设定ROM为寄存器的输出则可以不用时钟以及异步清零信号,ROM波形数据表的地址由频率和相位控制字以及高速时钟产生,ROM地址的变化可以决定输出信号频率的快慢。变化越快,输出频率越高。4.2 扫频信号源仿真扫频信号源模块的系统仿真如下图所示,得到这个信号的关键是先分别讲述各个子模块的仿真原理,然后新建一个工程将它们联系起来,得到如附录所示的系统顶层图。进入modelsim仿真,显示出最后的正弦扫频信号波形。仿真波形如下;图4-4 正弦扫频信号源仿真 注释:clk波形图;rst_n=1时的波形图;正弦扫频信号源在线性扫频模式下的波形图,其输出的波形信号的频率随时间进行反复的扫描。从最后测试的结果可以看出此次设计在现行扫频原理下其效果完全符合预测。4.3 遇到的问题和解决方法在此次的毕业设计中,遇到了很多的问题:问题1:刚拿到课题的时候,对课题的了解程度仅仅局限于课本的,对于后面的设计没有头绪。解决方法:对此次课题基于FPGA的正弦扫频信号源的设计先是在图书馆查阅了一些书籍,通过网络做了大概的了解,同时也研究了一些相关的论文,以及同学和老师的指导。问题2:在初期设计的过程中, Quartus和modelsim软件的安装出现了问题,软件安装之后,无法使用,导致设计仿真无法进行操作。解决办法:在网上查找搜索此类的问题,并学习到一些解决办法,又查阅了一些参考文献,最终找到解决问题的办法。问题3:刚开始不了解DDS直接频率合成技术,不了解其内部结构及其工作原理导致论文无法开始。解决方法:通过翻阅以前的课本知识,以及网上资料的查找,了解了DDS的工作原理及其特性。使设计能顺利进行。问题4:正弦扫频信号源的VHDL程序在设计过程中,总是无法达到预期的效果。解决办法:在网上参考了解一些论文中的程序,通过理解程序内容,编程模式并请教老师同学之后,最终成功的编程。 问题5:在进行滤波电容的设计时,对模拟电路的设计知识比较欠缺,导致设计无法进行。解决方法:通过网上大量的资料查找,重新复习了模拟电路和数字电路的基础知识,以及请教在DDS这方面有研究的同学和老师,最后终于成功的设计出7阶巴特沃斯低通滤波器。问题6:在程序正确无误的情况下,进行仿真时,一直无法成功仿真,导致无法继续进行仿真。解决方法:请教了同学,并在老师的帮助下,发现软件之间没有联系起来,修改之后,成功的通过Quartus软件调入Modelsim进行仿真。5. 结束语 经过了两个月的毕业设计,我的论文也完成了。在这期间我学会了熟练的运用Quartus和Modelsim软件进行编程并实现仿真,我在大学最后一份作业算是完成了。 刚开始对于正弦扫频信号源这一课题无从下手,到最后通过查资料看书以及请教老师同学,终于做出了最后的仿真波形。这个过程所给我的变化

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论