基于FPGA的直接数字频率合成器的研究与应用_第1页
基于FPGA的直接数字频率合成器的研究与应用_第2页
基于FPGA的直接数字频率合成器的研究与应用_第3页
基于FPGA的直接数字频率合成器的研究与应用_第4页
基于FPGA的直接数字频率合成器的研究与应用_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、年 级 2005 姓 名 范军题 目 基于FPGA的直接数字频率合成器的研究与应用指导教师 评 语 指导教师 (签章)评 阅 人评 语评 阅 人(签章)成 绩答辩委员会主任 (签章) 年 月 日 毕业设计(论文)任务书班 级 电子信息05 学生姓名学 号20059180 发题日期:2009 年 2 月 23 日 完成日期:毕业当年的6月14日题 目基于FPGA的直接数字频率合成器的研究与应用1、本论文的目的、意义 现代社会大量需要分辩率及转换速度及低噪声的信号源,这种信号源广泛采用频率合成技术,目前频率合成技术主要三种种方式:DAS、PLL、DDS,DAS现在较少用,PLL用途较广,但高分辨率

2、与转换速度存在矛盾且为大步进频率合成,而DDS简单可靠,很高的分辩率及转换速度。本设计基于FPGA的DDS技术来设计一台正弦波信号源。 2、学生应完成的任务. (1)掌握DDS合成技术的原理、方法及应用 (2)掌握利用FPGA技术实现直接数字频率合成器的方法 (3)基于FPGA的直接数字频率合成器的应用-设计一台正弦波信号源 并进行仿真调试 (4)尽可能高的分辨率和精度 3、论文各部分内容及时间分配:(共 16 周)第一部份 毕业设计前期准备及任务书下达 ( 2 周)第二部分 收集、调研、整理资料、购思、方案确定( 2 周)第三部分 硬软件设计、仿真调试阶段 ( 6 周)第三部分 论文撰写 (

3、 3 周)第四部分 审校 ( 1 周)评阅及答辩( 2 周)指导教师:2009年2月23日审 批 人:2009年2月23日摘 要频率合成技术广泛应用于通信、航空航天、仪器仪表等领域。目前,常用的频率合成技术有直接式频率合成、锁相频率合成和直接数字频率合成(DDS)。 DDS系统可以很方便地获得频率分辨率很精细且相位连续的信号,也可以通过改变相位字改变信号的相位,因此也广泛用于数字通信领域。本论文是利用FPGA设计实现DDS系统。DDS是把一系列数字量形式的信号通过D/A转换形成模拟量形式的信号的合成技术。主要是利用高速存储器作查寻表,然后通过高速D/A转换器产生已经用数字形式存入的正弦波(或其

4、他任意波形)。一个典型的DDS系统应包括:相位累加器,可在时钟的控制下完成相位的累加(一般由ROM实现):DA转换电路,将数字形式的幅度码转换成模拟信号。本文进行了DDS系统分析和设计,包括DDS系统框图的设计,相位控制字和频率控字的设计,以及软件和硬件设计,重点在于利用FPGA改进设计,包括控制系统(频率控制器和初始相位控制器),寻址系统(相位累加器和数据存储器),以及转换系统(D/A转换器和滤波器)的设计。介绍了利用现场可编程逻辑门阵列(FPGA)实现数控振荡器(DNO,即DDS)的原理、电路结构,重点介绍了DDS技术在FPGA中的实现方法,给出了采用ALTERA公司的FLEX 10K系列

5、FPGA芯片EPF 10K20TC 144-4芯片进行直接数字频率合成的VHDL源程序。关键词:直接数字频率合成(DDS); 现场可编程门阵列(FPGA);硬件描述语言Abstract The technology of Frequency Synthesis, which consist of Direct Synthesis,Phase-locked Synthesis and Direct Digital Synthesis is widely used in theory ofcommunication, aeronautics and instrument, etc. By usin

6、g the DDS system, we canobtain signals with high definition infrequency and with sequential phase. The system realized this time which is achieved by FPGA is a DDS system that hasthe function of digitized frequency modulation of analog signals.DDS is a method thatcan transform the digitized signals

7、into analog signals by means of DAC. With the helpof the high-speed ROM which is used as a look-up-table, the sin-waveforms or otherwaveforms can be obtained by using the high-speed DAC. The common DDS iscomposed of three part. The Phase Adder, which accomplish the accumulation of thephase; The Phas

