首页 基于FPGA的DDS信号发生器的设计

基于FPGA的DDS信号发生器的设计

举报
开通vip

基于FPGA的DDS信号发生器的设计基于FPGA的DDS信号发生器的设计 中文摘要 .......................................................................................................................................... 2 English Abstract ...............................................................................

基于FPGA的DDS信号发生器的设计
基于FPGA的DDS信号发生器的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 中文摘要 .......................................................................................................................................... 2 English Abstract ........................................................................................................................ 3 1 引言............................................................................................................................................. 4 2 DDS&FPGA简介与原理 ............................................................................................................... 6 2.1 DDS基本原理 ................................................................................................................. 6 2.2 DDS芯片的主要组成部分.............................................................................................. 6 2.2.1 频率预制与调节电路 ......................................................................................... 6 2.2.2 累加器................................................................................................................. 7 2.2.3 控制相位加法器................................................................................................. 7 2.2.4 控制波形加法器................................................................................................. 7 2.2.5 波形存储器......................................................................................................... 7 2.2.6 D/A转换器.......................................................................................................... 8 2.2.7 低通滤波器......................................................................................................... 8 2.3 DDS的主要特点 ............................................................................................................. 8 2.4 FPGA介绍 ..................................................................................................................... 10 3 设计软件与语言....................................................................................................................... 12 3.1 涉及到的软件及设计语言........................................................................................... 12 3.2 Quarturs?简介 ........................................................................................................ 12 3.3 Matlab简介 ............................................................................................................... 12 3.4 VHDL简介 ..................................................................................................................... 14 4 课题的设计与仿真................................................................................................................... 16 4.1 设计 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 的选择......................................................................................................... 16 4.2 课题的设计与仿真....................................................................................................... 20 4.2.1 各部件的设计及仿真 ....................................................................................... 20 4.2.2顶层部件的设计.................................................................................................. 27 4.3 仿真结果分析 .............................................................................................................. 29 5 毕业设计小节........................................................................................................................... 31 谢辞 ................................................................................................................................................ 31 参考文献 ........................................................................................................................................ 32 中文摘要 摘要:信号源作为现代电子产品中的重要一员,必须满足高精度、高速度、高分辨率等要求。正是基于这几点,本文研究了基于DDS技术的智能信号源。采用DDS方案有很多突出的优点:高频率分辨率;高频率切换速度;切换时相位能保持连续;超宽的频率范围;能实现各种调制波和任意波形的产生;易于实现全数字化的设计。本文主要研究以DDS方式实现基于FPGA的信号发生器,操作界面友好,可产生普通波形(正弦波、方波等)、各种调制波、脉冲串,以及多次谐波的叠加,可产生两路相互独立的不同波形,或产生两路有一定相位差的同种波形,且信号源产生的波形各项指标都比较高,优于其他传统方式实现的信号源。由于此种信号源是基于FPGA,所以可以在不修改硬件结构的情况下,实现信号源功能的扩充,从而节省了成本。 关键字:直接数字频率合成;DDS;FPGA;线性调频;信号发生器; English Abstract Abstract:The signal source have to satisfy high accuracy, high speed & high resolution etc as one important member in the modern electronics product. according to this, this discourse studied a intelligence signal source based on the DDS. The project Adopting the DDS has a lot of outstanding advantages: High frequency resolution; high frequency switching speed; phase can keep consecution on switching; Extraordinary wide frequency scope; It Can carry out various random wave; Be easy to carry out the completely digital design. This discourse mainly studies the signal occurrence device with the DDS realization and based on the FPGA, the operation interface amity, can carry out common wave (sine wave、square wave...etc.)、various making wave、the pulse string, and wave added multi-ply harmonic, It can carry out two independent different wave, or two wave contain a phase gap, and the various wave index is all higher than the signal source achieved other traditional ways .Because this kind signal source is based on FPGA, so we can achieve the signal source function to expand under the situation that we don’t modify the hardware structure. Thus we saved cost. Keywords: Direct Digital Synthesizer;DDS;FPGA; linearity Frequency Modulation; signal occurrence device . 1 引言 直接数字频率合成技术(Direct-Digital Synthesis), 简称DDS 是九十年代迅速发展起来的一种有广泛应用前景的频率综合技术它可用于雷达通讯电子侦察和对抗以及高性能测量仪器等各个方面。 信号源是雷达、通讯、电子对抗等电子系统实现高性能指标的关键,很多现代电子设备和系统的功能的实现都直接依赖于所用信号源的性能,因此信号源被人们喻为众多电子系统的“心脏”,而当今高性能的信号源均通过频率合成技术来实现的。 频率合成器是决定电子系统的关键设备。传统的频率合成器有直接式(DAS)和锁相式(PLL)两种。1971年美国学者Tierney等提出了直接数字式频率合成器(DDS)。这是一种基于波形存储的全新的频率合成技术。线性调频DDS芯片的出现对新一代雷达波形的产生及本振信号的生成产生了巨大的影响,这类雷达信号已能满足目标探测、目标跟踪及目标识别等不同的需要。同时,将DDS用于雷达系统对降低目标的模糊度、减少虚警概率和提高雷达电磁兼容能力有极大的帮助。 与传统的频率合成技术相比,DDS的性能优点主要体现在:超高速的频率转换时间(可做到小于0.1μs);极高的频率分辨率(可达到MHz级);变相相位连续;可实现极理想的正交输出;容易实现Chirp(线性调频)和其他各种频率、相位、幅值调制;可以合成任意波形;DDS 输出信号的三个参量:频率、相位和幅度都由数据控制字来决定,即通过改变相位累加器输入端的频率控制字,来实现频率控制;改变相位累加器输出端的相位,来实现相位控制;改变ROM 输出端的幅度,来实现幅度控制;从而合成各种调幅、调频、调相波形以满足日益增长的带宽信号形式的需求。全数字化控制简单容易;集成度高,容易实现系列化、模块化、小型化和 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 化。 DDS有上述众多突出优点使其被认为是继PLL之后的第二次频率合成技术革命。目前已成为宇航、雷达、通讯、电子战等系统中信号源的首选,在线性调频、扩频和跳频系统、多普勒响应模拟等领域得到了广泛的应用,在电子测量仪表等领域也有广阔的应用前景。 但是同现在大量应用的基于锁相环(PLL)的频率合成相比,DDS的两个主要 缺点严重限制了DDS更广泛的应用。一是输出带宽窄,受限于器件的工作时钟频率。二是DDS输出频谱杂散较大。 在本次设计中,我们将设计出DDS基于FPGA芯片的解决方案,并对其进行仿真,得出相关结果。 2 DDS&FPGA简介与原理 2.1 DDS基本原理 其原理图如图1: 累加器 加法器 加法器 ROM D/A LFP 频率控制字K 相位控制字P 波形控制字W 参考信号fc 图2.1 DDS原理图 DDS主要由相位累加器、 幅度变换器、D/A转换器DAC 和低通滤波器LPF等组成其核心部件是相位累加器如图1 所示。在系统时钟的作用下由相位累加器完成频率累加并将每次累加结果作为取样地址周期性地扫描正弦波的波形存储器并通过D/A 转换器把结果变换成电压波形。 相位累加器在参考信号时钟fc的控制下以步长K(频率控制字)作累加,输出N位二进制码与相位控制字P、波形控制字W相加后作为波形ROM的地址,对波形ROM进行寻址,波形ROM输出D位的幅度码Sn经D/A转换器变成电压波形,再经过低通滤波器平滑后就可以得到合成的信号波形。合成的信号波形形状取决于波形ROM中存放的幅度码,因此用DDS可以产生任意的波形。 2.2 DDS芯片的主要组成部分 2.2.1 频率预制与调节电路 K被称为频率控制字,也叫相位增量。DDS的方程为: N (2-1) f,fK/20c f0是输出频率,fc为时钟频率。当K足够大时,DDS输出最低频率(也即 N频率分辨率)为,而DDS最大输出频率由Nyquist采样定理决定,即f/2c N,1fc/2,也就是K的最大值为。因此,只要N足够大,DDS可以得到足够细2 的频率间隔。要改变DDS的输出频率,只要改变频率控制字即可。 2.2.2 累加器 累加器由N位加法器和N位寄存器级联构成。每来一个时钟脉冲fc,加法器将频率控制字K与寄存器输出的累加相位数据相加,再把相加后的结果送至寄存器的数据输入端。寄存器将加法器在上一个时钟作用后所产生的相位数据反馈到加法器的输入端;以使加法器在下一个时钟作用下继续与频率控制字进行相加。这样,相位累加器在时钟的作用下,进行相位累加。当相位累加器累加满量时就会产生溢出,完成一个周期性的动作。 其原理图如下: 加法器 寄存器 频率控制字 fc 图2.2 累加器原理图 2.2.3 控制相位加法器 通过改变相位控制字P可以控制输出信号的相位参数。令相位加法器的字长为N,当相位控制字P由0跃变到P(P?0)时,波形存储器的输入为相位累加器的输出与相位控制字P之和,因而其输出的幅度编码相位会增加P/(2的n次方),从而使最后输出的波形产生相移。 2.2.4 控制波形加法器 通过改变波形控制字W可以控制输出信号的波形。由于波形存储器中的不同波形是分块存储的,所以当波形控制字改变时,波形存储器的输入为改变相位后的地址与波形控制字之和,从而使最后输出的波形产生相移。 2.2.5 波形存储器 用相位累加器输出的数据作为波形存储器的取样地址,进行波形的相位,幅 值转换,即可在给定的时间上确定输出的波形的抽样幅值。N位的寻址ROM相当于把0度到360度的正弦信号离散成具有2的N次方个样值的序列,若波形ROM有D位数据位,则2的N次方个样值的幅值以D位二进制数值固化在ROM中,按照地址的不同可以输出相应相位信号的幅值。 其演示图如下: 相位量化序列 波形幅度量化序列 ROM (波形存储器) (地址) 数据 图2.3 ROM演示图 2.2.6 D/A转换器 D/A转换器的功能就是把合成波的数字量转换成模拟量。需要注意的是,频率合成器对D/A转换器的分辨率有一定的要求,D/A转换器的分辨率越高,合成的波台阶数就越多,输出的波形的精度也就越高。 2.2.7 低通滤波器 对D/A输出的波进行频谱分析,其中除主频外还存在分布在fc、2fc„„两边?fo处的非谐波分量。因此为取出主频fo,必需在D/A的输出端接入截止频率为fc/2的低通滤波器。 2.3 DDS的主要特点 由于DDS采用了不同于传统频率合成方法的全数字结构,因而具有许多直接式频率合成技术和间接式频率合成技术难以实现的特点。,,, 频率合成技术的特点主要如下: (1)极高的频率分辨率: 这是DDS最主要的优点之一,由式 N (2-2) f,fK/20c 可知,当参考时钟频确定以后,DDS的频率分辨率由相位累加器的字长 N 决定。理论上讲,只要相位累加器的字长 N 足够大,就可以得到足够高的频率分辨率。当 K =1时,DDS产生的最低频率,称为频率分辨率,即 Nf/2 (2-3) c 50MHz,相位累加器的字长为 48位,频率分辨率可达 例如,时钟采用 ,60.18,10,,,这是传统频率合成技术所难以实现的。 (2)输出频率相对带宽很宽: f,0outDDS的输出频率下限对应于频率控制字K = 0时的情况,Hz,即可输出直流。根据Nyquist定理,从理论上讲,DDS的输出频率的上限应为fc/2,但由于低通滤波器的非理想过渡特性及高端信号频谱恶化的限制,工程上可实现的DDS输出频率上限一般为: f,2f/5 (2-4) maxc 因此,可得到DDS的输出频率范围一般是0 ~ 2fc /5。这样的相对带宽是传统频率合成技术所无法实现的。 (3)极短的频率转化时间: 这是DDS的又一个主要优点,DDS是一个开环系统,无反馈环节。这样的结构 的频率转换时间是频率控制字的传输时间和以低通滤波器为主的器件决定了DDS 频率响应时间之和。在高速DDS系统中,由于采用了流水线结构,其频率控制字的传输时间等于流水线与失重周期的乘积,低通滤波器的频率响应时间随截止频率的提高而缩短,因此高速DDS系统的频率转换时间极短,一般可达纳秒量级。 (4)频率捷变时的相位连续性: 从DDS的工作原理中可以看出,当改变其输出频率时,是通过改变频率控制字 K 实现的,实际上改变信号的相位增长速率,而输出信号的相位本身是连续的,这就是DDS频率捷变时的相位连续性。在许多应用系统中,如跳频通信系统, 都需要在捷变频过程中保证信号相位的连续,以避免相位信息的丢失和出现离散频率分量。传统的频率合成技术做不到这一点。 (5)数字调制功能: 由于DDS采用全数字结构,本身又是一个相位控制系统,因此可以在DDS设计中方便地加上数字调频、调相以及调幅功能,以产生ADK、FSK、PSK、MSK等多种信号。 (6)工作频带的限制: 这是DDS的主要缺点之一,是其应用受到限制的主要因素。根据DDS的结构原理,DDS的工作频率显然受到器件速度的限制,主要是指ROM和DAC的速度的限制。目前DDS的最高输出频率为1GHz左右。随着微电子技术的发展,以后会有更高速度的DDS器件。 (7)相位噪声性能: DDS的相位噪声主要由参考时钟信号的相噪、参考时钟的频率和输出频率之比的关系和器件本身的噪声基底决定。从理论上讲,输出信号的相位噪声会对参考时钟的相位噪声有20lg(fc/fout)dB的改善。但在实际工程中,必须要考虑包括相位累加器、ROM和DAC等在内的各部件噪声性能的影响。 (8)杂散抑制差: 由于DDS一般采用了相位截断技术,它的直接后果是给DDS的输出信号引入了杂散。同时,波形存储器的波形幅度量化所引起的有限长效应和DAC的非理想特性也都对DDS的杂散抑制性能产生很大的影响。杂散抑制较差是DDS的又一缺点。 另外,集成化、体积小、价格低、便于程控也是DDS的特点。 2.4 FPGA介绍 随着微电子技术的发展,采用现场可编程门阵列(FPGA)进行数字信号处理得到了飞速发展,由于FPGA具有现场可编程的特点,可以实现专用集成电路,因此越来越受到硬件电路设计工程师们的青睐。 FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有: 1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC电路的中试样片。 3)FPGA内部有丰富的触发器和I/O引脚。 4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。 加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。 FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。 3 设计软件与语言 3.1 涉及到的软件及设计语言 本课题用到的软件有:Quarturs?、Matlab 主要设计语言为:VHDL 3.2 Quarturs?简介 Altera公司在推出各种系列的可编程逻辑器件的同时,也在不断地升级其相应的开发软件。Quartus ?就是Altera公司推出的最新一代的可编程逻辑器件开发系统,Quartus ?支持对Altera 公司的APEX、FLEX、Cyclone、Mercury、Excalibur、Stratix和Stratix GX系列器件进行开发和配置。Quartus ? 还支持多平台工作,Quartus ?即可以工作于“PC + Microsoft Windows操作系统”或“PC + Red Hat Linux操作系统”上,还可以在其他多种工作平台上运行。在Quartus ?集成开发环境中进行可编程ASIC设计的基本流程如图2.2所示,主要包括设计输入、设计编译、设计校验(时序分析、仿真)和器件编程四个部分。 我们在Quartus ?下,采用VHDL进行各模块的设计。最后通过顶层文件来完成总体设计。 3.3 Matlab简介 MATLAB软件是由美国MathworkS公司推出的用于数值计算和图形处理的科学计算系统环境。MATLAB是英文以Trix LABoratory(矩阵实验室)的缩写。它的第1版(DOS版本1.0)发行于1984年,经过10余年的不断改进,现今己推出它的windows98/NT版本(6.1版)。新的版本集中了日常数学处理中的各种功能,包括高效的数值计算、矩阵运算、信号处理和图形生成等功能。在MATLAB环境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。 MATLAB的语言特点: 1: 语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以 说,用MATLAB进行科技开发是站在专家的肩膀上。 具有FORTRAN和C等高级语言知识的读者可能已经注意到,如果用FORTRAN或C语言去编写程序,尤其当涉及矩阵运算和画图时,编程会很麻烦。例如,如果用户想求解一个线性代数方程,就得编写一个程序块读入数据,然后再使用一种求解线性方程的算法(例如追赶法)编写一个程序块来求解方程,最后再输出计算结果。在求解过程中,最麻烦的要算第二部分。解线性方程的麻烦在于要对矩阵的元素作循环,选择稳定的算法以及代码的调试动不容易。即使有部分源代码,用户也会感到麻烦,且不能保证运算的稳定性。解线性方程的程序用FORTRAN和C这样的高级语言编写,至少需要四百多行,调试这种几百行的计算程序可以说很困难。 2:运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。 3:MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。 4:程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。 5:程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。 6:MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。 7:MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。 8:功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性工具箱是专业性比较强的,如control,toolbox,signl proceessing toolbox,commumnication toolbox等。这些工具箱都是由该领域内 学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究。 9:源程序的开放性。开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。 我们设计中主要应用MATLAB来生成ROM器件中的*.mif表 3.4 VHDL简介 VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware Description Language,诞生于1982年。1987年底,VHDL被IEEE和美国国防部确认为 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 硬件描述语言 。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的。 (1):与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。 (2):VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。 (3):VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。 (4):对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。 (5):VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。 此设计中,DDS各模块的设计全是用VHDL语言来编写的,他是及其重要的硬件描述语言,对本设计起了重要的作用。 4 课题的设计与仿真 4.1 设计方案的选择 实现DDS的三种技术方案: 一、采用高性能DDS单片电路的解决方案 随着微电子技术的飞速发展,目前高超 性能优良的DDS产品不断推出,主要有Qualcomm、AD、Sciteg和Stanford等公司单片电路(monolithic)。Qualcomm公司推出了DDS系列Q2220、Q2230、Q2334、Q2240、Q2368,其中Q2368的时钟频率为130MHz,分辨率为0.03Hz,杂散控制为-76dBc,变频时间为0.1μs;美国AD公司也相继推出了他们的DDS系列:AD9850、AD9851、可以实现线性调频的AD9852、两路正交输出的AD9854以及以DDS为核心的QPSK调制器AD9853、数字上变频器AD9856和AD9857.AD公司的DDS系列产品以其较高的性能价格比,目前取得了极为广泛的应用。AD公司的常用DDS芯片选用列表见表1.下面仅对比较常用的AD9850芯片作一简单介绍。 最大工作工作电压最大功耗型 号 备 注 (MHz) (V) (mw) 小型封装,串行输入,内置D/AAD9832 25 3.3/5 120 转换器。 AD9831 25 3.3/5 120 低电压,经济,内置D/A转换器。 AD9833 25 2.5,5.5 20 10个管脚的uSOIC封装。 20个管脚的TSSOP封装并内置比AD9834 50 2.5,5.5 25 较器。 经济,小型封装,串行输入,内AD9835 50 5 200 置D/A转换器。 经济,并行输入,内置D/A转换AD9830 50 5 300 器。 AD9850 125 3.3/5 480 内置比较器和D/A转换器。 AD9853 165 3.3/5 1150 可编程数字QPSK/16-QAM调制器。 内置比较器、D/A转换器和时钟6AD9851 180 3/3.3/5 650 倍频器。 内置12位的D/A转换器、高速比AD9852 300 3.3 1200 较器、线性调频和可编程参考时 钟倍频器。 AD9854 300 3.3 1200 内置12位两路正交D/A转换器、 高速比较器和可编程参考时钟倍 频器。 内置10位的D/A转换器、150MHzAD9858 1000 3.3 2000 相频检测器、充电汞和2GHz混频 器。 表4.1 AD公司的常用DDS芯片选用列表 AD9850是AD公司采用先进的DDS技术1996年推出的高集成度DDS频率合成器,它内部包括可编程DDS系统、高性能DAC及高速比较器,能实现全数字编程控制的频率合成器和时钟发生器。接上精密时钟源,AD9850可产生一个频谱纯净、频率和相位都可编程控制的模拟正弦波输出。此正弦波可直接用作频率信号源或转换成方波用作时钟输出。AD9850接口控制简单,可以用8位并行口或串行口经、相位等控制数据。32位频率控制字,在125MHz时钟下,输出频率分产率达0.029Hz。先进的CMOS工艺使AD9850不仅性能指标一流,而且功耗少,在3.3V供电时,功耗仅为155mW。扩展工业级温度范围为-40,+85摄氏度,其封装是28引脚的SSOP表面封装。 AD9850采用32位相位累加器,截断成14位,输入正弦查询表,查询表输出截断成10位,输入到DAC。DAC输出两个互补的模拟电流,接到滤波器上。调节DAC满量程输出电流,需外接一个电阻Rset,其调节关系是Iset=32(1.248V/Rset),满量程电流为10,20mA。 二、 采用低频正弦波DDS单片电路的解决方案 Micro Linear公司的电源管理事业部推出低频正弦波DDS单片电路ML2035以其价格低廉、使用简单得到广泛应用。ML2035特性:(1)输出频率为直流到25kHz,在时钟输入为12.352MHz野外频率分辨率可达到1.5Hz(-0.75,+0.75Hz),输出正弦波信号的峰-峰值为Vcc;(2)高度集成化,无需或仅需极少的外接元件支持,自带3,12MHz晶体振荡电路;(3)兼容的3线SPI串行输入口,带双缓冲,能方便地配合单片机使用;(4)增益误差和总谐波失真很低。 ML2035为DIP-8封装,各引脚功能如下: (1)Vss:-5V电源; (2)SCK:串行时钟输入,在上升沿将串行数据锁入16位移位寄存器; (3)SID:串行数据输入,该串行数据为频率控制字,决定6脚输出的频率; (4)LATI:串行数据锁存,在下降沿将频率控制字锁入16位数据锁存器; (5)Vcc:+5电源; (6)Vout:模拟信号输出; (7)GND:公共地,输入、输出均以此点作为参考点; (8)CLK IN:时钟输入,可外接时钟或石英晶体。 ML2035生成的频率较低(0,25kHz),一般应用于一些需产生的频率为工频和音频的场合。如用2片ML2035产生多频互控信号,并与AMS3104(多频接收芯片)或ML2031/2032(音频检波器)配合,制作通信系统中的收发电路等。 可编程正弦波发生器芯片ML2035设计巧妙,具有可编程、使用方便、价格低廉等优点,应用范围广泛。很适合需要低成本、高可靠性的低频正弦波信号的场合。 ML2037是新一代低频正弦波DDS单片电路,生成的最高频可达500kHz。 三、 自行设计的基于FPGA芯片的解决方案 DDS技术的实现依赖于高速、高性能的数字器件。可编程逻辑器件以其速度高、规模在、可编程,以及有强大EDA软件支持等特性,十分适合实现DDS技术。Altera是著名的PLD生产厂商,多年来一直占据着行业领先的地位。Altera的PLD具有高性能、高集成度和高性价比的优点,此外它还提供了功能全面的开发工具和丰富的IP核、宏功能外它还提供了功能全面的开发工具和丰富的IP核、宏功能库等,因此Altera的产品获得了广泛的应用。Altera的产品有多个系列,按照推出的先后顺序依次为Classic系列、MAX(Multiple Array Matrix)系列、FLEX(Flexible Logic Element Matrix)系列、APEX(Advanced Logic Element Matrix)系列、ACEX系列、Stratix系列以及Cyclone等。 Max+plusII是Altera提供的一个完整的EDA开发软件,可完成从设备输入、编译、逻辑综合、器件适配、设计仿真、定时分析、器件编程的所有过程。QuartusII是Altera近几年来推出的新一代可编程逻辑器件设计环境,其功能更为强大。 用QuartusII设计DDS系统数字部分,我们所用的编程语言是VHDL语言,我们可以用VHDL编写DDS的各个模块,最后通过顶层文件的设计来完成各个模块的组合,实现总体的功能。波形存储器(ROM)通过调用lpm_rom元件实现,其LPM_FILE的值*.mif是一个存放波形幅值的文件。波形存储器设计主要考虑的问题是其容量的大小,数据的存储方式等。 虽然有的专用DDS芯片的功能也比较多,但控制方式却是固定的,因此不一定是我们所需要的。而利用FPGA则可以根据需要方便地实现各种比较复杂的调频、调相和调幅功能,具有良好的实用性。就可成信号质量而言,专用DDS芯片由于采用特定的集成工艺,内部数字信号抖动很小,可以输出高质量的模拟信号;利用FPGA也能输出较高质量的信号,虽然达不到专用DDS芯片的水平,但信号精度误差在允许范围之内。 DDS问世之初,构成DDS元器件的速度的限制和数字化引起的噪声这两个主要缺点阻碍了DDS的发展与实际应用。近几年超高速数字电路的发展以及对DDS的深入研究,DDS的最高工作频率以及噪声性能已接近并达到锁相频率合成器相当的水平。随着这种频率合成技术的发展,现已广泛应用于通讯、导航、雷达、遥控遥测、电子对抗以及现代化的仪器仪表工业等领域。 第三种方案也可有两种实现方法,如下: 一:DDS产生信号的频率、相位、波形全通过累加器和加法器来产生ROM中相对应的地址,最后通过D/A转换器和滤波器来最终产生波形。例如:可以把两种波形对应的.mif表存储在ROM中,最后通过地址来调用,进而产生要求的波形。其原理图和我们最初提及的DDS原理图相同,即: 频率控制字K Adder Reg Adder Adder Rom D/A 相位控制字P 波形控制字W CLK 输出 LFP 图4.1 设计方案3-1 二:DDS产生信号的频率和相位还是通过累加器和加法器来实现,在ROM部分,可采用多ROM系统,每ROM存储一种波形的相关数据,最后通过选择器来实现波形的控制,例如:需要三种波形的话,可用三个ROM来分开存储三种波形的数据,在ROM后可通过一个三选一选择器来决定最后的输出波形。 其原理图如下: ROM1 频率控制字K 累加器 加法器 ROM2 选择器 D/A LFP ROM3 相位控制字P 波形控制字 CLK 图4.2 设计方案3-2 经过实际设计,及几种方案的对比,考虑到实际因素及系统的扩展性等各方面因素,我们选择了第三种方案的前一种方案。 4.2 课题的设计与仿真 4.2.1 各部件的设计及仿真 DDS需要设计的几个主要部件为:频率预制与调节电路、累加器、控制相位加法器、控制波形加法器、波形存储器。 累加器由N位加法器和N位寄存器级联构成,因此我们要设计的就只有加法器、寄存器、ROM。 (1) 加法器的设计及仿真 其生成器件图如下: 图4.3 加法器器件图 其对应的程序(用VHDL语言编写)如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; ENTITY add IS port ( I1: IN STD_LOGIC_VECTOR(10 downto 0); I2: IN STD_LOGIC_VECTOR(10 downto 0); O1 : out STD_LOGIC_VECTOR(10 downto 0) ); END add; ARCHITECTURE rtl OF add IS BEGIN O1<=I1+I2; end rtl; 其仿真波形如下: 图4.4 加法器仿真 (2) 寄存器设计及仿真 其生成的器件图如下: 图4.5 寄存器器件图 其对应的程序(用VHDL语言编写)如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; ENTITY reg1 IS port ( clk: IN STD_LOGIC; I1: IN STD_LOGIC_VECTOR(10 downto 0); O1: out STD_LOGIC_VECTOR(10 downto 0) ); END reg1; ARCHITECTURE rtl OF reg1 IS BEGIN process (clk) begin if(clk' event and clk='1')then O1<=I1; end if; end process; end rtl; (3) ROM器件的设计及仿真 其生成的器件图如下: 图4.6 ROM器件图 其对应的程序(用VHDL语言编写)如下: LIBRARY ieee; USE ieee.std_logic_1164.all; LIBRARY altera_mf; USE altera_mf.altera_mf_components.all; ENTITY rom1 IS PORT ( address : IN STD_LOGIC_VECTOR (10 DOWNTO 0); clock : IN STD_LOGIC ; q : OUT STD_LOGIC_VECTOR (10 DOWNTO 0) ); END rom1; ARCHITECTURE SYN OF rom1 IS SIGNAL sub_wire0 : STD_LOGIC_VECTOR (10 DOWNTO 0); COMPONENT altsyncram GENERIC ( intended_device_family : STRING; width_a : NATURAL; widthad_a : NATURAL; numwords_a : NATURAL; operation_mode : STRING; outdata_reg_a : STRING; outdata_aclr_a : STRING; width_byteena_a : NATURAL; clock_enable_input_a : STRING; clock_enable_output_a : STRING; init_file : STRING; lpm_hint : STRING; lpm_type : STRING ); PORT ( clock0 : IN STD_LOGIC ; address_a : IN STD_LOGIC_VECTOR (10 DOWNTO 0); q_a : OUT STD_LOGIC_VECTOR (10 DOWNTO 0) ); END COMPONENT; BEGIN q <= sub_wire0(10 DOWNTO 0); altsyncram_component : altsyncram GENERIC MAP ( intended_device_family => "Cyclone II", width_a => 11, widthad_a => 11, numwords_a => 2048, operation_mode => "ROM", outdata_reg_a => "CLOCK0", outdata_aclr_a => "NONE", width_byteena_a => 1, clock_enable_input_a => "BYPASS", clock_enable_output_a => "BYPASS", init_file => "F:/我的文档/DDS_VHDL/新的成果/digtal.mif", lpm_hint => "ENABLE_RUNTIME_MOD=NO", lpm_type => "altsyncram" ) PORT MAP ( clock0 => clock, address_a => address, q_a => sub_wire0 ); END SYN; ROM中波形的存储: 由于本设计要实现两种波形选择输出,故存储在ROM中的波形数据可以有两 种存储方式: a. 连续存储,即:“正弦波(1…n)/ 余弦波(1…n)”; )/ 余弦波(1),正弦波(2)/ 余弦波(2)„b. 间隔存储,即:“正弦波(1 正弦波(n)/ 余弦波(n)”; 下面我们看一下在这两种方式下地址码的产生: 连续: 间隔: 图4.7 ROM中数据存储方式 其中导入的*.mif是一个存放波形幅值的文件,由Matlab生成,其生成过程 及程序如下: 1.生成一个MIFWJ.M的文件,其具体程序如下: function [b]=mifwj(a,c,b) %本程序用来生成mif文件 logner编制 %参数 a 待存的数字变量 % c文件名mif % b待存数字的二进制位数 [m,n]=size(a); fp1=fopen(c,'wt+'); fprintf(fp1,'depth='); fprintf(fp1,num2str(n)); fprintf(fp1,';\n'); fprintf(fp1,'width='); fprintf(fp1,num2str(b)); fprintf(fp1,';\n'); fprintf(fp1,'address_radix=dec;\n'); fprintf(fp1,'data_radix=hex;\n'); fprintf(fp1,'content\n'); fprintf(fp1,'begin\n'); for s=1:m for i=1:n fprintf(fp1,'%d:%x;\n',(s-1)*n+i-1,a(s,i)); end end fprintf(fp1,'end\n'); fclose(fp1); disp('sucess'); 编写一个产生自己需要波形的*.mif表的函数,针对以上的两种存储方式, 有相对应的两个生成函数。 间隔式存储对应的生成函数为: for i=0:2:2046 s=sin(i*pi/(1023)); si(i+1)=ceil(2047*s); if si(i+1)<0 si(i+1)=4096+si(i+1); end ; end for i=1:2:2047 s=cos((i-1)*pi/(1023)); si(i+1)=ceil(2047*s); if si(i+1)<0 si(i+1)=4096+si(i+1); end ; end mifwj(si,'digtal.mif',6); 其si(幅值)与地址对应的图形为: 4500 4000 3500 3000 2500 2000 1500 1000 500 005001000150020002500 图4.8 间隔存储方式下si(幅值)与地址关系 连续式存储对应的生成函数为: for i=0:1:1023 s=sin(i*2*pi/(1023)); si(i+1)=ceil(2047*s); if si(i+1)<0 si(i+1)=4096+si(i+1); end ; end for i=1024:1:2047 s=cos((i-1024)*2*pi/(1023)); si(i+1)=ceil(2047*s); if si(i+1)<0 si(i+1)=4096+si(i+1); end ; end mifwj(si,'din2.mif',6); 其si(幅值)与地址对应的图形为: 4500 4000 3500 3000 2500 2000 1500 1000 500 005001000150020002500 图4.9 连续存储方式下si(幅值)与地址关系 本设计要实现两种波形的循环输出以及相位控制,选取间隔存储。同时,第 奇数位存储余弦波,第偶数位存储正弦波。 采用这种设计方法,可以根据需要,改变生成*.mif的函数,即可调换生成 的波形及ROM中存储波形的数量,其扩张性很强。 4.2.2顶层部件的设计 顶层文件通过调用各个部件,来实现整个DDS的实现。 其对应生成的器件图如下: 图4.10 总体设计图 顶层文件的编写: library ieee;--DDS top design use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity DDS_VHDL is port ( clk : in std_logic; K : in std_logic_vector(10 downto 0); P : in std_logic_vector(10 downto 0); W : in std_logic_vector(10 downto 0); f0 : out std_logic_vector(10 downto 0) ); end; architecture one of DDS_VHDL is component reg1 port (clk: IN STD_LOGIC; I1: IN STD_LOGIC_VECTOR(10 downto 0); O1: out STD_LOGIC_VECTOR(10 downto 0) ); end component; component add port (I1: IN STD_LOGIC_VECTOR(10 downto 0); I2: IN STD_LOGIC_VECTOR(10 downto 0); O1 : out STD_LOGIC_VECTOR(10 downto 0) ); end component; component rom1 port ( address : IN STD_LOGIC_VECTOR (10 DOWNTO 0); clock : IN STD_LOGIC ; q : OUT STD_LOGIC_VECTOR (10 DOWNTO 0)); end component ; signal X,Y,Z,R: std_logic_vector(10 downto 0); begin u1: add port map (I1=>Y,I2=>K,O1=>X); u2: reg1 port map (clk,I1=>X,O1=>Y); u3: add port map (I1=>Y,I2=>P,O1=>Z); u4: add port map (I1=>Z,I2=>W,O1=>R); u5: rom1 port map (clock=>clk,address=>R,q=>f0); end; 各控制字说明: 频率控制字K:必须为偶数,不然相加后的地址会在偶地址和奇地址间切换,进而产生波形的混乱。 相位控制字P:也必须为偶数,原因同上。 波形控制字W:必须为奇数,其功能就是使地址由偶地址转向奇地址,或相反,最好是1,不然就会产生相位的转移。 其各种参数下的仿真波形图如下: 1、时钟周期T=10ns; 频率控制字K=2; 相位控制字P=0; 波形控制字W,1时 图4.11 仿真波形1 2、时钟周期T=10ns; 频率控制字K=8; 相位控制字P=10; 波形控制字W,1时 图4.12 仿真波形2 3、时钟周期T=10ns; 频率控制字K=8; 相位控制字P=10; 波形控制字W,0时 图4.13 仿真波形3 4.3 仿真结果分析 1、对比图4.11和图4.12: 频率控制字K=2->8,P=0->10 由于每次累加器由加2变为加8,使得地址的递增值变大,在一个周期同样 102个地址的情况下,地址完成一个循环相加的周期减少为原来的1/4,及波为 的频率提高为原来的4倍。 参数P=0->10 由于在开始时累加器后的加法器加了10,即地址直接跳过了前10个地址,直接从第11个地址开始,相当于波形相对于时间轴左移了10个地址值,即波形左移了(10×2)/1024的相位。 , 2、对比图4.12和图4.13: 波形控制字W=1->0, 在ROM前的加法器上加1,可使得地址控制电路由原来取偶数地址变为奇数地址,而ROM中偶数地址存储的是正弦波形的幅值数据,奇数地址存储的是余弦波的幅值数据。所以当W,1时,最后形成的是余弦波,而W,0时,最后形成的是正弦波。 5 毕业设计小节 通过这次基于FPGA的DDS信号发生器的设计,使我对信号发生器有了比较全面的认识。掌握了DDS的原理,能通过累加器、加法器来控制逻辑地址的递增,最后将地址输入ROM中,根据不同的地址来输出不同的幅值,再通过D/A转换器和滤波器来转化成模拟量,输出所需的波形。并可根据需要,通过频率控制字K,相位控制字P,和波形控制字W的改变来产生不同频率、不同相位的不同波形。 同时此次设计使我对Quarturs?和Matlab两种软件有了较深刻的认识,并熟悉了两种软件的基本操作,知道了各种工具软件在设计中的重要性。 最重要的是使我真正认识到一项设计的具体过程和步骤: 1、查阅相关资料,掌握设计的基本原理,对设计有个全面的认识; 2、初级规划几种设计方案,根据实际需要和设计条件选择最终设计方案; 3、方案各部分的具体设计,仿真并分析结果; 4、根据仿真结构,发现问题,并改进方案; 5、设计小结,总结自己的收获; 谢辞 此次毕业设计过程中,鲁迎春老师给了我精心的指导,在设计前期,由于平时涉及课题较少,不知如何下手,鲁老师并没有厌倦我们的实际操作能力差,而是积极的给予我们指导。中途由于所签单位要求实习,在实习期间,老师也毫不放松我们的设计进度,定时监督检查,才使我们尽快完成了初级设计,并在后期不断的对自己的课题进行完善。在他身上我们不仅学到了不少专业知识和科学研究方法,同时还学到了他严谨、踏实的作风,和对自己工作的热爱。在此,深深地感谢鲁老师的指导。 同时,电子教研室的各位老师也秉承负责、积极的工作态度,对我们的设计进行指导和监督;理学院计算机中心也为我们提供了一流的设计环境。在这里,我要对所有指导我们毕业设计而辛勤工作的老师说声:谢谢~谢谢你们的指导。 参考文献 1、周俊峰、陈涛著,《基于FPGA的直接数字频率合成器的设计和实现》,电子工 业出版社,2001 2、任晓东、文博著,《CPLD/FPGA高级应用开发指南》,电子工业出版社,2003 3、候博亨、顾新著,《VHDL硬件描述语言与数字逻辑电路设计》, 西安电子科 技大学出版社,1997 4、《Quartus II官方中文入门 手册 华为质量管理手册 下载焊接手册下载团建手册下载团建手册下载ld手册下载 》,下载自:www.altera.com 5、马晓岩著,《雷达信号处理》,湖南科学技术出版社,1998 6、孙涵芳著,《MCS-51/96系列单片机原理及应用》,北京航空航天大学出版社, 1996 7、俞柏峰、甘良才著,《用单片机控制DDS实现短波调频系统的调制》,节选自 《电子技术应用》2000年11期:42,45 8、王旭东、潘广桢著,《MATLAB及其在FPGA中的应用》,国防工业出版社,2002
本文档为【基于FPGA的DDS信号发生器的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_977556
暂无简介~
格式:doc
大小:163KB
软件:Word
页数:37
分类:生活休闲
上传时间:2017-09-18
浏览量:56