数字移相信号发生器--DDS.doc_第1页
数字移相信号发生器--DDS.doc_第2页
数字移相信号发生器--DDS.doc_第3页
数字移相信号发生器--DDS.doc_第4页
数字移相信号发生器--DDS.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南科技大学课 程 设 计 说 明 书课程名称 现代电子系统课程设计 题 目 数字移相信号发生器设计 学 院 电子信息工程学院 班 级 电子信息科学与技术074班学生姓名 周少华 指导教师 张雷鸣 日 期 2011年1月14日 课程设计任务书(指导教师填写)课程设计名称 现代电子系统课程设计 学生姓名 周少华专业班级 电信科074 设计题目 数字移相信号发生器设计 一、 课程设计目的掌握数字移相信号发生器的工作原理和设计方法;掌握DDS技术的工作原理;掌握GW48_SOPC实验箱的使用方法;了解基于FPGA的电子系统的设计方法。二、 设计内容、技术条件和要求基于DDS技术利用VHDL设计并制作一个数字式移相信号发生器。(1)基本要求: a频率范围:1Hz4kHz,频率步进为1Hz,输出频率可预置。 bA、B两路正弦信号输出,10位输出数据宽度c相位差范围为0359,步进为1.4,相位差值可预置。 d数字显示预置的频率(10进制)、相位差值。(2)发挥部分a修改设计,增加幅度控制电路(如可以用一乘法器控制输出幅度)。b输出幅度峰峰值0.13.0V,步距0.1Vc其它。三、 时间进度安排布置课题和讲解:1天查阅资料、设计:4天实验:3天撰写报告:2天四、 主要参考文献何小艇 电子系统设计 浙江大学出版社 2008.1潘松 黄继业 EDA技术实用教程 科学出版社 2006.10王勇 EDA实验指导书 电工电子实验教学中心 2006.8指导教师签字: 2010年 12月 14日- 18 -现代电子系统设计课程设计说明书摘 要随着现代电子测量技术的发展,能够产生各种波形信号的数字式信号发生器的应用越来越广泛,但是大部分低成本的信号发生器的输出频率不稳定,相位噪声大等缺点,限制了其使用范围,实现信号发生器的方案有很多种,本文介绍了一种以DDS为基本单元的数字移相信号发生器的设计方法,将模拟信号数字化,经过移相后再还原成模拟信号。本系统以EDA为工具,采用VHDL语言,基于FPGA实现,用FPGA实现DDS系统设计,一方面可得到较高的工作频率,另一方面由于FPGA具有良好的系统结构可重配置特性,且有功能强大的开发软件和许多软、硬IP核,使得设计更灵活,修改更方便,升级更快捷,因此基于FPGA的系统设计将得到更广泛的应用。在本文中,我们设计的DDS移相信号发生器主要分为如下几个部分:l 时钟模块:要想输出信号频率精确,首先应保证系统工作时钟的稳定可靠,本模块就是对输入的时钟进行处理来产生一个频率精确的时钟信号。其外部时钟可有实验箱提供。l 频率、相位预置模块:该模块主要用来实现两个功能,一是预置信号输出频率、相位,二是将预置的频率、相位值以十进制显示出来。其硬件主要有按键和数码管组成。l 控制模块:控制模块有相位控制和频率控制两部分组成,实现控制字到对波形频率和相位的转化。 l 波形产生模块:本模块是将预置后的信号数字量转化为最终的模拟输出信号。主要有存放波形的ROM和两片高速D/A组成。关键词:信号发生器、频率、移相、VHDL、FPGA、DDS目 录一. 任务解析31.1确定系统时钟fs和ROM大小31.2确定加法器位数31.2.1 频率加法器31.2.2 相位加法器31.3设计核心41.4原理框图4二. 系统方案论证42.1总体方案与比较论证42.2系统原理与机构62.2.1主要芯片选型62.2.2系统结构6三. 时钟模块设计73.1方案论证73.2方案选择8四. 预置模块设计94.1方案论证94.2方案选择94.3方案实现9五. 控制模块设计115.1 22位频率加法器115.2 10位相位加法器11六. 波形产生模块12七. 顶层文件及仿真12八总结138.1波形误差分析138.2设计不足与改进138.2.1预置电路的不足138.2.2相位显示的不足13九心得体会13十主要参考文献14十一。附录15一任务解析 1.1 确定系统时钟fs和ROM大小根据设计要求,采用DDS技术的输出频率f=i*fsM,其中i为频率控制字、fs为系统时钟、M为ROM的字数。要控制频率的改变首先确定fs以及M大小。要实现1HZ4kHZ输出频率,则应根据4kHZ计算fs(1Ts),因为输出4kHZ时对应ROM采样点数最少,M*Ts=14000可得fs=4000M。下面来确定M的大小:确定M要遵循适当的原则,太大的话会造成ROM的浪费,太小的话则输出的波形失真较大。因为相位要求步进1.4,即将360等分成256个单位,所以ROM中的字数应该是256的整数倍,我们这里取M=1024,在保证信号无失真输出的情况下,尽可能减小其容量,由此得出ROM的容量为1k10bit。由此可得fs=4096Khz4MHZ。1.2 确定加法器位数1.2.1 频率加法器确定完fs和ROM容量后,关键是怎么实现频率1HZ步进,根据原理可以确定频率为1HZ时,一个波形需采样4096000个点即4096000Ts=1s。由于ROM的字数一定即1024个,因此ROM中每个点需采样4000次。实现每个点采样4000次,可以通过设置一个22位的加法器来实现,选取加法器输出端高10位作为ROM地址线,加法器一输入端低12位和频率控制字相连,则可实现ROM中每点最多4096次采样!若用4096近似4000,此时也可得到输出频率与控制字一一对应的关系。(即控制字为多少(十进制),输出频率为多少)1.2.2 相位加法器相位加法器是实现相移的关键。根据1.1已得知,步进1.4需要将360等分成256个单位(相位控制字8位二进制数),如今一个完整的正弦波ROM有1024个字,对应360,因此可以用一个10位加法器可以实现,其一输入端接基准地址线,另一输入端高8位接相位控制字便可实现步进1.4、移相范围0359的要求。1.3 设计核心由此本设计核心主要是一下几个任务:1、 得到一个稳定的4M时钟fs。2、 设计一个正弦波波形ROM,容量1k10bit。3、 设计一个22位的频率加法器。4、 设计一个10位的相位加法器。5、 实现采样得到的数字量到模拟信号的转化。1.4 原理框图其系统原理方框图如下:图1 系统原理方框图二系统方案论证2.1 总体方案与比较论证方案一:采用单片机控制合成各种波形用单片机可以产生任何波形的数字信号,波形的选择,生成及频率控制均由单片机编程实现。此方案产生的频率范围,步进值取决于所采用的每个周期的输出点数及单片机执行指令的时间。此方案的优点是硬件电路简单,所用器件少,且实现各种波形相对容易,在低频区基本能实现要求的功能;缺点是精度不易满足,产生波形频率范围小,特别难以生成高频波形。方案二:采用DDS技术,将所需生成的波形写入ROM中,按照相位累加原理合成任意波形。此方案得到的波形具有频率分辨率高、波形切换方便速度快、无过渡过程、电路结构简单、工作稳定可靠且很方便预置频率,容易产生高频。方案三:锁相频率合成技术方案与DDS相同,本方案仍是以查表的方法获得各种输出波形。但与DDS不同的是,采用改变ROM地址产生器的时钟cp的频率来改变输出信号的频率,时钟信号来自锁相环路VCO输出。该方案的优点是有稳定的频率、稳定的边沿,具有易预置、易调节的优点,控制和调节电路都是数字电路,工作稳定可靠;缺点是锁相环的锁相特性,环路滤波器既要保证有很好的滤波特性,又要求他能够使锁相环又很快的捕捉时间,电路的复杂程度中等。比较以上三种方案的优缺点,方案二简洁、灵活、可扩展性好,能完全达到设计要求,故采用第二种方案。2.2系统原理与结构2.2.1主要芯片选型本设计除了用到FPGA芯片外,主要用到了两片10位超高速DAC,转换速率最高150MHz。GW_ADDA板上的A/D和D/A全部处于使能状态,除了10位数据线外,控制信号线只有时钟线。其芯片引脚图如下:2.2.2系统结构本系统硬件主要有按键输入模块(预置频率或相位、预置切换),数码管显示模块、FPGA模块、D/A转换模块。其中FPGA模块主要实现外部时钟分频、控制频率和相位改变的功能,D/A模块作用将波形数据转化为模拟量,数码管显示模块用于显示波形频率、相位,示波器用于显示模拟信号。硬件系统框图见图4。 图4 硬件系统框图(模式1)三. 时钟模块设计3.1 方案论证时钟模块主要是产生一个稳定的4M时钟,产生时钟的方法有很多种,由于实验箱上已经提供了部分时钟信号,所以大体有以下几种方法:方案一:由实验箱上的12M直接三分频得到。其原理如下:其中输入为12MHz输出为4MHz仿真如下根据仿真图形可知,只要输入精确稳定,输出便可得到稳定的4MHz。方案二:由实验箱上的50M经过锁相环输出32M,在经过八分频的到。其原理如下:其中输入为50MHz,输出为4MHz仿真如下:综上所述,两者均能输出4MHz。3.2 方案选择两种方案虽然都能实现要求,但第一种方案是建立在输入12MHz稳定的情况下才成立的,第二种方案由于加入锁相环的原因,对输入时钟的精确度没方案一要求严格,所以采用第二种方案。四.预置模块设计4.1方案论证预置模块主要是用来预置频率和相位控制字,另外显示将预置值以十进制显示出来。其中显示频率要用到4个数码管,显示相位要用到3个数码管。方案一:模式1在模式1下,由于低四位数码管直接和按键硬件相连,所以能很容易的将预置值显示出来,此时通过一个切换键,来设置频率和相位,但缺点是预置时只能由低往高,且不能消去A、B、C、D、E、F显示,相位显示和频率显示共用数码管。方案二:模式3模式3的情况下,由于高速A/D占用到6个数码管的引脚,只剩下两个可以自由使用,因此必须将高速A/D和预置电路分时使用引脚,即预置完频率或相位后,在使高速A/D使能,将波形输出。优点是可加减设置频率、相位,且两者可分开显示,缺点设置完后,不能实时观察波形变化。4.2方案选择综合考虑,为了能够实时观察到波形频率和相位的变化,且为了方便操作,这里选择方案一。4.3方案实现:该模块方框图如下:其中key直接和四位数码管硬件相连,为显示的值,set为频率、相位预置切换键,当set=0时可以预置频率;当set=1时可以预置相位,输出fword为频率控制字,为预置频率值的12位二进制位数,输出pword为相位控制字,为预置相位值的8位二进制数。其部分程序如下:process(clk,a0,a1,a2,a3,set)beginif(clkevent and clk=1) thenif(a09)or(a19)or(a29)or(a39) thenq_tmp=000000000000;p_tmp=00000000;elsif (set=0) then q_tmp256) thenp_tmp=00000000;else p_tmp=conv_std_logic_vector(s1,8);end if;end if;end if;end process;pword=p_tmp;fword=q_tmp;a0=conv_integer(key(3 downto 0);a1=conv_integer(key(7 downto 4);a2=conv_integer(key(11 downto 8);a3=conv_integer(key(15 downto 12);s0=a3*1000+a2*100+a1*10+a0;s1=a2*100+a1*10+a0;其功能仿真如下:根据仿真结果可知,实现了BCD显示到控制字二进制的转化,并当BCD显示超过十进制时,给予报错清零,缺点是预置频率时会影响相位(除了起始时刻),预置相位时会影响频率。 五.控制模块的设计加法器和寄存器是控制模块的核心,核心主要是一个22位的加法器和一个10位的加法器。5.1 22位频率加法器模块方框图如下:仿真情况如下:5.2 10位相位加法器模块方框图如下:功能仿真情况如下:根据仿真结果,当相位控制字为00000001时实现了移相1.4度的要求,即相位按1.4度步进。六波形产生模块波形产生模块主要由正弦波ROM和高速D/A组成。模块方框图如下:其中add121.12为sin rom地址线,sin rom由LPM_ROM定制生成的,内部含有一个正弦波的.mif格式文件,output接高速D/A的数据输入,便可生成一个完整的正弦波。其仿真见整体模块仿真。七顶层文件及仿真7.1 顶层文件方框图见附录。7.2 顶层仿真八. 总结8.1波形误差分析在正弦波生成.mif文件时,存在量化噪声。由于时钟不稳定的原因造成输出波形的畸变。高速D/A在转化过程中存在误差。在计算时存在近似误差。再用示波器测量时会引入随机噪声,也会影响到波形的变化。8.2 设计不足与改进8.2.1 预置电路的不足如4.3仿真图所见,预置相位时会改变频率的值,预置频率时会改变相位的值,这是值得改进的地方,可以通过一个寄存器和一个控制信号,先对频率值进行锁存,然后再预置相位。8.2.2 相位显示的不足本设计相位显示并不是最终的移相,而是步进1.4度的倍数,因此,可以进一步改进,通过一个乘法器最终显示移相结果。九心得体会本次设计是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论