基于FPGA的直接数字频率合成器DDS设计 毕业论文首选

基于FPGA的DDS设计

摘要:直接数字频率合成(DDS)技术采用全数字的合成方法,所产生的信号具有频率分辨率高、频率切换速度快、频率切换时相位连续,输出相位噪声低和可以产生任意波形等诸多优点。

本文在对现有DDS技术的大量文献调研的基础上,提出了符合FPGA结构的DDS设计方案并利用MAXPLUSⅡ软件在ACEX1K系列器件上进行了实现,详细的介绍了本次设计的具体实现过程和方法,将现场可编程逻辑器件FPGA 和DDS 技术相结合,具体的体现了基于VHDL语言的灵活设计和修改方式是对传统频率合成实现方法的一次重要改进。FPGA器件作为系统控制的核心,其灵活的现场可更改性,可再配置能力,对系统的各种改进非常方便,在不更改硬件电路的基础上还可以进一步提高系统的性能。文章给出仿真结果,经过验证本设计能够达到其预期性能指标。

关键词:直接数字频率合成器;硬件描述语言;现场可编程门阵列;

毕业论文最佳的选择。

The Design of DDS based on FPGA

Abstract:The DDS(Direct Digital Frequency Synthesis) technique adopts full-digital synthesis methods. The generated signals have advantages of high frequency resolutions, fast frequency switching, continuous phase while frequency switching, low noise phase and being able to generate arbitrary waveforms.

In this paper, after reviewing a lot of literatures published on DDS technology, DDS scheme based on FPGA structure are proposed, and then implemented in ACEX1K series FPGA using MAXPLUSⅡtool.the paper introduced the concrete implementation process, this way associates DDS with field programmable gate array(FPGA) technology , the way based on VHDL is flexible in designing and modifying, which is a important innovation to the tradition synthesize way, FPGA device control core as system, its flexible scene can altering, can dispose ability again, very convenient to various kinds of improvement of the system, can also improve systematic performance further on the basis of altering hardware circuit. at the end of paper , the author displays simulation result, after verification, the design meets the demand of original definition.

Key words: DDS;FPGA;VHDL

第1章绪论

直接数字频率合成技术(Direct Digital Frequency Synthesis,即DDFS,一般简称DDS)是从相位直接合成所需波形的一种新的频率合成技术。近年来,直接数字频率合成器(DDS)由于其具有频率分辨率高、频率变换速度快、相位可连续变化等特点,在数字通信系统中已被广泛采用。随着微电子技术的发展,现场可编程门阵列( FPGA)器件得到了飞速发展。由于该器件具有速度快、集成度高和现场可编程的优点,因而在数字处理中得到广泛应用,越来越得到硬件电路设计工程师的青睐。

1.1频率合成的发展状况

频率合成器是电子系统的心脏,是决定电子系统性能的关键设备。随着现代无线电通信事业的发展,移动通信雷达制导武器和电子对抗等系统对频率合成器提出越来越高的要求。低相噪高纯频谱和高速捷变的频率合成器一直是频率合成技术发展的主要目标,DDS 技术的发展将有力地推动这一目标的实现。

从频率合成技术的发展过程看频率合成的方法主要有三种:

(1)最早的合成方法称为直接频率合成,它是使基准信号通过脉冲形成电路来产生丰富谐波脉冲,随后通过混频分频倍频和带通滤波器完成频率的变换和组合,以产生我们需要的大量离散频率从而实现频率合成。其合成方法大致可以分为两种基本类型:一种是所谓非相关合成方法;另一类是所谓相关合成方法。这两种合成方法的主要区别在于所使用的参考频率源的数目不同。它的缺点在于制作具有相同频率稳定性和精度的多个晶体参考频率源既复杂又困难,而且成本高。

(2)锁相频率合成是应用模拟或数字锁相环路的间接频率合成。它被称为第二代频率合成技术。早期的合成器使用模拟锁相环,后来又出现了全数字锁相环和数模混合的锁相环。数字鉴相器、分频器加模拟环路滤波压控振荡器的混合锁相环是目前最为普遍的PLL 组成方式。锁相环频率合成技术提供了一种从单个参考频率获得大量稳定而准确的输出频率的方法,并且频率输出范围宽,电路结构简单,成本低。

(3)直接数字频率合成(DDS)。为了取得更快的频率转换速度,随着数字技术的发展,出现了直接数字频率合成器DDS。DDS 技术是首先将相位以极小的间隔离散化,计算出正弦信号对应于这些相位的幅度值,形成一个幅度相位表,并存储于DDS器件的ROM 中。DDS 工作时利用数字方式累加相位得到信号在该时刻的相位值,然后按一定的相位幅度转换算法在DDS 的ROM 中查表得到信号在该时刻的幅度值,最后将信号通过D/A 变换和低通滤波器形成模拟正弦波或存储波形的频率合成技术。

1.2DDS的优点与缺点

直接数字频率合成是一种比较新颖的频率合成方法。DDS是一种全数字化的频率合成方法。DDS频率合成器主要由频率寄存器、相位累加器、波形ROM,D/A转换器和低通滤波器组成。在系统时钟一定的情况下,输出频率决定于频率寄存器的中的频率字。而相位累加器的字长决定了分辨率。基于这样的结构DDS频率合成器具有以下优点:(1)频率分辨率高,输出频点多,可达个频点N2〔假设DDS相位累加器的字长是N); (2)频率切换速度快,可达us量级;(3)频率切换时相位连续;(4)可以输出宽带正交信号;(5)输出相位噪声低,对参考频率源的相位噪声有改善作用;(6)可以产生任意波形;(7)全数字化实现,便于集成,体积小,重量轻。

虽然DDS 有很多优点但也有其固有的缺点。

(1)杂散抑制差这是DDS的一个主要的缺点。由于DDS一般采用了相位截断技术,它的直接后果是给DDS的输出信号引入了杂散。

(2)工作频带受限。根据DDS 的结构和工作原理DDS 的工作频率要受到器件速度的限制和基准频率有直接的关系,但随着目前微电子水平的不断提高DDS 工作频率也有很大的提高。

(3)相位噪声性能与其它频率合成器相比,DDS 的全数字结构使得相位噪声不能获得很高的指标,DDS的相位噪声主要由参考时钟信号的性质参考时钟的频率与输出频率之间的关系,以及器件本身的噪声基底决定。

1.3DDS的发展前景

近几年超高速数字电路的发展以及对DDS的深入研究,DDS的最高工作频率以及噪声性能已接近并达到锁相频率合成器相当的水平。随着这种频率合成技术的发展,现已广泛应用于通讯、导航、雷达、遥控遥测、电子对抗以及现代化的仪器仪表工业等领域。直接数字频率合成器的基本优点是在微处理器的控制下。能够准确而快捷地调节输出信号的频率、相位和幅度。此外,DDS具有频率和相位分辨率高、频率切换速度快、易于智能控制等突出特点。

随着集成电路工艺的不断改善,这些产品的功能也愈来愈强大。现在不仅在一个芯片上能够集成DDS所需要的全部功能,而且也具备了一些有用的调制能力。除了在仪器中的应用外,DDS在通信系统和雷达系统中也有很重要的用途。通过DDS可以比较容易的产生一些通信中常用的调制信号如:频移键控(FSK)、二进制相移键控(BPSK)和正交相移键控(QPSK)。DDS可以产生两路相位严格正交的信号在正交调制和解调中的到广泛

应用,是一中很好的本振源。在雷达中通过DDS和PLL相结合可以产生毫米波线性调频信号,DDS移相精度高、频率捷变快和发射波形可捷变等优点在雷达系统中也可以得到很好的发挥。

1.4电子设计自动化(EDA)

20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。

EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度。

这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。

1.5FPGA简介

FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。用户现场可编程门阵列FPGA是一种高密度的可编程逻辑器件。由于FPGA器件集成度高,方便易用,开发和上市周期短,在数字设计和电子生产中得到迅速普及和应用,并一度在高密度的可编程逻辑器件领域中独占鳌头。

1.5.1 FPGA的结构

FPGA和CPLD都是高密度现场可编程逻辑芯片,都能够将大量的逻辑功能集成于

一个单片集成电路中,其集成度已发展到现在的几百万门。现场可编程门阵列FPGA是由掩膜可编程门阵列(MPGA)和可编程逻辑器件二者演变而未的,并将它们的特性结合在一起,因此FPGA既有门阵列的高逻辑密度和通用性,又有可编程逻辑器件的用户可编程特性。FPGA通常由接线资源分隔的可编程逻辑单元(或宏单元)构成阵列,又由可编程I/O单元围绕阵列构成整个芯片,其内部资源是分段互联的,因而延时不可预测,只有编程完毕后才能实际测量。

1.5.2 FPGA的开发流程

FPGA设计人体分为设计输入、综合、功能仿真(前仿真)、实现、时序仿真(后仿真)、配置下载等六个步骤,设计流程如图1.1所示。下面分别介绍各个设计步骤。

图1.1 FPGA设计流程图

1、设计输入

设计输入包括使用硬件描述语言HDL、状态图与原理图输入三种方式。

2、设计综合

综合,就是针对给定的电路实现功能和实现此电路的约束条件,如速度、功耗、成本及电路类型等,通过计算机进行优化处理,获得一个能满足上述要求的电路设计方案。

3、仿真验证

从广义上讲,设计验证包括功能与时序仿真和电路验证。仿真是指使用设计软件包对已实现的设计进行完整测试,模拟实际物理环境下的工作情况。前仿真是指仅对逻辑功能进行测试模拟,以了解其实现的功能否满足原设计的要求,仿真过程没有加入时序信息,不涉及具体器件的硬件特性,如延时特性;而在布局布线后,提取有关的器件延迟、连线延时等时序参数,并在此基础上进行的仿真称为后仿真,它是接近真实器件运行的仿真。

4、设计实现

实现可理解为利用实现工具把逻辑映射到目标器件结构的资源中,决定逻辑的最佳

布局,选择逻辑与输入输出功能连接的布线通道进行连线,并产生相应文件(如配置文件与相关报告)。通常可分为如下五个步骤:转换,映射,布局与布线,时序提取和配置。

5、时序分析

在设计实现过程中,在映射后需要对一个设计的实际功能块的延时和估计的布线延时进行时序分析;而在布局布线后,也要对实际布局布线的功能块延时和实际布线延时进行静态时序分析。

在综合与时序仿真过程中交互使用PrimeTime进行时序分析,满足设计要求后即可进行FPGA芯片投片前的最终物理验证。

6、配置下载

下载是在功能仿真与时序仿真正确的前提下,将综合后形成的位流下载到具体的FPGA芯片中,也叫芯片配置。FPGA设计有两种配置形式:直接由计算机经过专用下载电缆进行配置;由外围配置芯片进行上电时自动配置。

1.6 VHDL语言简介

EDA的关键技术之一是要求用行为抽象化方法来描述数字系统的硬件电路,即硬件描述语言(HDL)描述方式。所以采用硬件描述语言及相关的编辑、综合和仿真等技术是当今EDA领域发展的又一重要特征。

超高速集成电路硬件描述语言VHDL [VHSIC (V ery–High–Speed– Integrated–Circuit) Hardware Discription Language]作为IEEE-1076标准所规范的硬件描述语言,得到了众多EDA公司和集成电路厂商的支持与认同,已经成为现代电子设计领域的通用描述语言和主要设计手段。VHDL主要用于描述数字系统的结构、行为、功能和接口,尤其是其强大的行为描述能力和语言结构,只需直接面对对象进行系统级的逻辑行为描述,从而避开了具体的器件结构来进行系统设计。另外,VHDL的可移植能力和多层次设计描述能力,使得VHDL的设计文件可以被不同EDA工具和各类CPLD器件所支持,并创建为阶层式设计模块综合到CPLD/FPGA器件中,使之以最快的速度上市并自然地转换为ASIC设计。

