您好,欢迎来到百家汽车网。
搜索
您的当前位置:首页基于FPGA的DDS信号发生器

基于FPGA的DDS信号发生器

来源:百家汽车网
学 号 成绩:

评语

信息学院

《EDA技术及应用》课程论文

题目: 基于FPGA的DDS信号发生器

作 者 班 级 系 别 信息学院 专 业 自动化 完成时间 2010年12月15日

目录

1 绪论 ....................................................................................................................... 2

1.1 DDS的起源与发展及现状 .............................................................................. 2 1.2 DDS的原理和特点 .......................................................................................... 2 1.3 DDS的实现方案的选择与比较 ...................................................................... 4 1.4 基于FPGA实现DDS的整体方案设计 ........................................................... 5 1.5 论文主要完成的工作 ..................................................................................... 6

2 系统的硬件设计 ................................................................................................ 6

2.1 DDS的控制要求 .............................................................................................. 6 2.2方案设计和功能分割 ...................................................................................... 7 2.3各功能模块的设计和实现 .............................................................................. 7 2.4 控制系统的实现 ........................................................................................... 10

3 系统的软件设计 .............................................................................................. 10

3.1 软件整体设计 ............................................................................................... 10 3.2主要模块软件设计.......................................................................................... 11 3.3 实际效果图 ..................................................................................................... 15

4 总结 ..................................................................................................................... 16 5 参考文献 ............................................................................................................ 17

1

1

绪论

1.1 DDS的起源与发展及现状

现代电子测量对信号源频率的准确度、稳定度要求越来越高。一个信号源输出的信号频率的准确度、稳定度在很大程度上是由主振器输出信号频率的稳定度所决定。传统的LC、RC振荡电路已满足不了高性能信号源要求。

随着数字技术在仪表和通行系统中的广泛应用,一种从参考频率源生成多种频率的数字控制方法应运而生,这就是DDS,DDS技术是一种从相位概念出发直接合成所需波形的一种新的全数字频率合成技术。利用DDS电路代替传统的调谐信号源中的LC、RC振荡电路就可以有效地解决上述问题。

在电子行业的基础设施和制造等领域,信号发生器都是有效的通用仪器。它可以生成不同频率和幅度的大量信号,用来评估新电路的运行情况,代替时钟信号,对新产品进行制造测试,及用于许多其他用途。自第一部正弦波发生器问世以来,信号发生器的设计已经发生了多次演进,在当前数字领域中,大多数新型信号发生器正采用DDS这种新技术。DDS在大部分操作中使用数字电路,从而提供了数字操作拥有的许多优势。由于信号只在合成的最后阶段转换到模拟域中,所以在多个方面降低了波形发生器的复杂度,提高了波形发生器的稳定度。

最新的信号发生器利用了DDS的优势,能够把多台不同仪器中的功能融合到一部仪器中。基于DDS的函数发生器现在不仅可移植函数发生器的功能,还可以执行任意波形信号发生器的功能。除此之外,某些仪器还是功能强大脉冲发生器。这些功能会给传统测试法案带来一次。

1.2 DDS的原理和特点

(1)DDS基本原理

直接数字频率综合技术,即DDS技术,是一种新型的频率合成技术和信号产生方法。其电路系统具有较高的频率分辨率,可以实现快速的频率切换,并且在改变时能保持相位的连续,很容易实现频率、相位和幅度的数控调制。

如图1-1所示的DDS的基本原理组成框图中,参考信号为高稳性晶振(如采用50MHz有源晶振),其输出信号用于提供DDS各种部件的同步工作;作为DDS

2

核心的相位累加器,由一个n位字长的二进制加法器和一个有时钟fclk取样的N为取样器组成,作用是对频率控制字进行线性累加;波形存储器ROM中所对应的是一张函数波形查询表,对应不同的相位码址输出不同的幅度编码。当相位控制为0,相位累加输出的序列对波形存储器寻址,得到一系列离散的幅度编码。该幅度编码经D/A转换得到对应的阶梯波,最后经低通滤波器平滑后可得到所需的模拟波形。相位累加器在时钟的作用,进行线性相位累加,当相位累加器满量程时就会产生一次溢出,这样就完成了一个周期,这个周期也就是DDS信号的一个频率周期。

