基于FPGA的数字信号发生器设计_第1页
基于FPGA的数字信号发生器设计_第2页
基于FPGA的数字信号发生器设计_第3页
基于FPGA的数字信号发生器设计_第4页
基于FPGA的数字信号发生器设计_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、基于FPGA的数字信号发生器设计摘 要数字信号发生器是数字信号处理中不可缺少的调试设备,在生产生活中的应用非常广泛。本文所设计的内容就是基于Altera公司的现场可编程门阵列(FPGA)实现数字信号发生器的设计,FPGA具有密度高,功耗低,体积小,可靠性高等特点,设计时可以不必过多考虑具体硬件连接;本设计中应用VHDL硬件描述语言进行描述,使该数字信号发生器可以产生正弦波、方波、三角波、锯齿波四个独立的波形,并能对所产生的四种波形的频率和幅度进行调节。关键词:直接数字频率合成;数字波形发生器;FPGA;DDS;VHDLDesign Of FPGA-based Digital Signal Ge

2、neratorYang Chunjian(College of Physics Science and Information Engineering, Jishou University,Jishou Hunan 416000)AbstractDigital signal transmitter as a test facility is an important part of information processing system. In the production of a wide range of application of life. This content is de

3、signed by Altera, based on field programmable gate array (FPGA) design of digital signal generator, FPGA has a high density, low power consumption, small size, high reliability, can not have too much to consider wher designing specific hardware connection; the design of the application of VHDL hardw

4、are description language to describe, so that the digital signal generator can produce sine, square, triangle, sawtooth waveforms of four independent,and is able to produce four waveforms by the frequency and amplitude adjustment.Key words:Direct Digital Frequency Synthesis;Digital Waveform Generato

5、r; FPGA;DDS;VHDL目 录第一章 绪 论11.1 背景与意义11.2 国内外发展现状1第二章 相关资料32.1 DDS技术32.2 FPGA简介42.3 VHDL简介52.4 Quartus简介7第三章 系统硬件电路设计93.1 数字信号发生器的系统组成93.2 设计原理及要求93.3 输入部分103.3.1频率、幅值和波形转换部分103.3.2系统时钟电路123.3.3 电源电路的设计123.4 FPGA部分123.5 D/A转换部分133.5.1 DAC0832转换器简介143.6 滤波电路15第四章 系统软件设计164.1软件系统流程图164.2 数字信号发生器的软件设计16

6、4.2软件各模块174.2.1 主控制模块174.2.2 波形数据产生模块18结束语22参考文献23附 录24第一章 绪 论1.1 背景与意义在电子技术领域,常常需要波形、频率、幅度都可调的电信号,用于产生这种电信号的电子仪器称作信号发生器。信号发生器是一种常用的信号源,广泛运用于科学研究、生产实践和教学试验等领域。特别是在通信系统的科研实验中,常常需要用到不同频率和幅度的信号,如正弦波、三角波、方波和锯齿波等。作为一种为电子测量和计量提供电信号的设备,它和万用表、示波器、频率计等仪器一样,是最普通、最基本,也是运用最广泛的电子仪器之一,几乎所有电参量的测量都需要用到信号发生器。传统的波形发生

7、器多采用模拟分立元件实现,产生的波形种类要受到电路硬件的限制,体积大、灵活性和稳定性也相对较差。近年来,以数字技术为基础的数字信号发生器得到了飞速的发展,性能指标都达到了一个新的水平。现场可编程门阵列器件具有容量大、运算速度快、现场可编程等优点,使得许多复杂的电路有了新的实现途径,越来越被广泛地应用到实际系统中。而且随着当今电子系统的越来越复杂,毫无疑问,数字信号发生器正在成为模拟复杂信号的事实标准。凡是能产生测试信号的仪器,统称为信号源,也称为信号发生器,它用于产生被测电路所需特定参数的电测试信号。信号源是根据用户对其波形的命令来产生信号的电子仪器。信号源主要给被测电路提供所需要的已知信号(

8、各种波形),然后用其它仪表进行测量的参数。信号源有很多种分类方法,其中一种方法可分为混和信号源和逻辑信号源两种。其中混和信号源主要输出模拟波形;逻辑信号源输出数字码形。混和信号源又可分为函数信号发生器和任意波形/函数发生器,其中函数信号发生器输出标准波形,如正弦波、方波等,任意波/函数发生器输出用户自定义的任意波形;逻辑信号发生器又可分为脉冲信号发生器和码型发生器,其中脉冲信号发生器驱动较小个数的的方波或脉冲波输出,码型发生器生成许多通道的数字码型。1.2 国内外发展现状采用可变时钟和计数器寻址波形存储器的任意波形发生器4在一段时期内曾得到广泛的应用,其取样时钟频率较高且可调节,然而这种波形发

