1、DDS 信号源的设计 与实现实验指导书电子工程学院 窦 衡DDS信号源的设计与实现是针对全校本科生开出的综合性、设计性的实验项目。要求学生先期掌握数字电路的基础知识,以及初步的EDA技术知识。通过本实验项目,可使学生利用VHDL硬件描述语言对比较复杂的、综合性的实际电路系统进行设计、描述,利用EDA开发工具完成系统的综合、仿真验证,并用硬件平台完成系统的硬件实现。着重培养学生的实际动手设计、实现电路系统的能力。一、DDS 引言频率合成技术是将一个(或多个)基准频率变换成另一个(或多个)合乎质量要求的所需频率的技术。在通信、雷达、导航、电子侦察、干扰与抗干扰等众多领域都有应用。随着各种频率合成器
2、和频率合成方案的出现,频率合成技术得到了不断的发展。1971年3月美国学者J.Tierncy,C.M.Rader和B.Gold首次提出了直接数字频率合成(DDS_Direct Digital Synthesis)技术。这是一种从相位概念出发直接合成所需要的波形的新的全数字频率合成技术。同传统的频率合成技术相比,DDS技术具有极高的频率分辨率、极快的变频速度,变频相位连续、相位噪声低,易于功能扩展和全数字化便于集成,容易实现对输出信号的多种调制等优点,满足了现代电子系统的许多要求,因此得到了迅速的发展。目前市面上的DDS芯片,价格昂贵、功能固定单一,应用受到限制。本综合实验项目采用基于FPGA的
3、EDA技术设计实现DDS芯片,并可以根据实际需要对其功能进行灵活地修改,配置。二、DDS 工作原理一个纯净的单频信号可表示为:(2-1)otfUtu2sin只要它的幅度 U 和初始相位 不变,它的频谱就是位于 的一条谱线。为of了分析简化起见,可令 U=1, =0,这将不会影响对频率的研究。即:o(2-2)ttftusin2si如果对(2-2)的信号进行采样,采样周期为 (即采样频率为 ) ,则可cTcf得到离散的波形序列:(2-3)conTfu2si.2,10相应的离散相位序列为:(2-4)fco.,n式中:(2-5)cocofTf2是连续两次采样之间的相位增量。根据采样定理:(2-6)co
4、f21只要从(2-3)出来的离散序列即可唯一的恢复出(2-2)的模拟信号。从(2-2)可知,是相位函数的斜率决定了信号的频率;从(2-5)可知,决定相位函数斜率的是两次采样之间的相位增量 。因此,只要控制这个相位增量,就可以控制合成信号的频率。现将整个周期的相位 2 分成 M 份,每一份为,若每次的相位增量选择为 的 K 倍,即可得到信号的频率:M2(2-7)ccofKTf相应的模拟信号为:(2-8)tfMKtuc2sin式中 K 和 M 都是正整数,根据采样定理的要求,K 的最大值应小于 M 的 1/2。综上所述,在采样频率一定的情况下,可以通过控制两次采样之间的相位增量(不得大于 )来控制
5、所得离散序列的频率,经保持、滤波之后可唯一的恢复出此频率的模拟信号。DDS 工作原理框图如图 2.1 所示:图 2.1 DDS 原理框图其实质是以基准频率源(系统时钟)对相位进行等间隔的采样。由图 2.1见,DDS 由相位累加器和波形存储器(即,ROM 查询表)构成的数控振荡器(NCO_ Numerically Controlled Oscillators) 、数模转换器(DAC)以及低通滤波器(LPF)三部分组成。在每一个时钟周期,N 位相位累加器与其反馈值进行累加,其结果的高 L 位作为查询表的地址,然后从 ROM 中读出相应的幅度值送到 DAC。再由 DAC 将其转换成为阶梯模拟波形,最
6、后由具有内插作用的 LPF将其平滑为连续的正弦波形作为输出。因此,通过改变频率控制字 K 就可以改变输出频率 。of在这里, 。0:1NFWKNM2由上面的分析可得 DDS 的输出频率:(2-9)cNoff2:由上式可知,DDS 的最小输出频率为:(2-10)cNoff21DDS 的频率分辨率为:(2-11)cNoff21DDS 频率输入字的计算:FW(N-1:0) = 2Nf0/fc (2-12)三、 DDS 基本结构组成一个基本的 DDS 系统由数控振荡器(NCO) 、数模转换器(DAC)和低通滤波器(LPF)三部分构成,如图 3.1 所示:图 3.1 DDS 的基本结构数控振荡器(NCO
7、)产生频率可控制的数字正弦载波,通过数模转换器(DAC)得到模拟正弦波,最后经过低通滤波器(LPF)除去各种干扰信号。本实验项目中的设计主要针对数控振荡器(NCO)部分,DAC 部分直接采用实验系统箱提供的数/模转换电路。四、DDS 的设计在 DDS 的设计中其最基本的构件是相位累加器和波形存贮器。通常也可在波形存贮器前面加一个相位调制器,使其具有相位调制的功能,为了防止频率控制字、相位控制字改变时干扰相位累加器和相位调制器的正常工作,分别在这两个模块前面加入了两组寄存器,从而灵活且稳定地控制频率字和相位字的输入。如图 4.1 所示:图4.1DDS的构成图图中相位累加器(phasea)是整个
8、DDS 的核心,在这里完成相位累加功能,其输入是相位增量,又可称为频率控制字 ,由于 与输0:1NFW0:1NF出频率 是简单的线性关系:of(41)coNfFW20:1事实上当基准时钟 是 时, 就等于 。cf0:1FWof相位调制器(phasemod)接收相位累加器的相位输出,在这里加一个相位偏移值,主要用于实现信号的相位调制,如 PSK(相移键控)等,在不使用时可以去掉该部分,或加一个固定的相位控制字。波形存储器(即,正弦 ROM 查找表)(sinlup)把存储在相位累加器中的抽样值转换成正弦波幅度的数字量函数,可理解为相位到幅度的转换。它的输入是相位调制器输出的高 M 位(而并非全部
9、N 位)值,将其作为正弦 ROM 查找表的地址值;查询表把输入的地址相位信息映射成正弦波幅度信号;输出送往DAC,转化为模拟信号。五、DDS 的 VHDL 描述DDS 的整个芯片引脚图,如图 5.1 所示:图 5.1 DDS 芯片引脚图它是整个设计的顶层模块,共有 8 组输入端口和 5 组输出端口:sysclc 是基准时钟信号,resetn 是复位信号,fwwrn,pwwrn 分别是频率和相位输入控制字,freq1,freq2 是两个频率输入字信号,phaseword 是相位调制信号,askword 是幅度调制信号,sin,cos 表示经相位累加器后的输出正弦信号的位置符号,msin,mcos
10、 是经相位调制器后的输出正弦信号的位置符号,askout 是最后输出的正弦波幅度信号。DDS 信号源的底层模块要求采用 VHDL 硬件描述语言进行设计描述。其顶层设计可采用 VHDL 语言描述,也可采用电路原理图方式进行描述。DDS 电原理图可参见附录一。六、DDS 的仿真采用 MAX+plus II 来实现 DDS 的编译和仿真。MAX+plus II 是一种常用的 EDA 工具软件。它支持原理图、VHDL 和Verilog 语言文本文件,以及波形与 EDIF 的格式的文件作为设计输入,并支持这些文件的任意混合设计;具有门级仿真器,可进行功能仿真和时序仿真,能够产生精确的仿真结果。在 MAX
11、+plus II 中完成了源文件的编辑,系统的编译、综合、适配之后,下一步就是进行功能仿真和时序仿真。功能仿真只验证系统设计的功能关系,与实际信号的延时无关。时序仿真是接近真实器件运行的仿真,仿真过程中已将器件特性考虑进去了,因而仿真精度相当高。七、DDS 的硬件实现DDS 硬件实现是建立在电子 EDA 实验开发系统的基础上得以完成的。7.1 器件选择首先,选取 Altera 公司的 FPGA 器件ACEX_1K 系列中的 ACEX_1K50,作为 DDS 的下载芯片。该芯片含有 5 万个典型门,共 144 个引脚,用户可用引脚数为 102 个。 相应的配置芯片是 EPC2LC20。ACEX_
12、1K50 器件的外观视图:图 7-1 ACEX_1K50 引脚图ACEX_1K50 器件的内部资源视图:图 7-1 ACEX_1K50 内部逻辑单元图其次,数模转换器 DAC 选用了 AD558JN。低成本 AD558 是一个完全电压输出 8 位数模转换器。在一个单片上包括输出放大器,全微处理器接口和精密参考电压,另有高精度 8 位数据总线到模拟系统的接口,不要外部元件或作任何修整。其特点为:1、完全 8 位 DAC;2、电压输出2 校准范围;3、内部精密的段间隙参考电压;4、单电源工作(+5V+15V) ;5、全微处理接口;6、快速电压稳定到1/2CSB 为 1s;7、低功耗(75mW) ;
13、8、不需用户调整;9、保证整个温度范围内的单调性;10、全部误差由 到 指定;11、小型minTax(16 引脚双列式直插封装) ;12、单片由激光大晶片微调芯片混合而成;13、低成本。AD558 的功能框图如图 7.3 所示:AD558JN 相关参数指标:封装:塑料温度:0+70相对精度最大误差( 到 ):1/2LSBminTax满量程最大误差( 到 ):2.5LSBia封装式样:N16A图 7.3 AD558 功能框图7.2 器件配置实现将 DDS 编译生成的下载文件通过 MAX+plus II 开发系统下载到 EDA 实验开发系统 ACEX_1K50 芯片的配置芯片 EPC2LC20 中
14、,在每次加电时,该配置芯片中的配置数据将对 ACEX_1K50 芯片进行配置,从而实现前述 NCO 的设计功能。其输出与 AD558JN 连接,最后把输出的模拟信号送到示波器进行测试。配置原理图如图 7.4 所示:图 7.4 ACEX_1K50 芯片的配置原理图八、测试结果DDS 输出的正弦波测试:九、实验报告1、给出DDS信号源的实现原理、设计框图;2、各个模块的VHDL设计描述;3、仿真结果、测试结果及分析;4、总结实验的主要步骤及实验的收获。十、实验内容的扩展1、怎样实现DDS信号源输出信号幅度的控制。2、怎样用该DDS信号源实现FSK、PSK等调制信号。用DDS实现的FSK参考结果如下
15、:附录一、DDS 电路原理图附录二、EDA实验箱介绍一、 概述本系统主要有 CPLD/FPGA 主芯片(或称适配器)和外围丰富的输入输出外设构成。CPLD/FPGA 主芯片的所有用户可用 I/O 口均没有同任一外设固定接死,而是仅仅以插口的形式存在,这为用户用此开发系统设计复杂多样的实验提供了很大的灵活性。所以外设的接口逻辑很友好,外设的驱动已在系统内部为用户设计好,用户可以对所有外设接口用简单的 TTL 逻辑电平进行操作。二、 接口逻辑定义1、CPLD/FPGA 主芯片(适配器)环绕适配器的二排圆插孔是将芯片所有的可用端口直接引出,插孔旁的数字符号就是芯片所有被外连的管脚号(即 Pin Nu
16、mber) 。用户可依据适配器划分后的结果,直接用连线将对应管脚号的插孔同所选外设的接口插孔相连。Altera 公司的 ACEX_1K50 适配器说明引出接线端口标号位置 对应ACEX_1K50 的引脚号电特性 备注8 33 适配器左侧 Pin 8Pin33 20 个I/O可编程输入/ 输出36 72 适配器下侧 Pin 36Pin72 26 个I/O可编程输入/ 输出73 102 适配器右侧 Pin 73Pin102 22 个I/O可编程输入/ 输出109 140 适配器上侧 Pin109Pin140 24 个I/O可编程输入/ 输出其中,Pin 55、Pin 125 是全局时钟输入端( G
17、CLK1、GCLK2) ,Pin 54、Pin 56、 Pin 124、Pin126 是专用输入端。2、时钟源六路单独时钟,按频率范围高低排列为:CLK0 CLK1 CLK2 = CLK4 CLK3 = CLK5其中 CLK0,CLK1 直接对 20M 晶振进行分频;CLK2、CLK3、CLK4、CLK5 经过两级分频,第一级为 JPCK 跳线排,第二级在相应的同标号的跳线排上。具体分频情况可见下表所示:输出信号名称 调节对象 频率可调范围JPCK0 F=20M1 F=20M/242 F=20M/253 F=20M/264 F=20M/275跳线排JPCKF=20M/28CLK 跳线排0 CL
18、K0 F=20M20M/281 CLK1 F=20M/2820M/2142 CLK2 F=JPCKJPCK/283 CLK3 F=JPCKJPCK/284 CLK4 F=JPCK/28JPCK/2145 CLK5 F=JPCK/28JPCK/2143、普通输入输出器件接口(主要为开关、LED 灯)1)静态逻辑高、低电平的提供位于实验箱主板中间偏上的“Low”、 “High”提供 “0”、 “1”逻辑电平。2)开关位于实验箱主板中间偏下位置,它设有逻辑开关(不按为“1” ,按下为“0” )和拨号开关(拨上为“1” 、拨下为“0” ) 。3)LED 灯位于主电路板中间偏上位置有呈交通灯形式的 12
19、 个 LED 灯RED14、GRN14、YEL14,输入高电平亮。4、扫描类接口外设为了节省 I/O 口,包括 8 位七段数码管、键盘、1616LED 点阵在内的外设均采用动态扫描驱动技术(外设位于实验箱主板右侧) 。1)8 位七段数码管共阴级数码管,字形输入端为 a,b,c,d,e,f,g,Dp。它们对应标准数码管的七个段位和一个小数点,高电平有效。SEL2,SEL1,SEL0 译码后确定哪一位数码管被点亮;同时显示只需要产生SEL20信号的时钟足够快(100Hz)。2)1616LED 点阵L0L15对应点阵的行输入,高电平有效。SEL3,SEL2,SEL1,SEL0译码后为点阵列选通,决定
20、哪一列被点亮,同时显示,只要产生此循环地址信号的时钟足够快(100Hz) 。5、模拟器件及接口1)AD558 数/模转换(8 位,0 5V 电压输出) 。2)LM358 单电源二运放。三、 硬件安装及设置本实验开发系统已配备好了相关的主芯片适配器、编程电缆、连接导线及相关软件。本实验中使用的实验箱已自带开关电源,用户只需要接入 220V 电源即可。本实验装置无需用户添加其它设备,仅需与计算机连接便可进行所有实验。硬件安装及使用中需注意的几个步骤如下:1、打开实验箱,检查并核实设备及附件是否完好齐全。2、检查下载编程电缆标识:不同公司的编程电缆是不同的,如 Altera 公司的编程电缆上标有 A
21、ltera 字样。Lattice 公司的电缆有两种:一种是数字器件编程电缆,标有 Lattice 字样,另一种是模拟芯片编程电缆,其上标有 PAC 字样。Xilinx 公司的编程电缆上标有 Xilinx 字样。3、 安装下载编程电缆:确保欲安装的下载电缆与当前实验箱上适配器芯片一致,然后将其 25 针的接插头接到计算机的并行口上,另一端连接到实验箱的 JTAG 编程座上,并确保电缆两端接触良好。注意:本实验箱上有两个编程接口,一个是数字编程接口,标有 DIGITAL 字样,另一个是模拟芯片编程接口,标有 ANALOG 字样。4、 开启实验箱电源,电源指示灯亮。本电源为 5V 开关电源,有短路及自恢复等功能。如电源指示灯不亮,请检查是否已接入 220V 电源或有其它原因所致。5、 编程硬件设置:启动 MAXPLUS II 开发系统,打开 MAX+PLUS II 编程器,即选 Programmer,选 OptionsHardware Setup,按如下对话框设置编程硬件。6、 注意:实验时严禁带电插拔,以防损坏电路芯片。附录三、Max+Plus II 简易用户使用入门指南