在ROM中,每个地址对应的单元中的内容(数据)都相应于正弦波的离散采样值,整个ROM包含完整的正弦波采样值。

图1-1 DDS基本结构

(2)DDS的特点

DDS在相对带宽、频率转换时间、高分辨力、相位连续性、正交输出以及集成化等一系列性能指标方面远远超过了传统频率合成技术所能达到的水平,为系统提供了优于模拟信号源的性能。其优点如下:

1)、输出频率相对带宽较宽:输出频率带宽为50%fs(理论值)。但考虑到低通滤波器的特性和设计难度以及对输出信号杂散的抑制,实际的输出频率带宽仍能达到40%fs。

2)、频率转换时间短:DDS是一个开环系统,无任何反馈环节,这种结构使得DDS的频率转换时间极短。时钟频率越高,转换时间越短。

3)、频率分辨率极高:若时钟fs的频率不变,DDS的频率分辨率就由相位累加器的位数N决定。

4)、相位变化连续:改变DDS输出频率,实际上改变的每一个时钟周期的相位增量,相位函数的曲线是连续的,因而保持了信号相位的连续性。

3

5)、输出波形的灵活性:只要在DDS内部加上相应控制FM、调相控制PM、和调幅控制AM。另外,只要在DDS的波形存储器存放不同的波形数据,就可以实现各种波形输出,如三角波、锯齿波和矩形波甚至是任意的波形。 当然DDS也有局限性,主要表现如下:

1)、输出频带范围有限:由于受DDS内部DAC和波形存储器(ROM)的工作速度,使得DDS输出的最高频率有限。

2)、输出杂散大:由于DDS采用全数字结构,不可避免地引入了杂散。

1.3 DDS的实现方案的选择与比较

(1)、采用高性能DDS 单片电路的解决方案

随着微电子技术的飞速发展,目前高超性能优良的DDS 产品不断推出,如美国AD 公司推出的DDS 系列:AD9850、AD9851、可以实现线性调频的AD9852、两路正交输出的AD9854 以及以DDS 为核心的QPSK 调制器AD9853、数字上变频器AD9856 和AD9857。AD 公司的DDS 系列产品以其较高的性能价格比,目前取得了极为广泛的应用。

(2)、采用低频正弦波DDS 单片电路的解决方案

此方案的典型电路有Micro Linear公司的电源管理事业部推出低频正弦波DDS单片电路ML2035以其价格低廉、使用简单得到广泛应用。如用2 片ML2035 产生多频互控信号,并与AMS3104(多频接收芯片)或ML2031/2032(音频检波器)配合,制作通信系统中的收发电路等。可编程正弦波发生器芯片ML2035设计巧妙,具有可编程、使用方便、价格低廉等优点,应用范围广泛。很适合需要低成本、高可靠性的低频正弦波信号的场合。 (3)、自行设计的基于CPLD/FPGA 芯片的解决方案

DDS 技术的实现依赖于高速、高性能的数字器件。可编程逻辑器件以其速度高、规模在、可编程,以及有强大EDA 软件支持等特性,十分适合实现DDS 技术。而利用FPGA 则可以根据需要方便地实现种比较复杂的调频、调相和调幅功能,具有良好的实用性。就合成信号质量而言,专用DDS 芯片由于采用特定的集成工艺,内部数字信号抖动很小,可以输出高质量的模拟信号;利用FPGA 也能输出较高质量的信号,虽然达不到专用DDS 芯片的水平,但信号精度误差在允许范围之内。

上述三种实现方案,采用集成DDS芯片固然能实现,但灵活性不强,故我们选用了第三种,采用基于FPGA芯片的自行设计方案。

4

1.4 基于FPGA实现DDS的整体方案设计

(1)系统功能设计

