实验五正弦信号发生器设计5篇

时间:2019-05-13 18:34:37下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《实验五正弦信号发生器设计》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《实验五正弦信号发生器设计》。

第一篇:实验五正弦信号发生器设计

实验五正弦信号发生器设计

一、实验目的1.熟悉利用QuartusII及其LPM_ROM与FPGA硬件资源的使用方法;

2.掌握LPM模块的重要功能;

3.熟悉MegaWizard Plug-In Manager的使用方法。

二、实验设备

计算机,QuartusII 6.0 版软件,JTAG下载线,EDA实验挂箱(EP1C6Q240C8)。

三、实验原理

设计一8位宽、1024点的正弦信号发生器。

正弦信号发生器的结构由四个部分组成:

1.计数器或地址发生器(10位地址线);

2.正弦信号数据ROM(存放正弦波的采样数据,采样频率20MHz:8位数据线、10位地址线);

3.VHDL顶层设计;

4.D/A转换器(8位)。

四、实验步骤和内容

1.在QuartusII上利用MegaWizard Plug-In Manager功能,调用LPM_ROM函数定制8位宽、1024点ROM,并进行初始化。然后对设计实体进行编辑、编译、综合、适配、仿真。

2.利用QuartusII文本编辑器设计10位二进制计数器,做为地址发生器,对设计实体进行编辑、编译、综合、适配、仿真。

3.利用层次化设计方法设计一8位宽、1024点的正弦信号发生器。

4.D/A转换器采用试验箱配备的DAC0832。

5.引脚锁定和硬件下载测试。引脚锁定后进行编译、下载和硬件测试实验。将实验过程和实验结果写进实验报告。

6.使用SignalTap II对设计的正弦信号发生器进行实测。采样时钟使用系统时钟20MHz。

7.使用在系统存储器数据读写编辑器对设计的正弦信号发生器进行实测,观测结果;

8.实验报告。将实验原理、设计过程、编译仿真波形和分析结果、硬件测试实验结果写进实验报告。

五、思考题

如何实现对输出正弦信号的频率和相位可调?

第二篇:简易正弦信号发生器的设计

实验六 简易正弦信号发生器的设计

一、实验目的1.进一步熟悉Quatus软件的使用方法;

2.掌握逻辑分析仪的使用方法;

3.掌握LPM-ROM的使用方法;

二、实验内容

定制LPM-ROM模块,并利用其设计一个简易的正弦信号发生器,该信号发生器由以下三部分组成:

(1)计数器或地址信号发生器;

(2)正弦信号数据存储器ROM(6位地址线,8位数据线),含有128个8位波形数据(一个正弦波形周期)。

(3)VHDL顶层程序设计

注意:本实验中未给正弦信号波形接D/A转换器,因而采用逻辑分析仪进行观察,具体观察方法见教材208页。

本实验中待测信号为ar和q。时钟选择clk;时能信号为en,高电平触发。

三、实验记录

1.VHDL语言程序

2.仿真波形

3.逻辑分析仪观察结果。

四、问题讨论

1.总结宏功能模块的应用环境,可实现哪些设计?

2.设计一个方波生成器。

第三篇:信号发生器设计(推荐)

模拟课程设计题

信号发生器设计

设计一个能够输出正弦波、三角波和矩形波的信号源电路,电路形式自行选择。输出信号的频率可通过开关进行设定,具体要求如下:

(1)输出信号的频率范围为100~800Hz,步进为100Hz。(60分)

(2)要求输出信号无明显失真,特别是正弦波信号。(30分)

评分标准:

(1)范围满足设计要求得满分,否则酌情扣分。

(2)输出信号无明显失真可满分,有明显失真酌情扣分。

发挥部分(附加10分):

进一步扩大输出信号范围和减小步进频率。

第四篇:EDA课程设计——基于DDS的正弦信号发生器设计(模版)

顶层文件 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DDS IS

PORT(K:IN STD_LOGIC_VECTOR(9 DOWNTO 0);

EN:IN STD_LOGIC;

RESET:IN STD_LOGIC;

CLK:IN STD_LOGIC;

Q:OUT STD_LOGIC_VECTOR(8 DOWNTO 0));END ENTITY DDS;ARCHITECTURE BEHAVE OF DDS IS

COMPONENT SUM99 IS

PORT(K:IN STD_LOGIC_VECTOR(9 DOWNTO 0);

EN:IN STD_LOGIC;

RESET:IN STD_LOGIC;

CLK:IN STD_LOGIC;

OUT1:OUT STD_LOGIC_VECTOR(9 DOWNTO 0));

