正弦波发生器.docx
《正弦波发生器.docx》由会员分享,可在线阅读,更多相关《正弦波发生器.docx(5页珍藏版)》请在冰豆网上搜索。
![正弦波发生器.docx](https://file1.bdocx.com/fileroot1/2022-11/26/8f58c2bb-012d-44b2-94e9-5785ad84a9b4/8f58c2bb-012d-44b2-94e9-5785ad84a9b41.gif)
正弦波发生器
天津城市建设学院
课程设计任务书
2011—2012学年第1学期
电子与信息工程系电子信息工程专业08电信1班级
课程设计名称:
EDA技术及应用
设计题目:
正弦信号发生器
完成期限:
自2012年1月2日至2012年1月6日共1周
一、课程设计依据
在掌握常用数字电路功能和原理的基础上,根据EDA技术课程所学知识,利用硬件描述语言VerilogHDL、EDA软件QuartusII和硬件平台Cyclone/CycloneIIFPGA进行电路系统的设计。
二、课程设计内容
设计一个正弦信号发生器,波形采样点为32点,8bit位宽输出正弦波,频率范围为100-10KHZ,且频率可预置,并在实验系统上实测,包括SignalTapII测试、FPGA中ROM的在系统数据读写测试,要求频率可在数码管显示,信号输出后经滤波器驱动蜂鸣器或利用示波器测试。
三、课程设计要求
1、要求独立完成设计任务。
2、课程设计说明书封面格式要求见《天津城市建设学院课程设计教学规范》附表1。
3、课程设计的说明书要求简洁、通顺,计算正确,图纸表达内容完整、清楚、规范。
4、测试要求:
根据题目的特点,采用相应的时序仿真或者在实验系统上观察结果。
5、课程设计说明书要求:
1)说明题目的设计原理和思路、采用方法及设计流程。
2)系统框图、Verilog语言设计程序或原理图。
3)对各子模块的功能以及各子模块之间的关系做较详细的描述。
4)详细说明调试方法和调试过程。
5)说明测试结果:
仿真时序图和结果显示图,并对其进行说明和分析。
指导教师(签字):
教研室主任(签字):
批准日期:
2011年12月22日
摘要
正弦信号发生器是在电子电路设计、自动控制系统和仪表测量校正调试中应用很多的一种信号发生装置和信号源,属于数字信号发生器。
而正弦信号是一种频率成分最为单一的常见信号源,任何复杂信号(例如声音信号)都可以通过傅里叶变换分解为许多频率不同、幅度不等的正弦信号的叠加,它的应用领域很广范。
根据课设的基本要求,结合不同正弦信号发生器的工作原理,最终决定采用这么一种方案,即先由8位计数器构成的地址发生器产生地址进而使正弦波数据存储ROM输出相应地址中的波信号数据,再进行相应的数模转换,从而达到输出正弦波信号的目的。
关键字:
正弦信号,LPM_ROM定制,地址发生器
第一章课程设计解决方案
1.1课程设计解决方案
1.1.1课程设计解决方案的基本原理
1、正弦波的产生原理是利用不断扫描读取给定编程数据需来实现的,那么就需要定制LPM_ROM出来,从而将波形数据存所定制的ROM中;
2、波形数据存储好后,就需要一地址信号发生器,由计数器构成,来选择已经定制好的ROM中的相应地址位;
3、波形输出需要一个8位DA转换装置,可以选择DAC0832
简而言之,就是利用已经定制好的LPM_ROM,再结合相应的由计数器构成的地址信号发生器来扫描读取相应的波形数据,从而进行波形显示。
1.1.2课程设计解决方案的原理框图
其设计框图如下图1所示:
图1设计框图
该正弦信号发生器工作时,先由8位计数器构成的地址发生器产生地址进而使正弦波数据存储ROM输出相应地址中的波信号数据,再进行相应的数模转换,从而达到输出正弦波信号的目的。
第二章正弦信号发生器设计模块的实现
如图1所示,正弦信号发生器的设计功能模块主要有地址发生器模块、LPM_ROM定制模块和频率动态显示模块。
2.1地址发生器模块的实现
2.1.1地址发生器的verilog源程序
Modulejishu(clk,cnt5,rst);
inputclk,rst;
output[4:
0]cnt8;
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.1.2生成地址发生器模块
通过file---newprojectwizard新建工程lpm1。
新建jishu.v文件输入计数器程序编译成功后通过:
file---create\update---createsymbolfilesforcurrentfile生成jishu.bsf。
2.2LPM_ROM定制模块
2.2.1建立.Mif格式文件
Mif的生成方法有多种,例如一是,直接编译法,在中打开mif文件编辑窗,选择file-new中的memoryfile,出现一系列表格后,可以进行根据地址线数目和相应数据宽度进行参数设置,然后再将波形数据填入进去,有可能要根据波形数据的进制类型来更改表格显示进制:
二是文本编辑法方法;三是C语言等软件生成;四是专用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;
2.2.2LPM_ROM的设置和调用
Tools---megawizardplug-inmanager---createanewcustonmegafunctionvariation------……
图2AROM定制过程图