基于FPGA来完成直接数字频率合成器(DDS)的设计(共40页).doc

上传人:飞****2 文档编号:13350498 上传时间:2022-04-29 格式:DOC 页数:40 大小:7.74MB
返回 下载 相关 举报
基于FPGA来完成直接数字频率合成器(DDS)的设计(共40页).doc_第1页
第1页 / 共40页
基于FPGA来完成直接数字频率合成器(DDS)的设计(共40页).doc_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《基于FPGA来完成直接数字频率合成器(DDS)的设计(共40页).doc》由会员分享,可在线阅读,更多相关《基于FPGA来完成直接数字频率合成器(DDS)的设计(共40页).doc(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上摘要在信号发生器的设计中,传统的用分立元件或通用数字电路元件设计电子线路的方法设计周期长,花费大,可移植性差。本设计是利用EDA技术设计的电路, 该信号发生器输出信号的频率范围为20Hz20KHz,幅度的峰-峰值为0.3V5V两路信号之间可实现0359的相位差。侧重叙述了用FPGA来完成直接数字频率合成器(DDS)的设计,DDS由相位累加器和正弦ROM查找表两个功能块组成,其中ROM查找表由兆功能模块LPM_ROM来实现。而通过设定不同的累加器初值(K1)和初始相位值(K2),可以调节两路相同频率正弦信号之间的相位差,从而产生两路数字式的频率、相位和幅值可调的正弦波信

2、号,最后通过MAX+plusII演示仿真结果。与传统的频率合成方法相比,DDS合成信号具有频率切换时间短、频率分辨率高、相位变化连续等诸多优点。使用单片机灵活的控制能力与FPGA器件的高性能、高集成度相结合,可以克服传统DDS设计中的不足,从而设计开发出性能优良的DDS系统。关键词:单片机,现场可编程逻辑门阵列,直接数字频率合成,正弦信号发生器,硬件描述语言 Abstract In the designing of the signal generator, the traditional method, which designs electronic circuits using disc

3、rete components or general digital circuits components, takes a long time with high cost, whats more, the transplanting ability of it is unsatisfactory. In this design, the circuit is designed by means of EDA. Its output frequency range is 20Hz to 20KHz with an output amplitude range of 0.3V to 5V(P

4、-P), and the phase difference between two outputs of the two sine signals can be modulated from 0to 359.The thesis emphasizing discusses the designing of DDS basing on FPGA. DDS is made up of the phrase accumulator and sine ROM looking-up table, which is realized by functional EAB chip. And through

5、setting different initial accumulator value (K1) and initial phrase value (K2), the difference of phrase between the two sine signals can be changed. As a result, two serials of sine signals with changeable digital frequency, phrase and magnitude are produced. At last, we can show the total course a

6、nd result with MAX+plusII.Compared with traditional methods of frequency synthesizing, direct digital frequency synthesizing (DDS) has lots of advantages, such as short time of quick frequency exchanging, high frequency resolution, continuous phase changing, etc. Micro-control unit has is characteri

7、zed by. Many drawbacks can be overcome and a good DDS system with good performance can be developed after combining the flexible control capability of micro-control unit with high performance and integration of the FPGA devices in the same system.Keywords: MCU, FPGA, DDS, ROM sine wave generator, VH

8、DL目录 绪言2 设计方案的研究 总体设计 系统的实现专心-专注-专业1 绪言1.1 课题背景在一些电子设备的电路板故障检测仪中,往往需要频率、幅度都能由计算机自动调节的信号源。采用诸如MAX038信号发生器芯片外加电阻及切换开关等器件虽然也能调节频率和幅度,但这种调节是离散的,且电路复杂,使用不方便1。而采用直接数字合成芯片DDS及外加D/A转换芯片构成的可控信号源,可产生正弦波、调频波、调幅波及方波等,并且其信号的频率和幅度可由微机来精确控制,调节非常方便。另外随着21世纪的到来,人类正在跨入信息时代。现代通信系统的发展方向是功能更强,体积更小,速度更快,功耗更低。而大规模可编程器件CPL

9、D/FPGA在集成度、功能和速度上的优势正好满足通信系统的这些要求。所以今天无论是民用的移动电话、程控交换机、集群电台、广播发射机和调制解调器,还是军用的雷达设备、图形处理仪器、遥控遥测设备、加密通信机中,都已广泛地使用大规模可编程器件2。由于数字技术在处理和传输信息方面的各种优点,数字技术和数字集成电路的使用已经成为构成现代电子系统的重要标志。电子系统的集成化,不仅可使系统的体积小、重量轻且功耗低,更重要的是可使系统的可靠性大大提高。因此自集成电路问世以来,集成规模便以10倍/6年的速度增长。从20世纪90年代初以来,电子系统日趋数字化、复杂化和大规模集成化。为满足个人电脑、无绳电话和高速数

10、据传输设备的发展需求,电子厂商们越加迫切地追求电子产品的高功能、优品质、低成本、微功耗和微小封装尺寸3。为达到此目标,必须采用少量的IC器件使面积尽可能小。1.2 课题研究的目的和意义正弦信号发生器作为电子技术领域中最基本的电子仪器,广泛应用于航空航天测控、通信系统、电子对抗、电子测量、科研等各个领域中。随着电子信息技术的发展,对其性能的要求也越来越高,如要求频率稳定性高、转换速度快,具有调幅、调频、调相等功能,另外还经常需要两路正弦信号不仅具有相同的频率,同时要有确定的相位差4。随着数字信号处理和集成电路技术的发展,直接数字频率合成(DDS)的应用也越来越广泛。DDS具有相位和频率分辨率高、

11、稳定度好、频率转换时间短、输出相位连续、可以实现多种数字与模拟调制的优点,而可编程门阵列(FPGA)具有集成度高、通用性好、设计灵活、编程方便、可以实现芯片的动态重构等特点,因此可以快速地完成复杂的数字系统。由于模拟调相方法有生产性差、调试不方便、调制度控制不精确等缺点,因此采用数字方法实现各种模拟调制也越来越普遍5。现在许多DDS芯片都直接提供了实现多种数字调制的功能,实现起来比较简单,而要实现模拟线性调制具有一定的难度。因此本设计介绍了一种由单片机控制,并采用FPGA实现DDS功能,产生频率和相位可调的正弦波信号的方法。单片机是实现各种控制策略和算法的载体。波形发生器也可运用单片机技术,通

12、过巧妙的软件设计和简易的硬件电路,产生数字式的正弦波相位、频率和幅值可调的信号。信号的频率、相位可通过键盘输入并显示。与现有各类型波形发生器比较而言,产生的数字信号干扰小,输出稳定,可靠性高,特别是操作简单方便,成本低。1.3 国内外概况目前市场上已有的信号发生器有很多种,其电路形式有采用运放及分立元件构成;也有采用单片集成的函数发生器;以及以单片机和FPGA为核心,辅以必要的模拟电路构成的DDFS数字信号发生器。在保证信号发生器的稳定性、频率范围、幅值范围等指标的同时,实现对输出信号的频率、相位和幅值的数字控制是现代信号发生器的发展方向。1971年,美国学者J.Tierney等人撰写的文章A

13、 Digital Frequency Synthesizer首次提出了以全数字技术,从相位概念出发直接合成所需波形的一种新的频率合成原理。限于当时的技术和器件水平,它的性能指标尚不能与已有的技术相比,故未受到重视。近10年间,随着微电子技术的迅速发展,直接数字频率合成器(Direct Digital Frequency Synthesis简称DDS或DDFS)得到了飞速的发展,它以有别于其它频率合成方法的优越性能和特点成为现代频率合成技术中的骄骄者6。DDS在相对带宽、频率转换时间、高分辨力、相位连续性、正交输出以及集成化等一系列性能指标方面远远超过了传统频率合成技术所能达到的水平,为系统提供

14、了优于模拟信号源的性能。其优点如下:(1)输出频率相对带宽较宽:输出频率带宽为50%fs(理论值)。但考虑到低通滤波器的特性和设计难度以及对输出信号杂散的抑制,实际的输出频率带宽仍能达到40%fs。 (2)频率转换时间短:DDS是一个开环系统,无任何反馈环节,这种结构使得DDS的频率转换时间极短。事实上,在DDS的频率控制字改变之后,需经过一个时钟周期之后按照新的相位增量累加,才能实现频率的转换。因此,频率转换的时间等于频率控制字的传输时间,也就是一个时钟周期的时间。时钟频率越高,转换时间越短。DDS的频率转换时间可达纳秒数量级,比使用其它的频率合成方法都要短数个数量级。(3)频率分辨率极高:

15、若时钟fs的频率不变,DDS的频率分辨率就由相位累加器的位数N决定。只要增加相位累加器的位数N即可获得任意小的频率分辨率。目前,大多数DDS的分辨率在1HZ数量级,许多小于1MHZ,甚至更小。 (4)相位变化连续:改变DDS输出频率,实际上改变的每一个时钟周期的相位增量,相位函数的曲线是连续的,只是在改变频率的瞬间其频率发生了突变,因而保持了信号相位的连续性。(5)其他优点:可产生宽带正交信号及其他多种调制信号、可编程和全数字化、功耗低、体积小、重量轻、可靠性高、控制灵活方便等方面,并具有极高的性价比。 当然DDS也有局限性,主要表现如下: (1)输出频带范围有限:由于受DDS内部DAC和波形

16、存储器(ROM)的工作速度限制,使得DDS输出的最高频率有限。目前市场上采用CMOS、TTL、ECL工艺制作的DDS芯片,工作频率一般在几十MHZ至400MHZ左右。 (2)输出杂散大:由于DDS采用全数字结构,不可避免地引入了杂散。其来源主要有三个:相位累加器相位舍位误差造成的杂散;幅度量化误差由存储器有限字长引起造成的杂散和DAC非理想特性造成的杂散7。DDS问世之初,构成DDS的元器件的速度限制和数字化引起的噪声这两个主要缺点阻碍了DDS的发展与实际应用。随着近几年超高速数字电路的发展以及对DDS的深入研究,DDS的最高工作频率以及噪声性能已接近并达到锁相频率合成器相当的水平。近年来随着

17、频率合成技术的发展,DDS已广泛应用于通讯、导航、雷达、遥控遥测、电子测量以及现代化的仪器仪表工业等领域8。1.4 课题的主要研究工作信号发生器一般是指能自动产生具有一定频率和幅度的正弦波、三角波(锯齿波)、方波(矩形波)、阶梯波等电压波形的电路或仪器9。本设计主要研究由单片机控制,用现场可编程逻辑器件FPGA实现DDS功能,产生两路频率、相位可调的正弦波信号,及其各功能模块由硬件描述语言VHDL来实现和仿真的方法。2 系统设计方案的研究 由于本系统由多部分构成,在此根据各部分的基本原理,对各方案进行分析和比较。2.1 系统的性能要求信号发生器由单片机、接口电路、FPGA、低通滤波器、D/A转

18、换等部分组成,其中主要为用FPGA实现直接数字频率合成器(DDS)的功能及单片机的控制功能。其组成框图如图2.1所示。单片机通过接口电路控制FPGA构成的DDS系统,通过键盘送人频率控制字、相位控制字和幅值控制字,使其输出一定频率、相位和幅值的正弦波信号,经过低通滤波器后形成平滑的正弦波。图2.1 信号发生器的组成框图系统的性能要求:(1) 频率范围20Hz20KHZ,步进20Hz;(2)差0359,步进1;(3)两路输出正弦波信号,峰峰值分别在0.3V5V变化;(4)数字显示频率、相位差。2.2 系统实现的原理 本设计采用直接数字频率合成技术设计双通道正弦信号发生器,可以输出两路频率相同、相

19、位差可调的正弦信号。该发生器具有频率稳定度高及调频、调相迅速的优点。由于本系统主要由单片机控制DDS实现,故在此着重介绍DDS的原理及其FPGA实现。2.2.1 DDS的基本原理直接数字频率合成器(DDFS)的基本原理:DDS是利用采样定理,根据相位间隔对正弦信号进行取样、量化、编码,然后储存在EPROM中构成一个正弦查询表,通过查表法产生波形10。它是由参考时钟、相位累加器、正弦查询表和DA转换器组成,如图2.2所示。图2.2 直接数字频率合成器原理框图相位累加器由N位加法器与N位累加寄存器级联构成,其原理框图如图2.3所示。每来一个时钟脉冲Fc,N位加法器将频率控制数据K与累加寄存器输出的

20、累加相位数据相加,把相加后的结果Y送至累加寄存器的输入端。累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据K相加;另一方面以相加后的结果形成正弦查询表的地址,取出表中与该相位对应的单元中的幅度量化正弦函数值,作为取样地址值送入幅度/相位转换电路(即图2.1中的波形存储器)。这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。图2.3 相位累加器原理框图由此可以看出,相位累加器在

21、每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位。当相位累加器加满量时就会产生一次溢出,溢出频率就是DDS输出的信号频率。相位累加器的最大计数长度与正弦查询表中所存储的相位分隔点数相同,在取样频率(由参考时钟频率决定)不变的情况下,由于相位累加器的相位增量不同,将导致一周期内的取样点数不同,输出信号的频率也相应变化。如果设定累加器的初始相位,则可以对输出信号进行相位控制。由采样原理可知,如果使用两个相同的频率合成器,并使其参考时钟相同,同时设定相同的频率控制字、不同的初始相位,那么在原理上就可以实现输出两路具有一定相位差的同频信号。2.2.2 FPGA实现的直

22、接数字频率合成器本设计基于DDS的基本原理,利用Altera公司的FPGA芯片FLEX10系列器件设法将波形采样点的值依次通过数模转换器(MDAC)转换成模拟量输出,可达到预期的目的,具有较高的性价比。其基本环节由计数器(Counter)、只读存储器(EPROM)、数模转换器(MDAC)和滤波器等组成(同DDS原理)11。具体方案如下:累加器由加法器和D触发器级联组成。在时钟脉冲fc的控制下,对输入频率控制字K进行累加,累加满量时产生溢出。相位累加器的输出对应于该合成周期信号的相位,并且这个相位是周期性的,在02范围内起变化。相位累加器位数为N,最大输出为2-1,对应于2的相位,累加一次就输出

23、一个相应的相位码,通过查表得到正弦信号的幅度,然后经D/A转换及低通滤波器滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。整个DDS电路的电路结构如图2.4所示。图2.4 FPGA实现的DDS原理框图2.2.3 移相原理所谓移相是指两路同频的信号,以其中的一路为参考,另一路相对于该参考作超前或滞后的移动,即称为相位的移动。两路信号的相位不同,便存在相位差,简称相差。若我们将一个信号周期看作是360,则相差的范围就在0360之间。例如在图2.5中,以A信号为参考,B信号相对于A信号作滞后移相,则称A超前B,或称B滞后A。图2.5 移相示意图若输出信号A和B的相位差可调,须保证两路信号同步,故

24、应满足以下条件:(1)输入到两个频率合成器芯片的参考时钟之间的相位偏移要足够小。这个相移会导致输出信号之间产生与之成比例的相移。因此在布线时必须精心设计,使从FPGA输出参考时钟的引脚到两个频率合成器芯片的参考时钟输入引脚的引线距离相等,以保证系统时钟同步。另外,参考时钟上升下降沿的抖动应尽可能小,并且时间应尽可能短,因为不同频率合成器芯片输入电路的触发电压不同,因此参考时钟的上升下降沿时间太长会增加输出信号的相位误差。(2)频率控制字送到频率合成器的数据缓冲区后,还必须通过一个更新时钟才能将数据缓冲区中的数据送到相位累加器,成为有效数据后进行输出。频率合成器有两种更新时钟产生方式,一种由FP

25、GA内部自动产生,另一种由外部提供。要使两路输出信号同步,必须使用外部IO更新时钟,同时必须使参考时钟信号(REFCLK)与外部IO更新时钟(UPDATE CLK)上升沿之间满足图2.6所示的时序关系。图2.6 参考时钟与更新时钟之间的时序关系图更新时钟的上升沿必须在参考时钟的下降沿0.3ns之后与下一个下降沿1.5ns之前之间(图2.6中深色区间为有效区域)产生,这样可以使两个频率合成器工作在相同的系统时钟(参考时钟乘以一定倍数)下,且它们的系统时钟脉冲数相差不能超过1个脉冲。(3)在第一次传送数据之前必须先使频率合成器复位,以保证其输出的相位是可知的。因为DDS芯片的相位输出是连续的,所示

26、复位信号可使两个频率合成器的相位累加器复位到COS(0)状态。新的数据送到相位累加器时,它们之间的相位关系可以得到保持,也可以通过相位控制字来调节两片频率合成器之间的相位差12。2.3 系统实现方案分析与比较在这个系统中,较为困难的部分是由FPGA实现频率合成器的功能及移相功能的实现。因为要求产生两路正弦波,频率和相位可调,且都要以数字的形式进行控制和处理,所以在设计中将分别对部分电路提出几种实现方案并进行分析和论证。2.3.1 频率合成器方案频率合成是指对一个标准信号频率经过一系列算术运算,产生具有相同精度和稳定度的大量离散频率的技术13。频率合成有多种实现方法,其中直接数字频率合成技术与传

27、统频率合成技术相比具有难以比拟的优点,如频率切换速度快、分辨率高、频率和相位易于控制等。因此得到越来越广泛的应用,成为当今现代电子系统及设备中频率源设计的首选。实现DDS的三种技术方案 :(1)采用高性能DDS单片电路的解决方案 :随着微电子技术的飞速发展,目前市场上性能优良的DDS产品不断推出,主要有Qualcomm、AD、Sciteg和Stanforc等公司单片电路(monolithic)。Qualcomm公司推出了DDS系列Q2220、Q2230、Q2334、Q2240、Q2368,其中Q2368的时钟频率为130MHZ,分辨率为0.03HZ,杂散控制为-76dBc,变频时间为0.1us

28、;美国AD公司也相继推出了他们的DDS系列:AD9850、AD9851、可以实现线性调频的AD9852、两路正交输出的AD9854以及以DDS为核心的QPSK调制器AD9853、数字上变频器AD9856和AD9857。AD公司的DDS系列产品以其较高的性能价格比,目前取得了极为广泛的应用。下面仅对比较常用的AD9850芯片作一个简单介绍。 AD9850是AD公司采用先进的DDS技术,1996年推出的高集成度DDS频率合成器,它内部包括可编程DDS系统、高性能DAC及高速比较器,能实现全数字编程控制的频率合成器和时钟发生器。接上精密时钟源,AD9850可产生一个频谱纯净、频率和相位都可编程控制的

29、模拟正弦波输出。此正弦波可直接用作频率信号源或转换成方波用作时钟输出。AD9850接口控制简单,可以用8位并行口或串行口直接输入频率、相位等控制数据。32位频率控制字,在125MHZ时钟下,输出频率分辨率达0.029HZ。先进的CMOS工艺使AD9850不仅性能指标一流,而且功耗少,在3.3V供电时,功耗仅为155mW。扩展工业级温度范围为-40+85摄氏度,其封装是28引脚的SSOP表面封装。 AD9850采用32位相位累加器,截断成14位,输入正弦查询表,查询表输出截断成10位,输入到DAC。DAC输出两个互补的模拟电流,接到滤波器上。调节DAC满量程输出电流,需外接一个电阻Rset,其调

30、节关系是Iset=32(1.248V/Rset),满量程电流为1020mA14。(2)采用低频正弦波DDS单片电路的解决方案: Micro Linear公司的电源管理事业部推出低频正弦波DDS单片电路ML2035以其价格低廉、使用简单得到广泛应用。ML2035特性:(1)输出频率为025KHZ,在时钟输入为12.352MHZ时频率分辨率可达到1.5HZ(-0.75+0.75HZ),输出正弦波信号的峰峰值为Vcc;(2)高度集成化,无需或仅需极少的外接元件支持,自带312MHZ晶体振荡电路;(3)兼容的3线SPI串行输入口,带双缓冲,能方便地配合单片机使用;(4)增益误差和总谐波失真很低。 ML

31、2035为DIP-8封装,各引脚功能如下: (1)Vss:-5V电源; (2)SCK:串行时钟输入,在上升沿将串行数据锁入16位移位寄存器; (3)SID:串行数据输入,该串行数据为频率控制字,决定6脚输出的频率; (4)LATI:串行数据锁存,在下降沿将频率控制字锁入16位数据锁存器; (5)VCC:+5V电源; (6)VOUT:模拟信号输出; (7)GND:公共地,输入、输出均以此点作为参考点; (8)CLK IN:时钟输入,可外接时钟或石英晶体。 ML2035生成的频率较低(025KHZ),一般应用于一些需产生的频率为工频和音频的场合。如用2片ML2035产生多频互控信号,并与AMS31

32、04(多频接收芯片)或ML2031/2032(音频检波器)配合,制作通信系统中的收发电路等。 可编程正弦波发生器芯片ML2035设计巧妙,具有可编程、使用方便、价格低廉等优点,应用范围广泛,适合需要低成本、高可靠性的正弦信号的场合。 (3)自行设计的基于FPGA芯片的解决方案: DDS技术的实现依赖于高速、高性能的数字器件。可编程逻辑器件以其速度高、规模大、可编程,以及有强大EDA软件支持等特性,十分适合实现DDS技术。Altera是著名的PLD生产厂商,多年来一直占据着行业领先的地位。Altera的PLD具有高性能、高集成度和高性价比的优点,此外它还提供了功能全面的开发工具和丰富的IP核、宏

33、功能库等,因此Altera的产品获得了广泛的应用。Altera的产品有多个系列,按照推出的先后顺序依次为Classic系列、MAX(Multiple Array Matrix)系列、FLEX(Flexible Logic Element Matrix)系列、APEX(Advanced Logic Element Matrix)系列、ACEX系列、Stratix系列以及Cyclone等15。 虽然有的专用DDS芯片的功能也比较多,但控制方式却是固定的,因此不一定是我们所需要的。而利用FPGA则可以根据需要方便地实现各种比较复杂的调频、调相和调幅功能,具有良好的实用性。就合成信号质量而言,专用DD

34、S芯片由于采用特定的集成工艺,内部数字信号抖动很小,可以输出高质量的模拟信号;利用FPGA也能输出较高质量的信号,虽然达不到专用DDS芯片的水平,但信号精度误差在允许范围之内16。2.3.2 移相方案 要实现两路信号具有确定的相位差,采用数字移相技术,这是目前移相技术的潮流。数字移相技术的核心是先将模拟信号数字化,移相后再还原成模拟信号。 数字移相主要有两种形式:一种是先将正弦波信号数字化,并形成一张数据表存入ROM芯片中,此后可通过两片DA转换芯片在单片机的控制下连续地循环输出该数据表,就可获得两路正弦波信号,当两片DA转换芯片所获得的数据序列不同时,则转换所得到的两路正弦波信号就存在着相位

35、差。相位差的值与数据表中数据的总个数及数据地址的偏移量有关。这种处理方式的实质是将数据地址的偏移量映射为信号间的相位值。另一种是先将参考信号整形为方波信号,并以此信号为基准,延时产生另一个同频的方波信号,再通过波形变换电路将方波信号还原成正弦波信号。以延时的长短来决定两信号间的相位值。这种处理方式的实质是将延时的时间映射为信号间的相位值。综合各方面考虑本设计采用前一种方式,具体调整方法如下:可预置计数器的初值不同,从ROM中读出周期信号函数采样信号时的起始地址就不同,对应的信号相位也就不同。故只要在初始时刻,通过对计数器预置不同的初值即可形成两路信号间不同的相位差,从而达到调节信号间相位的目的

36、。2.3.3 存储器方案(1)波形表存储器 因为本设计是采用FPGA实现DDS的功能,所以使用FPGA作为数据转换的桥梁,将波形数据存储到其内部的RAM中,并由DDS系统产生波形输出。需存储在RAM中的波形数据是由单片机采集外部数据,对ROM中存储的标准波形进行各种相应的运算而得到。波形表存储器ROM有三种方法实现。方法一:外接ROM用单片机来完成。可采用并行两片32K的EEPROM存储器AT28C256,共16位位宽,可以实现12位波形表存储,150ns读取速度完全满足20KHZ的工作频率。实现方案:将归一化的正弦波存储在32KEEPROM中,波形存储64个点。然后由单片机根据键盘输入的不同

37、要求,对各点数据乘相应系数并叠加,再将所得到的新数据存储在RAM中,此时便得到了所需要的波形数据表。方法二:由逻辑方式在FPGA中实现。方法三:利用Altera公司的含于EAB器件中的兆功能模块LPM_ROM,通过VHDL语言编程来实现。第一种方法容量最大,但速度最慢,且编程比较麻烦;第二种方法速度最快,但容量非常小;第三种方法兼顾了两者的优点,克服了其缺点。在选用FPGA芯片时,本设计选用的是Altera公司的FLEX10K系列芯片EPF10K10LC84_4, 有LPM_ROM模块,因此ROM选用第三种方法。(2)外存储器 由于本设计选用的单片机为MSC-51系列的8051,它相对于高速的

38、FPGA来说速度太慢,因此对单片机扩展外部数据存储器和波形存储器。半导体存储器可分为三类:只读存储器(ROM、PROM、EPROM),随机存储器(SRAM、DRAM),不挥发性读写存储器(EEPROM、NOVRAM)。本设计要实现编辑功能,故必须选择随机存储器或不挥发性读写存储器。方案一:采用SRAM(6264:8KRAM)和EEPROM(2817:2KROM),通过总线隔离的办法实现,既能通过CPU改变存储器数据,又能通过相位累加实现读取波形存储器数据的功能。方案二:采用特殊存储器双口RAM。双口RAM有左右两套相同的I/O口,即两套数据总线,分别有两套地址、控制总线,并有一套竞争仲裁电路。

39、它可通过左右两边的任一组I/O进行异步的存储器读写操作,避免了系统总线隔离17。 对比上述两种方案,方案一的硬件电路虽较复杂,但设计简单,成本低,容量大,故采用此方案。2.3.4 存储器寻址方案方案一:采用移位寄存器74164对BCD乘法器14527进行设置。BCD乘法器14527接成加法级联方式,输入频率由晶振提供,级联输出频率为: (2.1)式中K1、K2、K3、K4、K5为BCD乘法器置数。根据置数不同,可以输出不同的频率的计数脉冲,再经计数器计数对存储器寻址,频率控制寻址频率,从而控制输出波形的频率。此方案硬件接线复杂,频带不易拓宽。方案二:运用FPGA构成的相位累加器对EEPROM进

40、行寻址。由单片机控制步长即可控制寻址频率,而相移也可方便地由单片机控制相位累加器的初始值来设定。比较两种方案,方案二设计简单,易于单片机控制,故选方案二。3 总体设计3.1 FPGA设计DDS电路的具体实现FPGA设计的DDS系统主要由相位累加器及相位/幅度转换电路组成。根据设计的具体要求,还设计了一个系统控制电路,这一电路可灵活设计,以突出FPGA的优点所在。另外采用VHDL硬件描述语言实现整个DDS电路,不仅利于设计文档的管理,而且方便设计的修改和扩充,还可以在不同FPGA器件之间实现移植。3.1.1 相位累加器部分在用FPGA设计DDS电路的时候,相位累加器是决定DDS电路性能的一个关键

41、部分。小的累加器可以利用FLEX器件的进位链得到快速、高效的电路结构。然而由于进位链必须位于临近的LAB(逻辑阵列块)和LE(逻辑单元)内,因此长的进位链势必会减少其它逻辑使用的布线资源,同时过长的进位链也会制约整个系统速度的提高。另一种提高速度的办法是采用流水线技术,即把在一个时钟内要完成的逻辑操作分成几步较小的操作,并插入几个时钟周期来提高系统的数据吞吐率。但是流水线技术比较适合开环结构的电路,要用在累加器这样的闭环反馈的电路中必须谨慎考虑,以保证设计的准确无误。综合考虑后,相位累加器采用流水线技术来实现,这样能保证较高的资源利用率,又能提高系统的性能和速度。设计中整个系统只加入了一级流水

42、线来提高速度。为了进一步提高速度,在设计相位累加器模块和加法器模块时并没有采用FPGA单元库中1632位加法器,尽管它们可以很容易地实现高达32位的相位累加器,但当工作频率较高时,它们较大的延时不能满足速度要求,故不可取。因此,具体实现时分别采用了4个和8个4位累加器,以流水线的方式实现16位累加器和32位加法器。采用流水线技术可以大大提高系统的工作速度18。3.1.2 相位/幅度转换电路相位/幅度转换电路是DDS电路中的另一个关键部分。该电路通常采用ROM结构,相位累加器的输出是一种数字式锯齿波,通过取它的若干位作为ROM的地址输入,而后通过查表和运算,ROM就能输出所需波形的量化数据。 在

43、FPGA(针对Altera公司的器件)中,ROM一般由EAB实现,且ROM表的尺寸随地址位数或数据位数的增加成指数递增关系,因此在满足信号性能的前提下,如何有效利用FPGA的有限资源,成为相位/幅度转换电路中最关键的一点。在设计时可充分利用信号周期内的对称性和算术关系来减少EAB的开销。相位/幅度转换电路中的主要问题在于ROM的大小。由于本设计只需要输出正弦波,故考虑了以下的优化方式:正弦波信号对于x=直线成奇对称,基于此可以将ROM表减至原来的1/2,再利用左半周期内,波形对于点(/2,0)成偶对称,进一步将ROM表减至最初的1/4,因此通过一个正弦码表的前1/4周期就可以变换得到的正弦的整

44、个周期码表,这样就节省了将近3/4的资源19。3.1.3 波形表生成由于DDS中波形表存储器是采用FPGA芯片内部的LPM_ROM实现,故波形表可以VHDL编程的.mif文件形式存入LPM_ROM中,具体实现见附录2。3.1.4 D/A转换电路 因为要产生两路具有相位差的正弦波,所以必须采用两片D/A转换芯片将两路信号分别转换成模拟量输出。在此选用转换速率为500ns的芯片AD7521作为数字量到模拟量的转换器件。3.1.5 系统控制电路 系统控制电路主要是根据是否需要相位调制及频率调制,系统时钟是否需要分频得到所需的基准时钟,频率码的输入方式是串行、并行还是微机接口方式,如何控制输出等具体要

45、求而设计的,其功能实现见图2.4。3.2 单片机与FPGA的接口设计 在功能上,单片机与FPGA有很强的互补性。单片机具有性价比高、功能灵活、易于人机对话、良好的数据处理能力等特点;FPGA则具有高速、高可靠性以及开发便捷、规范等优点。用这两类器件相结合的电路结构在许多高性能仪器仪表和电子产品中仍将被广泛应用。MCS51单片机(8051)系统是整个硬件系统的核心,其引脚如图3.1所示,它既是协调整机工作的控制器,又是数据处理器,其内部资源分配和性能如下:8位CPU、寻址能力达264K;4KB的ROM和128字节RAM;4个8位I/O接口电路;一个串行全双工异步接口;5个中断源和两个中断优先级2

46、0。图3.1 8051的引脚图单片机的功能主要是传送频率控制字K1和相位控制字K2给FPGA处理;生成波形表存储于EEPROM中;控制键盘的写入和LED的显示;控制DAC0832进行幅值转换。在每次加电前都要通过单片机初始化,将写好的程序加载在信号产生系统上,然后把从键盘上输入的数据送到中央处理芯片上,信号通过低通滤波器输出的同时,LED数码管显示信号的频率和相位差。单片机与FPGA的接口方式一般有两种,即总线方式与独立方式。因为单片机以总线方式与FPGA进行数据与控制信息通信有许多优点,如速度快;节省PLD芯片的I/O口线;编程简捷,控制可靠;另外在FPGA中通过逻辑切换,单片机易于与SRA

47、M或ROM接口。故单片机与FPGA的接口方式选用总线方式。FPGA与单片机的总线接口如图3.2所示,其外部接口和VHDL设计见附录2。图3.2 FPGA与单片机的总线接口 MCS-51单片机的总线接口方式工作时序如图3.3所示,它以总线方式与FPGA进行数据与控制信息通信,其通信工作时序是纯硬件行为,只需一条单字节指令就能完成所需的读写时序,如:MOVX DPTR, A; MOVX A, DPTR根据时序图3.3来设计单片机与FPGA以总线方式通信的逻辑结构。其时序电平变化速度与单片机工作时钟频率有关。图3.3 MCS-51单片机总线接口方式工作时序图中,ALE为地址锁存使能信号,利用其下降沿将低8位地址锁存于FPGA中的地址锁存器(LATCH_ADDRES)中;当ALE将低8位地址通过P0锁存的同时,高8位地址已稳定建立于P2口,单片机利用读指令允许信号PSEN的低电平从外部ROM中将指令从P0口读入,由时序图可见,其指令读入的时机是在PSEN的上升沿之前。然后由P2口和P0口分别输出高8位和低8位的数据地址,并由ALE的下降沿 P0口的低8位地址锁存于地址锁存器。若需从FPGA中

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