END COMPONENT SUM99;

COMPONENT REG1 IS

PORT(D:IN STD_LOGIC_VECTOR(9 DOWNTO 0);

CLK:IN STD_LOGIC;

Q:OUT STD_LOGIC_VECTOR(9 DOWNTO 0));

END COMPONENT REG1;

COMPONENT ROM IS

PORT(CLK:IN STD_LOGIC;

ADDR:IN STD_LOGIC_VECTOR(9 DOWNTO 0);

OUTP:OUT STD_LOGIC_VECTOR(8 DOWNTO 0));

END COMPONENT ROM;

COMPONENT REG2 IS

PORT(D:IN STD_LOGIC_VECTOR(8 DOWNTO 0);

CLK:IN STD_LOGIC;

Q:OUT STD_LOGIC_VECTOR(8 DOWNTO 0));

END COMPONENT REG2;

SIGNAL S1:STD_LOGIC_VECTOR(9 DOWNTO 0);

SIGNAL S2:STD_LOGIC_VECTOR(9 DOWNTO 0);

SIGNAL S3:STD_LOGIC_VECTOR(8 DOWNTO 0);

BEGIN

U0:SUM99

PORT MAP(K=>K,EN=>EN,RESET=>RESET,CLK=>CLK,OUT1=>S1);

U1:REG1 PORT MAP(D=>S1,CLK=>CLK,Q=>S1);

U2:ROM PORT MAP(ADDR=>S2,CLK=>CLK,OUTP=>S3);

U3:REG2 PORT MAP(D=>S3,CLK=>CLK,Q=>Q);END ARCHITECTURE BEHAVE;