9、生器对硬件要求比较高,需要高性能的锁相环和截止频率可调的低通滤波器,且频率分辨率低,频率切换速度较慢,已经逐步退出市场。目前市场上的数字信号发生器主要采用直接数字合成(Direct Digital Synthesuzer,DDS)技术,这种波形发生器不仅可以产生可变频的载频信号、各种调制信号,同时还能和计算机配合产生用户自定义的有限带宽的任意信号,可以为多领域的测试提供宽带宽、高分辨率的测试信号。从目前发展状况来看,国外数字信号发生器的研制和生产技术已经较为成熟。以安捷伦(Agilent)和泰克(Tektronix)为代表的国际电子测量仪器公司在此领域进行了卓有成效的研究和开发,其产品无论在技

10、术上还是市场占有率方面在国际上都享有盛誉,但其价格也相当昂贵,高端型号每台价格都在几万美金左右,低端的也要几万人民币。Tektronix公司的独立结构任意波形发生器AFG3000系列功能完善,人机界面友好,操作方便,可以以多种方式连接到PC机上,其最高采样率能达到2GS/s,输出正弦信号最高频率为240MHz,任意波频率最高能达到50MHz,并配备的强大的波形编辑软件ArbExpress,用户可以方便地创建和编辑自己的波形。Agilent公司的PXI模块任意波形发生器采样率已经能达到1.25GS/s,最高输出频率500MHz。我国研制任意波形发生器是从上世纪90年代开始的,近年来有一批本土厂商

11、奋起直追,取得了可喜的成果。例如南京盛普科技电子有限公司的SPF120型信号发生器的主波输出频率达到了120MHz,任意波最高频率为100KHz;北京普源精电科技有限公司(RIGOL)生产的DG1000/2000/3000系列任意波形发生器,在性能上已经大略相当于国外中低端产品。本课题的主要研究内容是参考直接数字频率合成原理(DDS)技术6,利用Quartus II 5.1软件作为平台,VHDL语言作为开发语言,基于FPGA配合相应外围电路实现一个数字信号发生器,其电路结构简单,容易扩展,具有极大的灵活性和方便性,实现了产生频率、幅度可调的正弦波、三角波、方波、锯齿波信号的信号发生器。第二章

12、相关资料2.1 DDS技术 DDS与大多数的数字信号处理技术一样,它的基础仍然是奈圭斯特采定理。奈圭斯特采样定理是任何模拟信号进行数字化处理的基础,它描述的是一个带限的模拟信号经抽样变成离散序列后可不可以由这些离散序列恢复出原始模拟信号的问题。奈圭斯特采样定理告诉我们,当抽样频率大于或者等于模拟信号最高频率的两倍时,可以由抽样得到的离散序列无失真地恢复出原始模拟信号。只不过在DDS技术中,这个过程被颠倒过来了。DDS不是对模拟信号进行抽样,而是一个假定抽样过程已经发生且抽样值已经量化完成,如何通过某种方法把已经量化的数值重建原始信号的问题。DDS电路一般由参考时钟、相位累加器、波形存通滤波器(

13、LPF)组成。其结构如图2.1所示。图2.1 DDS基本结构框图其中,fc为参考时钟频率,K为频率控制字,N为相位累加器位数,A为波形存储器地址位数,D为波形存储器的数据位字长和D/A转换器位数。DDS系统中的参考时钟通常由一个高稳定度的晶体振荡器来产生,用来作为整个系统各个组成部分的同步时钟。频率控制字(Frequency Control Word,FCW)实际上是二进制编码的相位增量值,它作为相位累加器的输入。相位累加器由加法器和寄存器级联而成,它将寄存器的输出反馈到加法器的输入端实现累加的功能。在每一个时钟脉冲fc,相位累加器把频率字K累加一次,累加器的输出相应增加一个步长的相位增量,由

14、此可以看出,相位累加器的输出数据实质上是以K为步长的线性递增序列(在相位累加器产生溢出以前),它反映了合成信号的相位信息。相位累加器的输出与波形存储器的地址线相连,相当于对波形存储器进行查表,这样就可以把存储在波形存储器中的信号抽样值(二进制编码值)查出。在系统时钟脉冲的作用下,相位累加器不停的累加,即不停的查表。波形存储器的输出数据送到D/A转换器,D/A转换器将数字量形式的波形幅度值转换成一定频率的模拟信号,从而将波形重新合成出来。若波形存储器中存放的是正弦波幅度量化数据,那么D/A转换器的输出是近似正弦波的阶梯波,还需要后级的低通平滑滤波器进一步抑制不必要的杂波就可以得到频谱比较纯净的正

