正弦信号发生器.docx

上传人:b****7 文档编号:26628693 上传时间:2023-06-20 格式:DOCX 页数:11 大小:389.98KB
下载 相关 举报
正弦信号发生器.docx_第1页
第1页 / 共11页
正弦信号发生器.docx_第2页
第2页 / 共11页
正弦信号发生器.docx_第3页
第3页 / 共11页
正弦信号发生器.docx_第4页
第4页 / 共11页
正弦信号发生器.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

正弦信号发生器.docx

《正弦信号发生器.docx》由会员分享,可在线阅读,更多相关《正弦信号发生器.docx(11页珍藏版)》请在冰豆网上搜索。

正弦信号发生器.docx

正弦信号发生器

目录

第一章设计任务及要求………………………………………………………………………1

第二章设计思路…………………………………………………………………………………2

2.1正弦信号发生器原理…………………………………………………………………….2

2.2正弦信号发生器结构……………………………………………………………….......2

2.3程序设计……………………………………………………………………3

2.3.1循环计数器……………………………………………………………………3

2.3.2频率动态显示…………………………………………………………………….3

第三章设计步骤…………………………………………………………………………………4

3.1新建工程.………………………………………………………………………………..4

3.2定制LPM_ROM……………………………………………….……………………………4

3.2.1建立.Mif格式文件……….…………………………………………………….4

3.2.2LPM_RAM的设置和调用…………………………………………………………5

3.4生成计数器模块…………………..……………………………………………………7

3.5生成动态显示模块………………….…………………………………………………..7

3.6电路图设计………………………………………….………………………………….7

3.7编译并定义引脚,……………………………………..…………………………………7

3.8仿真………………………………………………………………………………………8

3.9选择硬件并下载…………………………………………...…………………………….9

第四章感受及启发…………………………………………………………………………….10

第一章设计任务及要求

设计一个正弦信号发生器,波形采样点为32点,8bit位宽输出正弦波,频率范围为100-10KHZ,且频率可预置,并在实验系统上实测,包括SignalTapII测试、FPGA中ROM的在系统数据读写测试,要求频率可在数码管显示,信号输出后经滤波器驱动蜂鸣器或利用示波器测试。

 

第二章设计思路

2.1正弦信号发生器原理

由五位计数器构成的地址发生器产生地址从而使正弦波数据存储ROM输出相应地址中的波信号数据。

2.2正弦信号发生器结构

图一设计框图

2.3程序设计

2.3.1循环计数器

Modulejishu(clk,cnt5,rst);

inputclk,rst;

output[4:

0]cnt5;

reg[4:

0]cnt;wireLD;

always@(posedgeclkorposedgeLDornegedgerst)

begin

if(!

rst)cnt<=5'b00000;

elseif(LD)cnt<=5'b00000;

elsecnt<=cnt+1;

end

assigncnt5=cnt;

assignLD=(cnt==32);

endmodule

 

2.3.2频率动态显示

Modulexianshi(sel,clk,LED7S,reset);

inputclk;

inputreset;

output[6:

0]LED7S;

output[2:

0]sel;

reg[6:

0]LED7S;

reg[2:

0]sel;

always@(posedgeclk)

begin

if(reset==1'b0)

sel<=3'b000;

elseif(sel==3'b100)

sel<=3'b000;

else

sel<=sel+3'b001;

end

always@(posedgeclk)

begin

if(reset==1'b0)

LED7S<=7'b0111111;

elseif(sel==3'b000)

LED7S<=7'b0111111;

elseif(sel==3'b001)

LED7S<=7'b0111111;

elseif(sel==3'b010)

LED7S<=7'b0111111;

elseif(sel==3'b011)

LED7S<=7'b0000110;

elseif(sel==3'b100)

LED7S<=7'b0111111;

end

endmodule

(注:

正弦发生器预置频率为10KHZ)

第三章设计步骤

3.1新建工程

通过file---newprojectwizard新建工程lpm1。

3.2定制LPM_ROM

3.2.1建立.Mif格式文件

用软件Mif_Maker2010生成波形采样点为32点,8bit位宽输出正弦波,频率为10KHZ正弦波的.mif文件data.mif.将生成的mif文件用记事本打开可见此正弦波数据如下:

DEPTH=32;

WIDTH=8;

ADDRESS_RADIX=HEX;

DATA_RADIX=HEX;

CONTENT

BEGIN

0000:

0080;

0001:

0098;

0002:

00B0;

0003:

00C6;

0004:

00DA;

0005:

00EA;

0006:

00F5;

0007:

00FD;

0008:

00FF;

0009:

00FD;

000A:

00F5;

000B:

00EA;

000C:

00DA;

000D:

00C6;

000E:

00B0;

000F:

0098;

0010:

007F;

0011:

0067;

0012:

004F;

0013:

0039;

0014:

0025;

0015:

0015;

0016:

000A;

0017:

0002;

0018:

0000;

0019:

0002;

001A:

000A;

001B:

0015;

001C:

0025;

001D:

0039;

001E:

004F;

001F:

0067;

END;

 

3.2.2LPM_ROM的设置和调用

Tools---megawizardplug-inmanager---createanewcustonmegafunctionvariation------……

图二

图三

图四

图五

3.4生成计数器模块

新建jishu.v文件输入计数器程序编译成功后通过:

file---create\update---createsymbolfilesforcurrentfile生成jishu.bsf。

3.5生成动态显示模块

新建xianshi.v文件输入动态显示频率程序编译成功后通过:

file---create\update---createsymbolfilesforcurrentfile生成xianshi.bsf。

3.6电路图设计

新建顶层文件lpm1.bdf文件并导入计数器,正弦波数据存储ROM,动态显示三个模块,然后添加输入输出引脚完成RTL电路图;

3.7编译并定义引脚

完成后RTL电路图见下图:

图六正弦信号发生器RTL电路图

3.8仿真

数据见下图:

图七仿真

3.9选择硬件并下载

下载程序后用导线正确连接各定义引脚。

当正弦信号发生器输出引脚接蜂鸣器时蜂鸣器会发出连续的滴滴声。

图八硬件连接及效果图

第四章感受及启发

这次课程设计从基本思路到最终设计的完成花了好几天的时间,最终得到结果真的不容易。

在做课设的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。

特别是当每一个子模块编写调试成功时,心里特别的开心。

但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。

其次,在连接各个模块的时候一定要注意细心,才能得出正确的结果,否则,出现任何一点小的误差就会导致整个文件系统的编译出现错误提示,在器件的选择上也有一定的技巧,只有选择了合适当前电路所适合的器件,编译才能得到完满成功。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这次课设遇到了各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

总的来说,这次设计的正弦信号发生器还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导和同学的帮助下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。

最后,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

在这次设计中,我也深深地体会到“细节决定成败”这句话的真正含义,也许就因为一个小的细节就会导致设计的失败。

这次设计也启发了我在以后的学习中一定要耐心、细心、认真,不可粗枝大叶。

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

当前位置:首页 > 高等教育 > 工学

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

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