DDS是利用采样定理,根据相位间隔对正弦信号进行取样、量化、编码,然后储存在ROM中构成一个正弦查询表,通过查表法产生波形。它是由参考时钟、相位累加器、正弦查询表和D/A转换器组成,如图1-2所示。

时钟 相 位 波 D 形 N 位 A位位 D/A 累加器查询表 频率控制字K 图1-2 直接数字频率合成器原理框图

低 通 滤波器 输出

在一个完整的数字系统设计中,我们遵循的是自顶向下的设计思想,整个系统由很多的模块来实现。在基于DDS的可编程波形发生器的设计中包括了频率子控制寄存器、相位累加器、同步寄存器、波形查找表、多路选择器。

(2)设计方案

采用直接数字频率合成器,用Verilog语言设计实现。即用累加器按频率要求相对应的相位增量进行累加,再以累加相位值作为地址码,取存放于ROM中的波形数据,经D/A转换、滤波即得所需波形。方法简单,频率稳定度高,易于程控。

(3) FPGA芯片及EDA开发工具的选择

目前FPGA芯片的生产厂商主要有Altera,Xilinx 以及Lattoce 等,他们各自都有相应系列的FPGA芯片上市。Altera是著名的PLD生产厂商,多年来一直占据着行业领先的地位。Altera 的FPGA 具有高性能、高集成度和高性价比的优点,此外它还提供了功能全面的开发工具和丰富的IP 核、宏功能外它还提供了功能全面的开发工具和丰富的IP 核、宏功能库等,综合考虑,选择Altera 的生产的cyclone II EP2C8Q208C8型芯片,它包含有两个PLL和较大容量的SDRAM,正好满足DDS时钟信号的分频或倍频和波形数据的存储。这里我选用Quartus II9.0作为开发工具,它作为Altera的FPGA开发工具,并能提供很好的综合和适配功能,并支持功能仿真与时序仿真,以检验设计项目的逻辑功能,

5

并下载到FPGA开发板上来验证设计的DDS的功能。

1.5 论文主要完成的工作

本论文主要在Quartus II9.0平台上用Veerilog完成DDS核心部件数字部分的设计,即信号的数字幅度编码存储器ROM、频率相位控制字输入、频率相位累加器和频率相位控制字的数码管显示控制器的设计,利用Quartus II9.0软件的时序仿真功能对设计好的电路进行仿真来验证其功能,并下载到FPGA开发板上来验证设计的DDS的功能。

2

系统的硬件设计

2.1 DDS的控制要求

本设计所选的cyclone II EP2C8Q208C8型的FPGA含有八千多个逻辑单元,又加之FPGA是一种很灵活的可编程性,结合DDS自身的特点,因此规定设计的基于FPGA的DDS有以下要求:

(1)为很好的实现正弦波形,提高正弦波在相位上的精度,这里选择相位精度为11位。这里选用8比特的D/A转换器,因此信号的数字幅度编码宽度为8位。所以设计一个深度为2048、宽度为8的正弦波形数字信号ROM模块。

(2)为实现对信号相位的累加和调制,设计一个信号相位的累加和调制的控制器,并产生ROM的地址信号,使之能够控制ROM来实现我们所需要的正弦波形,并具有复位清零功能。

(3)设计一个输入模块,能够实现对频率和相位控制字的直接接按键输入,并有对按键去抖动的功能。

(4)设计一个对控制的频率和相位数字在数码管上实时显示的显示模块。 (5)设计一个锁相环模块,能对输入时钟进行分频或倍频,满足不同时钟输入或信号频率输出的要求,增加DDS的灵活性。

6

2.2方案设计和功能分割

根据DDS的控制要求,所要设计的模块可分为:波形数字幅度编码存储模块、频率相位控制模块、输入模块、显示模块、锁相环模块。采取功能模块的设计能够使设计的DDS具有更好的灵活性和对方案的重朔性,对不同要求的DDS可以通过改变相应的模块来满足要求,省去了大面积修改时易产生混乱的缺点。

2.3各功能模块的设计和实现

根据方案各功能的划分,采取分模块的方式来描述个功能的设计和实现方法:

