基于DDS的信号发生器的设计(本科毕业设计论文)(4)

2018-11-29 16:08

湖南工业大学本科毕业设计(论文)

模块介绍:

1.波形设定:对任意波形的手动设定

2.D/A转换:主要选用DAC0832来把数字信号转换为模拟信号,在送入单片机进行处理。

3.单片机部分:最小系统

4.键盘:用按键来控制输出波形的种类和数值的输入 5.显示部分:采用LCD显示波形的频率

系统要求是便携式低功耗的,所以在硬件电路建立前首先粗略计算一下整个系统所需的功耗。考虑单片机部分(有最小系统,D/A转换,键盘接口,扩展部分显示等部分)的功耗大小,机器体积小,价格便宜,耗电少,频率适中,便于携带。

2.2.1 DDS的基本原理

直接数字频率合成器(DDFS)的基本原理:DDS是利用采样定理,根据相位间隔对正弦信号进行取样、量化、编码,然后储存在EPROM中构成一个正弦查询表,通过查表法产生波形[10]。它是由参考时钟、相位累加器、正弦查询表和D/A转换器组成,如图2.2所示。

图2.2 直接数字频率合成器原理框图

相位累加器由N位加法器与N位累加寄存器级联构成,其原理框图如图2.3所示。每来一个时钟脉冲Fc,N位加法器将频率控制数据K与累加寄存器输出的累加相位数据相加,把相加后的结果Y送至累加寄存器的输入端。累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据K相加;另一方面以相加后的结果形成正弦查询表的地址,取出表中与该相位对应的单元中的幅度量化正弦函数值,作为取样地址值送入幅度/相位转换电路(即图2.1中的波形存储器)。这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位

9

湖南工业大学本科毕业设计(论文)

到幅值转换。波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。

图2.3 相位累加器原理框图

由此可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位。当相位累加器加满量时就会产生一次溢出,溢出频率就是DDS输出的信号频率。

相位累加器的最大计数长度与正弦查询表中所存储的相位分隔点数相同,在取样频率(由参考时钟频率决定)不变的情况下,由于相位累加器的相位增量不同,将导致一周期内的取样点数不同,输出信号的频率也相应变化。如果设定累加器的初始相位,则可以对输出信号进行相位控制。由采样原理可知,如果使用两个相同的频率合成器,并使其参考时钟相同,同时设定相同的频率控制字、不同的初始相位,那么在原理上就可以实现输出两路具有一定相位差的同频信号。

2.2.2 FPGA实现的直接数字频率合成器

本设计基于DDS的基本原理,利用Altera公司的FPGA芯片FLEX10系列器件设法将波形采样点的值依次通过数模转换器(MDAC)转换成模拟量输出,可达到预期的目的,具有较高的性价比。其基本环节由计数器(Counter)、只读存储器(EPROM)、数模转换器(MDAC)和滤波器等组成(同DDS原理)[11]。具体方案如下:累加器由加法器和D触发器级联组成。在时钟脉冲fc的控制下,对输入频率控制字K进行累加,累加满量时产生溢出。相位累加器的输出对应于该合成周期信号的相位,并且这个相位是周期性的,在0~2?范围内起变化。相位累加器位数为N,最大输出为2-1,对应于2?的相位,累加一次就输出一个相应的相位码,通过查表得到正弦信号的幅度,然后经D/A转换及低通滤波器滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。整个DDS电路的电路结构如图2.4所示。

N 10

湖南工业大学本科毕业设计(论文)

图2.4 FPGA实现的DDS原理框图

2.2.3 移相原理

所谓移相是指两路同频的信号,以其中的一路为参考,另一路相对于该参考作超前或滞后的移动,即称为相位的移动。两路信号的相位不同,便存在相位差,简称相差。若我们将一个信号周期看作是360°,则相差的范围就在0°~360°之间。例如在图2.5中,以A信号为参考,B信号相对于A信号作滞后移相φ°,则称A超前Bφ°,或称B滞后Aφ°。

图2.5 移相示意图

若输出信号A和B的相位差可调,须保证两路信号同步,故应满足以下条件:

(1)输入到两个频率合成器芯片的参考时钟之间的相位偏移要足够小。这个相移会导致输出信号之间产生与之成比例的相移。因此在布线时必须精心设计,使从FPGA输出参考时钟的引脚到两个频率合成器芯片的参考时钟输入引脚的引线距离相等,以保证系统时钟同步。另外,参考时钟上升/下降沿的抖动应尽可能小,并且时间应尽可能短,因为不同频率合成器芯片输入电路的触发电压不同,因此参考时钟的上升/下降沿时间太长会增加输出信号的相位误差。

(2)频率控制字送到频率合成器的数据缓冲区后,还必须通过一个更新时钟才能将数据缓冲区中的数据送到相位累加器,成为有效数据后进行输出。频率合成器有两种更新时钟产生

11

湖南工业大学本科毕业设计(论文)

方式,一种由FPGA内部自动产生,另一种由外部提供。要使两路输出信号同步,必须使用外部I/O更新时钟,同时必须使参考时钟信号(REFCLK)与外部I/O更新时钟(UPDATE CLK)上升沿之间满足图2.6所示的时序关系。

图2.6 参考时钟与更新时钟之间的时序关系图

更新时钟的上升沿必须在参考时钟的下降沿0.3ns之后与下一个下降沿1.5ns之前之间(图2.6中深色区间为有效区域)产生,这样可以使两个频率合成器工作在相同的系统时钟(参考时钟乘以一定倍数)下,且它们的系统时钟脉冲数相差不能超过1个脉冲。

(3)在第一次传送数据之前必须先使频率合成器复位,以保证其输出的相位是可知的。因为DDS芯片的相位输出是连续的,所示复位信号可使两个频率合成器的相位累加器复位到COS(0)状态。新的数据送到相位累加器时,它们之间的相位关系可以得到保持,也可以通过相位控制字来调节两片频率合成器之间的相位差。

12

湖南工业大学本科毕业设计(论文)

第三章 电路设计

3.1 基于FPGA设计DDS电路的设计

FPGA设计的DDS系统主要由相位累加器及相位/幅度转换电路组成。根据设计的具体要求,还设计了一个系统控制电路,这一电路可灵活设计,以突出FPGA的优点所在。另外采用VHDL硬件描述语言实现整个DDS电路,不仅利于设计文档的管理,而且方便设计的修改和扩充,还可以在不同FPGA器件之间实现移植。

3.1.1 FPGA器件的选择

FPGA是现场可编程门阵列(Field Programmable Gate Array)的英语缩写,它是在阵列的各个节点放上由门 、触发器等做成的逻辑单元,并在各个单元之间预先制作了许多连线。在FPGA中常用的编程工艺有反熔丝和SRAM两类。综合考虑设计、仿真和调试的全过程,在此主要考虑选用Altera公司的FLEX10K系列的FPGA芯片。

FLEX10K是Altera公司1995年推出的产品系列,它集合了可编程器件的灵活性,采用0.5μmCMOS SRAM工艺制造,器件规模从10000门到250000门,系统时钟可以达到204MHZ,兼容66MHZ,64 bit PIC,采用独特的嵌入式阵列和逻辑阵列的逻辑实现结构,同一系列相同封装的芯片在管脚上满足兼容。

同时,可为用户提供多达3K?8位的片内RAM,其双口RAM为独立的读写操作提供了独立的读、写端口,且每个I/O口都有寄存器;PLL时钟管理和时钟增强电路提高了系统的性能,并且可以提供时钟倍频;专用进位链路,可实现快速加法器和计数器功能;专用级联链路,支持系统集成;支持多时钟系统的低时滞要求;具有JTAG边界扫描测试内速电路;Altera的I/O多重电压3.3V或3.0V工作模式和FineLine BGA封装极大的提高了FLEX10K系列的灵活性和适应性。并由Altera公司的MAX plusⅡ开发系列提供软件支持。

本设计中采用Altera公司的FLEX10K系列芯片EPF10K10LC84-4,作为实现DDS的FPGA芯片。EPF10K10LC84-4的主要参数如表3.1:

表3.1EPF10K10LC84-4的主要参数

参数 逻辑门数 10000 I/O门数 84 电源 V 5.0 速度等逻辑单RAM 级/ns 元 /bit -4 576 6144 其5V外部电源和TTL、CMOS电平兼,丰富的寄存器资源和I/O口,40MHZ的工作频率满足基准时钟10MHZ的要求,其优良的特性完全可以实现DDS芯片的功能。

14


基于DDS的信号发生器的设计(本科毕业设计论文)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:康复设备的操作规程

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: