基于FPGA的DDS函数波形发生器设计Word格式.docx
《基于FPGA的DDS函数波形发生器设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于FPGA的DDS函数波形发生器设计Word格式.docx(33页珍藏版)》请在冰点文库上搜索。
姓名
版本信息
版本
日期
描述
作者
1.0
2011.09.20
DDS需求分析及总体结构图设计规范
2.0
2011.09.21
波形ROM的定制及仿真
3.0
2011.09.22
多波形数据产生模块的设计
4.0
2011.09.23
波形参数控制器的设计
5.0
2011.09.24
总体模块架构及仿真
6.0
2011.09.25
D/A转换电路、滤波电路设计与电路组装调试
7.0
2011.09.26
设计综合与板级调试
8.0
2011.09.27
设计最终测试及优化
摘要
直接数字频率合成(DirectDigitalSynthesizer(DDS))是七十年代初提出的一种新的频率合成技术,其数字结构满足了现代电子系统的许多要求,因而得到了迅速地发展。
现场可编程门阵列(FieldProgrammableGataArray(FPGA))的出现,改变了现代电子数字系统的设计方法,提出了一种全新的设计模式。
本设计结合这两项技术,开发了一种新的函数波形发生器。
在实现过程中,本设计选用了Altera公司的EP2C70F896C6N芯片作为产生波形数据的主芯片,充分利用了该芯片的超大规模集成性和快速性。
本设计利用Altera的设计工具QuartusII并结合Verilog-HDL语言,采用硬件设计的方法很好地解决了这一问题。
本文首先介绍了函数波形发生器的研究背景和DDS的理论。
然后相近叙述了用EP2C70F896C6N完成DDS模块的设计过程,这是本设计的基础。
接着分析了整个设计中应该处理的问题,根据设计原理就功能上进行了划分,将整个仪器的功能划分为控制模块和外围硬件两个部分来实现。
然后就这三个部分分别详细地进行了阐述。
最后,通过系列实验,详细地说明了本设计的功能、性能、实现和实验结果。
并结合在设计中的一些心得体会,提出了本设计中的一些不足和改进意见。
通过实验说明,本设计达到了预定的要求,并证明了利用FPGA通过DDS计数实现函数波形发生器的方法是可行的。
关键词直接数字频率合成;
现场可编程门阵列;
函数波形发生器
Abstract
DirectDigitalFrequencySynthesis(DDS)wasadvancedrapidlyinearly1970sandhasbeendevelopingowingtoitsentirelydigitalstructure.TheappearanceofFieldProgrammableGatesArrayhaschangedthedesignmethodofdigitaleletronicalsystemandprovidedanewdesignmodel.WiththetwotechnologiesandtheflexiblecontrolabilityofMCU,FunctionalWaveformGenerator,hasbeendeveloped.ThisnewsignalsourcecangeneratehighfrequencywaveformdataandalsocanchangeparametersoftheFunctionalWaveformGenerator.Thispaperwilldescribeitsprocessandcharacteristics.
TheEP2C70F896C6NofCorporationAlteraischosentodothemaindigitalprocessingwork,whichifbasedonitslargescaleandhighspeed.
Inthisdesign,howtodesigntheFPGAchipandtheinterfacebetweentheFPGAandthecontrolchipistheproblem.Withthemethodofsoftwareandhardwareprogramming,thedesignusedthesoftwareQuartusIIandlanguageverilog-HDLsolvesifsuccessfully.
Inthispaper,theprincipleofDDSandbasisofEDAtechnologyisintroducedfirstly.Thenthemasterchipsareintroduced.Theyarethebaseofthedesign.Theproblemsmetinthedesignareanalyzedandthewholefunctionispartitionedintothreeparts:
masterchipandperipheralhardware.Finallythefunction,performance,realization,andexperimentresultsareintroducedindetailthroughsomeexperiments.Thedisadvantageandthingsneedtoadvancearealsolisted.
Throughanexperiment,itistestifiedthatthedesignmeetstherequirementplanedandthewaytousesoftwareandhardwareproprammingmethodandDDSthchnologytorealizeFunctionalWaveformGeneratorisavailable.
KeywordsDDS;
FPGA;
FunctionalWaveformGenerator
第一章绪论
1.1DDS的性能介绍
随着数字信号理论和超大规模集成电路VLSI的发展,在频率合成领域诞生了一种革命性的技术,那就是上世纪七十年代出现的直接数字频率合成DDS(DirectDigitalfrequencySynthesis),它的出现标志着频率合成技术迈进了第三代。
与传统的频率合成相比,DDS技术具有如下优点:
(1)频率切换时间短
DDS的频率转换可以以近似认为是即时的,这是因为它的相位序列在时间上是离散的,在频率控制字改变之后,要经过一个时钟周期之后才能按照新的相位增量增加,所以也可以说它的频率转换时间就是频率控制字的传输时间,即一个时钟周期Tc=1/fc。
如果fc=10MHz,转换时间即为lOOns,当时钟频率进一步提高,转换时间将会更短,但再短也不能少于数门电路的延迟时间。
目前集成DDS产品的频率转换时间可达10ns的量级,这是目前常用的锁相频率合成技术无法做到的。
(2)频率分辨率高
DDS的最低输出频率为fres=fc/2^N,也就是它的最小频率步进量,其中N为相位累加器的倍数,可见只要相位累加器有足够的字长,实现非常高精度的分辨率没有多大困难。
例如可以实现Hz、mHz甚至uHz的频率分辨率,而传统的频率合成技术要实现这样的频率分辨率十分困难,甚至是不可能的。
(3)相位变化连续
DDS改变输出频率实际上改变的是每次的相位增量,即改变相位的增加速度。
当频率控制字由Kl变为K2之后,它是在已有的积累相位Kl
上,再每次增加K2
,相位函数的曲线是连续的,只是在改变频率的瞬间其斜率发生了突变,因而保持了输出信号相位的连续性。
这在很多对频率合成器的相位要求比较严格的场合非常有用。
(4)输出波形灵活
只要在DDS内部加上相应控制如调频控制FM、调相控制PM和调幅控制AM,即可以方便灵活地实现调频、调相和调幅功能,产生FSK、PSK、ASK和MSK等信号。
另外,只要在DDS的波形存储器存放不同波形数据,就可以实现各种波形输出,如三角波、锯齿波和矩形波甚至是任意的波形,当DDS的波形存储器分别存放正弦和余弦函数表时,即可得到正交的两路输出。
(5)具有低相位噪声和低漂移
DDS系统中合成信号的频率稳定度直接由参考源的频率稳定度决定,合成信号的相位噪声与参考源的相位噪声相同。
而在大多数DDS系统应用中,一般由固定的晶振来产生基准频率,所以其具有极好的相位噪声和漂移特性。
(6)易集成、易于调整
DDS中除了DAC和滤波器之外,几乎所有的部件都属于数字信号处理器件,易集成,不需要任何调整,功耗低、体积小、重量轻、可靠性高,且易于控制,使用相当灵活。
由于DDS的诸多优点,使得它在各个领域得到广泛的应用。
DDS不但可以用来在雷达领域实现多点或线性调频频率源,还可以用在数字调制方面实现FSK、QPSK、8PSK等调制,在扩频通信方面实现CDMA/FH工作方式以及任意规律的跳频模式等。
当然DDS技术也有局限性,主要表现在:
(1)输出频带范围有限
由于DDS内部DAC和波形存储器的工作速度限制,使得DDS输出的最高频率有限,目前市场上采用CMOS、TTL、ECL工艺制作的DDS芯片,工作频率一般在几十MHz至400MHz左右。
采用GaAs工艺的DDS芯片工作频率可达2GHz左右。
(2)输出杂散大
由于是全数字结构,不可避免地引入了杂散。
其来源主要有三个:
相位累加器相位舍位误差造成的杂散、幅度量化误差(由存储器有限字长引起)造成的杂散和DAC非理想特性造成的杂散。
杂散是DDS本身固有和缺点,且随着输出带宽的扩展,杂散将越来越明显地成为限制DDS发展的重要因素。
1.2本设计的研究意义
本次设计是利用可编程器FPGA完成一个DDS系统,用FPGA实现DDS技术在某些方向存在着DDS芯片不能取代的优势,用FPGA实现DDS技术比较灵活,可以产生多种调制方式,多种组合方式,并且可以实现多个DDS芯片的功能,更加集成。
专用的DDS芯片在控制方式、置频速率等方面与系统的要求差距很大,这时如果用高性能的FPGA器件设计符合自己需要的DDS电路就是一个很好的解决方法,而且还可以降低外国对高性能DDS芯片禁运的风险。
市场上目前利用专用DDS芯片开发的信号源比较多,它们输出频率高、波形好、功能也较多,但采用FPGA设计的DDS信号源与之相比较,具有如下优势:
专用DDS芯片实现的信号源需要微控制器的协助,才能发挥其优势;
而基于FPGA的DDS信号源,可在一片FPGA芯片上实现信号源的信号产生和控制,并且只要改变存储波形信息的ROM数据,就可以灵活地实现任意波形发生器。
专用DDS芯片实现的信号源功耗大、价格高;
而将DDS信号源设计嵌入到FPGA芯片所构成的系统中,其系统成本不会增加多少,可以实现很多更加复杂的功能,因此,采用FPGA设计的DDS信号源具有很高的性价比。
此外,FPGA芯片支持在线可编程,只要根据设计需求,对系统进行在线分析。
就可以设计出符合要求的最佳设计。
第二章DDS理论与实现工具
2.1DDS基本原理
DDS(DirectDigitalFrequencySynthesis)是从相位概念出发直接合成所需波形的一种频率合成技术。
它是以一个固定频率精度的时钟作为参考时钟源,通过数字信号处理技术产生一个频率和相位可调的输出信号。
从本质来说,它是由设置的二进制控制字对参考时钟做除法运算。
所以,可以认为DDS就是数字信号处理理论的延伸,是数字信号中信号合成的硬件实现问题。
以产生正弦信号的DDS技术来说明DDS的基本原理。
正弦波y=sin(2πx),若以f量化的量化频率对其幅度值进行量化,一个周期可以得到M=f量化个幅度值。
将这些幅度值按顺序存入到ROM。
相位累加器在参考时钟的驱动下,每来1个脉冲,输出就会增加1个步长相位增量X,输出数据作为地址送入ROM中,读出对应的幅度值形成相应的波形。
2.2 参数设定
DDS输出信号频率:
fo=fc×
X/2^N,其中,X为频率累加器设定值;
N为相位累加器位数;
fc为参考时钟频率。
例如,c假定基准时钟为200MHz,累加器的位数为32,频率控制字为:
0x08000000H,即为227,则:
fo=200×
227/232=6.25MHz再设定频率控制字X为0x80000000H,即为231,则:
231/232=100MHz可见,理论上通过设定DDS相位累加器位数N、频率控制字X和基准时钟fc的值,就可以得到任一频率的输出。
频率分辨率为:
fres=fc/2^N,由参考时钟和累加器的位数决定,当参考时钟的频率越高,相位累加器的位数越高,所得到的频率分辨率就越高。
2.3 方案的选择
在利用FPGA制作DDS时,相位累加器是决定DDS性能的一个关键部分。
一方面可以利用进位链来实现快速、高效的电路结构,同时长的进位链会减少其他逻辑的布线资源,限制整个系统速度的提高;
另一方面可以利用流水线技术提高工作频率,但系统频率转换速度会相对降低。
在选择累加器实现方案时需要综合考虑。
正弦波查询表ROM也是制作的重点。
在FPGA中ROM表的尺寸随着地址位数或数据位数的增加呈指数递增,如何在满足性能的前提下节省资源开销。
一方面通过相位累加器的输出截断方式,例如从32位的相位累加器结果中提取高16位作为ROM的查询地址,由此而产生的误差会对频谱纯度有影响,但是对波形的精度的影响是可以忽略的;
另一方面可以根据信号周期对称性来压缩ROM的尺寸,这时系统硬件设计复杂度会有所增加。
因此,需要选取合适的参数和ROM压缩技术,在满足系统性能的前提下使得系统尽量优化。
2.4DDS系统基本结构
下图为DDS系统实现基本结构:
DDS的基本结构包括相位累加器(PD)、正弦查询表(ROM)、数模转换器(D/AC)和低通滤波器(LPF),其中DDS从频率寄存器开始到波形存储表的数字部分通常也可称作数控振荡器(Nc0一NumericalControlOscillator)。
模块NCO实现由数字频率值输入生成相应频率的数字波形,其工作过程为:
(1)确定频率控制字K;
(2)在时钟脉冲正的控制下,该频率控制字累加至相位累加器生成实时数字相位值;
(3)将相位值寻址ROM转换成正弦表中相应的数字幅码。
(4)模块DAC实现将NCO产生的数字幅度值高速且线性地转变为模拟幅度值,
(5)DDS产生的混叠干扰由DAC之后的低通滤波器滤除。
2.5FPGA、CPLD概述
FPGA(现场可编程门阵列)与CPLD(复杂可编程逻辑器件)都是可编程逻辑器件,它们是在PAL、GAL等逻辑器件的基础之上发展起来的。
同以往的PAL、GAL等相比较,FPGA、CPLD的规模比较大,它可以替代几十甚至几千块通用IC芯片。
这样的FPGA、CPLD实际上就是一个子系统部件。
这种芯片受到世界范围内电子工程设计人员的广泛关注和普遍欢迎。
经过了十几年的发展,许多公司都开发出了多种可编程逻辑器件。
比较典型的就是Xilinx公司的FPGA器件系列和Altera公司的CPLD器件系列,它们开发较早,占用了较大的PLD市场。
通常来说,在欧洲用Xilinx的人多,在日本和亚太地区用ALTERA的人多,在美国则是平分秋色。
全球PLD/FPGA产品60%以上是由Altera和Xilinx提供的。
可以讲Altera和Xilinx共同决定了PLD技术的发展方向。
当然还有许多其它类型器件,如:
Lattice、Vantis、Actel、Quicklogic、Lucent等。
尽管FPGA、CPLD和其它类型PLD的结构各有其特点和长处,但概括起来,它们是由以下三大部分组成的:
·
逻辑单元:
为一个二维逻辑块阵列,构成了PLD器件的逻辑组成核心;
连线资源:
连接逻辑块的互连资源;
输入输出块:
由各种长度的连线线段组成,其中也有一些可编程的连接开关,它们用于逻辑块、逻辑块与输入输出块之间的连接。
对用户而言,CPLD与FPGA的内部结构稍有不同,但用法一样,所以多数情况下,不加以区分。
FPGA、CPLD芯片都是特殊的ASIC芯片,它们除了具有ASIC的特点之外,还具有以下几个优点:
1.随着VISI(VeryLargeScaleIC,超大规模集成电路)工艺的不断提高单一芯片内部可以容纳上百万个晶体管,FPGA、CPLD芯片的规模也越来越大,其单片逻辑门数已达到上百万门,它所能实现的功能也越来越强,同时也可以实现系统集成。
2.FPGA、CPLD芯片在出厂之前都做过百分之百的测试,不需要设计人员承担投片风险和费用,设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能设计。
所以,FPGA、CPLD的资金投入小,节省了许多潜在的花费。
3.用户可以反复地编程、擦除、使用或者在外围电路不动的情况下用不同软件就可实现不同的功能。
所以,用FPGA/PLD试制样片,能以最快的速度占领市场。
FPGA、CPLD软件包中有各种输入工具和仿真工具,及版图设计工具和编程器等全线产品,电路设计人员在很短的时间内就可完成电路的输入、编译、优化、仿真,直至最后芯片的制作。
当电路有少量改动时,更能显示出FPGA、CPLD的优势。
电路设计人员使用FPGA、CPLD进行电路设计时,不需要具备专门的IC(集成电路)深层次的知识,FPGA、CPLD软件易学易用,可以使设计人员更能集中精力进行电路设计,快速将产品推向市场。
2.6Cyclone系列介绍
Cyclone是Altera中等规模FPGA,2002年12月份推出。
从那以后,己向全球数千位不同的客户交付了数百万片,成为Altera历史上采用最快的产品。
它采用0.13um工艺、全铜SRAM工艺、1.5V内核供电,容量从2910个逻辑单元到20060个逻辑单元,并嵌入了4级最多为64个RAM块(128x36bit)。
Cyclone器件支持大量的自外数据传输的单端I,O标准,包括LVTTL、LVCMOS、PCL、SSTL-2和SSTL-3。
为满足设计者更快数据速率和信号传输能力的需要,Cyclone器件还设有高达311Mbps的低压差信令(LVDS)兼容通道。
由于采用了特殊的三级布线结构,其裸片尺寸大大降低。
Cyclone器件的性能可与业界最快的FPGA芯片相抗衡,是一种低成本FPGA系列,目前的主流产品,它具有以下特点:
可编程逻辑器件,具有实现宏功能的增强嵌入式阵列(例如实现高效存储和特殊的逻辑功能)和实现一般功能的逻辑阵列,每个EAB的双口能力达到36比特宽,可提供低价的可编程片上系统(system-on-a-programmable-chip,SOPC)集成。
高密度:
2万到20万个典型门,高达294912位内部RAM(每个EAB有4096位,这些都可在不降低逻辑能力的情况下使用)。
系统级特点:
多电压接口支持1.5V、1.8V、2.5V、3.3V和5V设备;
低功耗;
双向I/O性能达到640MHz:
完全支持33MHz或66MHz,3.3V的PCI局部总线标准;
内置JTAG边界扫描测试电路;
可在1.5V内部电源电压下工作;
通过外部的配置器件、智能控制器或JTAG端口可实现在线重配置(ICR,In-Circuitreconfigurability)。
灵活的内部连线:
快速、可预测连线延时的快速通道;
实现算术功能(诸
如快速加法器、计数器和比较器)的专用进位链;
实现高速、多扇入功能的专用
级联链;
实现内部总线的三态模拟;
多达六个全局时钟信号和四个全局清除信
号。
强大的I/O引脚:
每个引脚都有一个独立的三态输出使能控制和漏极配
置选项;
可编程输出电压的功率控制,可减小开关噪声。
具有锁相环(PLL)和全局时钟网络,提供完整的时钟管理方案。
其PLL
具有时钟倍频和分频、相位偏移、可编程占空比和外部时钟输出,进行系统级
的时钟管理和偏移控制。
PLL常用于同步内部器件时钟和外部时钟,使内部工
作的时钟频率比外部时钟更高,时钟延迟和时钟偏移最小,减小或调整时钟到
输出(TC0)和建立(TSU)时间。
本设计中采用的是CycloneII系列的EP2C70F896C6N,它包含68416个逻辑单元,片内集成四个锁相环,采用896脚FBGA封装。
2.7VerilogHDL语言简介
VerilogHDL是目前应用最为广泛的硬件描述语言.VerilogHDL可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合,仿真验证和时序分析等。
VerilogHDL适合算法级,寄存器级,逻辑级,门级和版图级等各个层次的设计和描述.
VerilogHDL进行设计最大的优点是其工艺无关性.这使得工程师在功能设计,逻辑验证阶段可以不必过多考虑门级及工艺实现的具体细节,只需根据系统设计的要求施加不同的约束条件,即可设计出实际电路.
VerilogHDL是一种硬件描述语言(HardwareDescriptionLanguage),为了制作数字电路而用来描述ASICs和FPGA的设计之用。
Verilog的设计者要以C编程语言为基础设计一种语言,可以使工程师比较容易学习。
Verilog是由GatewayDesignAutomation公司于大约1984年开始发展。
GatewayDesignAutomation公司后来被CadenceDesignSystems于1990年所购并。
现在Cadence对于Gateway公司的Verilog和Verilog-XL模拟器拥有全部的财产权。
对于专用集成电路(ASIC)设计人员,则必须首先掌握Verilog,因为在IC设计领域,90%以上的公司都是采用Verilog进行IC设计。
设计人员通过计算机对HDL语言进行逻辑仿真和逻辑综合,方便高效地设计数字电路及