15、弦波信号。图2.2所示为DDS各个部分的输出信号。由于受到字长的限制,相位累加器累加到一定值后,就会产生一次累加溢出,这样波形存储器的地址就会循环一次,输出波形循环一周。相位累加器的溢出频率即为合成信号的频率。可见,频率控制字K越大,相位累加器产生溢出的速度越快,输出频率也就越高。故改变频率字(即相位增量),就可以改变相位累加器的溢出时间,在参考频率不变的条件下就可以改变输出信号的频率。图2.2 DDS各部分输出波形2.2 FPGA简介数字集成电路从产生到现在,经过了早期的电子管、晶体管、小中规模集成电路,到大规模、超大规模集成电路(VLSIC)以及许多既有特定功能的专用集成电路的发展过程。但

16、是,随着为电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(Application Special Integrated Circuit, ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在 实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(Field Programmable Logic Device, FPLD),其中应用最广泛的当属CPLD和FPGA1。CPLD是复杂可编程逻辑器件(Complex Programmable Logic Device)的简称,FPGA是现场可

17、编程门阵列(Field Programmable Gate Array)的简称。两者的功能基本相同,只是实现原理略有不同,但有时可以忽略这两者的区别。不同厂家对可编程逻辑器件的叫法也不尽相同。Altera公司把自己的可编程逻辑器件产品中的MAX系列(乘积项技术,EEPROM技术)、FLEX系列(查找表技术,SRAM工艺)都叫做CPLD;而把也是SRAM工艺、基于查找表技术、要外挂配置用的FLEX系列的EPROM叫做FPGA。早期的可编程逻辑器件都属于低密度PLD(Programmable Logic Device),结构简单,设计灵活,但规模小,难以实现复杂的逻辑功能。1985年Xilinx公

18、司首先推出了现场可编程门阵列FPGA,这是一种新型的高密度PLD,采用CMOS-SRAM工艺制作,其结构和阵列型PLD不同,内部由许多独立的可编程模块组成,逻辑模块之间可以灵活地相互连接,具有密度高、编程速度快,设计灵活和可再配置设计能力等许多优点。FPGA一般由6部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。每个单元简介如下:(1)可编程输入/输出单元(I/O单元)。目前大多数FPGA的I/O单元被设计为可编程模式,即通过软件的灵活配置,可适应不同的电气标准与I/O物理特性;可以调整匹配阻抗特性,上下拉电阻;可以调

19、整输出驱动电流的大小等;(2)基本可编程逻辑单元。FPGA的基本可编程逻辑单元是由查找表(LUT)和寄存器(Register)组成的,查找表完成纯组合逻辑功能。FPGA内部寄存器可配置为带 同步/异步复位和置位、时钟使能的触发器,也可以配置成为锁存器。FPGA一般依赖寄存器完成同步时序逻辑设计。一般来说,比较经典的基本可编程单元的配置是一个寄存器加一个查找表,但不同厂商的寄存器和查找表的内部结构有一定的差异,而且寄存器和查找表的组合模式也不同。(3)嵌入式块RAM。目前大多数FPGA都有内嵌的块RAM。嵌入式块RAM可以配置为单端口RAM、双端口RAM、伪双端口RAM、CAM、FIFO等存储结

20、构。(4)丰富的布线资源。布线资源连通FPGA内部所有单元,连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。布线资源的划分:A全局性的专用布线资源:以完成器件内部的全局时钟和全局复位/置位的布线;B长线资源:用以完成器件Bank间的一些高速信号和一些第二全局时钟信号的布线;C短线资源:用来完成基本逻辑单元间的逻辑互连与布线;D其他:在逻辑单元内部还有着各种布线资源和专用时钟、复位等控制信号线。(5)底层嵌入功能单元。由厂商及芯片型号决定。(6)内嵌专用硬核。与“底层嵌入单元”有区别,这里指的硬核主要是那些通用性相对较弱的芯片,不是所有FPGA芯片都包含硬核。2.3 VHDL简介VHDL

21、 的全称是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982 年。1987年底,VHDL被 IEEE 和美国国防部确认为标准硬件描述语言。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外

22、部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。 VHDL 语言能够成为标准化的硬件描述语言并获得广泛应用 , 它自身必然具有很多其他硬件描述语言所不具备的优点。归纳起来 ,VHDL 语言主要具有以下优点:(1) VHDL 语言功能强大 , 设计方式多样。VHDL 语言具有强大的语言结构, 只需采用简单明确的VHDL语言程序就可以描述十分复杂的硬件电路。同时, 它还具有多层次的电路设计描述功能。此外 ,VHDL 语言能够同时支持同步电路、异步电路和随机电路的设计实现, 这是其他硬件描述语言所不能比拟的。VHDL 语言

23、设计方法灵活多样 , 既支持自顶向下的设计方式, 也支持自底向上的设计方法; 既支持模块化设计方法, 也支持层次化设计方法。(2) VHDL 语言具有强大的硬件描述能力。VHDL 语言具有多层次的电路设计描述功能,既可描述系统级电路 , 也可以描述门级电路;描述方式既可以采用行为描述、寄存器传输描述或者结构描述,也可以采用三者的混合描述方式。同时,VHDL 语言也支持惯性延迟和传输延迟,这样可以准确地建立硬件电路的模型。VHDL 语言的强大描述能力还体现在它具有丰富的数据类型。VHDL 语言既支持标准定义的数据类型,也支持用户定义的数据类型,这样便会给硬件描述带来较大的自由度。(3) VHDL

24、 语言具有很强的移植能力。VHDL 语言很强的移植能力主要体现在: 对于同一个硬件电路的 VHDL 语言描述 , 它可以从一个模拟器移植到另一个模拟器上、从一个综合器移植到另一个综合器上或者从一个工作平台移植到另一个工作平台上去执行。(4) VHDL 语言的设计描述与器件无关。采用 VHDL 语言描述硬件电路时, 设计人员并不需要首先考虑选择进行设计的器件。这样做的好处是可以使设计人员集中精力进行电路设计的优化, 而不需要考虑其他的问题。当硬件电路的设计描述完成以后 ,VHDL 语言允许采用多种不同的器件结构来实现。(5) VHDL 语言程序易于共享和复用。VHDL 语言采用基于库 ( lib

25、rary) 的设计方法。在设计过程中 , 设计人员可以建立各种可再次利用的模块 , 一个大规模的硬件电路的设计不可能从门级电路开始一步步地进行设计 , 而是一些模块的累加。这些模块可以预先设计或者使用以前设计中的存档模块, 将这些模块存放在库中 , 就可以在以后的设计中进行复用。由于 VHDL 语言是一种描述、模拟、综合、优化和布线的标准硬件描述语言 , 因此它可以使设计成果在设计人员之间方便地进行交流和共享, 从而减小硬件电路设计的工作量, 缩短开发周期。2.4 Quartus简介Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VerilonHDL、VHDL以及A

26、HDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的

27、第三方EDA工具。此外,Quartus II 通过和DSP Builder工具与 Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 MaxplusII作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在Quartus II 中包含了许多诸如SignalTap II、Chip

28、 Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了Maxplus II 友好的图形界面及简便的使用方法。 Altera QuartusII作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。 Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供应商

29、的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添 了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。图2.3 EDA工具设计流程图第三章 系统硬件电路设计3.1 数字信号发生器的系统组成 该数字信号发生器系统主要由输入部分、FPGA部分、D/A转换部分、频率、幅值调节和波形转换部分组成。如图3.1所示。分频器FPGA部分系 统 控 制 器时钟复位波形调幅调频正弦波三角波方波波 形 DA 转 换滤波输出图3.1 数字信号发生器系统组成3.2 设计原理及要求 在本设计中,利用FPGA,采用EDA(Electronic Design Automation)中自顶向下

30、(top-to-down)的设计方法,选用基于相位累加器的直接数字合成/ DDS技术来完成数字信号发生器各功能模块的设计。DDS这种结构主要由相位累加器、 相位调制器、 波形 ROM 查找表、 D/ A 构成。其中相位累加器、 相位调制器、 波形 ROM 查找表是 DDS 结构中的数字部分 ,由于具有数控频率合成的功能 ,又合称为 NCO2。它的工作原理是:将要产生的波形数据存入波形存储器 ,然后在参考时钟的作用下 ,对输入的频率数据进行累加 ,并且将累加器的输出一部分作为读取波形存储器的地址 ,将读出的波形数据经D/A转换为相应的模拟电压信号。本研究的重点就是用VHDL来实现DDS的功能 ,

31、能够达到高精度的输出 ,同时标准波形数据生成存放在 ROM 中 ,可以简化运算过程 ,提高运算速度 ,加快反应时间。本设计主要通过VHDL语言实现频率控制、波形控制、 波形数据的提取、 波形的产生工作。其中 ,波形数据运用VHDL语言编写 。控制部分主要采用产生高低电平的拨码开关控制。程序下载到 FPGA 上实现 ,经过D/ A 输出波形。并通过Altera公司QuartusII5.1软件进行波形的仿真,从而完成整个设计。本设计的任务是设计一个基于FPGA的数字信号发生器,根据任务书要求必须达到以下要求:1.利用EDA开发系统、Quartus II 5.1软件实现数字信号发生器的设计;2.根据

32、整体电路的工作原理,完成各个子模块的设计及实现;3.对数字信号发生器完成VHDL语言描述;4.该数字信号发生器能够产生正弦波、方波、三角波、锯齿波信号;5.产生的波形信号频率和幅度幅度可通过按键进行调节;6.用按键调节实现各种波形的转换。3.3 输入部分输入部分包含以下功能按键:时钟、复位、波形、调幅、调频。1时钟:标准的50MHZ时钟输入。2复位:低电平复位。3波形:为波形输出选择开关,可以选择单波形的输出。4调幅:可以递增和递减正弦波、三角波、锯齿波、方波的幅度。5调频:可以递增和递减正弦波、三角波、锯齿波、方波的频率。3.3.1频率、幅值和波形转换部分由于采用DDS,在ROM中存有波形一

33、个周期的n个等间隔归一化采样数据,改变相位累加器步进,从而改变对ROM中数据的读取速度,即可合成不同频率波形,存储器中存入过量的采样值,使得采样点数较少时,依然能够得到较好波形输出,从而得到较高频率输出。否则,采样点数太少会使产生波形严重失真。输出波形频率计算: (2.1)式中是晶振频率K 分频系数 N 相位累加器位数 S 相位累加器步长若取代入式(2.1)得到。因此,只要控制S 的值就可准确实现频率步进为10 Hz 的等步进调频。如采用32 MHz 的晶振,也能得到10 Hz 精确的等步进调节,但牺牲了波形质量。通过实验测试和比较,可用下式计算频率: (2.2)因为65306不是一个2N 的

34、数,这样波形会漏掉少量采样点。即使这样,得到波形依然平滑,可满足设计要求。若要使频率调节步进减小到1Hz,对晶振有特殊要求,它的振荡频率必须是2的N次幂。由式(2.1)举例说明累加器位数不同产生差异: (2.3) (2.4)式(2.4) 产生的波形优于式(2.3) ,最高频率也高出几倍。由于DAC0832的电流建立时间是1s ,因此输出波形的最高频率受下式限制: (2.5)因此,要得到更高频率的波形需使用更高速的D/A转换器。频率和幅值调节和波形转换电路如图3.2所示。八个按键一端接1K排阻(上拉电阻)后接VCC,一端接FPGA控制信号引脚输入端,按键有八个,分别为复位键SW1,控制波形转换键

35、SW2,控制幅度步减键SW3,控制幅度步进键SW4,控制频率步进键SW5,控制频率步减键SW6,控制幅值步进键SW7,控制幅值步进键SW8。图3.2 输入按键电路3.3.2系统时钟电路系统即FPGA运行时所需的时钟,采用50MHZ的有源晶振产生,电路如图3.3所示。其中C5为高频旁路电容,以滤除不良的高档次谐波,对时钟波形进行整形,CLK1为输入时钟信号源。图3.3 系统时钟电路3.3.3 电源电路的设计电源是电路正常工作的保证,直接影响着系统的稳定。如下图3.4所示,U2为5V直流电源输入端,为USB供电,D2为电源指示。输出部分有两个部分,分别为VEE+5V和3.3V的VCC。其中VEE是

36、给D/A供电,VCC给整个系统供电。图3.4 电源电路3.4 FPGA部分本设计使用的FPGA芯片为EPF10K50ETI144-2芯片芯片,其典型逻辑门数(包括逻辑门和RAM)为50000门,最大可用系统门数为116000门,逻辑单元(Logic elements)为2880个,逻辑阵列模块(Logic array blocks)为360个,嵌入式阵列模块(Embedded array blocks)为10个,RAM总容量为20480字节,用户可用的I/O引脚最多为310个。芯片的工作电压为+5V。其内部结构如图3.5所示。图3.5 EPF10K50ETI144-2芯片结构图通常情况下在硬件

37、调试的过程中一般使用下载电缆进行下载,而当调试完成以后要用配置芯片对FPGA进行配置。配置芯片在每次系统上电以后自动将配置文件加载到FPGA中形成电路。3.5 D/A转换部分D/A转换器电路的设计:从波形RAM中读出的幅度量化数据还只是一个数字信号,要得到最后的输出信号必须经过数模转换器。因此在波形RAM之后要设计一个D/A转换电路。数模(D/A)转换电路的作用是把已经合成的波形幅值的数字量转换成模拟量,其速度和特性直接影响整个系统的性能。D/A转换器件的首要特性要求是高速,其次是转换位数,本设计中选用8位的D/A芯片DAC0832。波形幅度量化序列经D/A转换后成为阶梯波。频率合成器对D/A

38、转换器的分辨率有一定的要求,D/A转换器的分辨率越高,合成的波形台阶数就越多输出的波形的精度也就越高。D/A的输出用电压形式表示一般应为: 式中D为D/A的输入数据值,N为D/AC的的位数,即通常所指的D/AC的分辨率,为输入D/A的参考电压。D/A转换电路的设计首先是要选择一款合适的D/A转换芯片。D/A转换芯片种类繁多。选择D/A转换芯片要根据很多因素来确定,最主要的就是要考虑字长和转换速度。本设计采用DAC0832 作为D/A 转换器件,其具有数字量的输入锁存功能,DAC0832芯片的输出通过放大器OP07,即可用示波器观察。100K的电位器在+5V和0V电压间为DAC0832提供参考电

39、压。D/A转换电路的原理图如图3.6所示:图3.6 D/A转换电路的原理图3.5.1 DAC0832转换器简介DAC0832是双列直插式8位D/A转换器。能完成数字量输入到模拟量(电流)输出的转换。其主要参数如下:分辨率为8位,转换时间为1s,满量程误差为±1LSB,参考电压为(+10-10)V,供电电源为(+5+15)V,逻辑电平输入与TTL兼容。从图3.7中可见,在DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的允许锁存信号为ILE,第二级锁存器称为DAC寄存器,它的锁存信号也称为通道控制信号XFER。图3.7 DAC0832引脚图图3.7中,当ILE为高电平,片选

40、信号CS 和写信号WR1为低电平时,输入寄存器控制信号为1,这种情况下,输入寄存器的输出随输入而变化。此后,当WR1由低电平变高时,控制信号成为低电平,此时,数据被锁存到输入寄存器中,这样输入寄存器的输出端不再随外部数据DB的变化而变化。对第二级锁存来说,传送控制信号XFER 和写信号WR2同时为低电平时,二级锁存控制信号为高电平,8位的DAC寄存器的输出随输入而变化,此后,当WR2由低电平变高时,控制信号变为低电平,于是将输入寄存器的信息锁存到DAC寄存器中。DAC0832各引脚编号及其作用: 1号CS引脚:片选信号输入线,低电平有效; 2号WR1引脚:为输入寄存器的写选通信号; 3号AGN

41、D引脚:模拟地,模拟信号和基准电源的参考地; 4-7,13-16号D0-D7引脚:数据输入线,TLL电平; 8号Vref引脚:基准电压输入(-10V+10V); 9号RFB引脚:反馈信号输入线,芯片内部有反馈电阻; 10号DGND引脚:数字地; 11号IOUT1引脚:电流输出线,当输入全为1时,IOUT1最大; 12号IOUT2引脚:电流输出线,其值与IOUT1为一常数; 17号XFRE引脚:数据传送控制信号输入线,低电平有效; 18号WR2引脚:为DAC寄存器写选通输入线; 19号ILE引脚:数据锁存允许控制信号输入线,高电平有效; 20号Vcc引脚:电源输入线(+5V+15V)Vref。3

42、.6滤波电路滤波是信号处理中的一个重要概念。滤波分经典滤波和现代滤波。经典滤波的概念,是根据傅里叶分析和变换提出的一个工程概念。根据高等数学理论,任何一个满足一定条件的信号,都可以被看成是由无限个正弦波叠加而成。换句话说,就是工程信号是不同频率的正弦波线性叠加而成的,组成信号的不同频率的正弦波叫做信号的频率成分或叫做谐波成分。只允许一定频率范围内的信号成分正常通过,而阻止另一部分频率成分通过的电路,叫做经典滤波器或滤波电路。由于在电路运行过程中间,外部信号会对波形产生一定的干扰,而且从D/A转化部分中转换出的波形是一种不平滑的阶梯波形,因此为了防止外部信号的干扰和内部不平滑阶梯波的干扰,本次设

43、计中增加了无源滤波中的LC滤波电路,目的在于消除外部信号的干扰,同时能够把从D/A转换部分转换出的阶梯波形通过滤波转变为平滑的正弦波、方波、三角波、锯齿波,其滤波电路如图3.8所示,SIGOUT输入信号来自DAC的输出,JP1的输出接示波器。图3.8 滤波电路第四章 系统软件设计4.1软件系统流程图本设计主要是由FPGA为核心控制一些简单外围电路输出可控的方波、三角波、锯齿波、正弦波。输入部分为8个按键值,分别用于控制波型的选择、波型的调节;输出部分由一个8位的DA组成,由FPGA将数据波型数据送给DA转换输出模拟波型信号。具体流程如图4.1所示:初始化按键输入,选择波型,调节波型。由FPGA

44、生成数字波型数据将数字波型数据送入DA转换输出模拟波型信号图4.1 系统流程图通过按键可以选择输出波型,如方波、三角波、正弦波、锯齿波。波型频率幅度的改变可以通过按对应的频率加按键和频率减键,幅度加键幅度减键。由于频率和幅度改变在Quartus软件平台下不能明显仿真步进变化,所以本设计没有介绍步进仿真。4.2 数字信号发生器的软件设计 本次设计的软件部分主要运用Altera公司的Quartus软件平台,其开发流程基本分成2个步骤:1.设计输入Quartus软件的设计文件可以来自Quartus5.1设计输入工具或各种工业标准的EDA设计输入工具Quartus强大的集成功能允许信息在各种应用程序间

45、自由交流,设计者可在一个工程内直接从某个设计文件转换到其他任何设计文件,而不必理会设计文件是图形格式、文本格式,还是波形格式。Quartus具有如下的多种设计输入方法:原理图输入与符号编辑、硬件描述语言、波形设计输入、平面图编辑以及层次设计输入。如此众多的设计方法帮助设计者轻松地完成设计输入。2.项目处理Quartus处理一个设计时,软件编译器读取设计文件信息,产生用于器件编程、仿真、定时分析的输出文件。消息处理器可以自动定位编译过程中发现的错误,编译器还可以优化设计文件。项目处理包括以下基本步骤:(1)消息处理器自动定位错误;(2)逻辑综合与试配;(3)定时驱动编译;(4)设计规则检查;(5

46、)多器件划分。本次设计的数字信号发生器在Quartus5.1下的RTL图如图4.2所示。图4.2 系统RTL图4.2软件各模块4.2.1 主控制模块主控制模块完成了频率调节、幅度调节和波形选择三个控制功能。图是用Quartus5.1生成的主程序结构框图,其中CLK为标准频率50M输入,RST为系统复位键,VADD,VDEC为调节输出幅度的二个按键,使用方法是当按下VADD时幅度会每隔一秒递增一次,直到最大幅度,当按下VDEC时幅度会每隔一秒递减一次,直到最小幅度,PADD,PDEC为调节输出频率的二个按键,使用方法是当按下PVADD时频率会每隔一秒递增一次,直到最大频率,当按下PDEC时频率会

47、每隔一秒递减一次,直到最小频率。SEL为波形选择键,当按下SEL键时系统每隔一秒在方波、三角波、正弦波,锯齿波四种波形循环切换。CNT为FPGA产生的8位数字波形数据信号。具体框图如图4.3所示。图4.3 主程序结构框图4.2.2 波形数据产生模块(1)方波数据产生模块方波产生方法是由主控制模块提供方波频率和幅度,按照主控制模块的频率产生“0”和主控提供的幅度值。将这些数据直按送入DAC就能得到所需方波信号。产生框图如图4.4所示:CLK为主控模块提供的频率信号,RST为复位键,DIN为主控模块提供幅度信号,DOUT为产生的波型数据信号。图4.4 方波数据产生结构框图方波信号仿真:因为幅度和频

48、率调节不好仿真,下图为频率和幅度恒定的波形仿真图形,其中CLK为基准频率输入RST为复位键,低电平复位,其他的输入为调节键,CNT为数字方波数据。仿真如图4.5所示。4.5 方波信号仿真(2)三角波数据产生模块三角波产生方法是由主控制模块提供波型频率和幅度,按照主控制模块的频率产生由0自加到主控模块提供的幅度值然后再自减到0。这些数据直按送入DAC就能得到所需三角波信号。产生框图如图4.6所示:CLK为主控模块提供的频率信号,RST为复位键,DIN为主控模块提供幅度信号,DOUT为产生的波型数据信号。图4.6 三角波数据产生结构框图三角波信号仿真:因为幅度和频率调节不好仿真,下图为频率和幅度恒

49、定的波形仿真图形,其中CLK为基准频率输入,RST为复位键,低电平复位,其他的输入为调节键,CNT为数字三角波数据。仿真如图4.7所示。4.7 三角波信号仿真(3)锯齿波数据产生模块锯齿波产生方法是由主控制模块提供波型频率和幅度,按照主控制模块的频率产生由0自加到主控模块提供的幅度值然后到跳到0再自加。这些数据直按送入DAC就能得到所需锯齿波信号。产生框图如图4.8所示:CLK为主控模块提供的频率信号,RST为复位键,DIN为主控模块提供幅度信号,DOUT为产生的波型数据信号。图4.8 锯齿波数据产生结构框图锯齿波信号仿真:由于锯齿波信号与三角波信号仿真前面的数据相同,所以下面仿真截图为仿真后

50、面的数据。由于幅度和频率调节不好仿真,下图为频率和幅度恒定的波形仿真图形,其中CLK为基准频率输入,RST为复位键,低电平复位,其他的输入为调节键,CNT为数字锯齿波数据。仿真如图4.9所示。4.9 锯齿波信号仿真(4)正弦波数据产生模块正弦波产生方法是由主控制模块提供波型频率,按照主控制模块的频率依次从64个已写好的正弦数据中取值,然后这些数据直按送入DAC就能得到所需正弦波信号。因为64个数据已经固定,所发正弦波不好调幅。产生框图如图:CLK为主控模块提供的频率信号,RST为复位键,DATA为产生的波型数据信号。具体框图如图4.10所示。图4.10 正弦波数据产生结构框图正弦波信号仿真:因

51、为幅度和频率调节不好仿真,下图为频率和幅度恒定的波形仿真图形,其中CLK为基准频率输入,RST为复位键,低电平复位,其他的输入为调节键,CNT为数字正弦波数据。仿真如图4.11所示。4.11 正弦波信号仿真结束语本课题采用基于FPGA的数字信号发生器设计方案,首先分析了数字信号发生器的原理及设计方法,并通过Quartus进行软件设计及仿真。通过本毕业设计,实现了正弦波、方波、三角波和锯齿波信号的四种波形的输出所需的电路,实现了频率的步进可调,幅度可控。本毕业设计验证了FPGA芯片在集成电路设计中的优势:体积小,集成度高,进行系统功能设计时无需关注器件的实际结构,易于调试及修改等。同时也验证了D

52、DS技术的优越性能:可以实现对输出波形进行频率、幅度的精确调制;易于实现输出信号频率的快速改变;只要在ROM中存放不同的幅码,DDS技术可以实现任意波形输出。通过对系统的测试结果分析基本符合预期结果,满足题目要求。 参考文献1谭会生,张昌凡等. EDA技术及应用(第二版M). 西安:西安电子科技大学出版社,2004,17-78.2李国丽,朱维勇,栾铭.EDA与数字系统设计M.北京:机械工业出版社,2004.1.4-10,98-128.3徐金龙,刘宇红,刘桥.基于DDS原理的任意波形信号发生器的设计J.现代机械,2006,4:74-76.4薛文.DDS任意波形发生器的设计与实现D:硕士学位论文.

53、南京.南京理工大学,20045Campbell R J, Amitage JR, Sherlock G, et al Wavelength stable uncooled fiber grating semiconductor laser for use in an optical WDM access network J. Electron Lett,1996, 32(12):119-1216高琴,姜寿山,魏忠义.基于FPGA的DDS信号源设计与实现J.西安工程科技学院学报,2006,20(2):211-214.7杨丽,李镇,孙厚军.基于FPGA的多波形信号发生器J.无线电工程,2005,3

54、5(7):46-48.8洪嘉,彭启琮,基于FPGA的数字中频信号发生器硬件设计J.信息技术,2005,12:63-65.9杜培明.基于FPGA动态信号产生器设计J.现代电子技术,2006,17:78-80.10莫小灵.正弦信号发生器的FPGA实现J.新余高专学报,2006,11(3):90-91.11Sergio Franco. Design with Operational Amplifiers and Analog Integrated Circuits. 西安:西安交通大学出版社,2004.8.93-184.附 录数字信号发生器程序-主控文件LIBRARY IEEE;USE IEEE.S

55、TD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SUN ISPORT( CLK:IN STD_LOGIC;RST:IN STD_LOGIC;VADD:IN STD_LOGIC;VDEC:IN STD_LOGIC;PADD:IN STD_LOGIC;PDEC:IN STD_LOGIC;SEL :IN STD_LOGIC;CNT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY;ARCHITECTURE ONE oF SUN ISSIGNAL DCLK:STD_LOGIC;SIGNAL DIV :STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL DCNT :STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL DDATA :STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL CNT1H:STD_LOGIC_VECTOR(24 DOWNTO 0); -定义一个1HZ的分频系数信号SIGNAL CLK1H:STD_LOGIC; -定义一个1HZ频率信号。SIGNAL DOUT0,DOUT1,DOUT2,DOUT3:STD_LOGIC_VECTOR(7

温馨提示

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

评论

0/150

提交评论