利用VHDL进行脱离具体目标器件的设计为大系统级、混合系统级和单片系统级设计技术的发展奠定了良好的基础。正因为VHDL这种与硬件电路和器件系列(CPLD/FPGA)的极小相关性以及其简洁明确的语言结构和便于修改和共享等特点,使得VHDL在电子设计和EDA领域具有更好的通用性和更宽广的适用面。

1.7 MAX+PLUSⅡ简介

1、特点

MAX+PLUSⅡ的全称是Multipe Array Matrix and Programmable Logic User System (多阵列矩阵及可编程逻辑用户系统),它提供了与结构无关的设计环境,支持FLEX、MAX及Classic系统器件。

MAX+PLUSⅡ具有开放的界面,可与其他工业标准的EDA设计输入、综合及校验工具相连接。MAX+PLUSⅡ提供丰富的逻辑功能库供设计人员调用,MAX+PLUSⅡ软件支持各种HDL语言设计输入,包括VHDL、V erilog HDL和Altera自己的硬件描述语言AHDL。

2、设计流程

图 1.2 MAX+PLUSⅡ的设计流程

使用MAX+PLUSⅡ的设计过程包括以下几步,若任一步出错或未达到设计要求则应修改设计,然后重复以后各步,如图1.2所示。

(1)输入设计项目。逻辑设计的输入方法有原理图形输入、文本输入、波形输入及第三方EDA工具生成的设计网表文件输入等。输入方法不同,生成设计文件的名称后缀就不同。

(2)编译设计项目。首先,根据设计项目要求设定编译参数和编译策略。然后对设计项目进行网表提取、逻辑综合、器件适配,并产生报告文件,延时信息文件和器件编程文件,供分析、仿真和编程使用。

(3)校验设计项目。设计项目校验方法包括功能仿真、模拟仿真和定时分析。功能仿真是在不考虑器件延时的理想情况下仿真设计项目的一种项目验证方法,称为前仿真。模拟仿真是在考虑设计项目具体适配器件的各种延时的情况下仿真设计项目的一种项目验证方法,称为后仿真。定时分析用来分析器件引脚及内部节点之间的传输路径延时、时序逻辑的性能以及器件内部各种寄存器的建立保持时间。

(4)编程验证设计项目。用MAX+PLUSⅡ编程器通过Altera编程硬件或其它工业标准编程器,将经过仿真确认后的编程目标文件便如所选定的Altera可编程逻辑器件中,然后加入实际激励信号,测试是否达到设计要求。

第2章总体设计

2.1 DDS的基本原理

直接数字频率合成技术(Direct Digital Frequency Synthesis,即DDFS,一般简称DDS)是从相位概念出发直接合成所需波形的一种新的频率合成技术。近年来,技术和器件水平不断发展,这使DDS合成技术也得到了飞速的发展,它在相对带宽、频率转换时间、相位连续性、正交输出、高分辨力以及集成化等一系列性能指标方面已远远超过了传统的频率合成技术所能达到的水平,完成了频率合成技术的又一次飞跃,是目前运用最广泛的频率合成技术。

2.1.1DDS的基本原理和优化构想

DDS的主要思想是从相位的概念出发合成所需的波形,其结构由相位累加器,正弦ROM查找表, D/A转换器和低通滤波器组成。它的基本原理框图如图2.1所示。

图2.1 DDS原理图

图2.1中, fc为时钟频率, K为频率控制字, N为相位累加器的字长, m为ROM 地址线位数, n为ROM的数据线宽度(一般也为D/A转换器的位数) , fo为输出频率, 输出频率fo由fC和K共同决定: fo = fC×K/2N。又因为DDS遵循奈奎斯特(Nyquist)取样定律:即最高的输出频率是时钟频率的一半,即fo= fC/2。实际中DDS的最高输出频率由允许输出的杂散水平决定,一般取值为fo≤40% fC。

