课程设计任务书(指导教师填写)课程设计名称现代电子系统课程设计学生姓名专业班级设计题目数字移相信号发生器设计一、课程设计目的掌握数字移相信号发生器的工作原理和设计方法;掌握DDS技术的工作原理;掌握GW48_SOPC实验箱的使用方法;了解基于FPGA的电子系统的设计方法。
二、设计内容、技术条件和要求基于DDS技术利用VHDL设计并制作一个数字式移相信号发生器。
(1)基本要求:a.频率范围:1Hz~4kHz,频率步进为1Hz,输出频率可预置。
b.A、B两路正弦信号输出,10位输出数据宽度c.相位差范围为0~359°,步进为1.4°,相位差值可预置。
d.数字显示预置的频率(10进制)、相位差值。
(2)发挥部分a.修改设计,增加幅度控制电路(如可以用一乘法器控制输出幅度)。
b.输出幅度峰峰值0.1~3.0V,步距0.1Vc.其它。
三、时间进度安排布置课题和讲解:1天查阅资料、设计:4天实验:3天撰写报告:2天四、主要参考文献何小艇《电子系统设计》浙江大学出版社2008.1潘松黄继业《EDA技术实用教程》科学出版社2006.10王勇《EDA》实验指导书电工电子实验教学中心2006.8指导教师签字:2009年12月14日摘要在现代的信号分析和处理领域,高精度的频率和相位测量非常重要,它是理论和工程分析的重要工具。
使用模拟或数字示波器测量频率,是我们最常用的方法,同时也是不是很精确的方法;同时如果要测量两路信号的相位差,使用示波器又不是很方便。
而且示波器的价格最低需要几千元,对于普通人来讲不是最佳选择。
在本文中,我们设计了一个数字移相信号发生器设计。
主要分为如下几个部分:●键盘和显示模块:用键盘输入,数码管显示频率控制字和相位控制字。
采用按键复用的方法。
●数字DDS模块:分为频率合成模块和相位合成模块。
具体的方案论证将在下面进行。
●时钟模块:由于系统需要时钟频率和实验箱上的不匹配,需要频率变换,具体的方案论证将在下面进行。
●高速DA模块:输出两个频率和幅度相同相位不同的正弦波,且同时频率和相位差可调。
关键词:频率、移相、VHDL、FPGA、DDS目录一.任务解析 (5)1 任务与要求 (5)2 系统原理框图 (5)二.系统方案论证 (5)2.1 总体方案与比较论证 (5)2.2系统原理与结构 (6)2.2.1主要芯片选型 (7)2.2.2系统结构 (7)三. 数字DDS(DDFS)模块设计 (8)3.1 DDFS原理 (8)3.2频率合成模块 (9)3.3相位合成模块 (10)3.4数字DDS实现方式 (11)四.时钟模块设计 (13)4.1设计方案论证 (13)4.2方案的实现 (14)五. 键盘和显示模块设计 (14)5.1 硬件设计 (14)5.2 软件设计及仿真 (15)六. 高速DA模块 (16)七.程序整体设计 (16)7.1模块整合 (16)7.2整体仿真 (18)八. 总结 (18)8.1测试性能概览 (18)8.2 系统误差原因分析 (19)8.2.1噪声的混入: (19)8.2.2数字式移相信号发生器的误差 (19)8.3心得体会 (19)一.任务解析1 任务与要求基于DDS技术利用VHDL设计并制作一个数字式移相信号发生器。
a.频率范围:1Hz~4kHz,频率步进为1Hz,输出频率可预置。
b.A、B两路正弦信号输出,10位输出数据宽度c.相位差范围为0~359°,步进为1.4°,相位差值可预置。
d.数字显示预置的频率(1-4000)(10进制)、相位差值(00-FF)。
2 系统原理框图图1-1 DDS数字移相调频原理框图二.系统方案论证2.1 总体方案与比较论证方案一:采用函数发生器(如ICL8038)产生频率可变的正弦波周期性波形。
此方案实现电路复杂,难于调试,且要保证技术要求的指标困难,故方案不理想。
方案二:采用单片机控制合波形波形频率控制由单片机编程实现。
此方案产生的频率范围,步进值取决于所采用的每个周期的输出点数及单片机执行指令的时间。
此方案的优点是硬件电路简单,所用器件少,且实现各种波形相对容易,在低频区基本能实现要求的功能;缺点是精度不易满足,产生波形频率范围小,特别难以生成高频波形。
方案三:采用DDS技术,将所需生成的波形写入ROM中,按照相位累加原理合成任意波形。
此方案得到的波形稳定,精度高,产生波形频率范围大,容易产生高频。
方案四:锁相频率合成技术方案,优点:有稳定的频率、稳定的边沿,具有易预置、易调节的优点,控制和调节电路都是数字电路,工作稳定可靠。
缺点:锁相环的锁相特性,环路滤波器既要保证有很好的滤波特性,又要求它能够使锁相环有很快的捕捉时间,电路的复杂程度中等。
比较以上四种方案的优缺点,方案三简洁、灵活、可扩展性好,能完全达到设计要求,故采用第三种方案。
2.2系统原理与结构2.2.1主要芯片选型EP1C0Q240C8(Cyclone系列FPGA):Cyclone(飓风):Altera中等规模FPGA,2003年推出,0.13um工艺,1.5v 内核供电,与Stratix结构类似,是一种低成本FPGA系列,是目前主流产品,其配置芯片也改用全新的产品。
DA5651:10位超高速DAC(转换速率最高150MHz)。
2.2.2系统结构系统从硬件上看主要由显示模块、FPGA模块(时钟)、DA转换模块、按键输入模块。
硬件和软件设计更方便,利于以后的扩展;FPGA模块实现波形数据的存储与输出;DA转换模块作用将波形数据转换为模拟量。
显示器用于显示频率、相位等。
硬件系统框图见图2.2.1。
键盘数模转换FPGA显示图2.2.1 硬件系统框图系统从功能上看可分为:键盘和显示模块,数字DDS模块(分为频率合成模块和相位合成模块),时钟模块、高速DA模块。
功能系统框图见图2.2.2。
键盘和显示频率合成模块相位合成模块高速DA模块时钟模块DDS图2.2.2 功能系统框图三.数字DDS(DDFS)模块设计3.1 DDFS原理DDFS 以数控的方式产生频率、相位和幅度可以控制的正弦波,DDFS 的基本结构主要由相位累加器、相位调制器、正弦ROM 查找表和D/A 构成,相位累加器是整个DDFS 核心,完成相位累加运算。
相位累加器、相位调制器、正弦ROM 查找表是DDFS 结构中的数字部分,由于具有数控频率合成的功能,又合称为NCO(Numerically Controlled Oscillators)。
直接数字频率合成(DDFS)移相原理是:先将正弦波信号数字化,并形成一张数据表存入两片ROM芯片中,此后可通过两片D/A转换芯片在计数器的控制下连续地循环输出该数据表,就可获得两路正弦波信号。
当两片D/A转换芯片所获得的数据序列完全相同时,则转换所得到的两路正弦波信号无相位差称为同相。
当两片D/A转换芯片所获得的数据序列不同时,则转换所得到的两路正弦波信号就存在着相位差。
相位差的值与数据表中数据的总个数及数据地址的偏移量有关。
这种处理方式的实质是将数据地址的偏移量映射为信号间的相位值。
数据的偏差可以通过外部微处理器来获得相应的数字量输入,这个数值对应着正弦信号的移相角度。
数字移相信号发生器的核心是 DDFS ,相位累加器输出与相位增量相加,相加后的结果形成正弦查询表地址,取出表中与该相位对应的单元中的幅度量化正弦函数值,经高速 D/A 转换器输出模拟信号。
两路信号的相位差用相位字来控制,只要相位字不同,就可得到两路不同相位的移相信号。
一张数据表格由 1024 个数据点组成,存储了一个周期的正弦波,相位差的分辨率为:0.0061359222210===ππD P ,具有很高的相位分辨率。
3.2频率合成模块设计要求频率范围:1Hz ~4kHz ,频率步进为1Hz ,因此频率控制字需要N 应该满足40002≥N ,N ≥12,本设计取N=12,频率控制字为12位,累加器的位数应不小于(12+10)=22,才能满足波形精度不受输入频率的影响,本设计采用32位(低10位不用)。
模块连接图如图3.2.1所示。
如图3.2.1 频率合成模块连接图3.3相位合成模块设计要求相位差范围为0~359°,步进为1.4°,因此需要8位的相位控制字,加法器和寄存器采用sin_rom和相位控制字的最大值10位,模块连接图如图3.3.1所示如图3.3.1 相位合成模块连接图3.4数字DDS实现方式图3.4.1 DDS模块RTL图图3.4.2 DDS模块仿真波形四.时钟模块设计4.1设计方案论证根据频率范围和累加器位数,以及其连接的情况可以计算出,DDFS模块所需要的系统时钟频率为MHz2104+,因实验箱上没有4MHz的时钟频率,22=所以需要频率变换,具体有如下方案:方案一:数字锁相环,利用Altera公司的FPGA开发MegaWizard Plug-In Manager定制数字锁相环。
优点:不用编写代码,调试方便,容易修改,频率稳定。
缺点:主要针对高频的时钟变换,4MHz的频率不属于高频,不能直接定制。
方案二:分频方式,优点:代码简单,容易编写,对输入频率没有特别的要求,只要满足4MHz的整数倍就行。
缺点:如果输入频率信号质量不太好,可能会影响输入频率。
本设计采用方案二分频方式。
4.2方案的实现采用12MHz的时钟进行3分频,模块符号文件和仿真波形如图4.2.1和图4.2.2所示。
图4.2.1 时钟模块符号文件图4.2.1 时钟模块仿真波形五.键盘和显示模块设计5.1 硬件设计本模块采用按键复用方式,显示采用数码管,电路原理图如图5.1.1所示,按键S1(对应实验箱上按键8)控制输入控制字是频率控制字还是相位控制字,当S1为低电平时输入频率控制字,否则,是相位控制字。
如图5.1.1 键盘和显示模块电路原理图5.2 软件设计及仿真由于设计要求采用十进制显示,然而实验箱上用的是十六进制计数器,所以把十六进制当做十进制看待,当输入的控制字有一位大于9时,控制字无效,仿真波形图如图5.2.2所示。
图5.2.2 键盘和显示模块仿真波形六.高速DA 模块GW_ADDA 板含两片10位超高速DAC (转换速率最高150MHz ),D/A 全部处于使能状态,除了数据线外,任一器件的控制信号线只有时钟线,这有利于高速控制和直接利用MATLAB/DSP Builder 工具的设计。
GW_ADDA 板上工作时钟必须由FPGA 的I/O 口提供,优点是时钟频率容易变化,且可通过Cyclone 中的PLL 的到几乎任何时钟频率。
由此即可测试DAC 的最高转换频率。
两个电位器可分别调协两个D/A 输出的幅度(输出幅度峰峰值不可大于5V ,否则波形失真);模拟信号从接插口的2针“AIN ”输入,J1和J2分别是模拟信号输出的PA 、PB 口,也可在两挂钩处输出,分别是两个10位DA5651输出口。