(1)波形数字幅度编码存储模块(rom):Quartus II软件为设计者提供了丰富的宏功能模块库,采用宏功能模块玩成设计可提高电路设计的可靠性和效率。这里直接调用Megafunctionns库中的参数化存储器模块,设其数据宽度为8比特,存储单元的数目为2048,输出为寄存器型,并将波形数字幅度编码的.mif文件添加到rom中,便完成了波形数字幅度编码存储模块。

mif文件可采用C编程器或MATLAB编程产生,这里选用DDS文件生成器软件生成所需的mif文件,如图2-1所示:

图2-1 DDS文件生成器软件

这款软件的好处就是使用起来非常方便,省去了自己编写程序的工作,只要相应的改变表达式、采样点数和位宽,就能得到相应的波形mif文件或hex

7

文件,可以直接加到rom中去。

(2)控制器模块(contrl):控制模块就是通过输入能对信号的频率和相位进行相位累加,基于DDS的基本结构,设计频率控制字K为一个字节,相位控制字为9位,有复位清零功能。相位累加主要是利用频率控制字和相位控制字来累加出寻址地址:N=N+K;address=N+P;其中N位累加寄存器,初期为0; address为rom寻址地址。其输入频率可在fclk/255~fclk间变化,频率步进为fclk/255,相位可在0°~360°间变化,相位步进为1°。用Verilog HDL语言编程可实现控制器模块的各项功能。

(3)输入模块(load):输入模块要对频率控制字和相位控制字能通过手动直接输入,可采用8×8键盘直接输入0~9等数字,其操作简单,但其需要再设计硬件8×8键盘,为简单起见,这里选用两位按键进行频率控制字和相位控制字的输入,分为选择控制信号和累加控制信号,协调使用来实现其输入功能。采用延时控制来实现对按键的机械抖动去除功能。对频率控制字和相位控制字有锁存实时输出功能。

去抖动具体Verilog HDL程序如下: always @(posedge clk) begin

if(!change) begin //change为按键信号

if(cn==50000&&c==1) begin //cn为计数器,起延时作用 changex<=1;cn<=0;c<=0;end else begin cn<=cn+1;changex<=0;end end

else begin cn<=0;changex<=0;c<=1;end end

通常按键的机械抖动为几十微妙,当检测到change按键下按时,先等待1ms,如果change任然处于下按状态,则产生一个changex信号来代替change按键信号,这样就很好的去除了按键抖动。

(4)显示模块(display):使频率控制字和相位控制字能在8位七段数码管上实时显示,有译码和显示消影功能,以十进制方式显示频率控制字和相位控制字数值,显示位各为三位数字。数码管位选和段选的控制都选用八位信号控制,这样的设计虽然比用硬件译码器控制位选占用的FPGA引脚多,但它省去了更多复杂的外接硬件器件,使设计更为简单,且对于上达一百多个引脚的FPGA来说,

8

引脚还是足够的。

数码管显示消影实现程序具体如下: case(count[10:7]) 0: begin

led_byte<=8'b11000001; led_bit<=8'b11111110; end 2: begin

led_byte<=led0&b; if(base[0]==1) begin if(y) led_bit<=bt;

else led_bit<=8'b11111101; end

else led_bit<=8'b11111101; end

………… ………… ………… …………

default:led_bit<=8'b11111111; endcase

这样采用在两次显示之间熄灭一次数码管的方式能好的达到消影的目的。

(5)锁相环模块(pll):Quartus II软件的Megafunctionns库中有参数化的锁相环模块,可以直接调用。这里设计锁相环模块为简单的单时钟输入和单时钟输出,因设计所选FPGA的输入时钟频率为50MHz,考虑外接D/A转换芯片的性能,设计其乘系数和除系数分别为2和5,即锁相环模块的输出时钟频率为20MHz,用来作为整个系统时钟信号。

9

2.4 控制系统的实现

按控制系统模块连接框图如图2-2所示将各个模块有机的连接起来,使各模块协调运行完成DDS的功能。

clk

N、P 输入模块 显示模块 clk

图2-2 控制系统模块连接框图

