当前位置:文档之家› DDS直接数字合成信号源

DDS直接数字合成信号源

目录1 前言 (1)2 总体方案比较与论证 (2)3 系统工作原理 (3)3.1 频率合成技术 (3)3.2 DDS工作原理 (3)3.2.1相位累加器 (4)3.2.2波形存储器 (4)4 单元模块设计与仿真 (5)4.1累加器模块 (6)4.2波形存储器模块 (7)4.3相位调制模块 (8)4.4滤波电路模块 (9)5 芯片介绍 (10)5.1FLEX6016结构及作用 (10)6 总结与体会 (11)7 致谢 (12)8 参考文献 (13)9 附录 (14)附录一、Quartus II仿真原理图 (14)附录二、单元模块Verilog HDL代码 (15)1 前言DDS技术是一种把一系列数字量形式的信号通过DAC转换成模拟量形式的信号的合成技术,它是将输出波形的一个完整的周期、幅度值都顺序地存放在波形存储器中,通过控制相位增量产生频率、相位可控制的波形。

DDS电路一般包括基准时钟、相位增量寄存器、相位累加器、波形存储器、D/A转换器和低通滤波器(LPF)等模块。

相位增量寄存器寄存频率控制数据,相位累加器完成相位累加的功能,波形存储器存储波形数据的单周期幅值数据,D/A转换器将数字量形式的波形幅值数据转化为所要求合成频率的模拟量形式信号,低通滤波器滤除谐波分量。

整个系统在统一的时钟下工作,从而保证所合成信号的精确。

每来一个时钟脉冲,相位增量寄存器频率控制数据与累加寄存器的累加相位数据相加,把相加后的结果送至累加寄存器的数据输出端。

这样,相位累加器在参考时钟的作用下,进行线性相位累加,当相位累加器累加满量时就会产生一次溢出,完成一个周期性的动作,这个周期就是DDS合成信号的一个频率周期,累加器的溢出频率就是DDS输出的信号频率。

DDS有如下优点:频率分辨率高,输出频点多,可达N个频点(N为相位累加器位数);频率切换速度快,可达us量级;频率切换时相位连续;可以输出宽带正交信号;输出相位噪声低,对参考频率源的相位噪声有改善作用;可以产生任意波形;全数字化实现,便于集成,体积小,重量轻。

在各行各业的测试应用中,信号源扮演着极为重要的作用。

但信号源具有许多不同的类型,不同类型的信号源在功能和特性上各不相同,分别适用于许多不同的应用。

目前,最常见的信号源类型包括任意波形发生器,函数发生器,RF信号源,以及基本的模拟输出模块。

信号源中采用DDS技术在当前的测试测量行业已经逐渐称为一种主流的做法。

2 总体方案比较与论证方案一:采用函数发生器(如ICL8038)产生频率可变的正弦波,方波,三角波三种周期性波形。

此方案实现电路复杂,难于调试,且要保证技术要求的指标困难,故方案不理想。

方案二:采用单片机控制合成各种波形。

波形的选择,生成及频率控制均由单片机编程实现。

此方案产生的频率范围,步进值取决于所采用的每个周期的输出点数及单片机执行指令的时间。

此方案的优点是硬件电路简单,所用器件少,且实现各种波形相对容易,在低频区基本能实现要求的功能;缺点是精度不易满足,产生波形频率范围小,特别难以生成高频波形。

方案三:采用DDS技术,将所需生成的波形写入ROM中,按照相位累加原理合成任意波形。

直接数字频率合成技术(DDS)完全不同于我们已经熟悉的直接频率合成技术和锁相环频率合成技术,它的基本原理是利用采样定理,通过查表法产生波形。

随着大规模集成电路技术的飞速发展,DDS技术的优越性已逐步显现出来。

它是建立在采样定理基础上的,首先对需要产生的波形进行采样,将采样值数字化后存入存储器作为查找表,然后再通过查表将数据读出,经过D/A转换器转换成模拟量,把存入的波形重新合成出来。

此方案得到的波形稳定,精度高,产生波形频率范围大,容易产生高频。

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

比较以上三种方案的优缺点,方案三简洁、灵活、可扩展性好,能完全达到设计要求,故采用第三种方案。

3 系统工作原理3.1 频率合成技术频率合成是指以一个或多个参考频率源为基准,在某一频段内,综合产生并输出多个工作频率点的过程。

基于此原理制成的频率源为频率合成器,简称频综。

频率合成技术是现代通讯电子系统实现高性能指标的关键技术之一,很多电子设备的功能实现都依赖于所用频率合成器的性能,因此人们常将频率合成器喻为众多电子系统的“心脏”,而频率合成理论也因此在20世纪得到了飞跃的发展。

3.2 DDS工作原理DDS是一种全数字化的频率合成器,其主要组成为:相位累加器、波形存储ROM、D/A转换器和低通滤波器(LPF)。

其基本结构如图3-1所示。

图3-1.DDS的原理框图DDS的基本原理是利用采样定理,通过查表法产生波形。

