1、 第 I 页 共 IV 页基于 FPGA 的 DDS 信号发生器研究与实现摘要任意波形发生器己成为现代测试领域应用最为广泛的通用仪器之一,代表了信号源的发展方向。直接数字频率合成(DDS)是近几年发展起来的一种频率合成新技术,它具有输出信号稳定、分辨率高、相位连续、可控性好等优点,在现代电子系统中应用十分广泛。论文首先介绍了 DDS 的发展及现状,并分析了 DDS 输出杂散噪声抑制等问题。利用 Altera 公司的设计工具 QuartusII 7.2 的软件编程和 Block Diagram的设计方法,将现场可编程逻辑器件(FPGA)和 DDS 技术相结合,完成了 DDS 信号发生器各个模块的
2、设计。采用流水线技术设计了 32 位相位累加器,大大提高了 DDS 系统的工作频率;利用 NiosII 软核实现人机接口和数据计算,波形生成部分采用了多种高性能的模拟集成电路,缩小了整个系统体积,对提高整个系统的性能指标起到了关键作用,满足了系统设计要求。最后,文章给出了主要模块的仿真结果和整个系统的测试结果。测试结果表明,该信号发生器基本达到了预期的设计指标,证明了利用 NiosII 软核实现 DDS 信号发生器的方案是可行的,且具有性价比高、设计灵活、性能可靠等优点。关键词:直接数字频率合成;现场可编程门阵列;流水线;NiosII;信号发生器;FPGA.第 II 页 共 IV 页The R
3、ealization of DDS Function Generator Based on FPGAAbstractArbitrary Waveform Generator(AWG) is one of the most popular instruments in modern testing domains, which represent the developing direction of signal; Direct Digital Frequency Synthesis (DDS) is newly developed technique which has many virtu
4、es ,such as stabile output signal、continuous phase、high precision、easy control etc .It is widely used in modem electron system. The thesis introduces the development and status of DDS,and analyzes some problems, such as the noise suppression of output signal noise. The various module designs of DDS
5、function generator are finished by combining FPGA and DDS technology under the software QuartusII version6.0 environment. The thesis explains the design and realization ways of all the modules ,such as using pipelining to technique to implement the 32- bit phase accumulator,using NiosII to input and
6、 count frequency and adopting high performance analog IC to design waveform generator for reducing the size of the system,which play an very important role in improving the performance of the whole system.Finally,the thesis gives the simulation results of main modules and test results of the whole s
7、ystem .The results indicate that the function generator has basically realized the expected design target .The design proves that using single chip and FPGA to realize DDS random signal generator is feasible, and it also has many virtues,such as low price、easy design and reliable performance.Keyword
8、: Digital Frequency Synthesis; Field Programmable Gate Array; 第 III 页 共 IV 页Pipelining; NiosII; Function Generator; FPGA目 录1 绪 论 .11.1 课题设计的背景和意义 .11.2 国内外相关技术发展状况 .21.3 函数发生器的几种实现方式 .31.3.1 程序控制输出方式 .31.3.2 DMA 输出方式 .31.3.3 可变时钟计数器寻址方式 .41.3.4 直接数字频率合成方式 .41.4 本设计的主要内容 .52 FPGA 直接数字频率合成信号(DDS) .62.
9、1 频率合成技术及发展 .62.2 直接数字频率合成(DDS)的基本原理 .82.3.1DDS 主要性能指标 .102.3.2 实际 DDS 输出噪声问题 .123 FPGA 信号发生器的设计基础 .153.1 硬件描述语言 .153.2 开发工具 Quartus II 7.2 .153.2.1 Quartus II 的特点 .163.2.2 使用 Quartus II 开发的基本步骤 .163.3 FPGA/CPLD 设计技术 .183.3.1FPGA/CPLD 基本原理简介 .183.3.2 基本特点 .183.3.3 设计方法 .193.3.4 FPGA 高端开发技术 .213.3.5
10、设计流程 .224 FPGA 信号发生器的软硬件设计 .24第 IV 页 共 IV 页4.1 DDS 的几种设计方案 .244.1.1 采用专用 DDS 集成芯片的技术方案 .244.1.2 采用单片机+FPGA 的技术方案 .264.1.3 采用 Nios II 软核的技术方案 .274.2 Nios II 软核设计 .284.2.1 软核处理器的设计 .284.2.2 编码键的设计 .324.3 DDS 子系统设计 .334.3.1 频率字锁存模块 lockl 的设计 .344.3.2 流水线型相位累加器设计 .344.3.3 双口 RAM 模块 .374.3.4 Quartus 时序仿真
11、图 .394.4 模拟子系统设计 .404.4.1 D/A 转换电路设计 .404.4.2 滤波电路及放大驱动电路设计 .404.4.3 驱动电路设计 .415 结论 .436.1 完成了哪些工作 .436.2 进一步研究方向 .44附录 .45参考文献 .53致谢 .55第 1 页 共 55 页1 绪 论信号源发展到今天,它的应用领域已经非常的广泛。教学科研、工业控制、通信产品研发等诸多领域均需要信号源模块的参与才能实现完善的功能。信号发生器的核心技术是频率合成技术,主要方法有:直接模拟频率合成 1、锁相环频率合成(PLL) 23、直接数字合成技术(DDS) 4。不同的频率合成技术,实现方案
12、也多种多样 5。比如可以利用 DSP 芯片进行设计,可以利用可编程逻辑器件(FPGA/CPLD )进行设计,还可以利用专用的频率合成芯片来进行产品设计。1.1 课题设计的背景和意义波形发生器即通常所说的信号发生器是一种常用的信号源,广泛应用于通信,雷达,测控,电子对抗以及现代化仪器仪表等领域 6,是一种为电子测量工作提供符合严格技术要求的电信号设备,和示波器、电压表、频率计等仪器一样是最普通、最基本也是应用最广泛的电子仪器之一,几乎所有电参量的测量都要用到波形发生器。随着现代电子技术的飞速发展,现代电子测量工作对波形发生器的性能提出了更高的要求,不仅要求能产生正弦波、方波等标准波形,还能根据需
13、要产生任意波形,且操作方便,输出波形质量好,输出频率范围宽,输出频率稳定度、准确度及分辨率高,频率转换速度快且频率转换时输出波形相位连续等。可见,为适应现代电子技术的不断发展和市场需求,研究制作高性能的任意波形发生器 (Arbitrary waveform Generator,简称 AWG)7十分有必要,而且意义重大。一般传统的信号发生器都采用谐振法,即用具有频率选择性的回路来产生正弦振荡,获得所需频率。这种信号发生器虽然具有输出信号频率范围宽,结构简单等优点,但输出波形单一,不能产生任意波形,且频率稳定度和准确度较差,频率稳定度一般劣于 10-5/分,频率准确度一般在0.5%以下,对于作为精
14、密测量用的信号发生器,其频率稳定度一般要求达到 10-610-7。因此传统的信号发生器己经越来越不能满足现代电子测量的需要,正逐步退出历史舞台。而基于频率合成技术制成的信号发生器,由于可以获得很高的频率稳定度和精确度,因此发展非常迅速,尤其是最近随着现代电子技术的不断发展,其应用更是有了质的飞跃 8。第 2 页 共 55 页1.2 国内外相关技术发展状况波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、振动激励、通讯和
15、仪器仪表领域。在 70 年代前,信号发生器主要有两类:正弦波和脉冲波,而函数发生器介于两类之间,能够提供正弦波、余弦波、方波、三角波、上弦波等几种常用标准波形,产生其它波形时,需要采用较复杂的电路和机电结合的方法。这个时期的波形发生器多采用模拟电子技术,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形,则电路结构非常复杂。同时,主要表现为两个突出问题,一是通过电位器的调节来实现输出频率的调节,因此很难将频率调到某一固定值;二是脉冲的占空比不可调节。在 70 年代后,微处理器的出现,可以利用处理器、A/D 和 D/A,硬件和软件使波形发生器的功能扩大,产生更
16、加复杂的波形。这时期的波形发生器多以软件为主,实质是采用微处理器对 DAC 的程序控制,就可以得到各种简单的波形。90 年代末,出现几种真正高性能、高价格的函数发生器,但是 HP 公司推出了型号为 HP77OS 的信号模拟装置系统,它由 HP877OA 任意波形数字化和HP1776A 波形发生软件组成。HP877OA 实际上也只能产生 8 中波形,而且价格昂贵。不久以后,Analogic 公司推出了型号为 Data-2020 的多波形合成器,Leeroy 公司生产的型号为 9100 的任意波形发生器等。到了二十一世纪,随着集成电路技术的高速发展,出现了多种工作频率可过 GHz 的 DDS 芯片
17、,同时也推动了函数波形发生器的发展,2003 年 Agilent 的产品 3322OA 能够产生 17 种波形,最高频率可达到 20M,2005 年的产品 N6O3OA能够产生高达 50OMHz 的频率,采样的频率可达 1.25GHz 9。由上面的产品可以看出,函数波形发生器发展很快近几年来,国际上波形发生器技术发展主要体现在以下几个方面:1.过去由于频率很低应用的范围比较狭小,输出波形频率的提高,使得波形发生器能应用于越来越广的领域。波形发生器软件的开发正使波形数据的输入第 3 页 共 55 页变得更加方便和容易。波形发生器通常允许用一系列的点、直线和固定的函数段把波形数据存入存储器。同时可
18、以利用一种强有力的数学方程输入方式,复杂的波形可以由几个比较简单的公式复合成 v=f(t)形式的波形方程的数学表达式产生。从而促进了函数波形发生器向任意波形发生器的发展,各种计算机语言的飞速发展也对任意波形发生器软件技术起到了推动作用。目前可以利用可视化编程语言(如 Visual Basic,Visual C 等等)编写任意波形发生器的软面板,这样允许从计算机显示屏上输入任意波形,来实现波形的输入。2.与 VXI 资源结合。目前,波形发生器由独立的台式仪器和适用于个人计算机的插卡以及新近开发的 VXI 模块。由于 VXI 总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用 VXI 系统测量
19、产生复杂的波形,VXI 的系统资源提供了明显的优越性,但由于开发 VXI 模块的周期长,而且需要专门的 VXI 机箱的配套使用,使得波形发生器 VXI 模块仅限于航空、军事及国防等大型领域。在民用方面,VXL 模块远远不如台式仪器更为方便。3随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又重新繁荣起来。不过现在新的台式仪器的形态,和几年前的己有很大的不同。这些新一代台式仪器具有多种特性,可以执行多种功能。而且外形尺寸与价格,都比过去的类似产品减少了一半。1.3 函数发生器的几种实现方式任意波形发生器得实现方案主要有程序控制输出、DMA 输出、可变时钟计数器寻址和直接数字频率合成等多种方式
20、。1.3.1 程序控制输出方式计算机根据波形的函数表达式,计算出一系列波形数据瞬时值,并定时地逐个传送给 D/A 转换器,合成出所需要的波形。这种方式具有电路简单、实现方便等特点。但数据输出时不准确,会影响信号的频率和相位;波形数据输出依靠指令的执行来完成,当需要同时输出多个信号时,相邻信号通道的输出存在时间差;受计算机运行速度的限制,输出信号的频率较低。1.3.2 DMA 输出方式DMA(direct memory access)方式输出不依赖于程序的执行,由 DMA 控制器申请总线控制权,通过地址总线给出存储器的地址信号,同时选通存储器和第 4 页 共 55 页D/A 转换器,在两者之间建
21、立直接的数据通道,使存储器相应单元中的波形数据传送给 D/A 转换器转换后输出信号。DMA 方式输出信号,可以大大提高信号的数据输出速率。但也存在一些问题,如波形输出期间,微处理器因为失去了总线控制权,无法进行其他操作;在一个 DMA 操作中,只能在一个 D/A 转换器和存储器之间传送数据,无法实现多通道的信号输出。1.3.3 可变时钟计数器寻址方式采用可变时钟计数器寻址波形存储器表,该方法是一种传统型任意波形发生器。原理框图如图 1-1 所示:图 1-1 可变时钟计数器寻址的任意波形发生图中的计数器实际上是一个地址发生器,计数器的触发时钟脉冲由一个频率可以控制的频率发生器产生,通过改变频率发
22、生器的频率设置值,实现调整计数器产生的地址变化速率,从而改变输出的任意波形的频率。计数器产生的地址码提供读出存储器中波形数据所需要的地址信号,波形数据依次读出后送至高速 D/A 转换器,将之转变为模拟量,经低通滤波器后输出所需的波形。可见传统的任意波形发生器采用可变时钟和计数器寻址波形存储器表,此方法的优点是产生的地址连续,输出波形质量高。但其取样时频率较高,对硬件的要求也较高,而且常需多级分频或采用高性能的锁相环,其中分频式的任意波形发生器频率分辨率低,锁相式的任意波形发生器频率切换速度慢。1.3.4 直接数字频率合成方式DDS(direct digital synthesizer)是在一组
23、存储器单元中按照信号波形数据点的输出次序存储了将要输出波形的数据,在控制电路的协调控制下,以一定的速率,周而复始地将波形数据依次发送给 D/A 转换器转换成相应的模拟信号。由于用硬件电路取代了计算机的控制,信号输出稳定度高。如需更新输出信号,不必改动任何线路和元器件,只需改写存储器中的波形数据即可。更主可变时钟源计数器 波形存储器D/A 转换器低通滤波器第 5 页 共 55 页要的是,可以将微处理器从信号输出的负担中解脱出来。如图 1-2 为其工作流程图。图 1-2 直接数字频率合成方式的任意波形发生器1.4 本设计的主要内容本论文主要的工作是:首先介绍 DDS 的原理和结构,根据 DDS 的
24、结构、参数,对 DDS 输出信号的频谱进行理论分析,并对如何提高信号输出频率和波形质量等技术方法作了简要研究。提出了一种优化的 32 位累加器流水线技术,完成了该 DDS 信号发生器各模块设计及硬件实现。系统的核心是 FPGA 模块,完成 DDS 部分的设计,内部采用 SOPC 设计,将NiosII 软核作为控制核心,最后通过 USB 与电脑相连完成人机界面控制,用于频率字和波形的输入与计算。完成了电路总体设计和各个模块的硬件设计,同时完成了相关系统软件的编制及系统调试;并对系统各主要模块进行仿真。根据需要达到如下技术指标:(l)输出信号频率范围 100Hz200KHz,频率分辨力小于100H
25、z。(2)具有方(矩形)波、正弦波、锯齿波、三角波等输出。并完成对整个系统的一些指标的测量,主要包括对输出频谱和频率精度的测量等。(3)输出波形幅度范围 05V(峰-峰值) ,可按步进 0.1V(峰-峰值)调整。(4) 具有显示输出波形的类型、重复频率(周期)和幅值的功能。波形数据设置频率设置频率信号源低通滤波器频率控制字地址发生器D/A 转换器波形存储器第 6 页 共 55 页2 FPGA 直接数字频率合成信号(DDS)2.1 频率合成技术及发展所谓频率合成,就是以一个精确度、稳定度较高的石英晶体振荡器作为基准频率,并利用加、减、乘、除等基本运算技术,以获得与石英晶体振荡器同等精确度和稳定度
26、的大量离散频率信号。实现频率合成的电路称为频率合成器。频率合成技术是现代通讯系统实现高性能指标的关键技术之一,很多电子设备的功能实现都依赖于频率合成器的性能,因此,频率合成理论也在二十世纪得到了飞速的发展,频率合成技术因而得到了广泛的应用。目前,频率合成技术已成为电子技术、空间技术和通信技术等现代电子系统的重要组成部分之一。不同用途的频率合成器其指标要求也有差异,例如通信机中的频率合成器与作为标准信号源的仪器用频率合成器就有很大的不同,军用和民用设备差异更大,因此难以给出完整的指标系列及其数值范围。随着现代科技的发展,尤其是电子技术的发展,对信号的要求越来越高,在很多场合所需的信号可能是跨波段
27、、多频率段、高稳定性的。在通信、数字电视、卫星定位、航空航天、雷达和电子对抗、电子测量遥测等技术领域内,对信号源频率的准确性和稳定性提出了越来越高的要求。近年来,频率合成技术得到了很大发展。早期的频率合成器由一组晶体组成的晶体振荡器,要输出多少个频率点,就需要多少个晶体,频率的切换由人工来完成,频率的准确度和稳定度主要由晶体来决定,很少与电路有关。随着频率合成技术的发展,上述合成法被一种叫做非相干合成的频率合成方法所代替,非相干合成法虽然也使用晶体,但它的工作方式是以少量的晶体产生许多频率。它与早期的合成法相比,成本降低了,而稳定性提高了。后来,人们提出了相干合成法,相干合成法就是由一个准确度和稳定度达到要求的参考源产生许多频率的方法。它和非相干合成法的主要区别就是在频率合成的过程中所使用的频率源的数目不同。非相干合成用了许多晶体振荡器,而相干合成只使