8、e Code-Amplitude Code Transformer, which is realized by ROM; TheDAC, which transforms the digital signals into analogy signals. According to the design parameters, the paper has undergone the DDS systemanalysis and designs, including the design of DDS system block-diagram, the design ofphase-control

9、ling word and frequency-controlling word, and the design of software andhardware. The keystone rests with improving the design, including the design of the controlling system(frequency-controllor and original phase-contrllor),addressing system(phase accumulator and data memorizer) and conversion sys

10、tem(D/A converter and filter), presents the VHDL fountainhead program of Direct Digital Synthesizer, using the EPF l OK20TC 144-4 chip of the FPGA chip which belongs to the ALTERA corporation's FLEXIOK series.KeyWords: DDS; FPGA; VHDL目录第1章 绪论1问题的提出1国内外研究现状1本设计的内容2第2章频率合成技末概述3频率合成技术3直接频率合成3锁相频率合成

11、3直接数字频率合成4频率合成器的主要技术指标5直接数字频率合成62.3.1 DDS原理62.3.2 DDS的组成7第3章 VHDL语言与可编程逻辑器件93. 1 EDA技术的发展与VHDL语言93.1.1 EDA技术93.1.2 VHDL硬件描述语言103.2 FPGA原理介绍113.3 Altera公司可编程逻辑器件开发软件123.3.1 MAX+PLUS II的特点123.3.2 MAX+PLUS II的设计流程13第4章.基于FPGA的DDS系统的实现15基本DDS系统框图15基本DDS各模块介绍15相位累加器15相位调制器15相位码一幅度码变换电路154.2.4 DA转换器与低通滤波器

12、164.3 相位码一幅度码转换的压缩编码方案16基本DDS的VHDL语言描述184.4.1 ROM模块sinrom18相位码一幅度码转换模块Atrans23基本DDS的VHDL描述254.4.4 DA转换滤波电路27第5章 本系统性能分析与改善325.1 DDS的性能特点325.2 DDS方案设计中的考虑因素34设计参数选择对DDS性能的影响345.2.2 DDS的杂散抑制措施34结论37致 谢38参考文献39第1章 绪论问题的提出 随着电子技术的发展,很多应用领域对信号频率的稳定性要求越来越高,而且不仅需要单一的固定频率,还需要多点频率。如短波通信接收机要求在2-30MHz的范围内提供以10

13、0Hz为间隔的280000个通信频道。为了解决既要频率稳定准确,又要频率能在很大范围内变化的问题,于是产生了频率合成技术。随着数字技术的发展以及器件制作工艺水平的提高,直接数字式频率合成(DDS )得到了飞速的发展,本文所做的工作就是研究如何应用FPGA芯片来实现DDS系统。 频率合成技术是在实际应用中产生,又是在实践中不断提高的。频率合成技术始于20世纪30年代,最初采用多个频率源通过混频的办法产生更多的频率由于需要过多的三极管,因而逐渐被淘汰,最后形成目前使用的由一个晶体振荡器产生标准频率再合成多个频率点的频率合成技术。这种频率合成技术是通过多级倍频和分频,运用混频器产生所需的各种频率点,

14、可称为直接频率合成。到了60,70年代,由于数字集成电路技术的迅速发展,出现了第二代频率合成方案数字锁相环法频率合成。它的电路由压控振荡器( VCO)输出基准频率鉴相器可变分频器压控振荡器锁相环法频率合成框图 1971年,美国学者J " Tierncy C " M " Rade:和B.Gold提出了以全数字技术从相位概念出发,直接合成所需波形的一种新的频率合成原理,形成了第三代频率合成方案直接数字频率合成(DDS )。限于当时的技术和器件水平,它的性能指标尚不能与已有的技术相比,故未受到重视。近年来,随着数字技术的发展以及器件制作工艺水平的提高,DDS得到了飞速的

15、发展,它在工作频率范围、频率转换速度、频率分辩力、相位连续性、正交输出以及易集成化方面的性能都超越了传统的频率合成器所能达到的水平,使频率合成技术大大地前进了一步。图1.2是DDS的框图。参考时钟fcN位N位相位控制字P输出频率控制字KS(n)S(t)累加器加器加法器加器ROM加器D/A加器LPF加器D位本次设计是利用可编程逻辑器件PFGA完成一个可实现模拟信号的DDS系统,实现了频率合成技术和FPGA编程技术的结合。我所使用的FPGA开发软件是MAX+PLUS II, MAX+PLUS II是Altera公司提供的集成开发环境,界面友好,使用便捷,被业界誉为最易用易学的EDA软件。 根据设计

