《FPGA方面DDS信号源设计(附程序电路图)毕业设计(45页).doc》由会员分享,可在线阅读,更多相关《FPGA方面DDS信号源设计(附程序电路图)毕业设计(45页).doc(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-FPGA方面DDS信号源设计(附程序电路图)毕业设计-第 37 页FPGA方面DDS信号源设计(附程序电路图)摘 要本设计结合了EDA技术和直接数字频率合成(DDS)技术。DDS技术则是最为先进的频率合成技术,文中介绍EDA技术相关知识,同时阐述了DDS技术的工作原理、电路结构,及设计的思路和实现方法。关键词:现场可编程门阵列; 直接数字频率合成; 正弦信号发生器ABSTRACTThe design that combines EDA technology and Direct Digital Synthesis (DDS) technology. EDA technology is the
2、 design of modern electronic technology at the core, DDS technology is the most advanced frequency synthesizer technology ,The paper introduced the EDA technology-related knowledge, and elaborated on the DDS technology principle, circuit structure, and design ideas and methods.Keywords:FPGA;Direct D
3、igital Synthesis;EDA目录摘 要IABSTRACTII第1章 引 言1第2章 设计要求和方案论证22.1 设计要求22.2 方案确定2第3章 DDS基本原理33.1频率合成技术概述33.2直接数字频率合成技术(DDS)基本原理43.2.1 直接数字频率合成的基本结构43.3 DDS的技术特点63.3.1 DDS的优点63.3.2 DDS的缺点63.3.3 DDS性能分析7第4章 EDA技术94.1 EDA技术及其发展94.2 硬件描述语言VHDL104.2.1 VHDL简介104.2.2 VHDL的主要优点114.3 现场可编程逻辑(FPGA)器件114.3.1 引言114.
4、3.2 FPGA的组成及其应用特点124.3.3 Altera的FLEX10 K器件124.4 EDA工具MAXPLUS14第5章 基于FPGA的DDS信号源设计165.1 总体设计框图165.2 主模块软件设计165.2.1 相位累加器的设计165.2.2 波形ROM的设计185.2.3 频率控制模块的设计195.3 外围硬件设计225.3.1 显示模块225.3.2 D/A转换器245.3.3 滤波及放大电路27第6章 结束语29致 谢30参考文献31附录A 信号发生器顶层电路图32附录B 源程序清单33附录C 总体电路图50第1章 引 言直接数字频率合成(Digital Direct F
5、requency Synthesis)是一种比较新颖的频率合成方法。这个理论早在20世纪70年代就被提出,它的基本原理就是利用采样定理,通过查表法产生波形。由于硬件技术的限制,DDS技术当时没能得到广泛应用。但是随着大规模集成电路的飞速发展,DDS技术的优越性已逐步显现出来。今天DDS技术凭借其优越的性能已成为现代频率合成技术中的佼佼者,广泛用于接收机本振、信号发生器、仪器、通信系统、雷达系统等,尤其适合跳频无线电通信系统。不少学者认为,DDS是产生信号和频率的一种理想方法,发展前景十分广阔。基于FPGA的DDS模型是在EDA技术逐步完善的今天才得以建立起来的。EDA技术依靠功能强大的电子计算
6、机,在EDA工具软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、简化、分割、综合、优化和仿真,直至下载到可编程逻辑器件CPLD/FPGA或专用集成电路ASIC芯片中,实现即定的电子电路设计功能。EDA技术使得电子电路设计者的工作仅限于利用硬件描述语言和EDA软件平台来完成对系统硬件功能的实现,极大地提高了设计效率,缩短了设计周期,节省了设计成本第2章 设计要求和方案论证2.1 设计要求 设计一个DDS信号发生器,基本要求如下:1)能输出正弦波2)输出频率范围:1KHz-10MHz,频率步进为100HZ3)频率稳定度优于10,频率可预置。4)正弦信号负载输
7、出电压峰峰值大于1V2.2 方案确定方案一:采用锁相环合成方法。采用该方案设计输出信号的频率可达到超高频甚至微波段,且输出信号频谱纯度较高。由于锁相环技术是一个不间断的负反馈控制过程,所以该系统输出的正弦信号频率可以维持在一个稳定状态,频率稳定度高。但由于它是采取闭环控制的,系统的输出频率改变后,重新达到稳定的时间也比较长。所以锁相环频率合成器要想同时得到较高的频率分辨率和转换率非常困难,频率转换一般要几毫秒的时间,同时频率间隔也不可能做得很小。方案二:采用直接数字合成器(DDS),可用硬件或软件实现。即用累加器按频率要求对相应的相位增量进行累加,再以累加相位值作为地址码,取存放于ROM中的波
8、形数据,经D/A转换,滤波即得到所需波形。以EDA技术为基础,用FPGA实现DDS模型的设计。电路的规模大小和总线宽度可以由设计者根据自己的需要而设定可将波形数据存入FPGA的ROM中。同时外部控制逻辑单元也可在FPGA中实现。方法简单,易于程控,便于集成。用该方法设计产生的信号频率范围广,频率稳定度高,精度高,频率转换速度快。系统框图如图5-1.分析以上两种方案,显然第二种方案具有更大的优越性、灵活性。所以采用方案二进行设计。第3章 DDS基本原理3.1频率合成技术概述所谓频率合成技术指的是由一个或者多个具有高稳定度和高精确度的频率参考源,通过在频率域中的线性运算得到具有同样稳定度和精确度的
9、大量的离散频率的技术。完成这一功能的装置被称为频率合成器。频率合成器应用范围非常广泛,特别是在通信系统、雷达系统中,频率合成器起了极其重要的作用。随着电子技术的不断发展。频率合成器的应用范围也越来越广泛,对其性能要求也越来越高。频率合成器的主要指标有以下这些:(1) 输出频率的范围指的是输出的最小频率和最大频率之间的变化范围。(2) 频率稳定度指的是输出频率在一定时间隔内和标准频率偏差的数值,它分长期、短期和瞬间稳定度三种。(3) 频率分辨率指的是输出频率的最小间隔。(4) 频率转换时间指的是输出由一种频率转换成另一种频率的时间。(5) 频谱纯度频谱纯度以杂散分量和相位噪声来衡量,杂散分为谐波
10、分量和非谐波分量两种,主要由频率合成过程中的非线性失真产生;相位噪声是衡量输出信号相位抖动大小的参数。(6) 调制性能指的是频率合成器是否具有调幅(AM),调频(FM)、调相(PM)等功能。频率合成器的实现方法大体可以分成三种:直接频率合成、间接频率合成、直接数字频率合成。下面对这三种方法进行一下简单的介绍。直接频率合成是一种比较早期的频率合成方法,这种频率合成方法使用一个和多个标准频率源先经过谐波发生器产生各次谐波,然后经过分频、倍频、混频滤波等处理产生所需要的各个频点。这种方法产生的波形,相噪小,频率转换时间短。但是直接频率合成设备比较复杂笨重,并且容易产生杂散。间接频率合成又称之为锁相频
11、率合成。采用了锁相环技术,对频率进行加、减、乘、除,产生所需的频率。由于锁相环相当于一个窄带跟踪滤波器,所以锁相频率合成的方法对杂散有很好的抑止作用。锁相式频率合成器还易于集成化。但是锁相式频率合成器的频率转换时间比较长,而且在单环的情况下很难做到很小的频率分辨率。直接数字频率合成(DDS-Digital Direct Frequency Synthesis)是一种比较新颖的频率合成方法。随着科学技术的日益发展这种频率合成方法也越来越体现出它的优越性来。DDS是一种全数字化的频率合成方法。3.2直接数字频率合成技术(DDS)基本原理3.2.1 直接数字频率合成的基本结构DDS的基本结构如图3-
12、1, DDS主要由四个基本部分组:(1)相位累加器;(2)波形ROM;(3)D/A转换器;(4)低通滤波器。图3-1直接数字频率合成结构相位累加器的结构如图3-2所示图3-2 相位累加器原理框图相位累加器是DDS的核心部分,它由一个N位的加法器和N位的寄存器构成,通过把上一个时钟的累加结果反馈回加法器的输入端实现累加功能。这里的N是相位累加器的字长,K叫做频率控制字。每经过一个时钟周期,相位累加器的值递增K。波形ROM示意图如图3-3所示 图3-3 波形 ROM示意图当 ROM 地址线上的地址(相位)改变时,数据线上输出相应的量化值(幅度量化序列)。因为波形ROM的存储容量有限,相位累加器的字
13、长一般不等于ROM地址线的位数,因此在这个过程当中也又会引入相位截断误差。D/A 转换器将波形ROM输出的幅度量化序列转化成对应的电平输出,将数字信号转换成模拟信号。但输出波形是一个阶梯波形,必须经过抗镜像滤波,滤除输出波形中的镜像才能得到一个平滑的波形。抗镜像滤波器是一个低通滤波器,要求在输出信号的带宽内有较平坦的幅频特性,在输出镜像频率处有足够的抑止。根据 DDS的基本结构,可以推出以下一些结论:频率控制字K唯一地确定一个单频模拟余弦信号的频率, (2-1)当K =1的时候DDS输出最低频率为,= (2-2)这就是DDS的频率分辨率,所以,当N不断增加的时候DDS的频率分辨率可以不断的提高
14、。D/A转换器的输出波形相当于是一个连续平滑波形的采样,根据奈奎斯特采样定律,采样率必需要大于信号频率的两倍。也就是说D/A转化器的输出如果要完全恢复的话,输出波形的频率必须小于。一般来说,由于低通滤波器的设计不可能达到理想情况,即低通滤波器总是有一定的过渡带的,所以输出频率还要有一定的余量,一般来说在实际应用当中DDS的输出频率不能超过0.4。 3.3 DDS的技术特点3.3.1 DDS的优点(1)输出频率的范围广。由式 2.1 知道,频率覆盖范围从到 0.4。为输入时钟频率。随着硬件水平的不断提高,一些DDS专用芯片的最大输出频率已经可以达到几百兆赫兹3。(2)频率分辨率高,可达个频点。(
15、3)频率稳定度高。(4)频率转换时间快,可小于100ns。同时,频率转换时相位是连续的。(5)频谱纯度高。(6)正交输出。(7)产生任意波形。由于DDS技术是利用查表法来产生波形的,所以它适用于任意波形发生器。(8)全数字化实现,便于集成,体积小,重量轻。3.3.2 DDS的缺点(1)最高工作频率不可能很高,从理论上说就只有系统始终频率的一半,实际中还要小于此值。要想获得较高的输出频率,就必须提高系统的时钟批率,也就是说DDS系统的相位累加器、波形存储器、D/A转换器等都将工作在较高的时钟频率下,它的实现依赖于高速数字电路和高速D/A转换器。(2)DDS系统采用数字技术,先构成离散信号再变换成
16、模拟信号输出,尤其是要产生相位截断误差,因而噪声和杂散是不可避免的4。3.3.3 DDS性能分析由式 2.1可知,系统的输出频率只与频率字的值K、系统时钟频率和相位累加器的字长N有关。在系统时钟频率和相位累加器字长N固定时,通过改变频率字,可以方便地改变输出频率。 系统的频率分辨率只与系统的时钟频率和相位累加器的字长N有关。要增加系统的频率分辨率,可以增加相位累加器的字长N,或是降低系统的时钟频率。为了达到较高的输出频率,DDS系统的时钟频率一般都比较高。根据式2.2,在较高的时钟频率下,为了获得较高的频率分辨率,则只有增加相位累加器的字长N,故一般N都取值较大。但是受存储器容器的限制,存储器
17、地址线的为数 W 不可能很大,一般都要小于N。这样存储器的地址线一般都只能接在相位累加器输出的高 W 位,而相位累加器输出余下的(N-W)个低位则只能被舍弃,这就是相位截断误差的来源5。由于相位截断,频率字的值K就将被分为两部分,其最高的 W 位将被看承整数部分,而余下的将被看为小数部分。这是因为存储器地址线的位数只有 W 位,相位累加器的输出只有搞 W 位才对存储器有影响,频率字的小数部分只有在其累加达到整数部分是才能影响存储器。DDS系统的频率转换非常快,几乎是即时的这是锁相环系统无法做到的。DDS系统在频率字改变后的一个时钟周期,起输出频率就可以转换成新的输出频率。也就是说在频率字的值改
18、变以后,累加器在经过一个时钟周期后就按照新的频率字进行累加,即开始输出新的频率,所以我们可以认为DDS系统的频率转换是在一个系统时钟周期内完成的。DDS系统不仅频率转换速度快,而且更可贵的是只须改变频率字,就可以改变输出频率,无须复杂的控制过程。从DDS技术的原理可知,在改变输出频率时,实际改变的是频率字,也就是相位增量。当频率字的值从改变为之后,相位累加器是在已有的积累相位上,再每次累加,相位函数的曲线是连续的,只是在改变频率字的瞬间其斜率发生了突变。输出波形和相位累加器的输出值两者都是平滑过度。也就是说DDS系统能够在频率转换中保持相位连续,输出波形能平滑的从一个频率过度到另一个频率。第4
19、章 EDA技术4.1 EDA技术及其发展随着社会生产力发展到了新的阶段,各种电子新产品的开发速度越来越快。现代计算机技术和微电子技术进一步发展和结合使得集成电路的设计出现了两个分支。一个是传统的更高集成度的集成电路的进一步研究;另一个是利用高层次VHDL/Verilog等硬件描述语言对新型器件FPGA/CPLD进行专门设计,使之成为专用集成电路(ASIC)。这不仅大大节省了设计和制造时间,而且对设计者,无须考虑集成电路制造工艺,现已成为系统级产品设计的一项新的技术。EDA(Electronic Design Automation)技术是现代电子设计技术的核心7。它以EDA软件工具为开发环境,采
20、用硬件描述语言(Hardware Description Language, HDL),采用可编程器件为实验载体,实现源代码编程、自动逻辑编译、逻辑简化、逻辑分割、逻辑综合、布局布线、逻辑优化和仿真等功能,以ASIC、SOC芯片为目标器件,以电子系统设计为应用方向的电子产品自动化的设计技术。正因为EDA技术丰富的内容以及电子技术各学科领域的相关性,其发展的历程同大规模集成电路设计技术、计算机辅助工程、可编程逻辑器件,以及电子设计技术和工艺的发展是同步的。就过去近30年的电子技术的发展历程,可大致将EDA技术的发展分为三个阶段。20世纪70年代,集成电路制作方面,MOS工艺已得到广泛的应用。可编
21、程逻辑技术及器件已经问世,计算机作为一种运算工具已经在科研领域得到了广泛的应用。而在后期,CAD的概念已见雏形。这一阶段人们开始利用计算机取代手工劳动,辅助进行集成电路版图编辑、PCB布局布线等工作。20世纪80年代,集成电路设计进入了COMS(互补场效应)时代。复杂可编程逻辑器件已经进入商业应用,相应的辅助设计软件也已投入使用。而在80年代末,出现了FPGA(Field Programmable Gate Array),CAE和CAD技术应用更为广泛,他们在PCB设计方面的原理图输入、自动布局布线及PCB分析,以及逻辑设计、逻辑仿真、布尔方程综合和化简等方面担任了重要的角色,特别是各种硬件描
22、述语言的出现、应用和标准化方面的重大进步,为电子设计自动化必须解决的电路建模、标准文档及仿真测试奠定了基础。进入20世纪90年代,随着硬件描述语言的标准化得到进一步的确立,计算机辅助工程、辅助分析和辅助设计在电子技术领域获得了更加广泛的应用,与此同时电子技术在通信、计算机及家电产品生产中的市场需求和技术需求,极大地推动了全新的电子设计自动化技术的应用和发展。特别是集成电路设计工艺步入了超深亚微米阶段,百万门以上的大规模可编程逻辑器件的陆续面世,以及基于计算机技术的面向用户的低成本大规模ASIC技术的应用,促进了EDA技术的形成。更为重要的是各EDA公司致力于推出兼容各种硬件实现方案和支持标准硬
23、件描述语言的EDA工具软件的研究,都有效地将EDA技术推向成熟。4.2 硬件描述语言VHDL4.2.1 VHDL简介甚高速集成电路硬件描述语言(Very-High-Speed Integrated Circuit Hardware Description Language,VHDL)于1983年有美国国防部(DOD)发起创建,由IEEE(The Institute of Electrical and Electronics Engineers)进一步发展并在1987年作为“IEEE 标准1076”发布8。从此,VHDL成为硬件描述语言的业界标准之一。自IEEE公布了VHDL的标准版本之后,各E
24、DA公司相继推出了自己的 VHDL 设计环境,或宣布自己的设计工具支持 VHDL。此后 VHDL在电子设计领域得到了广泛应用,并逐步取代了原有的非标准硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL语言将承担起大部分的数字系统设计任务。除了作为电子系统设计的主选硬件描述语言外,VHD
25、L在EDA领域的仿真测试、程序模块的移植、ASIC设计源程序的交付、IP核(Intelligence Property core)的应用方面担任着不可或缺的角色,因此不可避免地将成为了必要的设计开发工具。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成
26、后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。4.2.2 VHDL的主要优点(1)覆盖面广,有强大的系统硬件描述能力(2)可读性好、易于修改(3)独立于器件的设计,与工艺无关(4)易于移植和设计资源共享4.3 现场可编程逻辑(FPGA)器件 4.3.1 引言 FPGA(现场可编程门阵列)与CPLD(复杂可编程逻辑器件)都是可编程逻辑器件11,它们是在PAL、GAL等逻辑器件的基础之上发展起来的。但FPGA/CPLD的规模较大,非常适合于对时序、组合等逻辑电路应用场合,它可以替代几十甚至上百块通用IC芯片。应用FPGA/CPLD可以做成一个系统
27、级芯片,它具有可编程性和实现方案容易修改的特点。现在,CPLD/FPGA等可编程器件已应用在不同的高科技领域,如数字电路设计、微处理系统、DSP、通信及ASIC设计等。由于芯片内部硬件连接关系的描述的存放,是以EEPROM、SRAM或FLASH或外接EPROM为基础的,设计用户可在可编程门阵列芯片及外围电路保持不动的情况下,通过计算机重新下载或配置设计软件,就能实现一种新的芯片功能。于是FPGA/CPLD可编程器件,正得到越来越多的电子设计者的青睐。4.3.2 FPGA的组成及其应用特点FPGA的组成:现场可编程门阵列(FPGA)是在PAL和GAL等逻辑器件的基础之上发展起来的、可由用户自行定
28、义配置的高密度专用集成电路,结构上主要由三部分组成:可编程逻辑块(CLB-Configurable Logic Block)、输入输出单元(IOB-IO Block)和可编程连线(IR-Interconnect Resoutce)。 由于FPGA的集成规模非常大,因此可借助HDL硬件描述语言开发出系统级芯片和产品。又由于开发工具的通用性、设计语言的标准化以及设计过程几乎与所用器件的硬件结构没有关系,所以设计成功的各类逻辑功能块软件有很好的兼容性和可移植性,它几乎可用于任何型号和规模的FPGA中,从而使得产品设计效率大幅度提高。FPGA显著的优势是开发周期短,投资风险小、产品上市速度快,市场适应
29、能力强和硬件升级回旋余地大。一旦市场对所设计的产品需求量大,则可进行流片设计,形成价格更低廉的AISC产品。FPGA芯片都是比较特殊的ASIC芯片,除了具有SAIC的特点之外,还具有以下几个优点:(1)集成度越来越高(2)嵌入式存贮技术(3)时钟锁定和倍频技术(4)系统保密性能增强(5)开发周期短4.3.3 Altera的FLEX10 K器件Altera公司作为目前世界上最大的可编程逻辑器件供应商之一,其产品主要有FLEX10K, FLEX8000, FLEX6000, MAX9000, MAX7000, MAX5000以及Classic等七大系列,而FLEX10K系列是ALTERA 1995
30、年推出的一个新的产品系列,因其规模大且价格便宜,倍受人们关注,Altera的FLEX10K器件是工业界第一个嵌入式可编程器件,基于可重构的CMOS SRAM单元,这种灵活逻辑单元阵(Flexible Logic Element Matrix)具有一般门阵列的所有优点。FLEX1OK系列器件规模从1万门到25万门,它无论在密度或者速度上都可以将一定规模的子系统集成到一个芯片上,采用快速可预测连线延时的连续式布线结构,在某种意义上说,是一种将EPLD和FPGA优点结合于一体的新型器件。FLEX10K系列器件在结构上大同小异,它们都包含有四大部分:输入输出单元IOE、逻辑阵列块(LAB)、嵌入阵列块
31、EAB及行、快速通道(FastTrack)互连。图4-1 FLEX10 K内部图FLEXl0K系列器件特点:1、嵌入阵列EAB,是一个在输入和输出端口都带有寄存器的一种灵活的RAM块,可以完成许多宏函数如存储器、查找表等。2、全局时钟使用,可以最大限度减少时钟到各触发器的延迟,尽量使整个系统同步产生。3、基于JTAG的边界扫描测试,2.5V(B系列),3.0V(A,V 系列)或5.0V电源。4、低功耗,系统不工作时电流小于1mA。5、灵活多变的行列连线资源。6、功能丰富的I/O引脚。7、多种封装形式。8、基于SRAM重构。9、强大的集成开发环境和多形式的用户接口。4.4 EDA工具MAXPLU
32、SMAX+PLUSII是Altera提供的FPGA/CPLD开发集成环境, 它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。在 MAX+PLUS II软件提供的设计环境中可以完成设计输入、设计编译、设计仿真和器件编程四个设计阶段。在设计输入阶段,用户可以采用图形输入、文本输入和波形输入三种方式输入设计文件,但波形输入方式只能在工程设计的底层使用。在设计编译阶段,MAX+PLUS II编译器依据设计输入文件自动生成用于器件编程、波形仿真及延时分析等所需的数据文件。在设计仿真阶段,MAX+PLUS II仿真器和时延分析器利用编译器产生的数据文件自动完成逻辑功能仿
33、真和时延特性仿真。并且可以在设计文件中加载不同的激励,观察中间结果以及输出波形。必要时,可以返回设计输入阶段,修改设计输入,达到设计要求。在器件编程阶段,MAX+PLUS II编程器将编译器生成的编程文件下载到Altera器件实现对器件编程。此后,可以将实际信号送入该器件进行时序验证。因为CPLDFPGA芯片能够可重复编程,所以如果动态时序验证的结果不能满足用户的需要时,用户可以返回到设计阶段重新设计,然后重复上面的步骤,最终达到设计要求。图4-2中所示的是标准的EDA开发流程。图4-2 MAX+PLUSII设计流程第5章 基于FPGA的DDS信号源设计5.1 总体设计框图图5-1 信号发生器
34、结构框图图5-1为本次设计总体结构框图,其中相位累加器和波形存储器构成信号发生器核 心部分。该部分又与频率字控制模块共同构成信号发生器主模块。而显示模块,D/A转换器和滤波电路则作为信号发生器外围硬件设计。下面就分主模块软件设计和外围硬件设计两大部分来说明信号发生器的设计。5.2 主模块软件设计5.2.1 相位累加器的设计图5-2 相位累加器 图5-2为相位累加器内部结构图,它有一个N位的全加器和一个寄存器构成。当系统时钟上升沿到来的时候,上一个时钟周期的相位值与频率字的相加值被送入累加寄存器,并输出高W位至波形存储器的地址线,同时相位值又被送回全加器进行相位累加。相位累加器流程图如图5-3所
35、示 开 始 时钟上升沿到? NO YES 相位累加 累加值寄存 高W位输出 结 束 图5-3 相位累加器流程图 设计要求输出频率范围为1KHZ10MHZ,频率步进为100HZ。根据第二章介绍最高输出一般是系统时钟的40%。经过计算,设计选用系统时钟为30MHZ时能实现设计要求。确定相位累加字长时,考虑到频率分辨率要等于或小于频率步进值,而且累加器字长一般为8的整数倍。由第二章公式2.2计算后得出符合设计要求的累加器字长为N=24。由上分析设计的相位累加器模块如图5-4所示。图5-4 相位累加器模块K23.0为输入的频率字,EN为高电平使能,RESET是高电平清零,CLK为系统时钟输入,DOUT
36、7.0是相位累加器高8位输出,该输出将作为波形存储器地址线对波形ROM进行寻址。其程序见附录B,图5-5为该模块的时序仿真图。图5-5 相位累加器进行累加、清零的时序仿真图5.2.2 波形ROM的设计 这个模块是一个相对简单的模块。首先要确定波形ROM的地址线位数和数据的字长,根据噪声功率的角度看波形ROM的地址线位数应该等于或略大于字长。由于设计选择的DAC位数为8,这样ROM的字长很明显该和DAC的字长相一致。而地址线的位数同样确定为8位。波形存储器利用相位累加器输出的高8位作为地址线来对其进行寻址,最后输出该相位对应的二进制正弦幅值。正弦数据的产生可采用如下办法:在MATLAB中编辑程序
37、: clear tic;t=2*pi/256t=0:t:2*pi;y=128*sin(t)+128;round(y);t =0.0245ans将得出的结果转化为8位的二进制数据,起幅值对应在00000000-11111111区间内。最后利用得到的二进制数据用VHDL编写程序实现正弦ROM的设计。图5-6为正弦波形ROM模块,该模块时序仿真如图5-7所示。图5-6 正弦波形ROM图5-7 波形ROM时序仿真图5.2.3 频率控制模块的设计 设计要求频率步进为100HZ,但由于频率范围很宽,要求改变频率时如果跨度较大则需要很长的时间通过频率步进端来改变输出频率。因此在实际频率控制模块中,增加了4个
38、附加的频率步进按钮。分别为最小步进(100HZ)的10倍、100倍、1000倍和10000倍即1KHZ、10KHZ、100KHZ和1MHZ。这样从大到小地利用频率步进值便可很快地调到所需要的频点。 实现这个设计的方法也很简单,由第二章公式 可以看出,当确定后与K成正比关系。计算出输出频率时K的值,则这个K的值就是频率字步进100HZ时频率字K的增量,记为。要成倍地增加步进频率,则只需以相同的倍数增加的值。将,N=24 带入得到100HZ步进时值为56。则实现1KHZ、10KHZ、100KHZ和1MHZ的步进K的增量分别为10、100、1000和10000。由于设计要求频率输出范围为1KHZ-1
39、0MHZ,则K值的最小值为560,最大值为5600000。设系统其始和复位时K的初值为560,即初始化频率为1KHZ。然后再根据所要输出的频率调整相应的步进量。图5-8为VHDL设计的频率控制模块图5-8 频率控制模块模块各引脚说明如下:RESET为频率字复位端,高电平有效。CLK接入的是系统时钟,目的是驱动模块内部延时计数器,该计数器的作用是:当进行频率操作时,频率的增、减确认信号必须在按键状态稳定后才能进行,所以加入一定的延时。同时还可以达到按键去抖动的效果。STEP14.0:频率步进“增”操作端,各端口分别为STEP1(4)步进100HZ,STEP1(3)步进1KHZ,STEP1(2)步
40、进10KHZ,STEP1(1)步进100KHZ,STEP1(0)步进1MHZ。STEP24.0:频率步进“减”操作端,各端口对应操作值同上。KOUT为输出频率字,送至DDS主模图5-9为频率控制模块流程图。 开 始 频率字赋初值 有键按下? N Y Y 复位键? N 频率增操作? N Y 频率减操作 增加对应值 减少对应值 频率字输出 结 束图5-9 频率控制模块流程图频率控制模块时序仿真如图5-10所示。图5-10 频率控制模块时序仿真图5.3 外围硬件设计5.3.1 显示模块 该模块与频率控制模块有直接的联系,其功能就是显示输出频率值,显示方式为十进制数。由于最大频率值为10MHZ为8位数
41、,则需要8个数码管做为频率值显示。又最小频率步进为100HZ,则只需要设计六位十进制加、减法计数器进行从百位到十兆位的频率的增、减操作,个位和十位数据恒定为零。图5-11 频率值计数输出模块图5-11为计数输出模块,与频率控制模块类似,RESET端为频率初始化,CLK为接入系统时钟,STEP1、STEP2分别为频率增、减控制端,KOUT为显示数据输出。该模块时序仿真图如图4-12所示图5-12 频率值计数模块图5-13为输出频率译码扫描显示模块,其功能为将计数模块输出的频率值译成七段码并扫描显示。DATA13.0到DATA63.0为频率数据百位至十兆位BCD码输入端,SCAN7.0是输出扫描信
42、号,DISPOUT6.0则为数据七段码输出。图5-13 译码扫描显示模块图5-14 译码扫描显示模块 频率计数模块和译码扫描显示模块共同组成信号发生器的频率显示模块,它与频率控制模块的操作是同步进行的。数码管所显示的数值就是信号发生器输出的正弦波频率值。显示数字为图5-15图5-15数字显示电路连接5.3.2 D/A转换器实现数字量转化为模拟信号的转换电路称为D/A转换器(DAC)。D/A转换器是把数字量转换成模拟量的线性电路器件,已做成集成芯片。由于实现这种转换的原理和电路结构及工艺技术有所不同,因而出现各种各样的D/A转换器。目前,国外市场已有上百种产品出售,他们在转换速度、转换精度、分辨
43、率以及使用价值上都各具特色。 衡量一个D/A转换器的性能的主要参数有: (1)分辨率:是指D/A转换器能够转换的二进制数的位数,位数多分辨率也就越高。 (2)转换时间:指数字量输入到完成转换,输出达到最终值并稳定为止所需的时间。电流型D/A转换较快,一般在几ns到几百ns之间。电压型D/A转换较慢,取决于运算放大器的响应时间。 (3)精度:指D/A转换器实际输出电压与理论值之间的误差,一般采用数字量的最低有效位作为衡量单位。 (4)线性度:当数字量变化时,D/A转换器输出的模拟量按比例关系变化的程度。理想的D/A转换器是线性的,但是实际上是有误差的,模拟输出偏离理想输出的最大值称为线性误差。目
44、前,D/A转换器芯片种类较多,对于一般的使用者而言,只需掌握DAC芯片性能及其与计算机之间接口的基本要求,就可根据应用系统的要求合理选用DAC芯片,并配置适当的接口电路。设计要求输出最高频率为10MHZ,在选择D/A转换器的时需要充分考虑到D/A转换器的转换速率,在本次设计中选择了ADV7120芯片19,它是一个高速D/A转换COMS芯片,耗电小,同时考虑到实验室的焊接工具的现状,是否完全兼容TTL电平标准,它有DIP双列直插式封装的型号。同时根据设计的不同,这种芯片有三种速度等级分别为30MHz、50MHz和80MHz级的,因为它的高速处理性能,它被广泛应用于视频、图像等对数据实时处理和吞吐量比较大的领域。同时作为 它的功能之一就是用于DDS的高速数模转换。 图5-16ADV7120芯片内部原理图上图5-16为该芯片的内部原理图,由于它是专业级的视频通道高速数模转换芯片,故有很多用于视频的功能引脚。但是在本次设计中,只借助它的高速8bit数模转换功能,故有些引脚不要用到,但是根据CMOS结构的特性,对于不用的引脚不能让它悬空。要对它做如下的适当处理:Description: VIDEOIOC(mA)2: video+9.05IOR,IOB(mA): video+1.44REF WHRITE: 0: 1: 1DAC Input Data: data这是对于输入引脚的处理,对不用