基于FPGA的基于DDS技术的信号发生器设计毕业设计论文.docx

上传人:b****7 文档编号:9216855 上传时间:2023-02-03 格式:DOCX 页数:46 大小:256.50KB
下载 相关 举报
基于FPGA的基于DDS技术的信号发生器设计毕业设计论文.docx_第1页
第1页 / 共46页
基于FPGA的基于DDS技术的信号发生器设计毕业设计论文.docx_第2页
第2页 / 共46页
基于FPGA的基于DDS技术的信号发生器设计毕业设计论文.docx_第3页
第3页 / 共46页
基于FPGA的基于DDS技术的信号发生器设计毕业设计论文.docx_第4页
第4页 / 共46页
基于FPGA的基于DDS技术的信号发生器设计毕业设计论文.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

基于FPGA的基于DDS技术的信号发生器设计毕业设计论文.docx

《基于FPGA的基于DDS技术的信号发生器设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于FPGA的基于DDS技术的信号发生器设计毕业设计论文.docx(46页珍藏版)》请在冰豆网上搜索。

基于FPGA的基于DDS技术的信号发生器设计毕业设计论文.docx

基于FPGA的基于DDS技术的信号发生器设计毕业设计论文

FPGA技术实验报告

基于FPGA的基于DDS技术的信号发生器设计

 

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:

所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:

     日 期:

     

指导教师签名:

     日  期:

     

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:

按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:

     日 期:

     

学位论文原创性声明

本人郑重声明:

所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:

日期:

年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权    大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:

日期:

年月日

导师签名:

日期:

年月日

注意事项

1.设计(论文)的内容包括:

1)封面(按教务处制定的标准封面格式制作)

2)原创性声明

3)中文摘要(300字左右)、关键词

4)外文摘要、关键词

5)目次页(附件不统一编入)

6)论文主体部分:

引言(或绪论)、正文、结论

7)参考文献

8)致谢

9)附录(对论文支持必要时)

2.论文字数要求:

理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

3.附件包括:

任务书、开题报告、外文译文、译文原文(复印件)。

4.文字、图表要求:

1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写

2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。

图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画

3)毕业论文须用A4单面打印,论文50页以上的双面打印

4)图表应绘制于无格子的页面上

5)软件工程类课题应有程序清单,并提供电子文档

5.装订顺序

1)设计(论文)

2)附件:

按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

指导教师评阅书

指导教师评价:

一、撰写(设计)过程

1、学生在论文(设计)过程中的治学态度、工作精神

□优□良□中□及格□不及格

2、学生掌握专业知识、技能的扎实程度

□优□良□中□及格□不及格

3、学生综合运用所学知识和专业技能分析和解决问题的能力

□优□良□中□及格□不及格

4、研究方法的科学性;技术线路的可行性;设计方案的合理性

□优□良□中□及格□不及格

5、完成毕业论文(设计)期间的出勤情况

□优□良□中□及格□不及格

二、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

三、论文(设计)水平

1、论文(设计)的理论意义或对解决实际问题的指导意义

□优□良□中□及格□不及格

2、论文的观念是否有新意?

设计是否有创意?

□优□良□中□及格□不及格

3、论文(设计说明书)所体现的整体水平

□优□良□中□及格□不及格

建议成绩:

□优□良□中□及格□不及格

(在所选等级前的□内画“√”)

指导教师:

(签名)单位:

(盖章)

年月日

评阅教师评阅书

评阅教师评价:

一、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

二、论文(设计)水平

1、论文(设计)的理论意义或对解决实际问题的指导意义

□优□良□中□及格□不及格

2、论文的观念是否有新意?

设计是否有创意?

□优□良□中□及格□不及格

3、论文(设计说明书)所体现的整体水平

□优□良□中□及格□不及格

建议成绩:

□优□良□中□及格□不及格

(在所选等级前的□内画“√”)

评阅教师:

(签名)单位:

(盖章)

年月日

教研室(或答辩小组)及教学系意见

教研室(或答辩小组)评价:

一、答辩过程

1、毕业论文(设计)的基本要点和见解的叙述情况

□优□良□中□及格□不及格

2、对答辩问题的反应、理解、表达情况