16、指标,进行了DDS系统分析和设计,包括DDS系统框图的设计,相位控制字和频率控字的设计,以及软件和硬件设计,重点在于改进设计,包括控制系统(频率控制器和初始相位控制器),寻址系统(相位累加器和数据存储器),以及转换系统(D/A转换器和滤波器)的设计。介绍了利用FPGA,重点介绍了DDS技术在FPGA中的实现方法,对系统性能进行了分析,提出了改善方法。第2章 频率合成技术概述 随着现代电子技术的不断发展,对信号的频率的准确度和稳定性要求越来越高,一般的振荡器已不能满足要求,于是出现了高稳定和高准确的晶体振荡器。但晶体振荡器产生的只是单一频率的信号或只能在很小范围内微调。然而,在通信、雷达、仪表、

17、宇航等领域往往需要在一定频率范围内提供一系列稳定和准确的频率,这就需要频率合成技术。常用的频率合成技术有三种:直接频率合成直接频率合成理论大约在20世纪30年代中期开始形成,当时是利用单个或多个不同频率的晶体振荡器作为基准信号源,经过倍频、分频、混频等途径直接产生许多离散频率的输出信号,这就是最早应用的频率合成器,称之为直接式频率合成器。采用单一个或多个不同频率的晶体振荡器作为基准信号源,经过具有加减乘除四则运算功能的混频器、倍频器、分频器和具有选频功能的滤波器的不同组合来实现频率合成。利用不同组合的四则运算,即可产生大量的、频率间隔较小的离散频率系列。根据参考频率源的数目和四则运算电路组合的

18、不同,直接式频率合成器有着许多不同的形式。如可由较多晶体振荡器或频率源同时提供基准频率,或仅由一个或少数几个晶体振荡器提供基准频率锁相频率合成 相位反馈理论和锁相技术应用于频率合成领域,产生了间接式频率合成器。所谓间接式是指合成器的输出信号不是直接从参考源经过变换而得,而是由锁相环的压控振荡器间接产生所需要的频率输出,所以,间接式频率合成器又称为锁相频率合成器。它是基于锁相环路的同步原理,从一个高准确度、高稳定度的参考晶体振荡器综合出大量离散频率的一种技术。锁相频率合成器由基准频率产生器和锁相环路两部分构成。基准频率产生器为合成电路提供一个或几个高稳准的参考频率,锁相环路则利用其良好的窄带跟踪

