毕业设计(论文)基于FPGA IP核的函数信号发生器的设计.doc

上传人:仙人指路1688 文档编号:4143739 上传时间:2023-04-07 格式:DOC 页数:22 大小:1.32MB
返回 下载 相关 举报
毕业设计(论文)基于FPGA IP核的函数信号发生器的设计.doc_第1页
第1页 / 共22页
毕业设计(论文)基于FPGA IP核的函数信号发生器的设计.doc_第2页
第2页 / 共22页
毕业设计(论文)基于FPGA IP核的函数信号发生器的设计.doc_第3页
第3页 / 共22页
毕业设计(论文)基于FPGA IP核的函数信号发生器的设计.doc_第4页
第4页 / 共22页
毕业设计(论文)基于FPGA IP核的函数信号发生器的设计.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《毕业设计(论文)基于FPGA IP核的函数信号发生器的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于FPGA IP核的函数信号发生器的设计.doc(22页珍藏版)》请在三一办公上搜索。

1、本科生毕业论文(设计)题目基于FPGA IP核的信号发生器的设计 姓名 学号 院系 物理工程学院 专业 通信工程 指导教师 周子立 职称 副教授 2011年 5月 11日曲阜师范大学教务处制 目录 摘要1关键词1Abstract1Key words1第一章 绪论11.1课题背景11.1.1 FPGA技术的发展历史和动向11.1.2直接数字频率合成技术21.2课题意义21.3 课题内容及论文内容安排3第二章 DDS的基本原理及实现32.1 DDS的基本原理32.2 DDS的实现方法4第三章 信号发生器的FPGA实现63.1 现场可编程门阵列(FPGA)的简介63.2 Xilinx ise 10.

2、1 开发基本步骤73.3 信号发生器的FPGA 实现83.3.1 正弦信号的实现83.3.2 方波的实现93.3.3 三角波的实现11第四章 系统硬件设计124.1 系统硬件总体框图124.2 Spartan 3E开发板124.3 AD/DA转换模块144.4 键盘控制模块16第五章 系统的调试与性能测试175.1 FPGA的仿真与验证175.2 系统的误差分析18第六章 结论语19致谢19参考文献19基于FPGAIP核的函数信号发生器的设计通信工程专业学生 指导教师 摘要:在现代电子测量技术的研究及应用领域中,常常需要用到多种不同频率的信号, 如正弦波、三角波和方波等, 因此多波形信号发生器

3、的应用十分广泛。近年来,以数字技术为基础的波形发生器得到了飞速的发展,性能指标都达到了一个新的水平。现场可编程门阵列(FPGA)器件具有容量大、运算速度快、现场可编程等优点,使得许多复杂的电路有了新的实现途径, 越来越被广泛地应用到实际系统中。本文提出了一种基于Xilinx FPGA IP CORE设计方法,直接调用已封装好的DDS core、Comparators core、ROM core产生所需的波形,无需编写其程序代码,只需熟悉CORE的接口定义和操作方法,然后利用Verilog HDL编写键盘控制程序实现对信号频率、方波占空比的控制。实际应用表明,该方法能够大大提高设计效率,可以实现

4、信号频率程序控制,输出信号具有失真度低、稳定度好、分辨率高等优点。关键词:FPGA,IP CORE; Verilog HDL,直接数字式频率合成,信号发生器The Design Of Signal Generator Based On FPGA IP CoreTutor Liu Guangfeng Abstract:In the field of technology of modern electronic measurement research and application, many kinds of different frequency signals often need to

5、 be used, such as sine wave, triangle wave and square-wave, So multi-waveform signal generator is widely used. In recent years, digital technology-based waveform generator whose performance indicators have reached a new level has been rapid development. FPGA which has obvious advantages of large cap

6、acity, computing speed, field programmable, etc. make a new way of realizing of many complex circuit, more and more widely applied to actual system.A new design method based on Xilinx IP CORE is introduced, it directly applies the encapsdated DDS core and Comparators core, ROM core and have no requi

7、rement of writing codes but being familiar with the interface definitions and operations of the core,and then control the frequency of signal and the Duty Ratio of square-wave by the keyboard control program of Verilog HDL.The practical applications show that this method can greatly improve the desi

8、gn efficiency with less FPGA source and can realizes programmable control of the frequency of output wave,meanwhile,the signal has a low distortion,good reliability and high resolutionKey words: FPGA, IP CORE, Verilog HDL, direct digital synthesis, signal generator第一章 绪论1.1课题背景1.1.1 FPGA技术的发展历史和动向自1

