




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录第一章 前言3第二章 设计任务与要求4第三章 直接数字频率合成器(DDS)的原理5第四章 模块的功能84.1 相位累加器84.2 相位寄存器84.3 正表弦查找94.4 D/A转换器9第五章 设计思路12第六章实验器件13第七章 功能模块147.1 模块一 相位累加器SUM99147.2 模块二 相位寄存器REG1187.3 模块三 正弦查找表ROM217.4 模块四 ROM256_8输出数据寄存器REG229第八章 总体电路图设计31第九章 设计心得体会34主要参考文献36第一章 前言 1971年,美国学者J.Tierncy、C.M.Reader和B.Gold提出了以全数字技术从相位概念
2、出发直接合成所需波形的一种新的频率合成原理。随着技术和水平的提高,一种新的频率合成技术直接数字频率合成(DDS,Direct Digtal Synthesis)技术得到了飞速发展。DDS技术是一种把一系列数字形式的信号通过DAC转换成模拟形式的信号合成技术,目前使用最广泛的一种DDS方式是利用高速存储器作查找表,然后通过高速DAC输出已经用数字形式存入的正弦波。DDS技术具有频率切换时间短,频率分辨率高,频率稳定度高,输出信号的频率和相位可以快速程控切换,输出相位可连续,可编程以及灵活性大等优点,广泛用于接受机本振、信号发生器、仪器、通信系统、雷达系统等,尤其适合跳频无线通信系统。第二章 设计
3、任务与要求 DDS即为Direct Digital Synthesize,中文名称是直接数字合成器,是一种新型的频率合成技术和信号产生方法,具有较高的频率分辨率,可以实现快速的频率切换,能够保持相位的连续,很容易实现频率、相位和幅度的数控调制。利用EDA技术和FPGA实现直接数字频率合成器DDS的设计。 设计要求: 1、利用QuartusII软件实现DDS的设计; 2、模块间具有一定锁存功能; 3、系统具有清零和使能的功能; 4、DDS中的波形存储器模块用Altera公司的Cyclone系列FPGA芯片中的ROM实现。 5、具有保持相位的连续; 6、通过实验箱上的开关输入DDS的频率和相位控制
4、字;第三章 直接数字频率合成器(DDS)的原理 对正弦信号发射器,它的输出可以用下式来描述: 其中是指该信号发射器的输出信号波形,指输出信号对应的频率。上式的表述对于时间t是连续的,为了用数字逻辑实现该表达式,必须进行离散化处理,用基准时钟进行抽样,令正弦信号的相位: 在一个周期,相位的变化量为: 其中指的频率对于可以理解满相位,为了对进行数字量比,把切割成份,由此每个周期的相位增量用量化值来表述:,且为整数 由以上式子可得: 显然,信号发生器的输出可描述为: 其中指前一个周期的相位值,同样得出:由上面的推导可以看出,只要对相位的量化值进行简单的累加运算,就可以得到正弦信号的当前相位值,而用于
5、累加的相位增量量化值决定了信号的输出频率,并呈现简单的线性关系。直接数字合成器DDS就是根据上述原理而设计的数字控制频率合成器。如图所示3-1是一个基本的DDS结构,主要由累加器、相位寄存器、加法器、正弦ROM查找表和DAC构成。 图 3-1 DDS基本原理图相位累加器是整个DDS的核心,相位累加器由位加法器与位累加寄存器级联构成。每来一时钟脉冲fs,加法器将频率控制字与累加寄存器输出的累加相位数据相加,把相加后的结果送至累加寄存器的数据输入端。累加寄存器将加法器在上一个时钟脉冲作用后所产生的新相位数据反馈到加法器的输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加
6、器在时钟作用下,不断对频率控制字进行线性相位累加。由此可以看出,相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位,相位累加器的溢出频率就是DDS输出的信号频率。用相位累加器输出的数据作为波形存储器(ROM)的相位取样地址,这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换。波形存储器的输出送到/转换器,/转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。 第四章 模块的功能4.1 相位累加器 如图所示4-1相位累加器是一个带有累加功能的N位加法器,它以设定的N位频率控制字K作为步长进行线性累加,当
7、其和满时,计数器清零,并进行重新运算,它使输出频率正比于时钟频率和相位增量之积。相位累加器的作用:在时钟的作用下,进行相位累加 注意:当相位累加器累加满量时就会产生一次溢出,完成一个周期的动作。 相位频率控 f 量化寄存器加法器制字K 序列 位位位图 4-1相位累加器 4.2 相位寄存器 相位寄存器是一个N位的寄存器,它对输入端输入的数据进行寄存,当下一个时钟到来时,输出寄存的数据。 4.3正表弦查找 ROM是DDS最关键的部分,也是最复杂的部分,设计时首先需对正弦函数进行离散采样,接着将采样的结果放到ROM模块的对应存储单元中,每一位地址对应一个数值,输出为8位。ROM中必须包含完整的正弦采
8、样值,此设计采样256点,而且还要注意避免在按地址读取ROM内容时可能引起的不连续点,避免量化噪音集中于基频的谐波上。 如图4-2所示地 数 波 形 ROM址 据 据 据据 相位量化序列正弦幅度量化序列 图 4-2 波形存储器作用:进行波形的相位-幅值转换4.4 D/A转换器 D/A转换器的作用:把已经合成的正弦波的数字量转换成模拟量。 典型D/A转换器芯片DAC0832: DAC0832是一个8位D/A转换器。单电源供电,从+5V+15V均可正常工作。基准电压的范围为正负10V;电流建立时间为1s;CMOS工艺,低功耗,仅20mW。DAC0832转换器芯片为20引脚,双列直插式封装,其引脚排
9、列如图4-3所示。CS VDDWR1WR2ILEXFER VREFDI0 RFBDI1 IOUT1DI2 IOUT2DI3DI4DI5DI6DI7GNDGND1202181981797611512416151413310 图 4-3 DAC0832引脚图 对各引脚信号说明如下: DI7DI0:转换数据输入。 CS:片选信号(输入),低电平有效。 ILE:数据锁存允许信号(输入),高电平有效。 WR1:写信号(输入),低电平有效。 WR2:第2写信号(输入),低电平有效。 XFER:数据传送控制信号(输入),低电平有效。 IOUT1、IOUT2:电流输出1、2,DAC转换器的特性之一是:Iout
10、1+Iout2=常数 RFB反馈电阻端 VREF:基准电压,其电压可正可负,范围-10V+10V. DGND:数字地 AGND:模拟第五章 设计思路 DDS即为Direct Digital Synthesize,中文名称是直接数字合成器,是一种新型的频率合成技术,具有较高的频率分辨率,可以实现快速的频率切换,并且在改变时能够保持相位的连续,很容易实现频率、相位和幅度的数控调制。 DDS技术很容易实现频率、相位和幅度的数控调制,在现代电子系统及设备的频率源设计中,尤其是在通信领域,其应用越来越广泛。图3-1是DDS的基本原理图,频率控制字M和相位控制字N分别控制DDS输出正弦波的频率和相位。DD
11、S系统的核心是相位累加器,它由一个累加器和一个N位寄存器组成。每来一个时钟脉冲,相位寄存器以步长M增加。相位寄存器的输出与相位控制字相加,其结果作为正弦查找表的地址。正弦查找表由ROM构成,内部存有一个完整周期正弦波的数字幅度信息,每个查找表的地址对应正弦波中0-360°范围内的一个相位点。查找表把输入的地址信息映射成正弦波的数字幅度信号,同时输出到数模转换器DAC的输入端,DAC输出的模拟信号。其中CLK来自高稳性晶振所提供,用于提供DDS各种部件的同步工作。相位累加器作用是对频率控制字进行线性累加;波形存储器中所对应的是一张函数波形查询表,对应不同的相位码址输出不同的幅度编码。该
12、幅度编码经D/A转换后得到对应的阶梯波,相位累加器在基准时钟的作用下,进行线性相位累加,当相位累加器加满量时就会产生一次溢出,这样完成了一个周期,这个周期就是DDS信号的一个频率周期。第六章 实验器件1、装有Quartus软件的计算机一台 2、芯片:使用Altera公司生产的Cyclone系列芯片,如EP1C12Q240C8芯片3、EDA实验箱一个 4、下载接口是数字芯片的下载接口(JTAG),主要用于FPGA芯片的数据下载5、按键开关和LED灯 6、时钟源第七章 功能模块7.1 模块一 相位累加器SUM99 图 7-1相位累加器SUM99逻辑符合表 7.1相位累加器逻辑功能表频率控制字K7.
13、0相 位 控 制 字 H7.0 累 加 和 S7.0进 位 输 出 C7.0 C7 K7H7 S7 C6 K6 H6 S6 C5 K5 H5 S5 C4 K4 H4 S4 C3 K3 H3 S3 C2 K2 H2 S2 C1 K1 H1 S1 C0 K0 H0 S0 当来一个时钟脉冲时,频率控制字与相位控制字相加,累加和为S. 表 7.2 相位累加器SUM99逻辑功能表 输 入 输 出 CLK EN RESET X X 0 复 位 1OUT7.0 当RESET为低电平时,输出OUT复位为0; 当RESET为高电平,使能信号EN为高电平时,来一个时钟脉冲信号,频率控制字线性累加输出一个OUT数据
14、. 仿真结果:图7-2 相位累加器的仿真波形仿真结果说明:由仿真波形图可知当来一个上升沿时输出频率控制字线性累加和;当其和满时,计数器清零,并进行重新运算。SUM99的VHDL程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SUM99 IS PORT(K:IN STD_LOGIC_VECTOR(7 DOWNTO 0); CLK:IN STD_LOGIC; EN:IN STD_LOGIC; RESET:IN STD_LOGIC; OUT1:OUT STD_LOGIC_VECTOR
15、(7 DOWNTO 0);END ENTITY SUM99;ARCHITECTURE ART OF SUM99 IS SIGNAL TEMP:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN PROCESS(CLK,EN,RESET)IS BEGIN IF RESET='0'THEN TEMP<="00000000" ELSE IF CLK'EVENT AND CLK='1'THEN IF EN='1'THEN TEMP<=TEMP+K; END IF; END IF; END IF;
16、 OUT1<=TEMP; END PROCESS;END ARCHITECTURE ART;7.2 模块二 相位寄存器REG1 图7-3相位寄存器REG1逻辑符号表 7.3 相位寄存器 逻辑功能表输 入输 出 CLK D Q Q1 Q2 Q1 Q2 数据端D,用来输入被寄存的二进制信号; 脉冲端CLK,在脉冲的上升沿到来时,Q随D变化;仿真结果: 图7-4相位寄存器REG1的仿真波形仿真结果说明:由仿真波形可看出相位寄存器的输出Q随输入端D而变化,当来一个时钟沿时,D就输入一个数,Q就随之而变化。REG1的VHDL程序: LIBRARY IEEE;USE IEEE.STD_LOGIC_1
17、164.ALL;ENTITY REG1 IS PORT(D:IN STD_LOGIC_VECTOR(7 DOWNTO 0); CLK:IN STD_LOGIC; Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY REG1;ARCHITECTURE ART OF REG1 IS BEGIN PROCESS(CLK)IS BEGIN IF(CLK'EVENT AND CLK='1')THEN Q<=D; END IF; END PROCESS;END ARCHITECTURE ART;7.3 模块三 正弦查找表ROM 图7-5
18、 正弦查找表ROM 逻辑符号 表7.4 ROM256_8中的数据 定制LPM_ROM元件:图7-6 定制新的宏观能块图7-7 LPM 宏功能块设定 图7-8 选择SinROM模块数据线和地址线宽度图7-9 选择地址锁存信号CLOCK图7-10 调入ROM初始化数据文件图7-11图7-12 LPM_ROM设计完成仿真结果: 图7-13 ROM256_8的仿真波形 仿真结果说明:由仿真波形图可知,按ROM256_8中的存储数据地址address,当来一个时钟脉冲时,就会输出ROM256_8存储器中的数据。当相位控制字为0,相位累加输出的序列对波形存储器寻址,得到一系列离散的幅度编码。ROM256_
19、8的VHDL程序:LIBRARY IEEE; USE ieee.std_logic_1164.all; LIBRARY ALTERA_MF; USE altera_mf.all; ENTITY rom256_8 IS PORT ( address : IN STD_LOGIC_VECTOR (7 DOWNTO 0); clock : IN STD_LOGIC ; q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ); END rom256_8; ARCHITECTURE SYN OF rom256_8 IS SIGNAL sub_wire0 : STD_LOGIC_V
20、ECTOR (7 DOWNTO 0); COMPONENT ALTSYNCRAM GENERIC ( address_aclr_a : STRING; INIT_file : STRING; intended_device_family : STRING; _hint : STRING; 1PM_type : STRING; NUMWORDS_a : NATURAL; operation_mode : STRING; OUTDATA_aclr_a : STRING; OUTDATA_reg_a : STRING; WIDTHAD_a : NATURAL; WIDTHAD_a : NATURAL
21、; width_byteena_a : NATURAL ); PORT ( clock0 : IN STD_LOGIC ; address_a : IN STD_LOGIC_VECTOR (7 DOWNTO 0); q_a : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ); END COMPONENT; BEGIN q <= sub_wire0(7 DOWNTO 0); ALTSYNCRAM_component : ALTSYNCRAM GENERIC MAP ( address_aclr_a => "NONE", INIT_file
22、=> "sin_rom.mif", intended_device_family => "Stratix", 1PM_hint => "ENABLE_RUNTIME_MOD=NO", 1PM_type => "altsyncram", NUMWORDS_a => 256, operation_mode => "ROM", OUTDATA_aclr_a => "NONE", OUTDATA_reg_a => "UNREG
23、ISTERED", WIDTHAD_a => 8, width_a => 8, width_byteena_a => 1 ) PORT MAP ( clock0 => clock, address_a => address, q_a => sub_wire0 ); END SYN;7.4 模块四 ROM256_8输出数据寄存器REG2 7-14 寄存器逻辑符号 表7.5 寄存器功能表输 入输 出CLK D Q Q1 Q2 Q1 Q2 数据端D,用来输入被寄存的二进制信号; 脉冲端CLK,在脉冲的上升沿到来时,Q随D变化; 仿真结果:图7-15 寄存
24、器REG2的仿真波形仿真结果分析: 由仿真波形可看出相位寄存器的输出Q随输入端D而变化,当来一个时钟沿时,D就输入一个数,D就随之而变化。REG2的VHDL程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG2 IS PORT(D:IN STD_LOGIC_VECTOR(7 DOWNTO 0); CLK:IN STD_LOGIC; Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY REG2;ARCHITECTURE ART OF REG2 IS BEGIN PROCESS(CLK)IS BEGIN
25、 IF(CLK'EVENT AND CLK='1')THEN Q<=D; END IF; END PROCESS; END ARCHITECTURE ART;第八章 总体电路图设计图 7-16 顶层电路原理图 首先利用C语言编程对正弦函数进行采样;然后对采样数据进行二进制转换,其结果作为查找表地址的数值。 用C语言编写的正弦函数数据采样程序如下: #include "stdio.h" #include "math.h" Main( ) int I; Float s; For ( i=0;i<1024;i+) s=sin
26、(actan(1)*8*i/1024); Printf(" %d,%d; n", (int)(s+1)*1023/2); 电路工作情况: DDS设计顶层原理图如上,这时DDS的FPGA的设计可分为如下几个模块:相位累加器SUM99、相位寄存器REG1、正弦查找表ROM和输出数据寄存器REG2。输入信号有时钟输入CLK,使能端EN,复位端RESET,频率控制字K,输出信号为Q。 整个DDS模块采用一个时钟,CLK来自为高稳性晶振提供,以用来同步各个模块的运算速度。相位累加器作用是对频率控制字进行线性累加,当其和满时,计数器清零,并进行重新运算。相位寄存器REG1它对输入端输入
27、的数据进行寄存,当下一个时钟到来时,输出寄存的数据。波形存储器中所对应的是一张函数波形查询表,对应不同的相位码址输出不同的幅度编码。为了保证输出数据的稳定性,将ROM的输出数据先寄存在REG2中,待下一个时钟到来时,再将其输出。整个系统各模块是在同步时钟信号CLK的控制下协调工作的。相位累加器在基准时钟的作用下,进行线性相位累加,当相位累加器加满量时就会产生一次溢出,这样就完成了一个周期,这个周期也就是DDS信号的一个频率周期。整个系统DDS的仿真结果:图7-17 顶层电路原理图的仿真波形仿真结果分析:当相位控制字为0,相位累加输出的序列对波形存储器寻址,得到一系列离散的幅度编码。由系统DDS仿真波形图可知当来一个时钟脉冲时,对应波形存储器寻址,可得结果正确是离散的正弦波采样点。第九章 设计心得体会 通过此次课程设计,我进一步加深了对电子设计自动化的了解,并进一步熟练了对QuartusII软件的操作。在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。通过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年薯条型无灯相机项目投资价值分析报告
- 2025至2030年胫腓骨夹板项目投资价值分析报告
- 配置管理重要性
- 电击伤的急诊急救与护理
- 2025至2030年熟食制品行业深度研究报告
- 2025至2030年深海鳕鱼排项目投资价值分析报告
- 2025至2030年汽配模锻件项目投资价值分析报告
- 运动的相对性课程讲解
- 2025至2030年嫩白补水洁面乳项目投资价值分析报告
- 四川省泸州市泸县第五中学2024-2025学年高三下学期三诊模拟考试(一)物理试题 含解析
- 浅析新时代教育评价改革机制及实践路径
- 机械制图综合练习题
- 世界社会主义五百年
- 2019年自考《世界市场行情》模拟试题及答案
- 伊利经销商设立、变更、撤销、评估管理及考核办法
- 《中华人民共和国军人地位和权益保障法》重点内容学习PPT课件(带内容)
- LB/T 018-2011旅游饭店节能减排指引
- JJF 1214-2008长度基线场校准规范
- GB/T 5162-2021金属粉末振实密度的测定
- GB/T 12755-2008建筑用压型钢板
- FZ/T 73020-2019针织休闲服装
评论
0/150
提交评论