19、特性,使频率准确地锁定在参考频率或其某次谐波上,并使被锁定的频率具有与参考频率一致的频率稳定度和较高的频谱纯度。由于锁相环路具有良好的窄带滤波特性,故其输出信号质量较直接式频率合成器得到明显的改善。锁相技术在频率合成中的成功应用,使频率合成技术获得突破性进展。锁相频率合成器的结构简单、输出频率成分的频谱纯度高,而且易于得到大量的离散频率等优点引起了人们的极大关注,为频率合成器的广泛应用打下了基础。在锁相频率合成器中,输出频率系列是由压控振荡器(wco产生的。该频率在环路的鉴相器中,不断地与来自石英晶体振荡器的基准频率进行相位比较,并通过比较后产生的误差信号对振荡频率进行校准,使输出频率系列中的

20、任一频率均具有与基准频率相同的频率稳定度。由于鉴相器要求进行相位比较的两输入频率在数值上相等,由此形成了多种锁相频率合成的方法。直接数字频率合成 数字技术的飞速发展,使频率合成技术也跃上了一个新的台阶。1971年,美国学者J " Tierncy, C " M " Rade:和B.Gold提出了以全数字技术从相位概念出发,直接合成所需波形的一种新的频率合成原理。限于当时的技术和器件水平,它的性能指标尚不能与已有的技术相比,故未受到重视。近年来,随着数字技术的发展以及器件制作工艺水平的提高,直接数字式频率合成(DDS )得到了飞速的发展,它在工作频率范围、频率转换速度

21、、频率分辩力、相位连续性、正交输出以及易集成化方面的性能都超越了传统的频率合成器所能达到的水平。使频率合成技术大大地前进了一步。 DDS是用数字控制方法从一个标准参考频率源产生多种频率的技术,它是把一系列数字量形式的信号通过D/A转换形成模拟量形式的信号的合成技术。利用高速存储器作查寻表,然后通过高速D/A转换器产生已经用数字形式存入的正弦波(或其他任意波形)。DDS在相对带宽、频率转换时间、相位连续性,正交输出、分辨率以及集成化等一系列性能指标方面远远超过了传统频率合成技术所能达到的水平,为各种电子系统提供了优于模拟信号源性能的高质量的频率源。目前它正朝着系统化,小型化、模块化和工程化的方向

22、发展,性能越来越好,使用越来越方便,是目前应用最广泛的频率合成器之一。本次设计就是研究DDS的实现及应用。 频率合成器技术指标有很多,在不同的场合有不同的适用描述,但其中最主要和最普遍的技术指标如下: 合成器最高与最低输出频率所确定的频率范围,称为合成器的工作频率范围。在此范围内,合成器能输出间隔一定的众多离散频率中的某一振荡频率(称为信道)或某几个振荡频率。各振荡频率的稳定度及其它性能均应满足系统的性能要求。 每个离散频率之间的最小间隔称为频率间隔,又称分辨力,频率间隔的大小,随合成器的用途而不同。例如,短波单边带通信的频率间隔一般为100Hz,有时为IOHz,1Hz甚至0.1 Hz。超短波

23、通信则多取50kHz,有时也取为25kHz,12.5kHz,等等。由一个工作频率转换到另一个工作频率并达到稳定所需的时间。其数值与合成器的电路形式有关。 频率稳定度是指在规定观测时间内,合成器输出频率偏离标称值的程度,一般用该偏离值与输出频率的相对值来表示。准确度则表示实际工作频率与其标称值之间的偏差,又称频率误差。稳定度与准确度有着密切的关系,因为只有频率稳定度高,频率准确度高才有意义。频谱纯度是指输出信号频谱的纯净程度。可以用输出端的有用信号电平与各寄生频率总电平之比的分贝数表示。在一般情况下,合成器在选定输出频率附近的频谱分布。可见,除有用频率外,其附近尚存在各种周期性干扰与随机干扰以及

24、有用信号的各次谐波成分。这里,周期性干扰多数来源于混频器的高次组合频率,它们以某些频差的形式,成对地分布于有用信号的两边。而随机干扰则是由设备内部各种不规则的电扰动所产生,并以相位噪声的形式分布于有用频谱的两侧。有时也把各种周期性干扰视为另一种相位噪声。DDS原理对于正弦信号发生器,它的输出可以用下式来描述:S=Asint=Asin(2ft) (2-1)其中S是指该信号发生器的输出信号波形,f是指输出信号对应的频率。上式的表达对于时间t是连续的,为了用数字逻辑式实现该表达式,必须进行离散化处理,用基准时钟clk进行抽样,令正弦信号的相位:=2ft (2-2)在一个clk周期T ,相位的变化量为

25、:=2fT= (2-3)其中 f 是指clk的频率对于2可以理解为“满”相位,为了对进行数字量化,把2切割成2份,由此每个CLK周期的相位增量用量化值B来描述:B·2 ,且 B为整数。与式(3)联立。可得B=2· (2-4)显然,信号发生器的输出可能为:S=Asin(+)=Asin·(B+ B)=Af(B+ B) (2-5)其中 指前一个clk周期的相位值,同样得出B·2 (2-6)DDS的组成由上面的推导,可以看出,只要对相位的量化增量进行简单的累加运算,就可以得到正弦信号的当前值,而用于累加的相位增量量化值B决定了信号的输出频率f,并呈现简单的线形关

26、系。直接数字合成器DDS就是根据上述原理而设计的数字控制频率合成器。频 率控 制 字相 位累 加 器正弦查表(ROM)D/A参考时钟源图2.1 基本DDS结构如图2所示的是一个基本的DDS结构,主要由相位累加器、同步寄存器、正弦ROM查找表、D/A构成。相位累加器是整个DDS的核心,在这里完成上文原理推导中的相位累加功能。相位累加器由N位加法器与N位累加寄存器级联构成。相位累加器的输入是相位增量B,又由于B与输出频率f是简单的线形关系:B=2·。相位累加器的输入即相位增量又可以称为频率控制字,用K来表示。每来一个时钟脉冲f,加法器将频率字k与累加寄存器输出的累加相位数据相加,把相加后

27、的结果送到累加寄存器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。由此可以看出,相位累加器在每一个时钟输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的输出频率就是DDS输出的信号频率。K的大小控制了地址加法器输出的递增速率。在此设计中,把K设计成可变值,增加了频率控制的灵活性。其中,K的最小为1,最大为511。在时钟频率f不变的情况下,K的大小控制了D8D0从最小到最大变化所用的时间。K大,每次运算的结果较前一次的数据增长就大,因而地址数据循环一周所需时间就短,这意味着D/

28、A转换器输出的波形频率就高。反之则相反。用相位累加器输出的数据作为波形存储器(ROM)的相位取样地址。这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。低通滤波器用于滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。第3章 VHDL语言与可编程逻辑器件 本次设计的硬件采用的是Altera公司的ACEX 1K系列FPGA器件。开发软件是MAX+PLUS II。采用VHDL语言完成设计。 CPLD/FPGA是目前应用最广泛的可编程逻辑器件(PLD)之一,

29、是半导体集成电路技术和电子设计自动化(EDA)技术的结晶。3. 1 EDA技术的发展与VHDL语言 EDA技术 EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使得设计一者的工作仅限于利用软件的方式来完成对系统硬件功能的实现。EDA技术融合多学科于一体,打破了软件和硬件的壁垒,使计算机的软件技术和硬件实现、设计效率与产品性能合二为一,代表了电子设计技术和应用技术的发展方向。 EDA技术在过去的三十多年的发展

30、中,大体上可分为三个阶段: 20世纪70年代一80年代,MO工艺广泛应用于IC的制作,可编程逻辑器件己经问世,计算机作为一种运算工具,已在科研领域得到应用。这一阶段,人们开始利用计算机取代手工劳动,辅助进行IC版图编辑,PCB板布局布线等工作。这一阶段可称为CAD阶段。 20世纪80-90年代,IC设计进入CMOS阶段,特别是CPLD和FPGA进入商业应用及各种硬件描述语合一HDL的出现、应用及标准化,各种设计工具如原理图输入、编译与连接、逻辑模拟、测试码生成、版图自动布局以及齐全的单元库,各工具已集成为一个CAE(计算机辅助工程)系统,可以实现从设计输入到版图输出的全过程设计自动化。这个阶段

31、也称为CAE阶段。 20世纪90年代以来,随着HDL的标准化得到进一步确立,微电子技术以惊人的速度发展,计算机辅助工程,辅助设计和辅助分析在电子技术领域获得更加广泛的应用,超深亚微米工艺走向成熟,使百万门以上的大规模可编程逻辑器件陆续面世,基于计算机技术的面向用户的低成本大规模ASIC设计技术的应用也极大地促进了EDA技术的发展,出现了以高级语言描述,系统仿真和综合技术为特征的第三代EDA技术,不仅极大地提高了系统的设计效率,而且使设计人员摆脱了大量的辅助性及基础性的工作,将精力集中于创造性的方案与概念的构思上。这一阶段也称为EDA阶段。 VHDL硬件描述语言 硬件描述语言HDL是EDA技术的

32、重要组成部分,是一种用形式化方法来描述数字电路和系统的语言,也是电子设计人员和电子设计自动化工具之间的界面。数字系统设计者利用HDL可以从上层到下层,从抽象到具体逐层地描述自己的设计思想,用一系列分层的模块来表示复杂的数字系统,然后利用EDA工具逐层进行仿真验证,再把其中需要变为具体实际电路的模块组合经由自动综合工具转换到门级电路网表,接着可用专用集成电路(ASIC)或CPLD/FPGA自动布局布线工具把网表转换为具体电路以实现布线结构。 因为HDL语一言的逻辑功能和延时特性与真实的物理元件完全一致,所以在仿真工具的支持下,用HDL语言设计的数字电路或系统能验证复杂数字系统物理结构的正确性,使

33、设计的成功率达100%。目前,这种称之为高层次设计(HighLevel Design)的方法已在数字系统及微电子器件设计中被广泛采用,是目前ASIC和CPLD/FPGA设计中占主导地位的设计方法。 硬件描述语言的发展至今已有?0多年的历史并成功地运用于电子设计的建模、仿真、验证和综合等各阶段。进入80年代后期,HDL向着标准化的方向发展,目前普遍被采用的I-IDL有VHDL和Verilog HDL两种。本次设计采用VHDL语台一。VHDL语言主要用于描述数字系统的结构、行为、功能和接口,除了含有许多具有硬件特征的语句外,VHDL的语台形式和描述风格与句法十分类似一般的计算机高级语言。VHDL的

34、程序结构是将一项工程设计或称设计实体分成外部 (或称为可视部分,即端口)和内部(或称为不可视部分),在对一个设计实体定义了外部界面后,一旦其内部开发完成,其他的设计就可以直接调用这个实体。 用VHDL语言进行工程设计有很多优点:如下 1) VHDL语言是一种标准语言,设计者可在不同的设计环境下进行设计, 电路仿真和综合均可在VHDL语一言环境中进行。 2)比其他HDL具有更强的行为描述能力。 3 ) VHDL丰富的仿真语句和库函数可在设计时根据需要自己配置,方便取舍,使得在任何大系统的设计早期就能查验设计系统功能的可行性,随 时可对设计进行仿真模拟。 4 ) VHDL语句的行为描述功能和程序结