9、985年Xilinx公司推出有史以来第一颗现场可程序化逻辑组件至今,已经历了超过二十几年的发展历史。在发展过程中,以FPGA为代表的数字系统现场集成取得了惊人的发展:现场可程序化逻辑组件从最初的1200个可利用逻辑闸,发展到现在的1000万个可利用逻辑闸。纵观现场可程序化逻辑组件的发展历史,其之所以具有巨大的市场吸引力,在于FPGA不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,促使FPGA在某些情况下得以取代ASIC的市场,特别是对小量、多样,短开发期的产品需求,使FPGA成为首选。随着芯片设计工艺的不断提高,FPGA技术呈现出了以下4

10、个主要的的发展动向。(1) 基于FPGA的嵌入式系统(SoPC)技术正在成熟System on Chip(SoC)技术在芯片设计领域被越来越广的应用,而SoPC技术是SoC技术在可编程器件领域的应用。这种技术的核心是在FPGA芯片内部构建处理器。Xilinx公司主要提供基于Power PC的硬核解决方案,而Altera提供的是基于NIOSII的软核解决方案。(2) FPGA芯片朝着高密度、低压、低功耗的方向发展随着芯片生产工艺不断提高,FPGA芯片的性能和密度都在不断的提高。早期的的FPGA主要是完成接口逻辑设计,比如AD/DA和DSP的粘合逻辑。现在的FPGA正在成为电路的核心部件,完成关键

11、功能。在高性能计算和高吞吐量I/O应用方面,FPGA已经取代了专用的DSP芯片,成为最佳的实现方案。(3) 基于IP库的设计方法未来的FPGA芯片密度不断提高,传统的基于HDL的代码设计方法很难满足超大规模FPGA的设计需要。随着专业的IP库设计公司不断增多,商业化的IP库种类会越来越全面,支持的FPGA器件也会越来越广泛。设计人员可以利用这些现成的IP库资源,高效准确的完成复杂片上的系统设计。典型的IP核心库有Xilinx公司提供的 LogiCORE和AllianceCORE。(4) FPGA的动态可重构技术FPGA动态重构技术主要是指对于特定结构的FPGA芯片,在一定控制逻辑的驱动下,对芯

12、片的全部或部分逻辑资源实现高速的功能变换,从而实现硬件的时分复用,节省逻辑资源。1.1.2直接数字频率合成技术1971年,美国学者JTierncy,CMRader和BGold提出了以全数字技术,从相位概念出发直接合成所需波形的一种新的频率合成原理。限于当时的技术和器件水平,它的性能指标尚不能与已有的技术相比,所以没有受到重视。近20年来,随着技术和器件水平的提高,一种新的频率合成技术直接数字频率合成(DDS)得到了飞速的发展,它以有别于其它频率合成方法的优越性能和特点成为现代频率合成技术中的姣姣者。DDS问世之初,构成DDS元器件的速度的限制和数字化引起的噪声这两个主要缺点阻碍了DDS的发展与

13、实际应用。近几年超高速数字电路的发展以及对DDS的深入研究,DDS的最高工作频率以及噪声性能已接近并达到与锁相频率合成器相当的水平。随着这种频率合成技术的发展,它已经被广泛应用于通讯、导航、雷达、遥控遥测、电子对抗以及现代化的仪器仪表工业等领域。1.2课题意义 信号发生器作为一种信号产生的装置己经越来越受到人们的重视,它可以根据用户的要求,产生自己所需要的波形,具有重复性好,实时性强等优点。本课题的目的就是设计开发出一个能产生正弦波、方波、三角波的信号发生器。而直接数字频率合成技术是研制该系统所要解决的关键技术,但传统基于FPCA的DDS设计方法是利用硬件描述语言VHDL或Verilog来设计

14、相位累加器、LUT(数据查表)以及控制逻辑。此方式程序代码量较大、设计效率偏低且占用较多FPGA资源。而基于Xilinx公司系列FPGA IP CORE的DDS设计方法,直接从Core Generator中调用DDS IP CORE即可实现DDS核心功能,无需编写DDS内部代码,设计简单方便,因此对本文的研究不仅具有理论意义而且具有实用价值。1.3 课题内容及论文内容安排本论文研究工作是设计一个以Xilinx公司的Spartan3E系列FPGA芯片XC3S500E为核心,附加一定外围电路组成的常规信号发生器。根据数字系统的设计方法(本文选用自上而下的设计方法),结合FPGA和Verilog H