□优□良□中□及格□不及格

3、学生答辩过程中的精神状态

□优□良□中□及格□不及格

二、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

三、论文(设计)水平

1、论文(设计)的理论意义或对解决实际问题的指导意义

□优□良□中□及格□不及格

2、论文的观念是否有新意?

设计是否有创意?

□优□良□中□及格□不及格

3、论文(设计说明书)所体现的整体水平

□优□良□中□及格□不及格

评定成绩:

□优□良□中□及格□不及格

教研室主任(或答辩小组组长):

(签名)

年月日

教学系意见:

系主任:

(签名)

年月日

1FPGA硬件系统设计

1.1功能要求

1.2FPGA硬件系统组成

1.3FPGA最小系统简介

1.4FPGA外围电路设计

1.4.1拨码开关电路设计

1.5硬件电路调试及结果分析

2基于DDS技术的信号发生器设计

2.1功能要求

2.2整体设计

2.3DDS技术的基本原理

2.4程序设计

2.4.1方波产生程序设计及仿真

2.4.2三角波产生程序设计及仿真

2.4.3正弦波产生程序设计及仿真

2.4.4锯齿波产生程序设计及仿真

2.4.5AM产生程序设计及仿真

2.4.6DSB产生程序设计及仿真

2.4.7DSB产生程序设计及仿真

2.4.8DSB产生程序设计及仿真

2.4.9DSB产生程序设计及仿真

2.4.10DSB产生程序设计及仿真

2.4.7顶层程序设计及仿真

(1)程序的功能

(2)结构图或实体图

(3)VHDL程序及注释

(4)仿真波形及分析

2.5硬件测试及结果分析

3设计分析与总结

3.1故障分析

3.2功能分析

3.3设计总结及感想

1FPGA硬件系统设计

1.1功能要求

基于FPGA的DDS技术设计正弦波、三角波、方波等波形发生器,实现波形的D/A转换,实现改变高低电平开关电路设计。

1.2FPGA硬件系统组成

FPG最小系统实现软件的写入,外围电路实现开关电路和D/A转换。

1.3FPGA最小系统简介

通过APS接口下载程序到FPGA。

1.4FPGA外围电路设计

1.4.1拨码开关电路设计

用开关控制输出高低电平。

1.4.3DAC0832电路设计

DAC0832是采用CMOS/Si-Cr工艺实现的8位D/A转换器。

该芯片包含8位输入寄存器、8位DAC寄存器、8位D/A转换器。

DAC0832中有两级锁存器,第一级即输入寄存器,第二级即DAC寄存器,可以工作在双缓冲方式下。

引脚特性:

D7~D0:

8位数据输入端

ILE:

输入寄存器锁存允许信号

CS#:

芯片选择信号

WR1#:

输入寄存器写信号

XFER#:

数据传送信号

WR2#:

DAC寄存器写信号

VREF:

基准电压,-10V~+10V

Rfb:

反馈信号输入端

IOUT1:

电流输出1端

IOUT2:

电流输出2端

VCC:

电源

AGND:

模拟地

DGND:

数字地

1.5硬件电路调试及结果分析

硬件焊接时,容易将焊点漏焊或则连接在一起。

第一次焊好是先发没有输出波形。

经过检查发现是输出插针没有与输出端口焊好。

经过重新焊接后就可以输出波形了。

2基于DDS技术的信号发生器设计

2.1功能要求

基于FPGA的DDS技术设计正弦波、三角、方波、锯齿波发生器。

2.2整体设计

2.3DDS技术的基本原理

1)频率预置与调节电路

作用:

实现频率控制量的输入;

不变量K被称为相位增量,也叫频率控制字。

2)累加器

相位累加器的组成=N位加法器+N位寄存器

相位累加器的作用:

在时钟的作用下,进行相位累加

注意:

当相位累加器累加满量时就会产生一次溢出,完成一个周期性的动作。

DDS的输出频率为:

f0=fCK/2N

DDS输出的最低频率:

K=1时,fC/2N

DDS输出的最高频率:

Nyquist采样定理决定,即fC/2,

K的最大值为2N-1

结论:

只要N足够大,DDS可以得到很细的频率间隔。

要改变DDS的输出频率,只要改变频率控制字K即可。