35、构决定了它具有支持大规模设计的分解和己有设计的再利用功能,有利于多人研发小组共同开发。 5)利用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并且自动把VHDL描述设计转变成门级网表。 6) VHDL对设计的描述具有相对独立性,设计者可以不懂硬件结构,不必管最终实现的目标器件是什么。 7)由VHDL描述的源文件既是程序软件又可作为设计文档。3.2 FPGA原理介绍查找表(Look-Up-Table)的原理与结构采用这种结构的PLD芯片我们也可以称之为FPGA:如altera的ACEX,APEX系列,xilinx的Spartan,Virtex系列等。查找表(Look-Up-

36、Table)简称为LUT,LUT本质上就是一个RAM。 目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。 当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。下面是一个4输入与门的例子,实际逻辑电路LUT的实现方式a,b,c,d 输入逻辑输出地址RAM中存储的内容00000000000001000010.0.01111111111图基于查找表(LUT)的FPGA的结构&#

37、160;3.3 Altera公司可编程逻辑器件开发软件 Altera公司是世界上最大的PLD供应商之一,其开发工具MAX+PLUS II被认为是最优秀的PLD开发平台之一。目前,该公司的产品有属于CPLD的MAX3000/5000/7000/9000和Classic系列及属于FPGA的FLEX6K/8K1 OKAPEX20K, ACEXIK, APEX II Mercury, Excalibur和Stratix系列。其中APEX20 ,APEX II , Mercury, Excalibur和Stratix系列必须由Altera公司的下一代开发软件Quartus II支持。 MAX+PLUS