15、DL的优势,以硬件描述语言Verilog HDL为系统逻辑描述手段,在EDA软件(本设计采用Xilinx ise10.1)平台上,对其自动地完成编译、综合、优化、布局布线、时序仿真、直至对目标芯片的适配编译、逻辑映射和编程下载等工作,再结合相应外围电路,实现常规信号的产生。本论文共分六章,各章内容安排如下:第一章为绪论。主要介绍课题的选题依据及意义,论文的研究内容及结构安排。第二章,DDS的基本原理和实现。详细论述了DDS的基本原理及其实现。第三章,信号发生器的FPGA实现。主要介绍了现场可编程门阵列(FPGA)及Xilinx ise10.1开发基本步骤,论述了信号发生器的FPGA实现。第四章

16、,系统硬件设计。本章对系统硬件部分作了详细的阐述,包括硬件的总体框图、控制模块的设计、模数转换DAC模块的阐述。第五章,系统的调试与性能测试。本章对主要模块进行仿真调试,以及对调试结果进行分析。第六章,结论语。对本文工作进行总结,并对今后的研究工作进行了展望。第二章 DDS的基本原理及实现2.1 DDS的基本原理 图1是DDS的基本原理图。在每个到来时,相位累加器将上一时钟周期的累加结果和频率增量(频率控制字)进行累加,累加结果的高位作为正/余弦查表(LUT)的地址,输出对应地址上的波形数据或,由外部数模转换器DAC能重构波形,经滤后输出平滑模拟信号波形。相位累加器频率控制字D2频率控制字寄存

17、器正/余弦查表数据D1图1 DDS的基本原理图DDS的核心是相位累加器,利用它来产生信号递增的相位信息,整个DDS系统在统一的参考时钟下工作,每个时钟周期相位累加器作加法运算一次。加法运算的步进越大,相应合成的相位值变化越快,输出信号的频率也就越高。对于幅值归一化的正弦波信号的瞬时幅值完全由瞬时相位来决定,因为,所以相位变化越快,信号的频率越高。ROM表完成将累加器相位信息转换为幅值信息的功能。再由D/A完成数字抽样信号到连续时域信号的转换,D/A输出的台阶信号再经低通滤波器平滑可以得到精确的连续正弦信号波形。相位累加器利用Nbit二进制加法器的模溢出特性来模拟理想正弦波的2相位周期。相位累加

18、器输出和ROM输出可分别理解为理想正弦波相位信号和时域波形的时钟抽样。用相位累加器输出的数据作为波形存储器的相位取样地址,这样就可以把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。低通滤波器用于滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。假设,相位累加器字长为N,DDS控制时钟频率为,时钟周期为,频率控制字为。系统工作时,累加器的单个时钟周期的增量值为,相应角频率为,所以DDs的输出频率为,DDS输出频率步进间隔为。因DDS输出信号是对正弦波的抽样合

19、成的,所以应满足Niqust定理要求,即,也就是要求,根据频谱性能要求,一般取。当DDS相位累加器采用32位字长,时钟频率为30MHz时,它的输出频率间隔可达到。可见,DDS基于累加器相位控制方式给它带来了微步进的优势。2.2 DDS的实现方法DDS的实现常采用专用芯片(如美国模拟器件公司的AD985X系列)和大规模可编程逻辑阵列(FPGA)来实现。AD985X系列专用DDS芯片,以AD850为例,其内部集成有32位的相位累加器、5位的相位控制器和10位的DAC,可以产生低相位噪声、高稳定度的频率输出波形,但不能实现任意的相位调整,只能实现,、和等5种固定值组合的相位调整,且输出幅度不能调节。

20、基于FPGA的DC6实现方法具有设计灵活、硬件开销少、开发效率高、利于集成的优点。FPGA外部只需搭配一只双通道的DAC芯片和少许滤波电路,由CPU控制即可实现正弦信号频率、相位和幅度的程序控制。本文提出一种基于Xilinx公司系列FPGA IP CORE的DDS设计方法,直接从Core Generator中调用DDS IP CORE即可实现DDS核心功能,无需编写DDS内部代码,设计简单方便。Core Generator是Xilinx公司系列FPGA集成开发环境ISE的子设计工具,其将原有重复使用的设计思路或方法模块化、集成化、标准化后进行封装IP CORE,供以后设计直接使用。Core G