2.4程序设计

2.4.1方波产生程序设计及仿真

通过C++做一个方波的ROM,输入是1024个(

),输出为10位(

),编译运行后,找出fangbo.exe后缀的文件将其转换为fangbo.mif,通过quarter将后缀fangbo.mif文件做成ROM后,会得到fangbo.vhd。

编译后仿真得到如下波形。

程序

LIBRARYieee;

USEieee.std_logic_1164.all;

LIBRARYaltera_mf;

USEaltera_mf.all;

ENTITYfangboIS

PORT

address:

INSTD_LOGIC_VECTOR(9DOWNTO0);

clock:

INSTD_LOGIC;

q:

OUTSTD_LOGIC_VECTOR(9DOWNTO0)

);

ENDfangbo;

ARCHITECTURESYNOFfangboIS

SIGNALsub_wire0:

STD_LOGIC_VECTOR(9DOWNTO0);

COMPONENTaltsyncram

GENERIC(

clock_enable_input_a:

STRING;

clock_enable_output_a:

STRING;

init_file:

STRING;

intended_device_family:

STRING;

lpm_hint:

STRING;

lpm_type:

STRING;

numwords_a:

NATURAL;

operation_mode:

STRING;

outdata_aclr_a:

STRING;

outdata_reg_a:

STRING;

widthad_a:

NATURAL;

width_a:

NATURAL;

width_byteena_a:

NATURAL

);

PORT(

clock0:

INSTD_LOGIC;

address_a:

INSTD_LOGIC_VECTOR(9DOWNTO0);

q_a:

OUTSTD_LOGIC_VECTOR(9DOWNTO0)

);

ENDCOMPONENT;

BEGIN

q<=sub_wire0(9DOWNTO0);

altsyncram_component:

altsyncram

GENERICMAP(

clock_enable_input_a=>"BYPASS",

clock_enable_output_a=>"BYPASS",

init_file=>"fangbo.mif",

intended_device_family=>"CycloneII",

lpm_hint=>"ENABLE_RUNTIME_MOD=NO",

lpm_type=>"altsyncram",

numwords_a=>1024,

operation_mode=>"ROM",

outdata_aclr_a=>"NONE",

outdata_reg_a=>"UNREGISTERED",

widthad_a=>10,

width_a=>10,

width_byteena_a=>1

PORTMAP(

clock0=>clock,

address_a=>address,

q_a=>sub_wire0

);

ENDSYN;

2.4.2三角波产生程序设计及仿真

通过C++做一个三角波的ROM,输入是1024个(

),输出为10位(

),编译运行后,找出sanjiao.exe后缀的文件将其转换为三角.mif,通过quarter将后缀sanjiao.mif文件做成ROM后,会得到sanjiao.vhd。

编译后仿真得到如下波形。

程序

LIBRARYieee;

USEieee.std_logic_1164.all;

LIBRARYaltera_mf;

USEaltera_mf.all;

ENTITYsanjiaoboIS

PORT

address:

INSTD_LOGIC_VECTOR(9DOWNTO0);

clock:

INSTD_LOGIC;

q:

OUTSTD_LOGIC_VECTOR(9DOWNTO0)

);

ENDsanjiaobo;

ARCHITECTURESYNOFsanjiaoboIS

SIGNALsub_wire0:

STD_LOGIC_VECTOR(9DOWNTO0);

COMPONENTaltsyncram

GENERIC(

clock_enable_input_a:

STRING;

clock_enable_output_a:

STRING;

init_file:

STRING;

intended_device_family:

STRING;

lpm_hint:

STRING;

lpm_type:

STRING;

numwords_a:

NATURAL;

operation_mode:

STRING;

outdata_aclr_a:

STRING;

outdata_reg_a:

STRING;

widthad_a:

NATURAL;

width_a:

NATURAL;

width_byteena_a:

NATURAL

);

PORT(

clock0:

INSTD_LOGIC;

address_a:

INSTD_LOGIC_VECTOR(9DOWNTO0);

q_a:

OUTSTD_LOGIC_VECTOR(9DOWNTO0)

);

ENDCOMPONENT;

BEGIN

q<=sub_wire0(9DOWNTO0);