38、II的特点 MAX+PLUS II提供了与结构无关的设计环境,支持FLEX, MAX及Classic等系列器件的开发。MAX十PLUS II具有开放的界面,可与其它工业标准的EDA设计输入、综合及校验工具连接,支持多平台工作,既可以在Windows下运行,也可以在Sun SPAC Stations, HP9000 Series 700/800和IBM RISC System/600工作站上运行。MAX+PLUS II提供丰富的逻辑功能库供设计人员调用,其中包括74系列全部器件的等效宏功能库和多种特殊的宏功能(Macro Function)模块以及参数化的宏功能(Magefunction)模块。

39、MAX+PLUS II还具有开放核的特点,允许设计人员添加自己的宏功能模块:。充分利用这些逻辑功能模块,可以大大减轻设计的工作量,缩短开发周期。MAX+PLUS II支持各种HDL语一言设计输入,包括VHDL, Verilog HDL和Altera自己的硬件描述语一言AHDL o MAX+PLUS II的设计流程设计输入编 译在系统测试编 程修改设计仿真与定时分析 1 输入设计项目 逻辑设计的输入方法有原理图输入(.gdf)、文本输入(.vhd )、波形输入(.wdf )及第三方EDA工具生成的设计网表文件输入(.sch, .edf, .Ynf)等。输入方法不同,生成的设计文件的名称后缀就不同

40、。 2编译设计项目 首先,根据设计项目要求设定编译参数和编译策略,如器件的选用、引脚的锁定、逻辑综合方式的设置等。然后对设计项目进行网表提取、逻辑综合、器件适配并产生报告文件(.rpt ),延时信息文件(.snf)和器件编程文件(pof, .sof, .jed )供分析、仿真和编程。 3校验设计项目 设计项目校验方法包括功能仿真、模拟仿真和定时分析。 功能仿真是在不考虑器件延时的理想情况下仿真设计项目的一种项目校验方法,也称为前仿真。通过功能仿真.可以验证一个项目的逻辑功能是否正确。 模拟仿真(时序仿真)是在考虑设计项目具体适配器件的各种延时的情况下仿真设计项目的一种项目验证方法,也称为后仿真

41、。时序仿真不仅测试逻辑功能,而且测试目标器件最差情况下的时间关系。通过时序仿真,在设计项目编程到器件之前进行全面测试,以确保在各种可能的条件都有正确的响应。 定时分析用来分析器件引脚及内部节点之间的传输延时、时序逻辑的性能以及器件内部各种寄存器的建立保持时间。4编程验证设计项目用MAX+PLUS II编程器通过Altera编程硬件或其他工业标准编程器,将经过仿真确认后的编程目标文件编入所选定的可编程逻辑器件中,然后加入激励信号,测试是否达到设计要求。5 CPLDDN-2004下载软件 本次设计使用的CPLDDN-2004是与Altera公司MAX+PLUS 11开发软件配套使用的下载软件。该下