21、enerator中的所有IP CORE都是Xilinx以及第三方合作伙伴提供并经过验证的,其中有的复杂的IP CORE需要另行付费才能使用,绝大部分简单IP只要有集成开发环境ISE使用授权就可以使用1 小刚,葛毅敏Xilinx ISE 9.X FPGACPLD设计指南M北京:人民邮电出版社,2007 图2 Xilinx DDS IP CORE 界面图2是启动ISE Core Generator调用的DDS IP CORE的界面。在设置选项中DDS Clock Rate(DDS时钟)、Frequency Resolution(频率分辨率)、输出数据宽度要设定固定值;Output Frequenc

22、y(输出频率)是可编程的。只需设置初始值,Core Generator会根据DDS时钟和频率分辨率自动配置累加器数据宽度和数据表深度。图3为DDS IP CORE模块外部接口定义。模块定义了输入端口(DATA)和输出端口(SINE、COSINE)、地址端口(A)、时钟使能端口(CE)、RDY和RFD握手信号(可选)、SCLR(同步清零端,可选)、CHANNEL(输出通道指示,用于多通道DDS)。模块在CE为0(无效)、WE为1时,分别将相位增量(频率控制字)和初始相位(PHASEOFFSET)读入,在CE有效(CE为1)后的一个时钟周期内输出DDS数据,同时RDY有效。 图3 DDS IP C