正弦查找表 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ROM IS PORT(ADDR:IN STD_LOGIC_VECTOR(6 DOWNTO 0);CLK:IN STD_LOGIC;OUTP:OUT SIGNED(7 DOWNTO 0));END ENTITY ROM;ARCHITECTURE ART OF ROM IS BEGIN PROCESS(CLK)IS BEGIN IF(CLK'EVENT AND CLK='1')THEN CASE ADDR IS WHEN “0000000”=>OUTP<=“00000000”;WHEN “0000001”=>OUTP<=“00000010”;WHEN “0000010”=>OUTP<=“00000011”;WHEN “0000011”=>OUTP<=“00000101”;WHEN “0000100”=>OUTP<=“00000110”;

WHEN “0000101”=>OUTP<=“00001000”;WHEN “0000110”=>OUTP<=“00001001”;WHEN “0000111”=>OUTP<=“00001011”;WHEN “0001000”=>OUTP<=”00001101“;WHEN ”0001001“=>OUTP<=”00001110“;WHEN ”0001010“=>OUTP<=”00010000“;WHEN ”0001011“=>OUTP<=”00010001“;WHEN ”0001100“=>OUTP<=”00010011“;WHEN ”0001101“=>OUTP<=”00010100“;WHEN ”0001110“=>OUTP<=”00010110“;WHEN ”0001111“=>OUTP<=”00010111“;WHEN ”0010000“=>OUTP<=”00011001“;WHEN ”0010001“=>OUTP<=”00011011“;

WHEN ”0010010“=>OUTP<=”00011100“;WHEN ”0010011“=>OUTP<=”00011110“;WHEN ”0010100“=>OUTP<=”00011111“;WHEN ”0010101“=>OUTP<=”00100001“;WHEN ”0010110“=>OUTP<=”00100010“;WHEN ”0010111“=>OUTP<=”00100100“;WHEN ”0011000“=>OUTP<=”00100101“;WHEN ”0011001“=>OUTP<=”00100111“;

WHEN ”0011010“=>OUTP<=”00101001“;WHEN ”0011011“=>OUTP<=”00101010“;WHEN ”0011100“=>OUTP<=”00101100“;WHEN ”0011101“=>OUTP<=”00101101“;WHEN ”0011110“=>OUTP<=”00101111“;WHEN ”0011111“=>OUTP<=”00110000“;WHEN ”0100000“=>OUTP<=”00110010“;WHEN ”0100001“=>OUTP<=”00110011“;WHEN ”0100010“=>OUTP<=”00110101“;WHEN ”0100011“=>OUTP<=”00110110“;WHEN ”0100100“=>OUTP<=”00111000“;WHEN ”0100101“=>OUTP<=”00111001“;WHEN ”0100110“=>OUTP<=”00111011“;WHEN ”0100111“=>OUTP<=”00111100“;WHEN ”0101000“=>OUTP<=”00111110“;WHEN ”0101001“=>OUTP<=”00111111“;WHEN ”0101010“=>OUTP<=”01000001“;WHEN ”0101011“=>OUTP<=”01000011“;WHEN ”0101100“=>OUTP<=”01000100“;WHEN ”0101101“=>OUTP<=”01000110“;WHEN ”0101110“=>OUTP<=”01000111“;WHEN ”0101111“=>OUTP<=”01001001“;

WHEN ”0110000“=>OUTP<=”01001010“;WHEN ”0110001“=>OUTP<=”01001100“;WHEN ”0110010“=>OUTP<=”01001101“;WHEN ”0110011“=>OUTP<=”01001111“;WHEN ”0110100“=>OUTP<=”01010000“;WHEN ”0110101“=>OUTP<=”01010001“;WHEN ”0110110“=>OUTP<=”01010011“;WHEN ”0110111“=>OUTP<=”01010100“;WHEN ”0111000“=>OUTP<=”01010110“;WHEN ”0111001“=>OUTP<=”01010111“;WHEN ”0111010“=>OUTP<=”01011001“;WHEN ”0111011“=>OUTP<=”01011010“;WHEN ”0111100“=>OUTP<=”01011100“;WHEN ”0111101“=>OUTP<=”01011101“;WHEN ”0111110“=>OUTP<=”01011111“;WHEN ”0111111“=>OUTP<=”01100000“;WHEN ”1000000“=>OUTP<=”01100010“;WHEN ”1000001“=>OUTP<=”01100011“;WHEN ”1000010“=>OUTP<=”01100100“;WHEN ”1000011“=>OUTP<=”01100110“;WHEN ”1000100“=>OUTP<=”01100111“;WHEN ”1000101“=>OUTP<=”01101001“;

WHEN ”1000110“=>OUTP<=”01101010“;WHEN ”1000111“=>OUTP<=”01101100“;WHEN ”1001000“=>OUTP<=”01101101“;WHEN ”1001001“=>OUTP<=”01101110“;WHEN ”1001010“=>OUTP<=”01110000“;WHEN ”1001011“=>OUTP<=”01110001“;WHEN ”1001100“=>OUTP<=”01110011“;WHEN ”1001101“=>OUTP<=”01110100“;WHEN ”1001110“=>OUTP<=”01110101“;WHEN ”1001111“=>OUTP<=”01110111“;WHEN ”1010000“=>OUTP<=”01111000“;WHEN ”1010001“=>OUTP<=”01111010“;WHEN ”1010010“=>OUTP<=”01111011“;WHEN ”1010011“=>OUTP<=”01111100“;WHEN ”1010100“=>OUTP<=”01111110“;WHEN ”1010101“=>OUTP<=”01111111“;WHEN ”1010110“=>OUTP<=”10000000”;WHEN “1010111”=>OUTP<=“10000010”;WHEN “1011000”=>OUTP<=“10000011”;WHEN “1011001”=>OUTP<=“10000100”;WHEN “1011010”=>OUTP<=“10000110”;WHEN “1011011”=>OUTP<=“10000111”;

WHEN “1011100”=>OUTP<=“10001000”;WHEN “1011101”=>OUTP<=“10001010”;WHEN “1011110”=>OUTP<=“10001011”;WHEN “1011111”=>OUTP<=“10001100”;WHEN “1100000”=>OUTP<=“10001110”;WHEN “1100001”=>OUTP<=“10001111”;WHEN “1100010”=>OUTP<=“10010000”;WHEN “1100011”=>OUTP<=“10010010”;WHEN “1100100”=>OUTP<=“10010011”;WHEN “1100101”=>OUTP<=“10010100”;WHEN “00001100110”=>OUTP<=“10010101”;WHEN “1100111”=>OUTP<=“10010111”;WHEN “1101000”=>OUTP<=“10011000”;WHEN “1101001”=>OUTP<=“10011001”;WHEN “1101010”=>OUTP<=“10011010”;WHEN “1101011”=>OUTP<=“10011100”;WHEN “1101100”=>OUTP<=“10011101”;WHEN “1101101”=>OUTP<=“10011110”;WHEN “1101110”=>OUTP<=“10011111”;WHEN “1101111”=>OUTP<=“10100001”;WHEN “1110000”=>OUTP<=“10100010” WHEN “1110001”=>OUTP<=“10100011”;

WHEN “1110010”=>OUTP<=“10100100”;WHEN “1110011”=>OUTP<=“10100101”;WHEN “1110100”=>OUTP<=“10100111”;WHEN “1110101”=>OUTP<=“10101000”;WHEN “1110110”=>OUTP<=“10101001”;WHEN “1110111”=>OUTP<=“10101010”;WHEN “1111000”=>OUTP<=“10101011”;WHEN “1111001”=>OUTP<=“10101100”;WHEN “1111010”=>OUTP<=“10101110”;WHEN “1111011”=>OUTP<=“10101111”;WHEN “1111100”=>OUTP<=“10110000”;WHEN “1111101”=>OUTP<=“10110001”;WHEN “1111110”=>OUTP<=“10110010”;WHEN “1111111”=>OUTP<=“10110011”;WHEN OTHERS=>OUTP<=“ 00000000”;

END CASE;

END IF;END PROCESS;END ARCHITECTURE ART;

DAC 0832的VHDL程序 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DAC0832 IS PORT(CLK:IN STD_LOGIC;

RST:IN STD_LOGIC;

ILE:OUT STD_LOGIC;

CONT:OUT STD_LOGIC;DATA_OUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END ENTITY;ARCHITECTURE BEHAVE OF DAC0832 IS SIGNAL Q:INTEGER RANGE 0 TO 63;SIGNAL DATA:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN

PROCESS(CLK)

BEGIN

IF RST='1'THEN Q<=0;ELSIF CLK'EVENT AND CLK='1'THEN

IF DATA=“11111111”THEN DATA<=“00000000”;

ELSE DATA<=DATA+1;

END IF;

ELSE Q<=Q+1;

END IF;

END PROCESS;ILE<='1';CONT<='0';DATA_OUT<=DATA;END ARCHITECTURE BEHAVE;

频率控制字 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY REG0 IS

PORT(CLK:IN STD_LOGIC;

LOCK:IN STD_LOGIC;

Q:OUT STD_LOGIC_VECTOR(9 DOWNTO 0));END ENTITY REG0;ARCHITECTURE ART OF REG0 IS BEGIN

PROCESS(CLK)

BEGIN

IF(CLK'EVENT AND CLK='1')THEN

IF LOCK='1'THEN

Q<=“0000011111”;

END IF;

END IF;

END PROCESS;END ARCHITECTURE ART;

相位寄存器 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG1 IS

PORT(D:IN STD_LOGIC_VECTOR(9 DOWNTO 0);

CLK:IN STD_LOGIC;

Q:OUT STD_LOGIC_VECTOR(9 DOWNTO 0));END ENTITY REG1;ARCHITECTURE BEHAVE OF REG1 IS BEGIN

PROCESS(CLK)IS

BEGIN

IF(CLK'EVENT AND CLK='1')THEN

Q<=D;

END IF;

END PROCESS;END ARCHITECTURE BEHAVE;

输出数据寄存器 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG2 IS PORT(D:IN STD_LOGIC_VECTOR(8 DOWNTO 0);

CLK:IN STD_LOGIC;

Q:OUT STD_LOGIC_VECTOR(8 DOWNTO 0));END ENTITY REG2;ARCHITECTURE BEHAVE OF REG2 IS BEGIN

PROCESS(CLK)IS

BEGIN

IF(CLK'EVENT AND CLK='1')THEN

Q<=D;

END IF;

END PROCESS;END ARCHITECTURE BEHAVE;

相位累加器 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SUM99 IS

PORT(K:IN STD_LOGIC_VECTOR(9 DOWNTO 0);

CLK:IN STD_LOGIC;

EN:IN STD_LOGIC;

RESET:IN STD_LOGIC:

OUT1:OUT STD_LOGIC_VECTOR(9 DOWNTO 0));END ENTITY SUM99;ARCHITECTURE BEHAVE OF SUM99 IS

SIGNAL TEMP:STD_LOGIC_VECTOR(9 DOWNTO 0);BEGIN

PROCESS(CLK,EN,RESET)IS

BEGIN

IF RESET='1'THEN

TEMP<=“0000000000”;

ELSE

IF CLK'EVENT AND CLK='1'THEN

IF EN='1'THEN

TEMP<=TEMP+K;

END IF;

END IF;

END IF;

OUT1<=TEMP;

END PROCESS;END ARCHITECTURE BEHAVE;

图1.顶层电路原理图

图2.dds波形仿真图

图3.rom波形仿真图

图4.相位寄存器reg1仿真波形图

图5.寄存器reg2的波形仿真

图6.相位累加器仿真波形图

图7.优化过程及对比波形(A——H)

图A

图B

图C

图D

图E 23

图F

图G

图H

第五篇:简易信号发生器设计

《单片机原理及应用》课程设计任务书 课程设计题目:简易信号发生器设计

一、设计目的和要求

(一)、设计目的通过设计简易信号发生器,完成系统设计、编码、调试及维护工作的实践,了解单片机应用系统的一般设计思路,熟悉和掌握硬件系统和软件设计的一般方法。

(二)、设计要求

1.设定功能:能通过按键设定信号类型、频率

2.显示功能:通过数码管或液晶显示当前波形类型和频率。

3.计数功能:能设定自动输出多少个周期该波形后停止输出,直到再次按下触发按钮

二、设计内容及步骤

1.系统分析,完成系统分析报告

2.根据的系统结构图、课程实验,查阅资料,确定系统各个模块的译码电路和地址范围以及其它硬件型号,详细画出系统硬件原理图。

3.程序流程图,编制程序。

4.调试修改显示子模块、键盘扫描子模块、定时器中断子模块和主程序

5.编写课程设计报告

内容包括:题目、摘要、目录、正文、结论、致谢、参考文献等。学生在完成上述全部工作之后,应将全部内容以先后顺序写成设计报告一份,阐述整个设计内容,要求重点突出、特色鲜明、语言简练、文字通畅,字迹工整。报告要求在专用报告书上书写。

6.完成课程设计报告,设计报告字数不得少于3000 字撰写要求如下: ·设计任务

·问题定义、理论分析

·理论设计(程序功能结构、算法说明和程序框图)

·上机调试(实验环境、实验说明和程序清单)

·结果分析

·心得体会

三、进度安排

按教学计划规定,单片机原理及应用课程设计总学时为一周,其进度及时间大致分配如下:

序号 设计内容天数(约占比例)查阅资料(约占8%)确定设计思路(约占15%)画出硬件图、确定各个模块的电路实现方法(约占27%)编写程序(约占25%)调试修改各子模块和主程序(约占15%)总结设计过程,编写课程设计报告1(约占10%)

下载实验五正弦信号发生器设计5篇word格式文档
下载实验五正弦信号发生器设计5篇.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    函数信号发生器设计

    函数信号发生器设计设计任务与要求 ⑴ 设计并制作能产生正弦波、矩形波(方波)和三角波(锯齿波)的函数发生器,本信号发生器可以考虑用专用集成芯片(如5G8038等)为核心实现。⑵ 信号......

    VHDL实验四函数信号发生器设计.

    VHDL实验四:函数信号发生器设计 设计要求:设计一个函数信号发生器,能产生方波,三角波,正弦波,阶梯波。 设计概述:信号的输出实质上是指电压幅度随时间的变化。根据这个原理......

    基于Labview的函数信号发生器的设计(开放性实验)

    开放性实验设计(报告) 摘 要 本次设计基于美国国家仪器(NI)的虚拟仪器开发平台Labview,使用图形化语言编程,设计了一款虚拟函数信号发生器。该虚拟函数信号发生器能够产生正弦波、......

    低频函数信号发生器设计

    实验报告 课程名称:电子系统综合设计 指导老师:周箭 成绩:实验名称:低频函数信号发生器(预习报告)实验类型: 同组学生姓名:一、 课题名称 低频函数信号发生器设计 二、 性能指标 (1......

    函数信号发生器设计论文.

    四川师范大学成都学院通信原理课程设计 目 录 前言 ..................................................................... 1 1 函数信号发生器设计任务 .....................

    函数信号发生器设计实验报告

    函数信号发生器的设计 实验报告 院 系:电子工程学院 班 级:2012211209 姓 名:陈炳文 班内序号:学 号: 0 实验目的: 设计一个设计制作一个可输出方波、三角波、正弦波信号的函数......

    函数信号发生器的设计参考

    函数信号发生器的设计与制作 函数信号发生器一般是指能自动产生正弦波、三角波、方波及锯齿波、阶梯波等电压波形的电子仪器。根据用途不同,有产生三种或多种波形的函数发生......

    基于ICL8038的信号发生器的设计

    课程设计任务书学生姓名:专业班级:指导老师:吴薇工作单位:武汉理工大学理学院 题目:基于ICL8038的信号发生器的设计初始条件:直流可调稳压电源一台、万用表一块、面包板一块、元器......