42、载软件具有操作简单、功能强大等优点,不仅可完成设计程序的下载功能,而且其自带的MIF生成器非常适合本次设计所须的ROM初始化文件的生成。参考时钟fcN位N位相位控制字P输出频率控制字KS(n)S(t)累加器加器加法器加器ROM加器D/A加器LPF加器D位图1.1 DDS原理框图相位累加器 相位累加器是DDS系统的核心,其功能就是完成第二章描述的DDS实现原理中的相位累加功能。为了充分发挥DDS的优越性,一般累加器的位数都比较大,频率字可控制DDS的输出频率,可根据需要来设定。寄存器的作用是保证当频率字改变时不会干扰相位累加器的工作。相位调制器 相位调制器也是一个加法器。它的功能是改变输出信号的

43、相位。本系统可以很方便地获得任意相位的正弦信号,这在很多应用中是十分有利的。例如在电视、通信等领域,往往需要相位相差pi/2,的正交信号,这时只需改变相位字的值就可以很容易获得正交信号。寄存器的作用是消除干扰。相位码一幅度码变换电路 本电路的核心是一个正弦查找表,正弦查找表主要完成相位序列(相位码)向幅度序列(幅度码)的转换。这里,用ROM构造一个查找表。如果把相位码作为ROM的地址,只要在该地址中存储相应的正弦幅度码作为数据,就可通过相位码寻址ROM,输出正弦函数。ROM的地址位数address和数据位数q越长,输出的精度就越高。但该address和q的位数受ROM容量的限制,要合理安排。通

44、常有两个方法可降低ROM的占用量: 1).选择合理的编码方式,这一点将在后面详细说明。 2).进行有选择地截断。 为了发挥DDS的优点,一般频率字freqw的字长较大,设为M。而ROM的地址位数受容量限制,只能取K lM>K)位,那么可以将freqw的低(M-K )位舍去(即截断),只取其高K位作为ROM的地址位。截断会导致相位噪声的增加,这一点在设计时应引起重视。后面将分析此噪声。本电路中,由于采用了在ROM中只存储1/4个周期的幅度信息的编码方式,所以,在还原整个周期的幅度时,需要进行相位码和幅度码的处理。该方案是通过相位求补,获得02pi的幅度码,通过幅度求补获得的幅度码,具体方案

45、将在4.3节叙述 DA转换器与低通滤波器 DA转换器(DAC)和低通滤波器的作用是将幅度码转变成模拟信号。由于DAC输出为阶梯波,需通过低通滤波器取出其低频成分(即DDS输出)。DAC的输入信号来自ROM的数据输出和幅度求补器的输出位。由前述可知,为节省ROM的容量,我们只是存储了pi/2相位的幅度信息,通过相位求补,获得0-pi的幅度码,通过幅度求补获得0-2pi的幅度码,ROM的输出和幅度求补的输出位并不能保证同时加至DAC的输入端,为此,在DAC数据输入之前通过寄存器使数据稳定后再加至D/A转换器。4.3 相位码一幅度码转换的压缩编码方案为节省ROM的内存,本次设计采用了第二章所述压缩内

46、存的方案,同时又充分利用了CPLD/FPGA的特点和vHDL语言的灵活性,对相位码一幅度码转换进行了巧妙的压缩编码,实现了只存储0-pi/2的幅度码还原0-2pi的幅度的功能。下面介绍本次编码方案。 内存中只存储pi/2的幅度码,对应正弦函数的值域为0, 1。设ROM的地址位和数据位均为8位,共有256个地址。为便于分析,将正弦函数的值域扩大255倍,即值域为0255,此值域正好与数据码(幅度码)有一一对应的关系,便于数据的编码。而实际_正弦函数的值域是-1-+1,扩大255倍就是-255一+255。由于DAC不便于表示负数,可将上值的范围变形为0511,这样,输入到DAC的位数(即幅度码)就