23、ORE模块外部接口定义第三章 信号发生器的FPGA实现3.1 现场可编程门阵列(FPGA)的简介FPGA是英文Field programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元数组LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logie Block)、输出/输入模块IPB(Input Out

24、put Block)和内部联机(Inter connect)三个部分。FPGA的基本特点主要有:(l)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。(2)FPGA可做其他全定制或半定制ASIC电路的中试样片。 (3)FPGA内部有丰富的触发器和I/O引脚。 (4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 (5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。因此,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA具有静态可重复编程和动态在系统重构的特性,使得硬件功能可以像软件一样通过编程来修改。

25、在FPGA实际应用中,设计的保密和设计的可升级是十分重要的,用单片机来配置FPGA可以很好的解决上述问题。用单片机配置FPGA器件时,关键在于产生合适的时序。单片机可选用常用的如MCS51系列、MCS96系列、AVR系列等均可。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成以后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPR

26、OM、 PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的的电路功能。因此,FPGA的使用灵活。目前有三种基本的FPGA编程技术:SRAM、反熔丝、Flash。其中,SRAM是迄今为止应用范围最广的架构,主要因为它速度快且具有可重编程能力,而反熔丝FPGA只具有一次可编程(One Time Programmabfe,OTP)能力。基于Flash的FPGA是FPGA领域比较新的技术,也能提供可重编程功能。基于SRAM的FPGA器件经常带来一些其他的成本,包括:启动PROMS支持安全和保密应用的备用电池等等。基于Flash和

27、反熔丝的FPGA没有这些隐含成本,因此可保证较低的总系统成本2 IEEE1149.1.(JTAG)Boundary-scan Testing in Altera Devices,1998 3 许慧波,张厥盛.DDS一直接数字式频率合成综述M.西安.西安电子科技大学出版社,19894 史小波,王应海。基于FPGA的DDS信号源设计J电子工程师,2007,33(9):43455 丁小汀基于单片机的直接数字频率合成器的设计J现代电子技术,2007(13):55-576 蓝天,张金彬直接数字频率合成器DDS的优化设计J集成电路应用,2007,(5):42447 周冬成,王永斌,郑亚平基于FPGA的小数

28、分频频率合成器设计J电子测量技术。2006,29(3):79-818DDS Compiler v10 Product SpecificationRXilinx 20063.2 Xilinx ise 10.1 开发基本步骤Xilinx ISE硬件设计工具。相对容易使用的、首屈一指的PLD设计环境!ISE将先进的技术与灵活性、易使用性的图形界面结合在一起,不管您的经验如何,都让您在最短的时间,以最少的努力,达到最佳的硬件设计。下面主要概述ISE的基本开发流程以及在开发过程中的各个阶段需要用到的工具软件。Xilinx公司的ISE开发设计软件的工程设计流程,具体分为五个步骤:即输入(Design En

29、try)、综合(Synthesis)、实现(Implementation)、验证(Verification)、下载(Download)。1. 图形或文本输入(Design Entry)。图形或文本输入包括原理图、状态机、波形图、硬件描述语言(HDL),是工程设计的第一步,ISE集成的设计工具主要包括HDL编辑器(HDL Editor)、状态机编辑器(StateCAD)、原理图编辑器(ECS)、IP核生成器(CoreGenerator)和测试激励生成器(HDL Bencher)等。常用的设计输入方法是硬件描述语言(HDL)和原理图设计输入方法。原理图输入是一种常用的基本的输入方法,其是利用元件库

30、的图形符号和连接线在ISE软件的图形编辑器中作出设计原理图,ISE中设置了具有各种电路元件的元件库,包括各种门电路、触发器、锁存器、计数器、各种中规模电路、各种功能较强的宏功能块等用户只要点击这些器件就能调入图形编辑器中。这种方法的优点是直观、便于理解、元件库资源丰富。但是在大型设计中,这种方法的可维护性差,不利于模块建设与重用。更主要的缺点是:当所选用芯片升级换代后,所有的原理图都要作相应的改动。故在ISE软件中一般不利用此种方法。为了克服原理图输入方法的缺点,目前在大型工程设计中,在ISE软件中常用的设计方法是HDL设计输入法,其中影响最为广泛的HDL语言是VHDL和Verilog HDL

31、。它们的共同优点是利于由顶向下设计,利于模块的划分与复用,可移植性好,通用性强,设计不因芯片的工艺和结构的变化而变化,更利于向ASIC的移植,故在ISE软件中推荐使用HDL设计输入法。波形输入及状态机输入方法是两种最常用的辅助设计输入方法,使用波形输入法时,只要绘制出激励波形的输出波形,ISE软件就能自动地根据响应关系进行设计;而使用状态机输入时,只需设计者画出状态转移图,ISE软件就能生成相应的HDL代码或者原理图,使用十分方便。其中ISE工具包中的StateCAD就能完成状态机输入的功能。但是需要指出的是,后两种设计方法只能在某些特殊情况下缓解设计者的工作量,并不适合所有的设计。2. 综合

32、(Synthesis)。综合是将行为和功能层次表达的电子系统转化为低层次模块的组合。一般来说,综合是针对VHDL来说的,即将VHDL描述的模型、算法、行为和功能描述转换为FPGA/CPLD基本结构相对应的网表文件,即构成对应的映射关系。在Xilinx ISE中,综合工具主要有Synplicity公司的Synplify/Synplify Pro,Synopsys公司的FPGA Compiler II/ Express, Exemplar Logic公司的 LeonardoSpectrum和Xilinx ISE 中的XST等,它们是指将HDL语言、原理图等设计输入翻译成由与、或、非门,RAM,寄存

33、器等基本逻辑单元组成的逻辑连接(网表),并根据目标与要求优化所形成的逻辑连接,输出edf和edn等文件,供CPLD/FPGA厂家的布局布线器进行实现。3. 实现(Implementation)。实现是根据所选的芯片的型号将综合输出的逻辑网表适配到具体器件上。Xilinx ISE的实现过程分为:翻译(Translate)、映射(Map)、布局布线(Place & Route)等3个步骤。ISE集成的实现工具主要有约束编辑器(Constraints Editor)、引脚与区域约束编辑器(PACE)、时序分析器(Timing Analyzer)、FPGA底层编辑器(FGPA Editor)、芯片观察

34、窗(Chip Viewer)和布局规划器(Floorplanner)等。4. 验证(Verification)。验证(Verification)包含综合后仿真和功能仿真(Simulation)等。功能仿真就是对设计电路的逻辑功能进行模拟测试,看其是否满足设计要求,通常是通过波形图直观地显示输入信号与输出信号之间的关系。综合后仿真在针对目标器件进行适配之后进行,综合后仿真接近真实器件的特性进行,能精确给出输入与输出之间的信号延时数据。ISE可结合第三方软件进行仿真,常用的工具如Model Tech公司的仿真工具ModelSim和测试激励生成器HDL Bencher ,Synopsys公司的VCS

35、等。通过仿真能及时发现设计中的错误,加快设计中的错误,加快设计进度,提高设计的可靠性。每个仿真步骤如果出现问题,就需要根据错误的定位返回到相应的步骤更改或者重新设计。5. 下载(Download)。下载(Download)即编程(Program)设计开发的最后步骤就是将已经仿真实现的程序下载到开发板上,进行在线调试或者说将生成的配置文件写入芯片中进行测试。在ISE中对应的工具是iMPACT。3.3 信号发生器的FPGA 实现早期的DDS系统使用分离的数字器件搭接,随着整个电路系统运行频率的升高,采用分离器件构建的DDS电路有其自身无法克服的缺点,主要表现在电磁兼容和系统工作频率上。后来出现的专

36、用DDS芯片极大的推动了DDS技术的发展,但专用DDS芯片价格昂贵,且无法实现任意波形输出,近来,CPLD及FPGA的发展为实现DDS提供了更好的技术手段。FPGA的应用不仅使得数字电路系统的设计非常方便,并且还大大缩短了系统研制的周期,缩小了数字电路系统的体积和所用芯片的品种。而且它的时钟频率已可达到几百兆赫兹,加上它的灵活性和高可靠性,非常适合用于实现波形发生器的数字电路部分。3.3.1 正弦信号的实现正弦信号实现的核心问题是DDS正弦信号的产生、信号的控制问题。由于DDS实现的方式有很多,因而,在设计的过程中我们综合考虑了以下三种实现方案:方案一:以单片机为系统控制核心;采用AD公司的D

37、DS集成芯片AD9854来产生1Hz100KHZ的正弦信号;单片机用来负责完成对AD9854频率控制字和控制信号的置入,以及对键盘操作和液晶显示的控制;而低通滤波器主要用于抑制谐波干扰,保证输出信号频谱的纯度。整个系统由控制模块、DDS模块、输出模块构成。系统框图如图4所示。该方案结构简单,控制方便、软件容易实现,但硬件集成度不高。 图 4 方案一 系统框图方案二:根据DDS原理利用FPGA自行设计DDS芯片,即用累加器按频率要求对相应的相位增量进行累加,再以累加相位值作为地址码,取存放于ROM 中的波形数据,经D/A转换、滤波即得所需波形。方法简单,频率稳定度高,易于程控。但这种设计方法是利

38、用硬件描述语言VHDL或Verilog来设计相位累加器、LUT(数据查表)以及控制逻辑。此方式程序代码量较大、设计效率偏低且使用较多FPGA资源。方案三:直接从Core Generator中调用DDS IP CORE 实现DDS的核心功能,经D/A转换、滤波即得所需波形。并通过ps2接口对DDS IP CORE模块的输入端口DATA进行赋值,达到改变频率的目的。以上三种方案都切实可行,但方案三较其他方案相比更具有以下优点:1、方案三将必要的外围电路和处理器集中在一块芯片上,无需专门的处理器芯片,减小了系统的体积,简化了系统的规模;2、在外围电路不变的情况下,通过更新算法和对FPGA内部电路的重

39、新设计,便可以使系统功能得到提升和加强;3、无需编写大量的程序代码,设计效率高,且占用较少的FPGA逻辑资源;4、更具有设计灵活、集成度高等优点;因此,选用方案三作为最终正弦信号的实现方案。 图5 方案三 仿真波形3.3.2 方波的实现在正弦波的基础上,调用如图6所示的Comparator IP CORE 即可产生方波。图 6 Comparator IP CORE 界面 图 7 Comparator IP CORE模块外部接口定义方波信号的占空比可调节具有其应用价值,如何实现方波占空比的调节成为方波实现的核心问题。在实现过程中,我们综合考虑了以下两种方案。方案一:通过对比较器的b输入端编程设置

40、,改变分压值。也即改变了比较器的比较电压。当比较电压改变时,相应的正弦信号电压和比较电压的相交点也改变,从而使得输出方波的占空比也随之变化,但占空比的值与比较电压值也是非线性关系,因此占空比大小设置需要经过计算来确定比较电压的大小。图8表示了输出正弦信号和比较电压。下面利用图8对这一关系做推导: 图 8 正弦信号和比较电压设:正弦信号为, 其中A为正弦信号幅值,同时也是直流偏移值,为信号频率;比较电压值为;占空比的值为D(0D1);根据图8的设定,有 故 另;而;将代入得: 当要设置的占空比确定后要通过式进行计算。是根据占空比确定的比较电压值,可以通过编程来改变。但FPGA实现三角函数运算要通

41、过CORDIC算法,编程实现比较复杂。方案二:假设要实现占空比为M/N的方波信号,通过对比较器的输入信号进行N倍频处理,同时将比较器设置成过零比较器实现占空比50%的方波输出。再利用Verilog HDL编程对比较器的输出方波信号实现任意占空比的任意分频。这种方法易于编程,不需要复杂的运算,易于实现。因此,选方案二来实现占空比的任意可调。3.3.3 三角波的实现不同采样频率下读取波形ROM中的数据即可实现任意频率三角波的输出。FPGA 内部有Block RAM和分布式RAM, 这些资源都可以作为ROM。本次设计中系统调用的ROM 是用Xilinx ISE的core generator产生的IP

42、核通用模块。用IP核的界面如图9所示, 使用该模块可以加快系统的设计, 不必了解ROM 的内部结构和具体的设计方法。同时, ROM核模块可支持直接调用.coe 文件。由于.coe文件中存储了ROM 中的数据, 因此, 通过改变. coe 的内容就能很方便地改变ROM 中的存储数据。查找表中的数据通过在Matlab中编程获得。运用Matlab中图形绘制和图形数据保存的命令来生成.coe文件。同时可以根据设计精度要求来决定采样点数和单个数据的数据位数, 以达到控制精度的目的。如果使用传统的ROM 数据人工输入, 则工作量十分巨大。图 9 Xilinx ROM IP核界面第四章 系统硬件设计FPGA

43、Spartan 3E开发板D/A转换模块键盘控制模块波形4.1 系统硬件总体框图图10 系统硬件结构框图系统硬件结构如图10所示,图中核心部件是Spartan 3E开发板,外围电路包括A/D转换模块、键盘控制模块。键盘控制模块和FPGA采用串口通信方式将相应控制数据发送至FPGA内部寄存器,再由FPGA内部DDS模块输出相应的数字波形,经过D/A转换成模拟信号。4.2 Spartan 3E开发板Xilinx Spartan 3E FPGA能够实现大量基于FPGA 的数字系统板上资源丰富,有2Mbytes 的Flash 和1Mbytes的快速SRAM,以及各种输入输出设备,可以方便的设计具有各种

44、功能的数字系统,也可设计含有Xilinx MicroBlaze 软核的嵌入式处理器系统。EXCD-1 开发板有5 个扩展接口,可灵活的扩展各种功能模块,如数模转换模块,模数转换模块,LCD 显示模块等。 图11 Spartan 3E开发板 图 12 板上资源框图Spartan 3E的资源包括:1. Xilinx Spartan 3E XC3S500E PQ208 FPGA 器件 10,476 逻辑单元 1,164 CLBs 73Kbits 分布式RAM 360Kbits 块RAMs 20 个专用乘法器 4 个DCMs 158 个用户I/O 管脚 PQ208 管脚封装2. 时钟:50MHZ 晶振

45、输入3. 高速异步SRAM 512K 16bits4. Flash 存储器 1M 16bits5. 配置 Flash: XCF04S 4Mbit6. JTAG 下载接口7. 4 个按键8. 1 个4 位7 段数码管9. 2 个DIP 开关10. 8 个拨码开关11. 8 个发光二极管12. 1 个PS2 接口13. 1 个RS232 接口14. 1 个VGA 接口15. 扩展接口: 4 个具有8 个IO 信号的12-PIN 扩展接口 1 个具有34 个IO 信号的68-PIN SCSI 扩展接口16. 1 个电源接口17. 1 个电源拨码开关18. 1 个复位按钮4.3 AD/DA转换模块AD

46、/DA 模块分为模数转换和数模转换两个部分,均采用高速转换芯片,可满足高速,实时的数字信号处理。其中,模数转换器采用了Texas Instruments 公司的ADS931,8 位分辨率,最高33M 采样频率;模数转换器采用了Texas Instruments 公司的DAC908,8 位分辨率,最高165M 转换速度。为了减小信号衰减,并使阻抗匹配,电路中,采用了高带宽运放AD8655 和AD8631对信号进行放大和跟随,从而达到更好的效果。图13 AD 转换部分原理图图 13 为ADC 模块原理图,模拟信号通过BNC 接口输入,通过由AD8655 构成的射随电路,增加信号的驱动能力及阻抗隔离,然后连接到ADS931 的模拟信号输入端,ADCLK 可由FPGA 产生并提供给ADS931 作为时钟信号输入,DB1 DB 8

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号