版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息与通信工程学院专业综合实验结题报告基于FPGA的DDS信号发生器(国赛;省赛;科研立项;自拟)学生姓名:XXX指导教师:XXX所属专业:XXX 2015年 1月 7 日一、 项目内容及要求1.1项目内容信号源是一种基本的电子设备,广泛应用于通信,雷达,测控,电子对抗以及现代化仪器仪表等领域,是一种为电子测量工作提供符合严格技术要求的电信号设备,和示波器、电压表、频率计等仪器一样是最普遍、最基本也是应用最广泛的的电子仪器之一,几乎所有电参量的测量都要用到信号发生器。 基于FPGA的DDS信号发生器,由于可以获得很高的频率稳定度和精确度,同时可以根据需要方便地实现各种比较复杂的调频、调相和调幅
2、功能,因此发展非常迅速,尤其是最近随着现代电子技术的不断发展,其应用更是有了质的飞跃。1.2设计任务要求 基于FPGA实验箱设计DDS信号源,可以产生特定频率的正弦波、三角波、方波和锯齿波。二、 成果概述 通过按键设定不同的频率控制字和波形,在示波器上可以看到正确的波形,数码管上显示的频率值也与示波器上显示的频率值相近,虽存在误差,但在误差允许的范围内可以接受。更改不同的频率控制字,波形的频率改变;更改波形选择按键,波形发生改变。三、 技术方案及实现 3.1 DDS原理DDS(Direct Digtal Synthesis)技术设计思想是基于数值计算信号波形的抽样值来实现频率合成的。它包括数字
3、器件与模拟器件两部分,主要有相位累加器、ROM波形查询表、数模转换器组成。其基本框图如下。(1)相位累加器是DDS的核心部分。一般是由数字全加器和数字寄存器组成,实现相位累加。如下图所示。 一般DDS的累加器都采用二进制,线性数字信号通过相位累加器实现逐级的累加。假设累加器字长为N,频率控制字为K,控制时钟频率为fc,系统在同一个时钟下工作,每个时钟周期加法器做一次累加计算。因为累加器的满偏是2N,所以累加一次,相当于做一次2模的运算。得到的和作为相位值。(2)波形函数存储在ROM中。根据累加器输出的相位值,作为地址,寻找存储在ROM中的波形函数的幅度量化值,完成相位到幅值的转换,输出相对应的
4、序列。(3)数模转换器DAC是DDS中的重要部分。经过查表以后得到的是离散的脉冲信号,通过数模转换器将转换成为连续平滑的信号。DDS输出的最高频率主要跟DAC的性能有关。因为一个正弦周期内采样点越少,越容易发生失真现象。为了获得较为理想的信号,一般DAC之后都会接一平滑滤波器。下图可以直观的显示出各部件在波形输出过程中的效果。可以以正弦波为例阐述DDS的基本原理。设正弦信号S()的表达式为: 其中,A为振幅,f为频率,丸为初始相位。一个正弦波的参数由此三项决定。在实际应用过程中,信号的频率与初始相位无关,简单分析,令A为1,那么s(t)可以变换为:可以推出:相同单位时间T内,不同频率与相对应的
5、相位增量不同,因此由此可知,相位在时域内随时间均匀变化时,生成频率为的正弦波。这是DDS技术的基本理论。 因为正弦波与DDS中的相位累加器都是周期性的,那么相位值与正弦信号的线性特征也是一致。相位累加器做K的模数运算,因此频率控制字越长,最后合成的信号频率也就越高。 同样设:K为频率控制字,正为时钟频率,N为相位累加器的长度。那么,合成的信号频率为: 改变频率控制字K,输出的频率会随之连续变化,增大K,信号频率会随之增大;增大N,信号频率也会随之增大。一般最低的输出频率为:由奈奎斯特抽样定理知,为了保证信号不发生重叠,最高频率应为:而实际应用中,为了避免相位抖动造成的失真现象,输出频率一般不超
6、过时钟频率的40,也即是: 正弦波查询表ROM也是制作的重点。在FPGA中ROM表的尺寸随着地址位数或数据位数的增加呈指数递增,如何在满足性能的前提下节省资源开销。一方面通过相位累加器的输出截断方式,例如从32位的相位累加器结果中提取高16位作为ROM的查询地址,由此而产生的误差会对频谱纯度有影响,但是对波形的精度的影响是可以忽略的;另一方面可以根据信号周期对称性来压缩ROM的尺寸,这时系统硬件设计复杂度会有所增加。因此,需要选取合适的参数和ROM压缩技术,在满足系统性能的前提下使得系统尽量优化。3.2 DAC0832原理DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个D
7、A芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。 主要参数如下所示* 分辨率为8位;* 电流稳定时间1us;* 可单缓冲、双缓冲或直接数字输入;* 只需在满量程下调整其线性度;* 单一电源供电(+5V+15V);各个引脚作用功能如下所示:* D0D7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);* ILE:数据锁存允许控制信号输入线,高电平有效;* CS:片选信号输入线(选通数据锁存器),低电平有效;* WR1:数据锁存器写选通输入线,负脉
8、冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;* XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;* WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。* IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;* IOUT2:电流输出端2,其值与IOUT1值之
9、和为一常数;* Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;* Vcc:电源输入端,Vcc的范围为+5V+15V;* VREF:基准电压输入线,VREF的范围为-10V+10V;* AGND:模拟信号地;* DGND:数字信号地。 图3-1 DAC0832原理图 3.2.1.DAC0832的操作时序: 图3-2 DAC0832操作时序 DAC0832为电流型输出芯片,一般而言,若要将输出转化为模拟电压,还需要在输出端加电流-电压转换电路。在本试验箱中,为了简化电路,直接将DAC0832设计成如下如下的形式,该电路形式虽然不是标准的电路形式,但该电路可以直接输出模拟电压,
10、从而简化了电路形式。 图3-3. 矩阵键盘电路图 图3-4.DAC0832电路图3.3 实验设计步骤1 新建工程新建工程文件夹,在该文件夹下新建工程DAC0832。2 编写顶层Verilog HDL文件很据原理实验的内容,编写各个功能模块的Verilog HDL文件3 锁定管脚给各个管脚按照嵌入式系统实验箱的管脚对照表进行管脚分配 4.下载。 下载后,用示波器检测DAC0832的输出端,观察示波器上的波形。四、 解决的关键或难点问题 本次设计中各功能模块利用VerilogHDL语言设计,在FPGA中实现,因此硬件编程语言的使用是关键和难点。同时通过FPGA控制DAC将数字信号转化为模拟信号也是
11、设计关键。五、 性能测试与分析5.1 累加器程序及其仿真module ACC(rst,acc_clk,data_fre,data_pha,result);input acc_clk;input rst; /写使能信号,低有效input 19:0 data_fre,data_pha;output 19:0 result;reg 19:0 result;reg 19:0 N;always (posedge acc_clk, negedge rst) begin if(!rst) result <= 0; else begin N <= data_fre + N; result <
12、= data_pha + N; end end Endmodule 图5-1 累加器输出仿真 在本设计中,我采用的ROM存储深度为1024,地址为10位,因此需要将累加器的输出截断高10位,具体程序代码如下: /-/累加器输出截断高10位,连续赋给rom/-wire 19:0 A;wire 9:0 address1;wire 9:0 address2;wire 9:0 address3;wire 9:0 address4;assign address1 = A19:10;assign address2 = A19:10;assign address3 = A19:10;assign addre
13、ss4 = A19:10;5.2 ROM设计及其仿真 本实验我设定的输出波形总共有四种,分别是正弦波,三角波,方波和锯齿波。因此在累加器的输出端,需要对四个ROM进行选择,我的实现方法是利用ROM的时钟使能控制端来对ROM进行选择,chose由波形选择按键控制。ROM的输出由嵌套的三目运算符来实现选择。具体的程序代码如下:/-/ROM选择/-wire 3:0 chose;wire clken1;wire clken2;wire clken3;wire clken4;assign clken1 = chose0;assign clken2 = chose1;assign clken3 = cho
14、se2;assign clken4 = chose3;/-/ROM输出/-wire 7:0 dac_in;wire 7:0 sin_out;wire 7:0 saw_out;wire 7:0 squ_out;wire 7:0 tri_out;assign dac_in = (chose0=1)?sin_out:(chose1=1)?saw_out: (chose2=1)?squ_out:(chose3=1)?tri_out:8'b0; 图5-2 ROM输出正弦波仿真5.3 DAC0832状态机由图3-2的操作时序,可以写出DAC0832的状态机,程序源码如下:module dac_08
15、32( dac_clk, rst, data_in, data_out, CS, WR ); input dac_clk;input rst; /复位input7:0 data_in; /8位数据输入output reg CS; /DA0832片选信号output reg WR; /读入信号output reg7:0 data_out; /8位数据输出reg7:0 data_in_reg;always (posedge dac_clk or negedge rst) /与ROM时钟同步,让数据稳定传输if( ! rst ) data_in_reg <= 0;else data_in_re
16、g <= data_in; reg3:0 cnt2;always (posedge dac_clk or negedge rst)if( ! rst ) cnt2 <= 4'b0;else begin if(cnt2= 4'd9) cnt2 <= 4'b0; else cnt2 <= cnt2+1'b1; end always (posedge dac_clk or negedge rst)if( ! rst ) begin CS<=1'b1; WR <=1'b1; data_out<=8'b0;
17、endelse begin case ( cnt2 ) /经过300ns的保持时间,CS首先拉低,拉低时间为1000ns 1,2,3,4,5,6,7,8,9, : /1000NS计数 begin CS <= 1'b0; end default : CS <= 1'b1; endcase case (cnt2) /CS拉低后200ns,WR拉低900ns 2,3,4,5,6,7,8,9, : /900NS计数 begin WR <= 1'b0; end default : WR <= 1'b1; endcase case (cnt2) 1,2,3,4,5,6,7,8,: /CS拉低后100ns,将数据送出,时间持续900ns data_out <= data_in_reg; default : ; endcaseendendmodule 图5-3 DAC0832控制器仿真六、 结论 通过按键设定不同的频率控制字和波形,在示波器上可以看到正确的波形,数码管上显示的频率值也与示波器上显示的频率值相近,虽存在误差,但在误差允许的范围内可以接受。更改不同的频率控制字,波形的频率改变;更改波形选择按键,波形发生改变。 该实验是一个完整的设计实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程公司入职安全培训
- 2026年安全生产事故隐患排查治理专家库管理模拟试题及答案
- 手术AI在罕见病手术中的辅助价值
- 运输公司安全生产监督检查制度
- 网络安全责任制检查考核制度6篇
- 成本控制策略在终末期贫血输注护理中的实施
- 广西百色市普通高中2024-2025学年高一上学期语文期末试卷(含答案)
- 广东省深圳市高级中学2023-2024学年七年级上学期期末考试英语试卷(含答案)
- 慢阻肺患者再入院预防的护理策略
- 服务密度执行管理合作协议
- 八年级下册英语2025电子版人教版单词表
- 精准教育转化罪犯
- 南大版一年级心理健康第8课《学习的乐趣》课件
- DB37-T4658.2-2023人工智能 应用场景分类 第2部分:装备制造-编制说明
- 丰胸培训课件
- 部队冬季日常安全防范
- 广东六校2025届高三第三次联考英语试题(含答案)
- 2024年世界职业院校技能大赛中职组“婴幼儿保育组”赛项考试题库-下(多选、判断题)
- 设备部年终总结与明年计划
- 河北省唐山市路北区2023-2024学年九年级上学期期末数学试题
- 心理测量学复习重点方案
评论
0/150
提交评论