对DDS进行优化设计,目的是在保持DDS原有优点的基础上,尽量减少硬件复杂性,降低芯片面积和功耗,提高芯片速度等。为了减小DDS的设计成本, 对其结构进行优化,优化后DDS的核心结构框图如下所示。

图2.2优化后的DDS核心框图

其中的地址转换器是根据adri[14]的数值判断数值是增长(0~π/2)或减少(π/2~π) ,数据转换器是根据adri[15]的数值判断生成波形的前半个周期(0~π)或者后半个周期(π~2π) 。

2.1.2 DDS的工作原理

图2.3所示是一个基本的DDS电路工作原理框图。

图2.3DDS输出原理框图

电路一般包括基准时钟、频率累加器、相位累加器、幅度/相位转换电路、D/A转换器和低通滤波器(LPF)。每来一个时钟脉冲

f,N位加法器将频率控制数据X与

clk

累加寄存器输出的累加相位数据相加,把相加后的结果Y送至累加寄存器的输入端。累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据X相加;另一方面,将这个值作为取样地址值送入幅度/相位转换电路,幅度/相位转换电路根据这个地址值输出相应的波形数据。最后,经数/模转换(D/A Converter)和低通滤波器(Low Pass Filter)将波形数据转换成所需要的模拟波形。相位累加器在基准时钟的作用下,进行线性相位累加,当相位累加器累加满量时就会产生一次溢出,这样就完成了一个周期,这个周期也就是DDS合成信号的一个频率周期。

其中,输出频率的变化是通过改变累加器中的PIR(相位递增寄存器)中的常数X,便改变了每个周期中的点数,而这些点数正是用来改变整个波形的频率。当一个新的PIR常数被存进寄存器,波形的输出频率便随着下一个时钟周期连续地改变改变相位。相位累加器将依据PIR中存储的常数来改变RAM中的地址,若PIR数值很小(即频率较低),累加器便一步一步地经过每一个RAM地址。当PIR的值较大时,相位累加器将跳跃某些RAM地址。因此,随着频率的增加,每个波形周期中的输出采样点数将减小。实际上,在不同频率的波形中,每个周期给出的点数是不同的。

2.1.3 DDS 的输出频率及分辨率

DDS 输出信号的频率由式(2.1)给定:

M f f N

clk ?=

2

(2.1)

式中,out f 为输出频率,clk f 为系统同步的时钟频率,N 为累加器位数,M 为输入频率的数值。可见,理论上通过设定DDS 相位累加器位数频率控制字N 和基准时钟clk f 的值,就可以产生任一频率的输出。而DDS 的频率分辨率定义:

N

clk f K 2

= (2.2)

也即输出频率的步进制。由于基准时钟一般固定,因此相位累加器的位数就决定了频率分辨率。事实上D/A 转换器的输出波形,相当于是一个连续平滑波形的采样,这样根据奈奎斯特采样定律,采样率必需要大于信号频率的两倍。也就是说D/A 转化器的输出如果要完全恢复的话,输出波形的频率必须小于clk f /2。一般来说,位数越多,分辨率越高。那么M 的最大取有一定的过渡带的,所以输出频率还要有一定的余量,一般来说在实际应用当中DDS 的输出频率不能超过0.4clk f 。本设计采用N=32,CLK f =43MHZ ,设计的分辨率约为0.01HZ 。

第3章 VHDL 实现直接数字频率合成

通过第二章对DDS 基本原理的分析,DDS 的基本原理是以数控振荡器的方式,产生频率、相位可控制的正弦波。电路一般由相位累加器、ROM 波形存储器(正弦,方波查找表)、数模转换器(DAC)、低通平滑滤波器(LPF)构成。

