毕业设计(论文)-基于DDS的精密正弦信号发生器的设计(2).doc_第1页
毕业设计(论文)-基于DDS的精密正弦信号发生器的设计(2).doc_第2页
毕业设计(论文)-基于DDS的精密正弦信号发生器的设计(2).doc_第3页
毕业设计(论文)-基于DDS的精密正弦信号发生器的设计(2).doc_第4页
毕业设计(论文)-基于DDS的精密正弦信号发生器的设计(2).doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

基于dds的精密正弦信号发生器的设计基于dds的精密正弦信号发生器的设计摘 要本设计采用了直接数字频率合成(dds)技术来实现。侧重叙述了用fpga来完成直接数字频率合成器(dds)的设计,dds由相位累加器和正弦rom查找表两个功能块组成,其中rom查找表由兆功能模块lpm_rom来实现。而通过设定不同的累加器初值(k1)和初始相位值(k2),可以调节两路相同频率正弦信号之间的相位差,从而产生数字式的频率、相位和幅值可调的精密正弦波信号,最后通过max+plusii演示仿真结果。与传统的频率合成方法相比,dds合成信号具有频率切换时间短、频率分辨率高、相位变化连续等诸多优点。使用单片机灵活的控制能力与fpga器件的高性能、高集成度相结合,可以克服传统dds设计中的不足,从而设计开发出性能优良的dds系统。关键字 单片机 dds fpga 正弦信号发生器dds-based precision sinusoidal signal generatorabstractthis design uses a direct digital frequency synthesis (dds) technologies. described with emphasis on fpga to complete the direct digital synthesizer (dds) design, dds rom from the phase accumulator and sine lookup table composed of two functional blocks, including rom look-up table by the function module lpm_rom trillion to implement. the accumulator by setting different initial (k1) and the initial phase value (k2), the same frequency can be adjusted two phase difference between the sinusoidal signal, resulting in digital, frequency, phase and amplitude adjustable precision sine wave signal, the final presentation by max + plus ii simulation results.and compared to the traditional method of frequency synthesis, dds synthesized signal with frequency switching time is short, high frequency resolution, phase change continuously, and many other advantages. flexible control using microcontroller and fpga device performance, highly integrated combination of design can overcome the deficiencies of traditional dds to design and develop excellent performance dds system.key words single chip computer dds fpga sinusoidal signal generatorii目 录摘 要iabstractii1 绪论11.1 课题背景11.2 研究此课题的目的和意义11.3 本文主要研究的工作和目标22 设计方案的概述及论证42.1 系统的性能要求42.2 方案论证与比较42.4 方案确定53 fpga部分设计63.1 fpga的简介63.2 fpga芯片的选择73.3 dds原理及相关介绍93.4 各模块发生原理103.4.1 正弦波发生模块原理103.4.2 am硬件实现原理113.4.3 fm调制原理113.4.4 ask调制原理123.4.5 fsk调制原理123.5 正弦波发生模块的实现123.6 fpga设计dds电路的具体实现143.6.1 相位累加器部分143.6.2 相位/幅度转换电路143.6.3 波形表生成154.系统外围电路设计164.1 系统组成框图164.2 d/a转换电路164.2.1 dac0832芯片简介164.3 滤波电路194.4 数码管显示电路204.5 键盘接口电路205 系统的计算与仿真225.1 max+plus软件介绍225.2 系统频率、相位和幅度的计算235.2 系统仿真246 结论26致 谢27参考文献28附录1 系统原理图29附录2 相关模块程序设计30基于dds的精密正弦信号发生器的设计1 绪论1.1 课题背景dds是直接数字式频率合成器(direct digital synthesizer)的英文缩写。频率合成器是电子系统的心脏,是决定电子系统性能的关键设备。在当前社会中应用非常广泛,如通讯、导航、雷达、遥控遥测、电子测量以及现代化的仪器仪表工业等领域。而采用直接数字合成芯片dds及外加d/a转换芯片构成的可控信号源,可产生正弦波、调频波、调幅波及方波等,并且其信号的频率和幅度可由微机来精确控制,调节非常方便1。另外随着21世纪的到来,人类正在跨入信息时代。现代通信系统的发展方向是功能更强,体积更小,速度更快,功耗更低。而大规模可编程器件cpld/fpga在集成度、功能和速度上的优势正好满足通信系统的这些要求。所以今天无论是民用的移动电话、程控交换机、集群电台、广播发射机和调制解调器,还是军用的雷达设备、图形处理仪器、遥控遥测设备、加密通信机中,都已广泛地使用大规模可编程器件1。由于数字技术在处理和传输信息方面的各种优点,数字技术和数字集成电路的使用已经成为构成现代电子系统的重要标志。电子系统的集成化,不仅可使系统的体积小、重量轻且功耗低,更重要的是可使系统的可靠性大大提高。因此自集成电路问世以来,集成规模便以10倍/6年的速度增长。从20世纪90年代初以来,电子系统日趋数字化、复杂化和大规模集成化。为满足个人电脑、无绳电话和高速数据传输设备的发展需求,电子厂商们越加迫切地追求电子产品的高功能、优品质、低成本、微功耗和微小封装尺寸2。为达到此目标,必须采用少量的ic器件使面积尽可能1.2 研究此课题的目的和意义随着我国的经济日益增长,社会对电子产品的需求量也就越来越大。目前,我国的电子产品市场正在迅速的壮大,市场前景广阔。fpga(field programmable gate array,现场可编程门阵列)在现代数字电路设计中发挥着越来越重要的作用。fpga/cpld(complex programmable logic device)所具有的静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改,这样就极大地提高了电子系统设计的灵活性和通用性,缩短了产品的上市时间并降低可电子系统的开发成本,与此同时通讯、导航、雷达、遥控遥测、电子测量以及现代化的仪器仪表工业等领域对于dds的精度和人性化操作的要求越来越高。再加上现在电子技术突飞猛进的发展,产品的技术含量越来越高,使得芯片的复杂程度越来越高,人们对数万门乃至数百万门设计的需求也越来越多,特别是专用集成电路(asic)设计技术的日趋进步和完善,推动了数字系统设计的迅速发展。仅靠原理图输入方式已不能满足要求,采用硬件描述语言vhdl的设计方式应运而生,解决了传统用电路原理图设计大系统工程时的诸多不便,成为电子电路设计人员的最得力助手。频率合成器是电子系统的心脏,是决定电子系统性能的关键设备。随着现代无线电通信事业的发展,移动通信雷达制导武器和电子对抗等系统对频率合成器提出越来越高的要求。低相噪高纯频谱和高速捷变的频率合成器一直是频率合成技术发展的主要目标,dds 技术的发展将有力地推动这一目标的实现。随着数字信号处理和集成电路技术的发展,直接数字频率合成(dds)的应用也越来越广泛。dds具有相位和频率分辨率高、稳定度好、频率转换时间短、输出相位连续、可以实现多种数字与模拟调制的优点,而可编程门阵列(fpga)具有集成度高、通用性好、设计灵活、编程方便、可以实现芯片的动态重构等特点,因此可以快速地完成复杂的数字系统。由于模拟调相方法有生产性差、调试不方便、调制度控制不精确等缺点,因此采用数字方法实现各种模拟调制也越来越普遍3。现在许多dds芯片都直接提供了实现多种数字调制的功能,实现起来比较简单,而要实现模拟线性调制具有一定的难度。因此本设计介绍了一种由单片机控制,并采用fpga实现dds功能,产生频率和相位可调的正弦波信号的方法。波形发生器通过巧妙的软件设计和简易的硬件电路,产生数字式的正弦波相位、频率和幅值可调的信号。信号的频率、相位可通过键盘输入并显示。与现有各类型波形发生器比较而言,产生的数字信号干扰小,输出稳定,可靠性高,特别是操作简单方便,成本低。1.3 本文主要研究的工作和目标信号发生器一般是指能自动产生具有一定频率和幅度的正弦波、三角波(锯齿波)、方波(矩形波)、阶梯波等电压波形的电路或仪器 4。本设计主要研究由单片机控制,以单片机系统作为主控制部分,用现场可编程逻辑器件fpga实现dds功能,产生频率、相位可调的精密正弦波信号,其各功能模块采用硬件描述语言vhdl来实现和仿真的方法,并对设计系统进行理论性测试分析,达到课题研究目标和目的。设计目标实现信号发生器特性要求如下:(1)信号发生器频率范围为20hz到20khz,进步频率为20hz;(2)信号发生器产生两路输出正弦波信号,峰峰值分别在0.3v到5v变化;(3)信号发生器数字显示频率、相位差等参数。(4)信号发生器相位差0359,步进1;2 设计方案的概述及论证2.1 系统的性能要求首先对本题目进行分析知,信号发生器由单片机、接口电路、fpga、低通滤波器、d/a转换等部分组成,其中主要为用fpga实现直接数字频率合成器(dds)的功能及单片机的控制功能。单片机通过接口电路控制fpga构成的dds系统,通过键盘送人频率控制字、相位控制字和幅值控制字,使其输出一定频率、相位和幅值的正弦波信号,经过低通滤波器后形成平滑的正弦波。可知系统的性能要求如下:(1)频率范围20hz20khz,步进20hz;(2)相位差0359,步进1;(3)两路输出正弦波信号,峰峰值分别在0.3v5v变化;(4)数字显示频率、相位差。2.2 方案论证与比较由于本系统由多部分和模块组成,在此根据各部分的基本原理,对各方案进行分析和比较从而得出好的设计方案。方案一:采用震荡器频率合成方案。具体方案如下:首先通过频率合成技术产生所需要频率的方波,通过积分电路就可以得到同频率的三角波,再经过滤波器就可以得到正弦波。其优点是工作频率可望做得很高,也可以达到很高的频率分辨率;缺点是使用的滤波器要求通带可变,实现很难,高低频率比不可能做得很高。方案二:采用专用dds芯片ad9852来设计,其总体框图如图2-1所示。在设计界里众所周知,dds器件采用高速数字电路和高速d/a转换技术,具有频率转换时间短、频率分辨率高、频率稳定度高、输出信号频率和相位可快速程控切换等优点,所以,我们可以利用dds具有很好的相位控制和幅度控制功能,另外其数据采样功能也是极具精确和完善的,它可以产生较为精确的任何有规则波形信号,可以实现对信号进行全数字式调制。用fpga和dds实现信号调制,既克服了传统的方法实现带来的缺点,若采用它来编程设计,必定会事半功倍,且使设计趋于理想状态。虽然用此方案产生的信号具有频谱纯度高、集成度高等优点。但他的功能却是固定的,使用起来不是那么灵活,不太适合该题目的设计。相位累加器低通滤波d/a变换 频率控制字 信号输出 rom 时钟图2-1 dds与fpga总体设计图方案三:基于fpga的dds函数信号发生器。采用vhdl语言来编程,然后下载文件到fpga来实现。vhdl语言是电子设计领域的主流硬件描述语言,具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大降低了硬件设计任务,提高了设计效率和可靠性,要比模拟电路快得多。该方案是利用fpga具有的静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改,极大地提高了电子系统设计的灵活性和通用性,而且大大缩短了系统的开发周期。用该方案来实现dds具有较强的灵活性,可以根据我们的需要写进去不同的功能模块,以此来达到题目所要求的功能。2.4 方案确定综合考虑以各种方案的优缺点,选择方案三。方案三的方法在软、硬件电路设计上都简单,且与我们的设计思路紧密结合。此设计采用dds技术作为本设计的核心,不仅基于其低成本,而且在输出频率控制方面也显得很方便。其输出的频率、幅度均可调、精度高、分辨率低等一系列优点是将此方案作为本设计方案的不二之选。由于fpga对信号的处理功能不及微控制器,如果用它来做控制器的话,不仅代码量非常大,fpga内部资源使用量将非常大,甚至可能会出现资源不够的情况,因此我们用89s52作为控制器来减轻fpga的负担,同时方便系统的设计。fpga内部仅用来产生各种信号并接收单片机发来的控制命令且fpga运行速度非常高完全可以满足题目的要求。3 fpga部分设计3.1 fpga的简介fpga是现场可编程门阵列(field programmable gate array)的英语缩写,它是在阵列的各个节点放上由门 、触发器等做成的逻辑单元,并在各个单元之间预先制作了许多连线。fpga是在pal、gal、cpld等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(asic)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。fpga由可编程逻辑单元阵列、布线资源和可编程的i/o单元阵列构成,一个fpga包含丰富的逻辑门、寄存器和i/o资源。一片fpga芯片就可以实现数百片甚至更多个标准数字集成电路所实现的系统。 fpga的结构灵活,其逻辑单元、可编程内部连线和i/o单元都可以由用户编程,可以实现任何逻辑功能,满足各种设计需求。其速度快,功耗低,通用性强,特别适用于复杂系统的设计。使用fpga还可以实现动态配置、在线系统重构(可以在系统运行的不同时刻,按需要改变电路的功能,使系统具备多种空间相关或时间相关的任务)及硬件软化、软件硬化等功能。 鉴于高频疲劳试验机控制器控制规模比较大,功能复杂,故我们在研制过程中,在传统试验机控制器的基础上,通过fpga技术及微机技术两者的结合,来全面提升控制器系统的性能,使整机的工作效率、控制精度和电气系统可靠性得到了提高,且操作方便而又不乏技术的先进性。fpga的应用可分为三个层面:电路设计,产品设计,系统设计(1)电路设计中fpga的应用:连接逻辑,控制逻辑是fpga早期发挥作用比较大的领域也是fpga应用的基石事实上在电路设计中应用fpga的难度还是比较大的这要求开发者要具备相应的硬件知识(电路知识)和软件应用能力(开发工具)这方面的人才总是紧缺的,往往都从事新技术,新产品的开发成功的产品将变成市场主流基础产品供产品设计者应用在不远的将来,通用和专用ip的设计将成为一个热门行业!搞电路设计的前提是必须要具备一定的硬件知识在这个层面,干重于学,当然,快速入门是很重要的,越好的位子越不等人电路开发是黄金饭碗 (2)产品设计:把相对成熟的技术应用到某些特定领域如通讯,视频,信息处理等等开发出满足行业需要并能被行业客户接受的产品这方面主要是fpga技术和专业技术的结合问题,另外还有就是与专业客户的界面问题产品设计还包括专业工具类产品及民用产品,前者重点在性能,后者对价格敏感产品设计以实现产品功能为主要目的,fpga技术是一个实现手段在这个领域,fpga因为具备接口,控制,功能ip,内嵌cpu等特点有条件实现一个构造简单,固化程度高,功能全面的系统产品设计将是fpga技术应用最广大的市场,具有极大的爆发性的需求空间产品设计对技术人员的要求比较高,路途也比较漫长不过现在整个行业正处在组建首发团队的状态,只要加入,前途光明产品设计是一种职业发展方向定位,不是简单的爱好就能做到的!产品设计领域会造就大量的企业和企业家,是一个近期的发展热点和机遇(3)系统级应用:系统级的应用是fpga与传统的计算机技术结合,实现一种fpga版的计算机系统如用xilinxv-4,v-5系列的fpga,实现内嵌powerpccpu,然后再配合各种外围功能,实现一个基本环境,在这个平台上跑linix等系统这个系统也就支持各种标准外设和功能接口(如图象接口)了这对于快速构成fpga大型系统来讲是很有帮助的。这种“山寨味”很浓的系统早期优势不一定很明显,类似arm系统的境况但若能慢慢发挥出fpga的优势,逐渐实现一些特色系统也是一种发展方向。若在系统级应用中,开发人员不具备系统的扩充开发能力,只是搞搞编程是没什么意义的,当然设备驱动程序的开发是另一种情况,搞系统级应用看似起点高,但不具备深层开发能力,很可能会变成爱好者,就如很多人会做网页但不能称做会编程类似以上是几点个人开发,希望能帮助想学fpga但很茫然无措的人理一理思路。这是一个不错的行业,有很好的个人成功机会。但也肯定是一个竞争很激烈的行业,关键看的就是速度和深度当然还有市场适应能力。3.2 fpga芯片的选择随着可编程逻辑器件应用的日益广泛,许多ic制造厂家涉足cpld/fpga领域。 目前世界上有十几家生产cpld/fpga的公司,最大的三家是:altera xilinx lattice 其中altera和xilinx占有了60%以上的市场份额。不同的厂家所提供的芯片也各有不同。altera:九十年代以后发展很快,是最大可编程逻辑器件供应商之一。主要产品有:max3000/7000,flex10k,apex20k,acex1k,stratix,cyclone等。altera是著名的pld生产厂商,多年来一直占据着行业领先的地位。altera的pld具有高性能、高集成度和高性价比的优点,此外它还提供了功能全面的开发工具和丰富的ip核、宏功能库等,因此altera的产品获得了广泛的应用。altera的产品有多个系列,按照推出的先后顺序依次为classic系列、max(multiple array matrix)系列、flex(flexible logic element matrix)系列、apex(advanced logic element matrix)系列、acex系列、stratix系列以及cyclone等15。 xilinx是fpga的发明者,老牌fpga公司,是最大可编程逻辑器件供应商之一。产品种类较全,主要有:xc9500,coolrunner ,spartan, virtex等。开发软件为ise。通常来说,在欧洲和美国用xilinx的人多,在日本和亚太地区用altera的人多。 全球pld/fpga产品60%以上是由altera和xilinx提供的。 可以讲altera和xilinx共同决定了pld技术的发展方向。lattice是isp技术的发明者,isp技术极大的促进了pld产品的发展,与altera和xilinx相比,其开发工具略逊一筹。中小规模pld比较有特色, 1999年推出可编程模拟器件。99年收购vantis(原amd子公司),成为第三大可编程逻辑器件供应商。2001年12月收购agere公司(原lucent微电子部)的fpga部门。主要产品有ispmach4000,ec/ecp,xo,xp以及可编程模拟器件等。在fpga中常用的编程工艺有反熔丝和sram两类。综合考虑设计、仿真和调试的全过程,在此主要考虑选用altera公司的flex10k系列的fpga芯片。flex10k是altera公司1995年推出的产品系列,它集合了可编程器件的灵活性,采用0.5mcmos sram工艺制造,器件规模从10000门到250000门,系统时钟可以达到204mhz,兼容66mhz,64 bit pic,采用独特的嵌入式阵列和逻辑阵列的逻辑实现结构,同一系列相同封装的芯片在管脚上满足兼容16。同时,可为用户提供多达3k8位的片内ram,其双口ram为独立的读写操作提供了独立的读、写端口,且每个i/o口都有寄存器;pll时钟管理和时钟增强电路提高了系统的性能,并且可以提供时钟倍频;专用进位链路,可实现快速加法器和计数器功能;专用级联链路,支持系统集成;支持多时钟系统的低时滞要求;具有jtag边界扫描测试内速电路;altera的i/o多重电压3.3v或3.0v工作模式和fineline bga封装极大的提高了flex10k系列的灵活性和适应性。并由altera公司的max plus开发系列提供软件支持。本设计中采用altera公司的flex10k系列芯片epf10k10lc84-4,作为实现dds的fpga芯片。epf10k10lc84-4的主要参数如表3-117:表3-1 epf10k10lc84-4的主要参数逻辑门数i/o门数电源 v速度等级/ns逻辑单元ram /bit参数10000845.0-45766144其5v外部电源和ttl、cmos电平兼,丰富的寄存器资源和i/o口,40mhz的工作频率满足基准时钟10mhz的要求,其优良的特性完全可以实现dds芯片的功能。3.3 dds原理及相关介绍直接数字频率合成器(dds)的基本原理:dds是利用采样定理,根据相位间隔对正弦信号进行取样、量化、编码,然后储存在eprom中构成一个正弦查询表,通过查表法产生波形2。它是由参考时钟、相位累加器、正弦查询表和da转换器组成,dds的结构有很多种,其基本的电路原理可用图3-1来表示。fskfo相位累加器低通滤波器d/a转换器波形存储器图3-1 直接数字频率合成器原理框图相位累加器由n位加法器与位累加寄存器级联构成。每来一个时钟脉冲fs,加法器将频率控制字与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。累加寄存器将加法器在上一个时钟脉冲作用后所产生的新相位数据回馈到加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。 用相位累加器输出的数据作为波形内存(rom)的相位取样地址,这样就可把存储在波形内存内的波形抽样值 (二进制编码)经查找表查出,完成相位到幅值转换。波形内存的输出送到d/a转换器,d/a转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号3。低通滤波器用于滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。相位累加器原理框图如图3-2所示。频率控制字k输出序列nn 位加法器n位相位寄存器图3-2 相位累加器原理框图由此可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位。新的数据送到相位累加器时,它们之间的相位关系可以得到保持,也可以通过相位控制字来调节两片频率合成器之间的相位差4。当相位累加器加满量时就会产生一次溢出,溢出频率就是dds输出的信号频率。相位累加器的最大计数长度与正弦查询表中所存储的相位分隔点数相同,在取样频率(由参考时钟频率决定)不变的情况下,由于相位累加器的相位增量不同,将导致一周期内的取样点数不同,输出信号的频率也相应变化。如果设定累加器的初始相位,则可以对输出信号进行相位控制。由采样原理可知,如果使用两个相同的频率合成器,并使其参考时钟相同,同时设定相同的频率控制字、不同的初始相位,那么在原理上就可以实现输出两路具有一定相位差的同频信号。3.4 各模块发生原理3.4.1 正弦波发生模块原理为了增强系统的可靠性,我们在相位累加器和正弦表之前各加了一个32位的寄存器用以隔离前后级。相位累加器我们采用的是32位的,系统时钟采用100m。这样按照公式计算则频率分辨率为f=fclk/232=100m/232=0.023283hz,完全可以满足系统100hz步进的要求。输出频率fout=m*f(m为频率控制字),由此式可知,只要改变频率控制字m即可改变输出频率。因为系统频率分辨率为0.023283hz,因此我们设置了两种频率步进字分别为10hz和100hz。为了减少fpga内部资源的使用量,我们采取了相位截断法,正弦表的输入是第二个寄存器的高12位。正弦波发生模块原理框图如图3-3所示。32位寄存器32位相位累加器32位寄存器正弦表rom频率控制字fclkfo高12位图3-3 正弦波发生模块原理框图3.4.2 am硬件实现原理我们用将系统时钟分频得到的256khz的时钟作为一个8位的计数器的时钟,该计数器的输出作为一个8位正弦表rom的地址发生器,从而得到一个1khz的调制波。该调制波经过幅值放大以后,再与一个直流分量叠加,然后与载波相乘就得到了am波,可以通过调节幅值放大倍数得到不同的调制度。原理框图如图3-4所示256khzam波8位计数器8 位正弦rom幅值放大直流叠加乘法器fo调制度控制字图3-4 am原理框图3.4.3 fm调制原理由于调制信号都是1khz的正弦波,所以为了节省资源,fm和am的信号用同一个信号。调制波与一个常数(最大频偏)相乘,得到的结果再与载波的频率控制字相加,所得到的信号即为调频控制字,用此信号作为rom的地址码去查表,经过da以后得到的就是调频波。原理组成框图如图3-5所示:1k 正弦rom乘法器最大频偏加法器频率控制字载波rom调频波图3-5 fm调制原理组成框图3.4.4 ask调制原理根据ask的定义,输入为1时,输出幅度最大,输入为0时,输出为0,可以很容易得到ask信号。我们用了一个m序列发生器作为10khz的基带信号产生器,在dds上做了一个使能端,当m序列输出1时,输出正弦波幅值最大,当m序列输出0时,输出0。使其在输出ask信号时载波固定为100khz。这样做不仅节省了fpga内部资源,同时简化了设计的复杂度。原理框图如3-6所示:32位寄存器32位相位累加器32位寄存器正弦表rom频率控制字fclkfo高12位m序列图3-6 ask调制原理框图3.4.5 fsk调制原理这里我们约定输入为1时,psk输出初始相位为0,输入为0时,输出反相。同样为了节省资源同时为了简化设计,我们也是用了一个使能端来得到fsk信号。原理框图同ask。3.5 正弦波发生模块的实现频率合成器方案:频率合成是指对一个标准信号频率经过一系列算术运算,产生具有相同精度和稳定度的大量离散频率的技术5。频率合成有多种实现方法,其中直接数字频率合成技术与传统频率合成技术相比具有难以比拟的优点,如频率切换速度快、分辨率高、频率和相位易于控制等。因此得到越来越广泛的应用,成为当今现代电子系统及设备中频率源设计的首选。对于自行设计的基于fpga芯片的解决方案:dds技术的实现依赖于高速、高性能的数字器件。可编程逻辑器件以其速度高、规模大、可编程,以及有强大eda软件支持等特性,十分适合实现dds技术7。本设计可基于dds的基本原理,利用altera公司的fpga芯片flex10系列器件设法将波形采样点的值依次通过数模转换器(mdac)转换成模拟量输出,可达到预期的目的,具有较高的性价比。其基本环节由计数器、只读存储器、数模转换器和滤波器等组成。具体方案如下:累加器由加法器和d触发器级联组成。在时钟脉冲fc的控制下,对输入频率控制字k进行累加,累加满量时产生溢出。相位累加器的输出对应于该合成周期信号的相位,并且这个相位是周期性的,在0范围内起变化。相位累加器位数为n,最大输出为2-1,对应于的相位,累加一次就输出一个相应的相位码,通过查表得到正弦信号的幅度,然后经d/a转换及低通滤波器滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。整个dds电路的电路结构如图3-7所示。图3-7 fpga实现的dds原理框图虽然有的专用dds芯片的功能也比较多,但控制方式却是固定的,因此不一定是我们所需要的。而利用fpga则可以根据需要方便地实现各种比较复杂的调频、调相和调幅功能,具有良好的实用性。就合成信号质量而言,专用dds芯片由于采用特定的集成工艺,内部数字信号抖动很小,可以输出高质量的模拟信号;利用fpga也能输出较高质量的信号,虽然达不到专用dds芯片的水平,但信号精度误差在允许范围之内8。3.6 fpga设计dds电路的具体实现fpga设计的dds系统主要由相位累加器及相位/幅度转换电路组成。根据设计的具体要求,还设计了一个系统控制电路,这一电路可灵活设计,以突出fpga的优点所在。另外采用vhdl硬件描述语言实现整个dds电路,不仅利于设计文档的管理,而且方便设计的修改和扩充,还可以在不同fpga器件之间实现移植。3.6.1 相位累加器部分在用fpga设计dds电路的时候,相位累加器是决定dds电路性能的一个关键部分12。小的累加器可以利用flex器件的进位链得到快速、高效的电路结构。然而由于进位链必须位于临近的lab(逻辑阵列块)和le(逻辑单元)内,因此长的进位链势必会减少其它逻辑使用的布线资源,同时过长的进位链也会制约整个系统速度的提高。另一种提高速度的办法是采用流水线技术,即把在一个时钟内要完成的逻辑操作分成几步较小的操作,并插入几个时钟周期来提高系统的数据吞吐率。但是流水线技术比较适合开环结构的电路,要用在累加器这样的闭环反馈的电路中必须谨慎考虑,以保证设计的准确无误。综合考虑后,相位累加器采用流水线技术来实现,这样能保证较高的资源利用率,又能提高系统的性能和速度。设计中整个系统只加入了一级流水线来提高速度。为了进一步提高速度,在设计相位累加器模块和加法器模块时并没有采用fpga单元库中1632位加法器,尽管它们可以很容易地实现高达32位的相位累加器,但当工作频率较高时,它们较大的延时不能满足速度要求,故不可取。因此,具体实现时分别采用了4个和8个4位累加器,以流水线的方式实现16位累加器和32位加法器。采用流水线技术可以大大提高系统的工作速度13。3.6.2 相位/幅度转换电路相位/幅度转换电路是dds电路中的另一个关键部分。该电路通常采用rom结构,相位累加器的输出是一种数字式锯齿波,通过取它的若干位作为rom的地址输入,而后通过查表和运算,rom就能输出所需波形的量化数据。在fpga(针对altera公司的器件)中,rom一般由eab实现,且rom表的尺寸随地址位数或数据位数的增加成指数递增关系,因此在满足信号性能的前提下,如何有效利用fpga的有限资源,成为相位/幅度转换电路中最关键的一点14。在设计时可充分利用信号周期内的对称性和算术关系来减少eab的开销。相位/幅度转换电路中的主要问题在于rom的大小。由于本设计只需要输出正弦波,故考虑了以下的优化方式:正弦波信号对于x=直线成奇对称,基于此可以将rom表减至原来的1/2,再利用左半周期内,波形对于点(/2,0)成偶对称,进一步将rom表减至最初的1/4,因此通过一个正弦码表的前1/4周期就可以变换得到的正弦的整个周期码表,这样就节省了将近3/4的资源15。3.6.3 波形表生成由于dds中波形表存储器是采用fpga芯片内部的lpm_rom实现,故波形表可以vhdl编程的.mif文件形式存入lpm_rom中,具体实现见附录2。4.系统外围电路设计4.1 系统组成框图系统控制电路主要是根据是否需要相位调制及频率调制,系统时钟是否需要分频得到所需的基准时钟,频率码的输入方式是串行、并行还是微机接口方式。本设计主要由fpga与da转换芯片的接口电路、低通滤波电路、外扩的键盘控制电路以及数码管显示电路组成。其具体组成框图如下图4-1所示:显示电路模块4*4键盘模块fpgada模块低通滤波器输出 图4-1 系统组成框图4.2 d/a转换电路因为要产生两路具有相位差的正弦波,所以必须采用一片d/a转换芯片将两路信号分别转换成模拟量输出。在此选用转换速率为500ns的芯片dac0832作为数字量到模拟量的转换器件。4.2.1 dac0832芯片简介利用fpga芯片和dac0832进行低频函数信号发生器的设计。本设计能产生正弦波、锯齿波、三角波和方波。adc0832的介绍:dac0832是8分辨率的d/a转换集成芯片。与微处理器完全兼容。这个da芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。d/a转换器由8位输入锁存器、8位dac寄存器、8位d/a转换电路及转换控制电路构成。dac0832结构:d0d7:8位数据输入线,ttl电平,有效时间应大于90ns(否则锁存器的数据会出错);ile:数据锁存允许控制信号输入线,高电平有效;cs:片选信号输入线(选通数据锁存器),低电平有效;wr1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ile、cs、wr1的逻辑组合产生le1,当le1为高电平时,数据锁存器状态随输入数据线变换,le1的负跳变时将输入数据锁存;xfer:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;wr2:dac寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由wr1、xfer的逻辑组合产生le2,当le2为高电平时,dac寄存器的输出随寄存器的输入而变化,le2的负跳变时将数据锁存器的内容打入dac寄存器并开始d/a转换。iout1:电流输出端1,其值随dac寄存器的内容线性变化;iout2:电流输出端2,其值与iout1值之和为一常数;rfb:反馈信号输入线,改变rfb端外接电阻值可调整转换满量程精度;vcc:电源输入端,vcc的范围为+5v+15v;vref:基准电压输入线,vref的范围为-10v+10v;agnd:模拟信号地dgnd:数字信号地dac0832的工作方式:根据对dac0832的数据锁存器和dac寄存器的不同的控制方式,dac0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。本设计选用直通方式。图4-2为dac0832工作时序图:图4-2 dac0832工作时序工作原理:dac0832主要由8位输入寄存器,8位dac寄存器,8位d/a转换器以及输入控制电路四部分组成。8位输入寄存器用于存放主机送来的数字量,使输入数字量得到缓冲和锁存,加以控制;8位dac寄存器用于存放待转换的数字量;8位d/a转换器输出与数字量成正比的模拟电流;由与门,非与门组成的输入控制来控制两个寄存器的选通或锁存状态。原理框图和管脚图如图4-3所示图4-3 dac0832原理图和管脚图图4-3中,运算放大器a2的作用是把运算放大器a1的单向输出电压转换成双向输出电压。dac0832与反比例放大器相连,实现电流到电压的转换,因此输出模拟信号的极性与参考电压的极性相反,数字量与模拟量的转换关系为 v01=-vref (3.1) 式中=为基准电压。由(1)式看出,如果vref为正,则v01为负;vref为负,则v01为正,单极性输出。经过第二级求和运算放大器f2后得到双极性模拟输出电压为 (3.2) 把(3.1)式代入(3.2)式整理得: (3.3)若d/a转换器输出为双极性,如图4-4所示图4-4 d/a转换器双极性输出电路4.3 滤波电路如图4-1所示,设计d/a输出后,通过滤波电路、输出缓冲电路,使信号平滑且具有负载能力。正弦波的输出频率小于262khz,为保证262khz 频带内输出幅度平坦,又要尽可能抑制谐波和高频噪声,综合考虑取r1=1k,r2=1k,c1=100pf,c=100pf运放选用宽带运放lf351,用 electronics workbench 分析表明:截止频率约为1mhz,262khz 以内幅度平坦。为保证稳幅输出,选用ad817,这是一种低功耗、高速、宽带运算放大器 , 具有很强的大电流驱动能力。实际电路测量结果表明:当负载100、输出电压峰-峰值1ov时,带宽大于500khz,幅度变化小于土1%。图4-5 低通滤波电路4.4 数码管显示电路显示模块采用8个8位led显示,可使系统实现简单化,采用动态扫描显示的方法,可以减少系统功率损耗。在键入数据时采用移位的方式逐个显示键入数值,输入完毕后其数据和单位一并显示;八位数码管,前6位用来显示06位数据,最后2位用以显示频率单位hz。利用程序控制,当输入频率小于10hz时,显示000000hz;当输入频率大于100,000hz时,显示888888hz,更好的实现人机交流。图4-7 数码管显示电路4.5 键盘接口电路这一模块是由fpga单独实现的。fpga完成对键盘的扫描,实现对频率控制字的读入及处理。具体实现方法:采用44编码键盘,由fpga对其行线赋初值 1000,将其高电平1循环赋给行线。并在扫描频率的控制下对键盘的列输出信号进行扫描,当有键按下,则读入相应的数值进行相应的处理。在频率控制字输入完毕后,将数据调整其输出格式送显示器显示和相位累加器累加。键盘电路的电路如图4.6所示,由分频器电路,键盘扫描计数器电路,键盘column和row按键检测电路,按键抖动消除电路,按键编码电路组成。图4-6 4*4键盘接口电路5 系统的计算与仿真5.1 max+plus软件介绍max+plus的全称是multipe array matrix and programmable logic user system(多阵列矩阵及可编程逻辑用户系统),它提供了与结构无关的设计环境,支持flex、max及classic系统器件。max+plus具有开放的界面,可与其他工业标准的eda设计输入、综合及校验工具相连接。max+plus提供丰富的逻辑功能库供设计人员调用, max+plus软件支持各种hdl语言设计输入,包括vhdl、verilog hdl和altera自己的硬件描述语言ahdl。使用max+plus的设计过程包括以下几步,若任一步出错或未达到设计要求则应修改设计,然后重复以后各步,如下图5-1所示。(1) 输入设计项目。逻辑设计的输入方法有原理图形输入、文本输入、波形输入及第三方eda工具生成的设计网表文件输入等。输入方法不同,生成设计文件的名称后缀就不同。(2) 编译设计项目。首先,根据设计项目要求设定编译参数和编译策略。然后对设计项目进行网表提取、逻辑综合、器件适配,并产生报告文件,延时信息文件和器件编程文件,供分析、仿真和编程使用。(3)校验设计项目。设计项目校验方法包括功能仿真、模拟仿真和定时分析。功能仿真是在不考虑器件延时的理想情况下仿真设计项目的一种项目验证方法,称为前仿真。模拟仿真是在考虑设计项目具体适配器件的各种延时的情况下仿真设计项目的一种项目验证方法,称为后仿真。定时分析用来分析器件引脚及内部节点之间的传输路径延时、时序逻辑的性能以及器件内部各种寄存器的建立保持时间。(4)编程验证设计项目。用max+plus编程器通过altera编程硬件或其它工业标准编程器,将经过仿真确认后的编程目标文件便如所选定的altera可编程逻辑器件中,然后加入实际激励信号,测试是否达到设计要求。图 5-1 max+plus的设计流程本设计是在eda设计平台上实现系统的仿真,所以需要的装置主要有pc机和altera公司的max+plus软件。altera公司的max+plus软件是一款易于使用的开发工具,其界面友好,集成化程度高。支持flex、max、acex1k系列器件

温馨提示

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

评论

0/150

提交评论