基于FPGA的DDS设计Word格式文档下载.docx
《基于FPGA的DDS设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于FPGA的DDS设计Word格式文档下载.docx(31页珍藏版)》请在冰豆网上搜索。
由于该器件具有速度快、集成度高和现场可编程的优点,因而在数字处理中得到广泛应用,越来越得到硬件电路设计工程师的青睐。
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)频率分辨率高,输出频点多,可达个频点
〔假设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是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度。
这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。
1.5FPGA简介
FPGA是英文Field
Programmable
Gate
Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。
用户现场可编程门阵列FPGA是一种高密度的可编程逻辑器件。
由于FPGA器件集成度高,方便易用,开发和上市周期短,在数字设计和电子生产中得到迅速普及和应用,并一度在高密度的可编程逻辑器件领域中独占鳌头。
1.5.1FPGA的结构
FPGA和CPLD都是高密度现场可编程逻辑芯片,都能够将大量的逻辑功能集成于一个单片集成电路中,其集成度已发展到现在的几百万门。
现场可编程门阵列FPGA是由掩膜可编程门阵列(MPGA)和可编程逻辑器件二者演变而未的,并将它们的特性结合在一起,因此FPGA既有门阵列的高逻辑密度和通用性,又有可编程逻辑器件的用户可编程特性。
FPGA通常由接线资源分隔的可编程逻辑单元(或宏单元)构成阵列,又由可编程I/O单元围绕阵列构成整个芯片,其内部资源是分段互联的,因而延时不可预测,只有编程完毕后才能实际测量。
1.5.2FPGA的开发流程
FPGA设计人体分为设计输入、综合、功能仿真(前仿真)、实现、时序仿真(后仿真)、配置下载等六个步骤,设计流程如图1.1所示。
下面分别介绍各个设计步骤。
图1.1FPGA设计流程图
1、设计输入
设计输入包括使用硬件描述语言HDL、状态图与原理图输入三种方式。
2、设计综合
综合,就是针对给定的电路实现功能和实现此电路的约束条件,如速度、功耗、成本及电路类型等,通过计算机进行优化处理,获得一个能满足上述要求的电路设计方案。
3、仿真验证
从广义上讲,设计验证包括功能与时序仿真和电路验证。
仿真是指使用设计软件包对已实现的设计进行完整测试,模拟实际物理环境下的工作情况。
前仿真是指仅对逻辑功能进行测试模拟,以了解其实现的功能否满足原设计的要求,仿真过程没有加入时序信息,不涉及具体器件的硬件特性,如延时特性;
而在布局布线后,提取有关的器件延迟、连线延时等时序参数,并在此基础上进行的仿真称为后仿真,它是接近真实器件运行的仿真。
4、设计实现
实现可理解为利用实现工具把逻辑映射到目标器件结构的资源中,决定逻辑的最佳布局,选择逻辑与输入输出功能连接的布线通道进行连线,并产生相应文件(如配置文件与相关报告)。
通常可分为如下五个步骤:
转换,映射,布局与布线,时序提取和配置。
5、时序分析
在设计实现过程中,在映射后需要对一个设计的实际功能块的延时和估计的布线延时进行时序分析;
而在布局布线后,也要对实际布局布线的功能块延时和实际布线延时进行静态时序分析。
在综合与时序仿真过程中交互使用PrimeTime进行时序分析,满足设计要求后即可进行FPGA芯片投片前的最终物理验证。
6、配置下载
下载是在功能仿真与时序仿真正确的前提下,将综合后形成的位流下载到具体的FPGA芯片中,也叫芯片配置。
FPGA设计有两种配置形式:
直接由计算机经过专用下载电缆进行配置;
由外围配置芯片进行上电时自动配置。
1.6VHDL语言简介
EDA的关键技术之一是要求用行为抽象化方法来描述数字系统的硬件电路,即硬件描述语言(HDL)描述方式。
所以采用硬件描述语言及相关的编辑、综合和仿真等技术是当今EDA领域发展的又一重要特征。
超高速集成电路硬件描述语言VHDL[VHSIC(Very–High–Speed–Integrated–Circuit)HardwareDiscriptionLanguage]作为IEEE-1076标准所规范的硬件描述语言,得到了众多EDA公司和集成电路厂商的支持与认同,已经成为现代电子设计领域的通用描述语言和主要设计手段。
VHDL主要用于描述数字系统的结构、行为、功能和接口,尤其是其强大的行为描述能力和语言结构,只需直接面对对象进行系统级的逻辑行为描述,从而避开了具体的器件结构来进行系统设计。
另外,VHDL的可移植能力和多层次设计描述能力,使得VHDL的设计文件可以被不同EDA工具和各类CPLD器件所支持,并创建为阶层式设计模块综合到CPLD/FPGA器件中,使之以最快的速度上市并自然地转换为ASIC设计。
利用VHDL进行脱离具体目标器件的设计为大系统级、混合系统级和单片系统级设计技术的发展奠定了良好的基础。
正因为VHDL这种与硬件电路和器件系列(CPLD/FPGA)的极小相关性以及其简洁明确的语言结构和便于修改和共享等特点,使得VHDL在电子设计和EDA领域具有更好的通用性和更宽广的适用面。
1.7MAX+PLUSⅡ简介
1、特点
MAX+PLUSⅡ的全称是MultipeArrayMatrixandProgrammableLogicUserSystem(多阵列矩阵及可编程逻辑用户系统),它提供了与结构无关的设计环境,支持FLEX、MAX及Classic系统器件。
MAX+PLUSⅡ具有开放的界面,可与其他工业标准的EDA设计输入、综合及校验工具相连接。
MAX+PLUSⅡ提供丰富的逻辑功能库供设计人员调用,MAX+PLUSⅡ软件支持各种HDL语言设计输入,包括VHDL、VerilogHDL和Altera自己的硬件描述语言AHDL。
2、设计流程
图1.2MAX+PLUSⅡ的设计流程
使用MAX+PLUSⅡ的设计过程包括以下几步,若任一步出错或未达到设计要求则应修改设计,然后重复以后各步,如图1.2所示。
(1)输入设计项目。
逻辑设计的输入方法有原理图形输入、文本输入、波形输入及第三方EDA工具生成的设计网表文件输入等。
输入方法不同,生成设计文件的名称后缀就不同。
(2)编译设计项目。
首先,根据设计项目要求设定编译参数和编译策略。
然后对设计项目进行网表提取、逻辑综合、器件适配,并产生报告文件,延时信息文件和器件编程文件,供分析、仿真和编程使用。
(3)校验设计项目。
设计项目校验方法包括功能仿真、模拟仿真和定时分析。
功能仿真是在不考虑器件延时的理想情况下仿真设计项目的一种项目验证方法,称为前仿真。
模拟仿真是在考虑设计项目具体适配器件的各种延时的情况下仿真设计项目的一种项目验证方法,称为后仿真。
定时分析用来分析器件引脚及内部节点之间的传输路径延时、时序逻辑的性能以及器件内部各种寄存器的建立保持时间。
(4)编程验证设计项目。
用MAX+PLUSⅡ编程器通过Altera编程硬件或其它工业标准编程器,将经过仿真确认后的编程目标文件便如所选定的Altera可编程逻辑器件中,然后加入实际激励信号,测试是否达到设计要求。
第2章总体设计
2.1DDS的基本原理
直接数字频率合成技术(DirectDigitalFrequencySynthesis,即DDFS,一般简称DDS)是从相位概念出发直接合成所需波形的一种新的频率合成技术。
近年来,技术和器件水平不断发展,这使DDS合成技术也得到了飞速的发展,它在相对带宽、频率转换时间、相位连续性、正交输出、高分辨力以及集成化等一系列性能指标方面已远远超过了传统的频率合成技术所能达到的水平,完成了频率合成技术的又一次飞跃,是目前运用最广泛的频率合成技术。
2.1.1DDS的基本原理和优化构想
DDS的主要思想是从相位的概念出发合成所需的波形,其结构由相位累加器,正弦ROM查找表,D/A转换器和低通滤波器组成。
它的基本原理框图如图2.1所示。
图2.1DDS原理图
图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.2DDS的工作原理
图2.3所示是一个基本的DDS电路工作原理框图。
图2.3DDS输出原理框图
电路一般包括基准时钟、频率累加器、相位累加器、幅度/相位转换电路、D/A转换器和低通滤波器(LPF)。
每来一个时钟脉冲
,N位加法器将频率控制数据X与累加寄存器输出的累加相位数据相加,把相加后的结果Y送至累加寄存器的输入端。
累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据X相加;
另一方面,将这个值作为取样地址值送入幅度/相位转换电路,幅度/相位转换电路根据这个地址值输出相应的波形数据。
最后,经数/模转换(D/AConverter)和低通滤波器(LowPassFilter)将波形数据转换成所需要的模拟波形。
相位累加器在基准时钟的作用下,进行线性相位累加,当相位累加器累加满量时就会产生一次溢出,这样就完成了一个周期,这个周期也就是DDS合成信号的一个频率周期。
其中,输出频率的变化是通过改变累加器中的PIR(相位递增寄存器)中的常数X,便改变了每个周期中的点数,而这些点数正是用来改变整个波形的频率。
当一个新的PIR常数被存进寄存器,波形的输出频率便随着下一个时钟周期连续地改变改变相位。
相位累加器将依据PIR中存储的常数来改变RAM中的地址,若PIR数值很小(即频率较低),累加器便一步一步地经过每一个RAM地址。
当PIR的值较大时,相位累加器将跳跃某些RAM地址。
因此,随着频率的增加,每个波形周期中的输出采样点数将减小。
实际上,在不同频率的波形中,每个周期给出的点数是不同的。
2.1.3DDS的输出频率及分辨率
DDS输出信号的频率由式(2.1)给定:
(2.1)
式中,
为输出频率,
为系统同步的时钟频率,N为累加器位数,M为输入频率的数值。
可见,理论上通过设定DDS相位累加器位数频率控制字N和基准时钟
的值,就可以产生任一频率的输出。
而DDS的频率分辨率定义:
(2.2)
也即输出频率的步进制。
由于基准时钟一般固定,因此相位累加器的位数就决定了频率分辨率。
事实上D/A转换器的输出波形,相当于是一个连续平滑波形的采样,这样根据奈奎斯特采样定律,采样率必需要大于信号频率的两倍。
也就是说D/A转化器的输出如果要完全恢复的话,输出波形的频率必须小于
/2。
一般来说,位数越多,分辨率越高。
那么M的最大取有一定的过渡带的,所以输出频率还要有一定的余量,一般来说在实际应用当中DDS的输出频率不能超过0.4
。
本设计采用N=32,
=43MHZ,设计的分辨率约为0.01HZ。
第3章VHDL实现直接数字频率合成
通过第二章对DDS基本原理的分析,DDS的基本原理是以数控振荡器的方式,产生频率、相位可控制的正弦波。
电路一般由相位累加器、ROM波形存储器(正弦,方波查找表)、数模转换器(DAC)、低通平滑滤波器(LPF)构成。
=43MHZ,设计的相位累加器相位分辨率约为8.382X10-8度。
3.1相位累加器的设计
相位累加器是整个DDS的核心。
它的输入是相位增量B△θ,又由于B△θ,与输出频率FOUT是简单的线形关系:
.(3.1)
信号发生器的输出可以描述为:
.(3.2)
其中
是指前一个周期的相位值,同样得到:
(3.3)
由上面的推导,可以看出,只要对相位的量化值进行简单的累加运算,就可以得到正弦信号的当前的相位值,而用累加的相位增量量化值
决定了信号的输出频率
,并呈简单的线形关系。
相位累加器的输入又称为频率字输入,事实上当系统基准时钟
是2N时,
就等于
相位累加器由N位加法器与N位相位寄存器级联成。
此环节是典型的反馈电路:
每来一个时钟脉冲,累加器将频率控制字M与相位寄存器输出的累加相位数据相加,把相加后的结果送至相位寄存器的数据输入端;
相位寄存器将累加器上一个时钟作用后所产生的新相位数据反馈到累加器的输入端,以使累加器在下一个时钟的作用下继续与频率控制数据相加。
这样,相位累加器在参考时钟的作用下,进行线性相位累加,当累加器累加满量时就会产生一次溢出,完成一个周期性的动作,这个周期就是DDS合成信号的一个频率周期,累加器的溢出频率就是DDS输出的信号频率。
本设计采用32位的累加器,43M的晶振其频率分辨率可以达到0.01HZ,累加采用原理输入法。
相位累加器实质就是由加法器和寄存器构成.
3.1.132位加法器的设计
本设计需要32位的加法器,设计采用串性与并行结合,先构成一个8位加法器,然后用4个八位的加法器构成累加器,其32位的加法器如图3.1所示
图