本设计采用N=32,CLK f =43MHZ ,设计的相位累加器相位分辨率约为8.382X10-8度。

3.1 相位累加器的设计

相位累加器是整个DDS 的核心。它的输入是相位增量B △θ,又由于B △θ,与输出频率F OUT 是简单的线形关系:

C L K

O U T N

F F B 2=?θ. (3.1)

信号发生器的输出可以描述为:

)

()](2

2sin[

)sin(11sin 1θθ?θπθθ??-+=+=?+=--B B Af B B A A s K K n

k out . (3.2)

其中1-k θ是指前一个周期的相位值,同样得到:

N

K K B 221

θθ-≈

- (3.3)

由上面的推导,可以看出,只要对相位的量化值进行简单的累加运算,就可以得到正弦信号的当前的相位值,而用累加的相位增量量化值θ?B 决定了信号的输出频率out f ,并呈简单的线形关系。相位累加器的输入又称为频率字输入,事实上当系统基准时钟ckj f 是2N

时,θ?B 就等于out f 。相位累加器由N 位加法器与N 位相位寄存器级联成。此环节是典型的反馈电路:每来一个时钟脉冲,累加器将频率控制字M 与相位寄存器输出的累加相位数据相加,把相加后的结果送至相位寄存器的数据输入端;相位寄存器将累加器上一个时钟作用后所产生的新相位数据反馈到累加器的输入端,以使累加器在下一个时钟的作用下继续与频率控制数据相加。这样,相位累加器在参考时钟的作用下,进行线性相位累加,当累加器累加满量时就会产生一次溢出,完成一个周期性的动作,这个周期就是DDS 合成信号的一个频率周期,累加器的溢出频率就是DDS 输出的信号频率。本设计采用32位的累加器,43M 的晶振其频率分辨率可以达到0.01HZ,累加采用原理输入法。相位累加器实质就是由加法器和寄存器构成.

3.1.1 32位加法器的设计

本设计需要32位的加法器,设计采用串性与并行结合,先构成一个8位加法器,然后用4个八位的加法器构成累加器,其32位的加法器如图3.1所示

图3.1 32位加法器模块图

仿真与分析:

仿真波形如图3.2所示

图3.2 32位全加器仿真波形

ADDER32000能完成32位加法,进位输出正常,达到设计目标。其ADDER32000底层原理图如图3.3所示

图3.3 32位加法器底层图

3.1.2寄存器的设计

本设计多次用到寄存器,D32、D32CO、它们大概原理相同,但有些细小的差别。本质都是一个32位的D触发器,在一个上升沿到来时开始存储。

用VHDL设计32位的触发器,其模块如图3.4所示

图3.4 D32系列触发器

仿真与分析:

D32系列触发器仿真波形如图3.5、3.6所示

图3.5 D32仿真波形

图3.6 D322CO仿真波形

该模块比较简单,它只包括一个进程。CLK是该进程的敏感信号,当CLK的上升沿到来时启动该进程,寄存器就开始寄存数据,防止了敏感信号丢失,其仿真结果可以看到,当上升沿到来时,寄存输入的数据,实现了数据的缓存。

3.2 正弦波ROM

直接数字频率合成器选用基于查询表LUT的方法这类方法,在ROM 中存储完整的或部分的正弦信号,相位累加器的输出作为读取ROM 的地址信号,此时,相位累加器的位数N 决定了输出信号的频率分辨精度,ROM地址位数L决定了相位分辨精度。DDS 查询表ROM所存储的数据是每一个相位所对应的二进制数字正弦幅值,在每一个时钟周期内相位累加器输出序列的高N位对其进行寻址,最后输出为该相位对应的二进制正弦幅值序列可以看出ROM的存储量为n2* D其中N 为相位累加器的输出位数,D为ROM 的输出位数,为了取的高的分辨率L通常取的很大,如24 、32 或48这么高的位数如若L =N则ROM必然要求很高的容量,在一块儿芯片上集成这么大的ROM会使成本提高,功耗增大,且可靠性下降,输出精度受D/A位数的限制,未有很大改善,所以一般L= N,而且提出了很多压缩ROM容量的方法,由于正弦函数具有对称性,所以可以用0—2内的不同的对称性来实现压缩算法,从而提高系统性能。

本设计采用L =32,N =8。正弦ROM 查找表完成sin ()f B 的查表转换,也可以理解成相位到幅度的转换,它的输入是相位累加器的输出,事实上就是ROM 的地址值;输出送往D /A ,转化成模拟信号。

用VHDL 设计8位ROM ,其模块如图3.7所示

图3.7 波形存储器

正弦波ROM 仿真如图3.8所示

图3.8 正弦波仿真波形

由图3.8可知,ADDER 为所对应的相位,输出的幅值为所设计,正弦波选点正常,256点与相位能相互对应。

3.3 DDS 控制电路的设计

这个部分主要是要解决DDS 模块与键盘的接口问题。相当DDS 集成芯片中的控制寄存器和命令寄存器的作用。在FPGA 的实现中,主要设计了两个模块,一个是输入寄存器模块,用于接收键盘写入的各个控制字,另外一个是地址分配模块,这样就可以通过不同的地址来选通FPGA 各个模块工作。输入寄存器模块主要是为了接收写入的频率控制字。在设计中DDS 的采用了32位的相位累加器。这样对于一个频率控制字,键盘要分次分别写入4

个字节;地位向高位移位。基于这样的要求,我们设计了输入寄存器模块。 输入寄存器模块图如图3.9所示:

图3.9 输入控制模块图

CLR是低电平异步清零,EN是高电平使能,CLK是写入时钟,ROUT[31..0]是寄存器输出的32位频率控制字。该模块的Z作过程是这样的,当使能为高,异步清零也为高的时候,KEY_VALID的上升沿时,及按键按下时将数据线上的4bit数据锁存进该模块中,当锁存完4个字节的数据后,自动将这四个字节按照先写入的在高位的顺序合成。仿真与分析

图3.10 输入控制模块图

图3.11 输入控制模块图

图3.10仿真,频率控制字移位寄存;图3.11清零键按下时,输出为零;确认按下时INPUT1传输频率控制字。从仿真可知,该模块能达到设计要求。

3.4 DDS的总体

其低层原理图见附录,下面介绍DDS的总体。

(1)模块图

图3.12 DDS模块图

仿真与分析:

1200KHZ正弦波仿真波形如图3.13所示;

10KHZ正弦波仿真波形如图3.14所示;

图3.13 1200KHZ正弦波仿真波形

图3.14 10KHZ正弦波仿真波形

图3.13、图3.14是两组正弦波的输出信号。其输出频率与频率控制字送来数据对应起来,仿真波形正常。从上述两组波形可以看出,对应的频率控制字输出对应的频率,其幅值与来自频率控制控制的相位相对应。输出的幅值与ROM中的数字相对应,其DDS 的主体已基本达到设计要求。

第4章 硬件实现与外围电路

此章主要介绍了DA 转化,滤波电路,键盘电路,显示电路。外围电路是设计的难点,关系是否能够正常输出,正常输入。

4.1 DAC 模块

我们要选用的芯片是八位DAC ,转换时间小于10μs 。DAC0832是双列直插式8位D /A 转换器。能完成数字量输入到模拟量(电流)输出的转换。图4.1和图4.2分别为DAC0832的引脚图和内部结构图。其主要参数如下:分辨率为8位,转换时间为1μs ,满量程误差为±1LSB ,参考电压为(+10~-10)V ,供电电源为(+5~+15)V ,逻辑电平输入与TTL 兼容。从图4.1中可见,在DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的允许锁存信号为ILE ,第二级锁存器称为DAC 寄存器,它的锁存信号也称为通道控制信号 /XFER 。DAC0832能够达到要求。

4.1.1 DAC0832引脚及其功能

图4.1中,当ILE 为高电平,片选信号 /CS 和写信号 /WR1为低电平时,输入寄存器控制信号为1,这种情况下,输入寄存器的输出随输入而变化。此后,当 /WR1由低电平变高时,控制信号成为低电平,此时,数据被锁存到输入寄存器中,这样输入寄存器的输出端不再随外部数据DB 的变化而变化。

对第二级锁存来说,传送控制信号 /XFER 和写信号 /WR2同时为低电平时,二级锁存控制信号为高电

平,8位的DAC 寄存器的输出随输入而变化,此后,当 /WR2由低电平变高时,控制信号变为低电平,于是将输入寄存器的信息锁存到DAC 寄存器中。 图4.1中其余各引脚的功能定义如下:

(1)、DI 7~DI 0

:8位的数据输入端,DI 7为最高位。

图4.1 DAC0832引脚图

(2)、I OUT1:模拟电流输出端1,当DAC寄存器中数据全为1时,输出电流最大,

当DAC寄存器中数据全为0时,输出电流为0。

(3)、I OUT2:模拟电流输出端2,I OUT2与I OUT1的和为一个常数,即I OUT1+I OUT2=

常数。

(4)、R FB:反馈电阻引出端,DAC0832内部已经有反馈电阻,所以R FB端可以直

接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器

的输出端和输入端之间。

(5)、V REF:参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定0

至255的数字量转化出来的模拟量电压值的幅度,V REF范围为(+10~-10)V。

V REF端与D/A内部T形电阻网络相连。

(6)、Vcc:芯片供电电压,范围为(+5~ 15)V。

(7)、AGND:模拟量地,即模拟电路接地端。

(8)、DGND:数字量地。

图4.2 DAC0832内部结构图

4.1.2 DAC0832的工作方式

DAC0832可处于三种不同的工作方式:

1、直通方式:当ILE接高电平,CS、1

WR和XFER都接数字地时,DAC处于

WR、2

直通方式,8位数字量一旦到达DI7~DI0输入端,就立即加到8位D/A转换器,被转换成模拟量。

2、单缓冲方式:只要把两个寄存器中的任何一个接成直通方式,而用另一个锁存器数

据,DAC就可处于单缓冲工作方式。

3、双缓冲方式:主要在以下两种情况下需要用双缓冲方式的D/A转换。

●需在程序的控制下,先把转换的数据输入输入缓存器,然后在某个时刻再启动

D/A转换。这样,可先选中CS端口,把数据写入输入寄存器;再选中XFER端口,把输入寄存器内容写入DAC寄存器,实现D/A转换。

●在需要同步进行D/A转换的多路DAC系统中,采用双缓冲方式,可以在不同

的时刻把要转换的数据打入各DAC的输入寄存器,然后由一个转换命令同时启动多个DAC转换。先用3条输出指令选择3个端口,分别将数据写入各DAC 的输入寄存器,当数据准备就绪后,再执行一次写操作,使XFER变低同时选通3个D/A的DAC寄存器,实现同步转换。

4.1.3DAC与FPGA的连接

图4.3为FPGA和DAC0832直通方式输出连接图如图4.3所示。

图4.3 FPGA和DAC0832直通方式输出连接图

4.2 滤波电路

设计要求用模拟可编程芯片,低通滤波器为100KHZ的低通滤波器。这里选用ISPPAC10芯片。

4.2.1ISPPAC芯片介绍

系统可编程模拟器件ispPAC(insystem Programmable Analog Circuit)具有在系统可编程技术的优势和特点。设计者可通过开发软件在计算机上快速、方便地进行模拟电路设计、修改,对电路的特性进行仿真,然后用编程电缆将设计方案下载到芯片中。同时还可以对已装配在印制板上的ispPAC进行校验、修改或重新设计。

ispPAC芯片包含有PAC块,代替了传统的模拟器件,他可以是仪器放大器、求和

相关文档
最新文档