每来一个时钟脉,加法器将频率控制字K与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。

累加寄存器将加法器在上一个时钟脉冲作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字K相加。

这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。

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

用相位累加器输出的数据作为波形存储器(ROM)的相位取样地址,这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。

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

低通滤波器用于滤除不需要的取样分量,以便输出频谱纯净的信号。

3.2.1相位累加器相位累加器由32位加法器与32位累加寄存器级联构成,其原理框图如图3-2-1所示。

图3-2-1.相位累加器原理框图由此可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位。

当相位累加器加满量时就会产生一次溢出,溢出频率就是DDS输出的信号频率。

3.2.2波形存储器因为本设计是采用FPGA实现DDS的功能,所以使用FPGA作为数据转换的桥梁,将波形数据存储到其内部的ROM中,并由DDS系统产生波形输出。

需存储在ROM中的波形数据是由单片机采集外部数据,对ROM中存储的标准波形进行各种相应的运算而得到。

波形表存储器ROM有三种方法实现。

方法一:外接ROM用单片机来完成。

可采用并行两片32K的EEPROM存储器AT28C256,共16位位宽,可以实现12位波形表存储,150ns读取速度完全满足20KHZ的工作频率。

实现方案:将归一化的正弦波存储在32KEEPROM 中,波形存储64个点。

然后由单片机根据键盘输入的不同要求,对各点数据乘相应系数并叠加,再将所得到的新数据存储在RAM中,此时便得到了所需要的波形数据表。

方法二:由逻辑方式在FPGA中实现。

方法三:利用Altera公司的含于EAB器件中的兆功能模块LPM_ROM,通过Verilog HDL语言编程来实现。

第一种方法容量最大,但速度最慢,且编程比较麻烦;第二种方法速度最快,但容量非常小;第三种方法兼顾了两者的优点,克服了其缺点。

在选用FPGA 芯片时,本设计选用的是Altera公司的FLEX6000系列芯片FLEX6016,有LPM_ROM模块,因此ROM选用第三种方法。

图3-2-2.波形存储器框图波形存储器中存储的是所要输出波形的一个周期的波形幅度值,它主要完φ到幅度序列S(n)的转化。

从理论上讲,波形存储器可以成信号的相位序列()n存储具有周期性的任意波形。

4 单元模块设计与仿真本设计是在EDA设计平台上实现系统的仿真,所以需要的装置主要有PC 机和Altera公司的Quartus II软件。

Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。

此外,Quartus II 通过和DSP Builder 工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统。

4.1累加器模块本次设计用到的累加器由32位加法器与32位累加寄存器级联构成,其仿真程序由Verilog HDL语言编写,将程序在Quartus II中编译并仿真后结果如下图所示:图4-1-1.32位加法器模块图4-1-2.加法器波形仿真图累加寄存器AC通常简称为累加器,它是一个通用寄存器。

其功能是:当运算器的算术逻辑单元ALU执行算术或逻辑运算时,为ALU提供一个工作区。

累加寄存器暂时存放ALU运算的结果信息。

显然,运算器中至少要有一个累加寄存器。

图4-1-3.32位寄存器模块图4-1-4是相位增量分段寄存器仿真图,从图中可以看出,在时钟的激励下,寄存器的仿真结果是正确的。

图4-1-4.寄存器波形仿真图4.2波形存储器模块波形存储器实际上就是一个ROM,波形存储器存储的是所生成波形一周期采样256点的数据值,通过地址的改变,所输出的值就会变化,因为,地址不一定是连续变化的,所以所输出的值也不是连续的,在同样的时钟周期下,地址间隔的变化也就造成了生成波形的频率的变化。

地址值每溢出一次,便完成了一个周期的输出。

图4-2-1. ROM模块ROM的设计直接调用LPM中的库生成,端口分别为:时钟输入端clock,输出数据总线q[9:0],输入数据总线address[9:0]。

地址总线address[9:0]是相位累加器输出高10位的数据.输出数据总线q[9:0]连接输出缓冲通过FPGA的I/O口输出,作为D/A转换器的输入。

当改变波形存储器中波形数据时,也就改变了输出波形。

图4-2-2. 正弦查找表ROM仿真结果4.3相位调制模块这个模块的功能是接收从单片中传来的数据,即给相位增量寄存器的控制字。

这个模块的底层文件是基于Verilog语言描述的,在顶层上生成相应的功能模块.其生成的原理图如图4-3-1所示:图4-3-1.相位调制器原理图图4-3-2.相位调制器仿真图图4-3-2是相位调制器的波形仿真不,如图所示,在时钟的激励下,相位调制器的的仿真结果是正确的。

4.4滤波电路模块低通滤波器是直接数字频率合成DDS的重要组成部分,其性能的好坏直接影响整个DDS的特性。

常用的滤波器的频率响应有三种:巴特沃斯型(Butterworth),切比雪夫型(Chebyshev)和椭圆型(Cauer)。

相关主题