altsyncram_component:

altsyncram

GENERICMAP(

clock_enable_input_a=>"BYPASS",

clock_enable_output_a=>"BYPASS",

init_file=>"sanjiaobo.mif",

intended_device_family=>"CycloneII",

lpm_hint=>"ENABLE_RUNTIME_MOD=NO",

lpm_type=>"altsyncram",

numwords_a=>1024,

operation_mode=>"ROM",

outdata_aclr_a=>"NONE",

outdata_reg_a=>"UNREGISTERED",

widthad_a=>10,

width_a=>10,

width_byteena_a=>1

PORTMAP(

clock0=>clock,

address_a=>address,

q_a=>sub_wire0

);

ENDSYN;

2.4.3正弦波产生程序设计及仿真

通过C++做一个正弦波的ROM,输入是1024个(

),输出为10位(

),编译运行后,找出sin.exe后缀的文件将其转换为sin.mif,通过quarter将后缀sin.mif文件做成ROM后,会得到sin.vhd。

编译后仿真得到如下波形。

程序

LIBRARYieee;

USEieee.std_logic_1164.all;

LIBRARYaltera_mf;

USEaltera_mf.all;

ENTITYmyrom1IS

PORT

address:

INSTD_LOGIC_VECTOR(9DOWNTO0);

clock:

INSTD_LOGIC;

q:

OUTSTD_LOGIC_VECTOR(9DOWNTO0)

);

ENDmyrom1;

ARCHITECTURESYNOFmyrom1IS

SIGNALsub_wire0:

STD_LOGIC_VECTOR(9DOWNTO0);

COMPONENTaltsyncram

GENERIC(

clock_enable_input_a:

STRING;

clock_enable_output_a:

STRING;

init_file:

STRING;

intended_device_family:

STRING;

lpm_hint:

STRING;

lpm_type:

STRING;

numwords_a:

NATURAL;

operation_mode:

STRING;

outdata_aclr_a:

STRING;

outdata_reg_a:

STRING;

widthad_a:

NATURAL;

width_a:

NATURAL;

width_byteena_a:

NATURAL

);

PORT(

clock0:

INSTD_LOGIC;

address_a:

INSTD_LOGIC_VECTOR(9DOWNTO0);

q_a:

OUTSTD_LOGIC_VECTOR(9DOWNTO0)

);

ENDCOMPONENT;

BEGIN

q<=sub_wire0(9DOWNTO0);

altsyncram_component:

altsyncram

GENERICMAP(

clock_enable_input_a=>"BYPASS",

clock_enable_output_a=>"BYPASS",

init_file=>"myrom1.mif",

intended_device_family=>"CycloneII",

lpm_hint=>"ENABLE_RUNTIME_MOD=NO",

lpm_type=>"altsyncram",

numwords_a=>1024,

operation_mode=>"ROM",

outdata_aclr_a=>"NONE",

outdata_reg_a=>"UNREGISTERED",

widthad_a=>10,

width_a=>10,

width_byteena_a=>1

PORTMAP(

clock0=>clock,

address_a=>address,

q_a=>sub_wire0

);

ENDSYN;

2.4.4锯齿产生程序设计及仿真

通过C++做一个锯齿波的ROM,输入是1024个(

),输出为10位(

),编译运行后,找出juchi.exe后缀的文件将其转换为juchi.mif,通过quarter将后缀juchi.mif文件做成ROM后,会得到juchi.vhd。

编译后仿真得到如下波形。

程序

LIBRARYieee;

USEieee.std_logic_1164.all;

LIBRARYaltera_mf;

USEaltera_mf.all;

ENTITYjuchiboIS

PORT

address:

INSTD_LOGIC_VECTOR(9DOWNTO0);

clock:

INSTD_LOGIC;

q:

OUTSTD_LOGIC_VECTOR(9DOWNTO0)

);

ENDjuchibo;

ARCHITECTURESYNOFjuchiboIS

SIGNALsub_wire0:

STD_LOGIC_VECTOR(9DOWNTO0);

COMPONENTaltsyncram

GENERIC(

clock_enable_input_a:

STRING;

clock_enable_output_a:

STRING;

init_file:

STRING;

intended_de

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1