N、P 控制器模块 address N、P clks 锁相环模块 存储模块 D/A转换 模拟信号

3

系统的软件设计

3.1 软件整体设计

运用Verilog HDL硬件编程语言编程来实现上述各个模块的各项功能,并将各个模块通过顶层文件将各个模块连接起来,其整体模块图如图3-1所示:

图3-1顶层模块图

10

图中清楚显示了各模块的连接方式和整个系统的输入输出引脚。

3.2主要模块软件设计

在整个设计模块中,控制模块(contrl)和存储模块(rom)是整个设计的核心模块,直接决定DDS性能的好坏,以下就是这两个模块的图形设计模块图和仿真波形图及其他模块图形设计模块图:

(1)控制模块(contrl):其图形设计图和RTL综合视图分别如图3-2和图3-3所示:

图3-2控制模块(contrl)图形设计图

图3-3控制模块(contrl)RTL综合视图

11

用Quartus II对控制模块进行时序仿真,得其时序仿真波形图如图3-4和图3-5所示:

图3-4 整体功能实现时序仿真图

图3-5 K=10,P=0时的时序仿真图

(2)存储模块(rom):其图形设计图和RTL综合视图分别如图3-6和图3-7所示:

12

图3-6存储模块(rom)图形设计图

图3-7存储模块(rom)RTL综合视图

用Quartus II对存储模块进行时序仿真,得其时序仿真波形图如图3-8和图3-9所示:

图3-8整体功能实现时序仿真图

13

图3-9 频率控制时序仿真图

(3)其他模块:锁相环模块(pll)、输入模块(load)、显示模块(display)图形设计图和RTL综合视图分别如图3-10、图3-11和图3-12所示:

图3-10锁相环模块(pll)图形设计图

图3-11 输入模块(load)图形设计图

14

图3-11 显示模块(display)图形设计图

通过以上的综合仿真,系统基本完成了DDS的设计功能。

3.3 实际效果图

基于FPGA的DDS信号发生器设计下载到FPGA开发板上的实际效果图:

显示数:120.L为相位控制字数值;205.b为频率控制字数值 注:此为21-EDA的NIOS II开发板,板载的的FPGA芯片为Altera的cyclone II EP2C8Q208C8。

15

4

总结

这次的课程设计我选择的是基于FPGA的DDS信号发生器设计,选择这

个题目是因为我很早就想学习DDS芯片AD9851的具体工作原理,以便能很好的使用它,这场次课程设计正好能让我掌握DDS的具体工作原理,又能让我学到用FPGA来实现DDS的功能,提高FPGA的应用能力。

在设计过程中遇到过很多的技术问题,如DDS功能的实现、DDS频率相位控制字的输入模块的设计及功能时序仿真等,这些问题的出现让我找到了我的不足之处。通过查找多方资料,基本上解决了上述的问题,通过时序仿真来看,设计的DDS 基本上实现了DDS信号发生器的要求。

虽然之前也有过使用FPGA设计过一些硬件电路,但是之前的设计没有像这次一样经过这么正式的设计,这次的EDA设计规范了我对FPGA的设计方式,让我懂得了用FPGA设计使用的产品时的设计要求及流程,促进了我对EDA技术的热情和对FPGA学习的信心。

非常感谢老师能以课程设计的方式来考察我们对EDA的学习成果,给了我们一个知识学以致用的机会,加深了我们对EDA技术的理解。

16

5 参考文献

[1]王金明.数字系统设计与Verilog HDL(3版).北京:电子工业出版社,2009.1.

[2]李焱.基于DDS控制技术下的型号发生器的设计与实现 .吉林:吉林大学出版社, 2007.9.

[3]汪伟,王元中.基于FPGA的DDS的设计与实现.山西电子技术,2007 [4]刘健. 直接数字频率合成器:[毕业论文].三西:太原科技大学电子信息工程学院通信专业,2009.12.

[5]王建和.采用DDS技术实现的频率合成信号发生器.电子技术,1997.

17

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baijiahaobaidu.com 版权所有 湘ICP备2023023988号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务