47、应为9位,但ROM输出的幅度码只有8位且只存储了0/2相位,故要经过处理。该过程可用图4.2表示。 下面着重分析编码的过程。观察图4.3正弦函数的波形,各点的相位码(共10位,从高到低依次为a9,a8, a7, a6, a5, a4, a3, a2, al, a0)和相应DAC的输入(共9位,从高到低设为b8, b7, b6, b5, b4, b3, b2, b1, b0)为:图4.3 正弦波的幅度和相位 A点:相位码a9.0=0000000000幅度码b8.0=011111111 B点:相位码a9.0=0011111111幅度码b8.0=111111111 C点:相位码a9.0=011111

48、1111幅度码b8.0=011111111 D点:相位码a9.0=1011111111幅度码b8.0=000000000 E点:相位码a9.0卜1111111111幅度码b8.0=011111111 从上述各点可见a9 a8可反映正弦波的相位信息: 第一象限:a9=0 , a8=0; 第二象限:a9=0, a8=1; 第三象限:a9=1,a8=0; 第四象限:a9=1, a8=1; 对于第一象限,存储器中已存储了相位码对应的幅度码的低8位,只要使b8= 1再令ROM的8位输出等于b7.0即可。 对于第二象限,b8= 1',但b7.0要对二/2求补,即b7.0= " 11111

49、111 "减a7.0对应的幅度码, 对于第三象限的编码,问题则要复杂一些。观察P点和Q点,P点的幅度码在数字上应为111111111减去Q点的幅度码,而P点与Q点的相位码相差兀(即0111111111),因此在取P点的幅度码时,应首先用P点的相位码减去0川川川,再用所得的值的低8位(即Q点的相位码的低8位)对ROM寻址,用11111111减去寻址所得的幅度码就是P点的幅度码的b7.0,当然P点幅度码的b8= 0'a而对于第四象限的编码,如R点,其幅值应为“111111111”减去S点的幅度码,R点与S点的相位码也相差0111111111,和前述一样可以由S点的值得出R点的幅度

50、码。上述第三象限和第四象限的编码,就是框图中幅度求补的过程。 ROM模块sinromROM模块中存储了pi/2的幅度码,ROM的地址位来自相位码处理电路。端口说明:address: ROM的地址位。q: ROM的数据输出端。程序:LIBRARY ieee;USE ieee.std_ logic_1164.a11;ENTITY sinrom ISPORT(address :IN STD_LOGIC_ VECTOR (7 DOWNTO 0);inclock: IN STD LOGIC:q:OUT STD LOGIC VECTOR (7 DOWNTO 0) );END sinromARCHITECT

51、URE SYN OF sinrom ISSIGNAL sub_ wire0:STD_ LOGIC_ECTOR (7 DOWNTO 0)COMPONENT lpm_ romGENERIC( lpm_ width:NATURAL; lpm_ widthad:NATURAL; lpm_ address_ control:STRING;Ipm_ outdata:STRING;Lpm_ f i1e:STRING);PORTaddress:1N STD_ LOGIC_ VECTOR (7 DOWNTO 0)inclock:STD_ LOGIC;9:OUT STD_ LOGIC_ VECTOR (7 DOW

52、NTO 0);END COMPONENT;BEGINq<=sub_ wire0(7 DOWNTO 0);lpm_rom_ component:lpm_ romGENERIC MAP( LPM WIDTH=>8. LPM WIDTHAD=>8, LPM ADDRESS CONTROL=>"REGISTERED" LPM OUTDATA=>"UNREGISTERED". LPM FILE=>"e:/max2work/sinrom2.mif')PORT MAP(address =>addressinc

53、lock =>inclockq=>sub_ wire0 ); END SYN;程序说明:本程序使用了LPM-ROM的文本方式调用,故在使用前应首先生成LPM-ROM的VHDL文件。ROM的初始文件为。下面介绍ROM的初始化mif文件的生成MATLAB程序clear all;close all;clc;index=linspace(0,2*pi,28+1);sin_val=fix(28-1)*sin(index)+0.5);fid=fopen('E:cosine.mif','w');fprintf(fid,'WIDTH=8;n');fp

54、rintf(fid,'DEPTH=256;n');fprintf(fid,'ADDRESS_RADIX=UNS;n');fprintf(fid,'DATA_RADIX=DEC;n');fprintf(fid,'CONTENT BEGINn');for j=1:256 i=j-1; fprintf(fid,'%3d',i); fprintf(fid,' : '); fprintf(fid,'%3d',sin_val(j); fprintf(fid,'n');endfprintf(fid,'END;n');fclose(fid);运行后生成的ROM的初始化mif文件如下WIDTH=8;DEPTH=256;ADDRESS_RADIX=UNS;DATA_RADIX=DEC;CONTENT BEGIN

温馨提示

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

评论

0/150

提交评论