当前位置:文档之家› VHDL乐曲演奏实验报告

VHDL乐曲演奏实验报告

VHDL乐曲演奏实验报告
VHDL乐曲演奏实验报告

设计性实验报告

班级:

姓名(学号):

实验项目名称:乐曲演奏实验

实验项目性质:设计性

实验所属课程: EDA基础

实验室(中心):

指导教师:

实验完成时间: 2009 年 12 月 13 日

教师评阅意见:

签名:年月日实验成绩:

一、实验目的

1、熟悉QuartusII 软件的使用。

2、熟悉EDA实验开发系统的基本使用。

3、学习VHDL基本单元电路的设计应用。进一步掌握EDA的多层次设计方法。

4、学习音乐发生器的设计。

二、实验内容及要求

1、实验内容

利用可编程逻辑器件FPGA,设计乐曲硬件电路,可自动演奏乐曲。

2、实验要求

要求能够演奏出《友谊天长地久》的曲调或可另选一段较完整的曲调(扩展要

求:能够从数码管上显示出当前曲调的简谱和频率),我们组演奏出的是实验

要求上的《友谊天长地久》曲调。

三、实验原理

1、乐曲硬件电路产生音乐是和音乐频率和音乐的持续时间有关;音符的持续时间需

根据乐曲的速度和每个音符的节拍数来确定。其简谱中音符和频率的关系如下:

2、该演奏电路演奏的乐曲是《友谊天长地久》片段,其最小的节拍为1拍,将1拍

的时长定位0.25S ,则只需要再提供一个4hz 的时钟频率即可产生1拍的时长,演奏的时间控制通过ROM 查表的方式来完成。对于占用时间较长的节拍,(一定是节拍的整数倍),如全音符为4拍,2/4音符为2拍,1/4音符为1拍。

3、乐曲硬件演奏电路系统主要有数控分频器和乐曲存储模块两个部分组成,其余还有

音乐节拍发生器等等。数控分频器对FPGA 的基准频率进行分频,得到与各个音节对应的频率输出。乐曲存储模块产生节拍控制和音阶选择信号,即在此模块中存放一个乐曲曲谱真值表(实验中用的ROM 存储),由一个计数器来控制此真值表的输出,而由计数器的技术时钟信号作为乐曲节拍控制信号。

4、要求演奏时能循环进行,必须需另外设置一个时长计数器,当乐曲演奏完成时,保

证能自动从头开始演奏。该计数器控制真值表按顺序输出简谱。

四、实验仪器、材料

计算机一台、GW48 EDA/SOPC 实验箱一台

QuartusII 软件、实验箱连接线一根

五、方案设计

这个实验中采用层次化的设计思路,因此我们把此乐曲硬件演奏电路分为3个主要模块,即音乐发生器NoteTabs 模块,音符译码电路Tonetaba 模块,数控分频Speakera 模块。分好层次之后,编写每个模块的程序,分别生成项目符号,最后把生成的个项目符号用原理图的方式连接起来,然后编译、下载即可。由图例表示如下:

输入 输出(乐曲)

此实验设计中,我主要负责音乐发生器NoteTabs 模块(ROM 的定制过程)和最后的连接原理图部分。

六、实验过程及原始记录

1、音乐节拍发生器NoteTabs 模块

这个模块用FPGA 的片内ROM 存放乐曲的简谱真值表,由一个二进制计数器为乐曲数据存储ROM 的地址发生器随着NoteTabs 中计数器按时钟频率做加法计数时,乐曲数据存储器ROM 中的音符数据,将从ROM 中的输出口输向音符译码电路Tonetaba ,所存储的乐曲就开始连续自然地演奏起来。

NoteTabs Speakera Tonetaba

ROM的定制过程,利用MegawizardPlug-In Manager定制音符数据存储器music1 其过程如下:

在QuartusII主窗口Tools菜单中选择MegawizardPlug-In Manager命令,选择Create a new custom megafunction项。单击next按钮后,选择好后cyclone和VHDL语言后,产生对话框如下:

如上所示就完成了,LPM_ROM的定制流程,完成了music1模块的定制工作,其产生的music1的VHDL语言程序如下:

LIBRARY ieee;

USE ieee.std_logic_1164.all;

LIBRARY altera_mf;

USE altera_mf.altera_mf_components.all;

ENTITY music1 IS

PORT

(

address : IN STD_LOGIC_VECTOR (7 DOWNTO 0);

clock : IN STD_LOGIC ;

q : OUT STD_LOGIC_VECTOR (3 DOWNTO 0)

);

END music1;

ARCHITECTURE SYN OF music1 IS

SIGNAL sub_wire0 : STD_LOGIC_VECTOR (3 DOWNTO 0);

COMPONENT altsyncram

GENERIC (

intended_device_family : STRING;

width_a : NATURAL;

widthad_a : NATURAL;

numwords_a : NATURAL;

operation_mode : STRING;

outdata_reg_a : STRING;

address_aclr_a : STRING;

outdata_aclr_a : STRING;

width_byteena_a : NATURAL;

init_file : STRING;

lpm_hint : STRING;

lpm_type : STRING

);

PORT (

clock0 : IN STD_LOGIC ;

address_a : IN STD_LOGIC_VECTOR (7 DOWNTO 0);

q_a : OUT STD_LOGIC_VECTOR (3 DOWNTO 0) );

END COMPONENT;

BEGIN

q<= sub_wire0(3 DOWNTO 0);

altsyncram_component : altsyncram

GENERIC MAP (

intended_device_family => "Cyclone",

width_a => 4,

widthad_a => 8,

numwords_a => 256,

operation_mode => "ROM",

outdata_reg_a => "CLOCK0",

address_aclr_a => "NONE",

outdata_aclr_a => "NONE",

width_byteena_a => 1,

init_file => "data.mif",

lpm_hint => "ENABLE_RUNTIME_MOD=NO",

lpm_type => "altsyncram"

)

PORT MAP (

clock0 => clock,

address_a => address,

q_a => sub_wire0

);

END SYN;

在定制ROM的过程中,由于需要存入122个音符数据,选择ROM的数据位宽为8,地址为为8(共计256个字),ROM的类型选择为Auto。

根据友谊天长地久的音乐简谱,以及简谱中的低、中、高和额节拍与发生频率的关系等等,化成个音符数字有122个,存入ROM中。

在数据文件编辑窗中,在mif格式表格中填入友谊天长地久的122个音符数据,并以十进制填入,最后保存数据文件名为data.mif,存入原路径中。

2、音乐节拍发生器NoteTabs的VHDL设计

其源程序如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY NoteTabs IS

PORT(clk4hz:IN STD_LOGIC;

Index2:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

Tone:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

END NoteTabs;

ARCHITECTURE one OF NoteTabs IS

COMPONENT MUSIC1

PORT (address:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

clock:IN STD_LOGIC;

q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));

END COMPONENT;

SIGNAL Counter:STD_LOGIC_VECTOR(7 DOWNTO 0);

SIGNAL INDEX1:STD_LOGIC_VECTOR(3 DOWNTO 0);

Begin

CNT8:PROCESS(clk4hz,Counter)

BEGIN

IF Counter=122 THEN Counter<="00000000";

ELSIF(clk4hz'EVENT AND clk4hz='1') THEN Counter<=Counter+1;

END IF;

END PROCESS CNT8;

u1:music1 PORT MAP(address=>Counter,clock=>clk4hz,q=>Index1);

Tone<=Index1;

END one;

◆在源程序中Tone是音乐节拍发生器输出地音符数据;clk4hz是计数时钟输入端,该

信号作为音符的快慢信号,频率越高,时钟的输出节拍速度就越快,演奏的速度也越快。

◆将以上设计的音乐节拍发生器设置成可调用的原件,以被高层使用,其生成项目符

号为:

3、音符译码电路Tonetaba模块,其程序如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY ToneTaba IS

PORT(Index:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

CODE:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

HIGH:OUT STD_LOGIC;

Tone:OUT STD_LOGIC_VECTOR(12 DOWNTO 0));

END;

ARCHITECTURE one OF ToneTaba IS

BEGIN

PROCESS(Index)

BEGIN

CASE Index IS

WHEN"0000"=>Tone<="1111111111111";CODE<="0000";HIGH<='0';

WHEN"0101"=>Tone<="0110000010001";CODE<="0101";HIGH<='0';

WHEN"0110"=>Tone<="0111000111110";CODE<="0110";HIGH<='0';

WHEN"1000"=>Tone<="1000100010001";CODE<="0001";HIGH<='1';

WHEN"1001"=>Tone<="1001010110010";CODE<="0010";HIGH<='1';

WHEN"1010"=>Tone<="1010000100101";CODE<="0011";HIGH<='1';

WHEN"1100"=>Tone<="1011000001000";CODE<="0101";HIGH<='1';

WHEN"1101"=>Tone<="1011100011110";CODE<="0110";HIGH<='1';

WHEN"1111"=>Tone<="1100010001000";CODE<="0001";HIGH<='1';

WHEN OTHERS=>Tone<="1111111111111";CODE<="0000";HIGH<='0';

END CASE;

END PROCESS;

END;

◆在源程序中,Index[3..0]是音乐节拍发生器输出地音符数据;Tone[12..0]是为数控分

频模块提供音符频率的初始值,此处有一个音符译码输出CODE[3..0]和音高指示信号HIGH可以通过数码管和LED来显示乐曲演奏时对应得音符和高低音。

◆将以上设计的音符译码电路设置成可调用的原件,以被高层使用,其生成项目符号

为:

4、数控分频模块(speakera)设计,其程序如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY Speakera IS

PORT( clk :IN STD_LOGIC;

Tone:IN STD_LOGIC_VECTOR(12 DOWNTO 0);

SpkS:OUT STD_LOGIC );

END;

ARCHITECTURE one OF Speakera IS

SIGNAL PreCLK,FullSpkS:STD_LOGIC;

BEGIN

DivedeCLK:PROCESS(clk)

V ARIABLE Count4:STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

PreCLK<='0';

IF Count4>11 THEN PreCLK<='1'; Count4:="0000";

ELSIF clk'EVENT AND clk='1' THEN Count4:=Count4+1;

END IF;

END PROCESS DivedeCLK;

GenSpkS:PROCESS(PreCLK,Tone)

V ARIABLE Count13:STD_LOGIC_VECTOR(12 DOWNTO 0);

BEGIN

IF PreCLK'EVENT AND PreCLK='1' THEN

IF Count13=16#1FFF#THEN Count13:=Tone;FullSpkS<='1';

ELSE Count13:=Count13+1;FullSpkS<='0';END IF;

END IF;

END PROCESS GenSpkS;

DelaySpkS:PROCESS(FullSpkS)

V ARIABLE Count2:STD_LOGIC;

BEGIN

IF FullSpkS'EVENT AND FullSpkS='1' THEN Count2:=NOT Count2;

IF Count2='1' THEN SpkS<='1';

ELSE SpkS<='0'; END IF;

END IF;

END PROCESS;

END;

◆数控分频器对FPGA的基准频率进行分频,得到与各个音阶对应的频率输出,里面

包含一个计数器,当计数器满时,产生一个进位信号FULLSPKS,该信号就是用作发音的频率信号,在计数器端的预置值端给定不同的初值时,产生不同频率的信号。

◆VHDL程序的第一个进程,为时基脉冲按照Tone输入的分频系数对4Mhz的脉冲分

频,得到所需要的音符频率;第二个进程的作用,在音调输出时在进行2分频,目的是将脉冲拓宽,使扬声器有足够的发生频率,我们可以很好的听到其发出的声音。

◆将以上设计的数控分频器设置成可调用的原件,以被高层使用,其生成项目符号为:

5、根据层次化设计要求把各个部分根据实验设计流程,即各个阶段产生的项目元件符

号连接成原理图如下:

6、经编译无错后,绑定引脚,选择实验模式5,下载测试,但我们组的实验出现错误,没有演奏出音乐,但可以手动输入信号,可产生音符。为了可自动循环演奏出音乐,我们仔细分析,认为可能是没有加入address端口信号,于是,我们在原来的基础上,加了一个addressROM地址端口和一个计数器。

七、实验结果及分析

1、在原来的基础上,加入的addressROM地址端口和计数器,计数器利用计数的功能循环给ROM不同的值,因而使后面的电路不断取ROM中的音符数据,从而演奏乐曲。 其计数器的VHDL源程序如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CNT10 IS

PORT(CLK,RST,EN:IN STD_LOGIC;

CQ:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));

END CNT10;

ARCHITECTURE behav OF CNT10 IS

BEGIN

PROCESS(CLK,RST,EN)

V ARIABLE CQI:STD_LOGIC_VECTOR(7 DOWNTO 0);

BEGIN

IF RST='1' THEN CQI:=(OTHERS=>'0');

ELSIF CLK'EVENT AND CLK='1' THEN

IF EN='1' THEN

IF CQI<122 THEN CQI:=CQI+1;

ELSIF CQI=122 THEN CQI:=(OTHERS=>'0');

END IF;

END IF;

END IF;

CQ<=CQI;

END PROCESS;

END behav;

◆将以上设计的计数器设置成可调用的原件,以被高层使用,其生成项目符号为:

◆在定制ROM的过程中,产生的Music1VHDL程序在上面已经给出,将其设置成可

调用的原件,以被高层使用,其生成项目符号为:

3、在原来基础上加上地址ROM端信号和计数器,重新连接原理图如下:

4、编译无错后,按如下所示绑定引脚:

5、绑定引脚之后原理图如下:

6、下载测试,选择实验模式5,下载完毕,听到完整的一段《友谊天长地久》音乐,并且音调很好,在绑定引脚的频率大范围内不变时,可以调整音量大小和速度快慢。

八、实验体会

VHDL实验报告

《创新实验》实验报告 —基于VHDL的编程和硬件实现

一、实验目的 1.熟悉和掌握硬件描述语言VHDL的基本语法及编写; 2.掌握软件Xilinx ISE 10.1的使用; 3.熟悉SDZ-6电子技术实验箱的使用; 4.了解节拍脉冲发生器等基本电路的实现; 5.了解八位二进制计数器的功能与设计; 6.学习键盘和七段数码管显示的控制和设计。 二、实验内容 1.Xilinx ISE 10.1软件的使用; 2.节拍脉冲发生器等基本电路的实现; 3.八位二进制计数器的实现 4.键盘扫描及显示的实现 三、实验器材 1、PC机 2、SDZ-6电子技术实验箱 3、正负5V电源 4、I/O接口线 四、软件的使用 在安装Xilinx10.1软件时,需要一个ID号,其实这个ID号是可以重复使用的,几个同学在官网注册后就可以共享ID号了。 安装完成之后就可以使用这个软件编写相应的VHDL的程序。 1.新建工程 File—>New Project 弹出下面的对话框 输入工程名后单击Next。然后根据本实验的实验箱进行以下设置。

以后的步骤一般都是单击Next(有些资料上会介绍有些这些步骤的具体功能,但对于本实验不必用到),最后单击Finish,完成新建一个工程。在窗口的左边会出现刚刚新建的工程,如下: 2.新建一个VHDL的源文件。 在上图中,右击工程选择New Source ,弹出如下对话框。

在对画框的左边选择VHDL Module,输入文件的名字(改名字最好是你定义的实体的名字)。单击Next。出现下面的对话框。 该对话框主要是对外部端口的编辑。可以直接跳过,即单击Next,在源文件上编辑端口。然后在接下来的对话框中单击Finish。完成建立一个源文件。窗口右边就会出现刚才编辑的源文件。 3.编写和编译代码 将事先编好的代码复制到源文件里,然后保存文件。 选中左边的文件名,在窗体的左边出现如下编辑文档内容。

(数字信号发生器+电子琴)实验报告

实验一数字信号发生器和电子琴制作 一、实验目的 1.熟悉matlab的软件环境,掌握信号处理的方法,能在matlab的环境下完成对 信号的基本处理; 2.学会使用matlab的GUI控件编辑图形用户界面; 3.了解matlab中一些常用函数的使用及常用运算符,并能使用函数完成基本的 信号处理; 二、实验仪器 计算机一台,matlab R2009b软件。 三、实验原理 1.数字信号发生器 MATLAB是矩阵实验室(Matrix Laboratory)的简称,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB 和Simulink两大部分。 已知的常用正弦波、方波及三角波,可以通过matlab自带的函数实现,通过改变函数的幅值、相位和频率可以得到不同的信号。 正弦信号:y=A*sin(2*pi*f*t); 方波信号:y=A*square(2*f*pi*x+c); 三角波信号:y=A*sawtooth(2*pi*f*x+c); 2. 电子琴 电子琴的每个音阶均对应一个特定频率的信号,通过调用数字信号发生器产生一系列指定的频率的声音,从而达到虚拟的电子琴的功能。界面中包含1、2、…、7共 7 个琴键,鼠标按下时即发声,松开时发声停止。同时能够产生正弦波、方波、三角波等常见的波形的数字信号,然后将数字信号写入声卡的缓冲区,最后由声卡播放出相应的声音。 已知音乐的七个音阶的主频率分别是131Hz、147Hz、165Hz、175Hz、196Hz、220Hz和247Hz,分别构造正弦波、方波和三角波,可以组成简单的电子琴。

四、实验内容 1.数字信号发生器的制作 (1)搭建GUI界面 图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。 Matlab环境下的图形用户界面(GUI)是由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。MATLAB的用户,在指令窗中运行demo 打开那图形界面后,只要用鼠标进行选择和点击,就可产生丰富的内容。 利用GUI控件中自带的按钮,根据需要组成如下图1所示的数字信号发生器的Gui界面。 图1 数字信号发生器的GUI界面

VHDL实验报告03137

VHDL实验报告 60 庄炜旭实验三. 4位可逆计数器,4位可逆二进制代码-格雷码转换器设计 一.实验目的 学习时序电路的设计,仿真和硬件测试,进一步熟悉VHDL设计技术 1. 学习4位可逆计数器的设计 2. 学习4位可逆二进制代码-格雷码转换器设计 二.实验内容 设计4位可逆计数器,及4位可逆二进制代码-格雷码转换器,并仿真,下载。 [具体要求] 1.4位可逆计数器 a)使用CLOCK_50作为输入时钟,其频率为50MHz(对于频率大于50Hz的闪烁, 人眼会看到连续的光),因而,对其进行225的分频后,再用于时钟控制。(可 利用实验一) b)使用拨码开关SW17作为模式控制,置‘1’时为加法计数器,置‘0’时为减 法计数器,同时使用LEDR17显示SW17的值。 c)使用KEY3作为异步复位开关(按下时为0,不按为1),当为加法计数器时, 置“0000”,当为减法计数器时,置“1111”。 d)使用LEDR3,LEDR2,LEDR1,LEDR0作为转换后的输出结果显示,LEDR3为高 位,LEDR0为低位。 2.4位可逆二进制代码――格雷码转换器 a)使用拨码开关SW17作为模式控制,置‘1’时为二进制代码―>格雷码转换, 置‘0’时为格雷码―>二进制代码,同时使用LEDR17显示SW17的值。 b)使用拨码开关SW3, SW2, SW1, SW0作为输入的被转换数,SW3为高位,SW0 为低位。 c)使用LEDR3,LEDR2,LEDR1,LEDR0作为转换后的输出结果显示,LEDR3为高 位,LEDR0为低位。 三.管脚设定 SW[0]PIN_N25 SW[1]PIN_N26 SW[2]PIN_P25 SW[3] PIN_AE14 SW[17] PIN_V2 LEDR[0] PIN_AE23 LEDR[1] PIN_AF23 LEDR[2] PIN_AB21 LEDR[3] PIN_AC22 LEDR[17] PIN_AD12 KEY[3] PIN_W26

信号发生器实验报告

低频电路课程设计 OCL 功率放大器设计 学院名称: 电气信息工程学院 专 业: 测控技术与仪器 班 级: 08测控1班 姓 名: 朱彬彬 学 号: 08314105 指导老师: 王云松 2010年 6 月20 日 JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 电气信息工程学院

1设计课题:OCL功率放大器 为了保证功率,效率和失真三个指标满足一定的要求,早期的功率放大器多采用变压耦合。这种电路变压器体积大,比较笨重,耗损多,而且高频和低频部分频响特性不好,在引入负反馈时,很容易自激。随着电子技术的发展,后来被无输出变压器的功率放大电路(OTL)代替。在OTL电路中,虽去掉了变压器,但为了能用但电源供电,输出端接了一个大电容,这个大电容影响了电路的低频特性,于是出现了OCL电路。 OCL功放是在OTL功放的基础上发展起来的,它比OTL功放的频带更宽,保真度更高。OCL功放是一种直接耦合的多级放大器,它运用了许多电子器件,包含了多种基本电路形式。 OCL功率放大器采用两组电源供电,使用了正负电源,在电压不太高的情况下,也能获得较大的输出功率,省去了输出端的耦合电容,使放大器低频特性得到扩展,OCL功放电路也是定压式输出电路,其电路由于性能比较好,所以广泛的应用于高保真扩音设备中。 2 主要技术指标 最大不失真输出功率:Pom≥8w 负载阻抗(扬声器):R L=10Ω 频率响应:f=50Hz~20kHz 非线性失真系数:γ≤功率放大器1% 输入灵敏度:Vi≤300mv 稳定性:电源升高和降低20%时,输出零点漂移≤100mv 3实验用仪器: 直流稳压电源一台 低频信号发生器一台 低频毫伏表一台 示波器一台 万用表一台 晶体管图示仪一台 失真度测量仪一台 4电路原理 OC L功率放大器时一种直接耦合的多级放大器,总体可分为三个部分

方波_三角波发生电路实验报告

河西学院物理与机电工程 学院 综合设计实验 方波-三角波产生电路 实验报告 学院:物理与机电工程学院 专业:电子信息科学与技术

:侯涛 日期:2016年4月26日 方波-三角波发生电路 要求:设计并制作用分立元件和集成运算放大器组成的能产生方波、三角波的波形发生器。 指标:输出频率分别为:102HZ、103HZ和104Hz;方波的输出电压峰峰值VPP≥20V 一、方案的提出 方案一: 1、由文氏桥振荡产生一个正弦波信号。 2、把文氏桥产生的正弦波通过一个过零比较器从而把正弦波转换成方波。 3、把方波信号通过一个积分器。转换成三角波。 方案二: 1、由滞回比较器和积分器构成方波三角波产生电路。 2、然后通过低通滤波把三角波转换成正弦波信号。 方案三: 1、由比较器和积分器构成方波三角波产生电路。

2、用折线法把三角波转换成正弦波。 二、方案的比较与确定 方案一: 文氏桥的振荡原理:正反馈RC网络与反馈支路构成桥式反馈电路。当R1=R2、C1=C2。即f=f0时,F=1/3、Au=3。然而,起振条件为Au略大于3。实际操作时,如果要满足振荡条件R4/R3=2时,起振很慢。如果R4/R3大于2时,正弦波信号顶部失真。调试困难。RC串、并联选频电路的幅频特性不对称,且选择性较差。因此放弃方案一。 方案二: 把滞回比较器和积分比较器首尾相接形成正反馈闭环系统,就构成三角波发生器和方波发生器。比较器输出的方波经积分可得到三角波、三角波又触发比较器自动翻转形成方波,这样即可构成三角波和方波发生器。通过低通滤波把三角波转换成正弦波是在三角波电压为固定频率或频率变化围很小的情况下使用。然而,指标要求输出频率分别为102HZ、103HZ和104Hz 。因此不满足使用低通滤波的条件。放弃方案二。 方案三: 方波、三角波发生器原理如同方案二。比较三角波和正弦波的波形可以发现,在正弦波从零逐渐增大到峰值的过程中,与三角波的差别越来越大即零附近的差别最小,峰值附近差别最大。因此,根据正弦波与三角波的差别,将三角波分成若干段,按不同的比例衰减,就可以得到近似与正弦波的折线化波形。而且折线法不受频率围的限制。 综合以上三种方案的优缺点,最终选择方案三来完成本次课程设计。 三、工作原理: 1、方波、三角波发生电路原理

杭州电子科技大学数电大作业实验报告电子琴

数电大作业实验报告如图是CODE3的case语句程序,该模块是一个编码器,即将输入的8位琴键信号进行编码,输出一个4位码,最多能对应16个音符(若有16个键)。 如图所示是INX2CODE的case语句程序,该模块是一个译码器,它将来自键盘输入的编码信号译码成数控分频器SPK0输出信号的频率控制字。 另外两个模块是M_CODE和DCD7SG,它们的case语句程序如上图所示。前者的功能是将来自CODE3的键盘编码译成简谱码和对应的音调高低值H,后者是一个数码管7段显示译码器,负责将简谱码译成数码管的显示信号。 如图所示是SPK0模块的内部结构。其中的计数器CNT11B是一个LPM宏模块,这是一个11位二进制加法计数器。在设置其结构参数时,应该选择同步加载控制,即sload(Synchronous Load),这样能较好地避免来自进位信号cout中可能的毛刺影响。异步加载aload极易受到随机窄脉冲的误触发,在此类电路中不宜采用。图中D触发器和反相器的功能是将用于控制加载的进位信号延迟半个时钟周期,一来也是为了滤除可能的毛刺,以免对加载更为可靠,因为这时,时钟上升沿正好处于加载脉冲的中点。 模块CODE3,INX2CODE和SPK0的主要工作过程是这样的: 当按琴键后,产生的数据经编码器获得一个编码(例如,当按下第二个键,对应0010,即2),它对应模块INX2CODE中的一个值(2对应390H)。当这个值(如390H)被置入模块SPK0中的11位可预置计数器中后。由于计数器的进位端与预置数加载段端相连,导致此计数器将不断以此值作为计数起始值,直至全1。

以下以预置值为390H为例,来计算SPK0输出信号的频率值。 当以390H为计数器起始值后,此计数器成为一个模(7FFH-390H=46FH=1135)的计数器。即每从CLK端输入1135个脉冲,BEEP端输出一个进位脉冲。由于输入的时钟频率是1MHz (周期是1us),于是BEEP输出的信号频率是1/(1135us)=841Hz。 由下面电子琴的顶层电路可见,SPK0的输出信号经过一个由D触发器接成的T’触发器后才输出给蜂鸣器。这时信号被作了二分频,于是,预置值390H对应的与蜂鸣器发音的基频F 约等于440Hz。 B 电子琴顶层电路中T’触发器有两个功能,一个作用是作二分频器;另一个作用是作为占空比均衡电路。这是因为由SPK0模块输出信号的脉宽极窄,功率极低,无法驱动蜂鸣器,但信号通过T’脉宽就均匀了(F 的占空比为50%)。 B 如图所示是电子琴顶层设计电路,含2个输入口和3个输出口。 1.工作时钟CLK,频率:1MHz。用于在主控模块中产生与琴键对应的振荡频率,以驱动蜂 鸣器发出相应的声音。 2.琴键输入DIN[7..0].8个音符,8位中只能有一位为0,即8个琴键中每一时刻只能按 一个键。 3.输出端口SPK0用于驱动蜂鸣器。 4.输出信号LED接数码管,用于显示对应的简码谱。H显示音高低。

模电函数信号发生器实验报告

电子电路模拟综合实验 2009211120 班 09210580(07)号 桂柯易

实验1 函数信号发生器的设计与调测 摘要 使用运放组成的积分电路产生一定频率和周期的三角波、方波(提高要求中通过改变积分电路两段的积分常数从而产生锯齿波电压,同时改变方波的占空比),将三角波信号接入下级差动放大电路(电流镜提供工作电流),利用三极管线性区及饱和区的放大特性产生正弦波电压并输出。 关键词 运放积分电路差动发达电路镜像电流源 实验内容 1、基本要求: a)设计制作一个可输出正弦波、三角波和方波信号的函数信号发生器。 1)输出频率能在1-10KHz范围内连续可调,无明显失真; 2)方波输出电压Uopp=12V,上升、下降沿小于10us,占空比可调范围30%-70%; 3)三角波Uopp=8V; 4)正弦波Uopp>1V。 b)设计该电路的电源电路(不要求实际搭建),用PROTEL软件绘制完整的 电路原理图(SCH) 2、提高要求: a)三种输出波形的峰峰值Uopp均可在1V-10V范围内连续可调。 b)三种输出波形的输出阻抗小于100欧。 c)用PROTEL软件绘制完整的印制电路板图(PCB)。 设计思路、总体结构框图 分段设计,首先产生方波-三角波,再与差动放大电路相连。 分块电路和总体电路的设计(1)方波-三角波产生电路: 正弦波产生电路三角波产生电路 方波产生电路

首先,稳压管采用既定原件2DW232,保证了输出方波电压Uo1的峰峰值为12V,基本要求三角波输出电压峰峰值为8V,考虑到平衡电阻R3的取值问题,且要保证R1/Rf=2/3,计算决定令Rf=12K,R1=8K,R3=5K。又由方波的上升、下降沿要求,第一级运放采用转换速度很快的LM318,Ro为输出限流电阻,不宜太大,最后采用1K欧电阻。二级运放对转换速度要求不是很高,故采用UA741。考虑到电容C1不宜过小,不然误差可能较大,故C1=0.1uF,最后根据公式,Rw抽头位于中点时R2的值约为300欧,进而确定平衡电阻R4的阻值。考虑到电路的安全问题,在滑阻的接地端串接了一个1K的电阻。(注:实际调测时因为滑阻转动不太方便,所以通过不断换滑阻的方式确定适当频率要求下Rw的阻值,我的电路最后使用的是1K欧的滑阻) (2)正弦波产生电路:

实验报告 电子琴.

[设计题目] [设计要求] 数电设计实验报告八音电子琴 1.能发出1.2.3.4.5.6.7.i八个音 2.用按键作为键盘 3.C调至B调对应频率如下表 音调 C(高音) B A G F E D C 频率(Hz) 261.63x2 493.88 440.00 392.00 349.23 329.63 293.66 261.63 [实验电路设计] 1.设计过程 构思< 1>制作分频器 利用三片十进制计数器74LS160连接成适用的分频器. 假设分频器的时钟信号选取为187.5KHz.然后通过计算,用时钟信号频率除以各发音频率,得到的分频比如下表: 分频比 358 380 426 478 536 频率(Hz) 高C:261.63x2 B:493.88 A:440.00 G:392.00 F:349.23 569 638 717 E:329.63 D:293.66 C:261.63 用T触发器驱动扬声器,因此最终确定选择的时钟信号为375KHz. 设计图如下 : 由于这个方法所用芯片更多而且电路太过复杂,而且成本较高,所以构想另外的思路. 构思< 2>555计时器组成多谐振荡器,设计图如下:

利用一片555和若干电阻组成多谐振荡器,利用电容的充放电过程输出周期性的矩形波再通过三极管放大驱动蜂鸣器. [硬件测试] 接通电源后蜂鸣器先会一直蜂鸣一段时间,停止后可以接通各开关使蜂鸣器工作,蜂鸣器经常会无故一直蜂鸣,再按几次开关就又恢复正常,经过检查未发现原因出在何处.电路基本功能可以实现,可能是由于电路抖动使电路不稳出现一直蜂鸣的现象. [设计心得] 第一感觉,数字电子技术设计很有意思.我们可以有充分的时间去思考怎么做出一个东西,这个东西的用处也许不大甚至几乎没有,但重要的是思考的过程:从它的用途总结出它的特性,从它的特性构思出它的原理,从原理到构建模型,再到模型的实现,利用已有的知识,可用的元件,最终组合出一个具有高度逻辑性的组合电路,这和我们小时候玩 搭积木差不多.把积木一块块的搭成一座城堡,中间缺少任何一层甚至任何一块,城堡都可能会倒塌.同理,在我们构建命题所给的元器件时任何一个逻辑错误都可能是致命的,导致最后无法出现正确结果或者干脆不能用. 而焊接的方法和效率也是非常重要的,我一开始实用了一个生锈的电烙铁,以至于焊接一个点都非常困难,后来更换了新的电烙铁以后,焊接的效率以及质量都明显提高了.所以,好的工具是非常必要的.虽然这一个设计比较简单,但是也是花了两天时间才把基本电路焊接完毕,由此看来我的焊接手艺还是非常一般的.而在测试电路过程中发现,蜂鸣器会偶尔不规则的蜂鸣,这可能是电路设计上的缺陷,重新焊接一遍问题仍然存在,由于时间紧迫此问题一直没有得到解决.

VHDL实验报告论文

硬件描述语言期末实验报告 题目:硬件描述语言实现秒表功能 姓名xxxx 学号xxxxxxxxxx 年级专业xxxxxxxxxxxxx 指导教师xxxx 2012年6月20日

河北大学本科生VHDL硬件实验论文(设计) 硬件描述语言实现秒表功能 摘要 应用VHDL语言设计数字系统,很多设计工作可以在计算机上完成,从而缩短了数字系统的开发时间。我们尝试利用VHDL为开发工具设计数字秒表。 秒表的逻辑结构较简单,它主要由十进制计数器、六进制计数器、数据选择器、和显示译码器等组成。在整个秒表中最关键的是如何获得一个精确的100HZ计时脉冲,除此之外整个秒表还需有一个启动信号,暂停信号和一个清零信号,以便秒表能随意停止及启动。 关键词:VHDL语言数字秒表时序仿真图

目录 一、实验目的 (1) 二、硬件要求 (1) 三、引脚说明 (1) 四、模块介绍 (2) 4.1.计数器(六、十进制) (2) 4.2.蜂鸣器 (2) 4.3.译码器 (3) 4.4.控制器 (4) 五、整体连接图 (5) 六、实验结果 (6) 七、实验总结 (6) 八、谢辞 (7) 九、附录 (7)

一实验目的 学习使用VHDL语言,以及EDA芯片的下载仿真。 二硬件要求 (1)主芯片EPF10K10LC84-4。 (2)蜂鸣器。 (3)8位八段扫描共阴极数码显示管。 (4)二个按键(暂停,开关)。 三引脚说明 3.1引脚设置 3.2信号说明 signal q:std_logic_vector(3 downto 0); --q是用于分频的信号。 signal state: std_logic_vector(3 downto 0); --state为状态信号,state为1时为暂停记录状态,为0时为正常显示计数状态。signal led: std_logic_vector(3 downto 0); --led为数码管扫描信号,通过对d1~d6的选择使数码管发光。

简易函数发生器的设计与制作电子实验报告

目录 1设计任务 (1)实验名称 (2)实验目的 (3)实验要求 (4)主要技术指标 2 设计分析 (1)实验原理 (2)方案论证比较 (3)系统功能及设计框图 3电路设计过程 (1)电路各部分设计 a分压电路的设计 b跟随器的设 c反相器的设计 d积分电路的分析与设计 e 差分放大电路的设计 f反馈电路的设计

(2)电路规格计算 4设计总图及元件列表调试(1)总图 (2)元件列表 (3)电路修正 5实验结论及经验总结 (1)注意事项 (2)实验感想

1 设计任务 (1) 实验名称:简易函数发生器的设计与制作 (2)实验目的: a.了解电路系统的设计过程,增加动手能力,理论联系实践 b.进一步学习模电放大器,积分器电路的特性和设计方法 c.巩固基本的电学仪器的使用方法 d.掌握波形的转换电路及通过反馈进行电路控制的方法 (3)实验要求: a 用基本集成放大器,三极管,电阻电容等制作一个简易函数发生器。 b 用EWB软件进行仿真设计求得各电压电阻参数。 (4)主要技术指标 a 函数发生器输入电压为0-2V,输入频率为0-10KHz. b. 函数发生器可以输出方波,三角波,正弦波等波形 c. 输出三角波的幅度为-4V--+4V,输出正弦波幅度为-2V——+2V,方波幅度为0-10V 。

2 设计分析 (1)实验原理: 本设计实验通过模电教学中常用的集成运放,三极管,电容等器件让学生自主设计简易函数发生器。 函数发生器由电压控制,可实现方波,三角波,正,需要在电路中加入反馈,使得电压反向器产生交替的电压形成方波。整个电路基本框图弦波按照一定频率输出。三角波的形成可以通过方波积分形成,而三角波经过单入单出差分放大器后产生饱和失真,三角波顶端变平滑,可近似看做正弦波。要控制方波的输出,必须在积分电路后加入负反馈,使得反向器控制电路交替正负从而形成方波信号。 (2)方案论证比较: 方案1:

信号发生器设计---实验报告

信号发生器设计 一、设计任务 设计一信号发生器,能产生方波、三角波和正弦波并进行仿真。 二、设计要求 基本性能指标:(1)频率范围100Hz~1kHz;(2)输出电压:方波U p-p≤24V,三角波U =6V,正弦波U p-p>1V。 p-p 扩展性能指标:频率范围分段设置10Hz~100Hz, 100Hz~1kHz,1kHz~10kHz;波形特性方波t r<30u s(1kHz,最大输出时)用仪器测量上升时间,三角波r△<2%,正弦波r <5%。(计算参数) ~ 三、设计方案 信号发生器设计方案有多种,图1是先产生方波、三角波,再将三角波转换为正弦波的组成框图。 图1 信号发生器组成框图 主要原理是:由迟滞比较器和积分器构成方波——三角波产生电路,三角波在经过差分放大器变换为正弦波。方波——三角波产生基本电路和差分放大器电路分别如图2和图4所示。 图2所示,是由滞回比较器和积分器首尾相接形成的正反馈闭环系统,则比较器A1输出的方波经积分器A2积分可得到三角波,三角波又触发比较器自动翻转形成方波,这样即可构成三角波、方波发生器。其工作原理如图3所示。

图2 方波和三角波产生电路 图3 比较器传输特性和波形 利用差分放大器的特点和传输特性,可以将频率较低的三角波变换为正弦波。(差模传输特性)其基本工作原理如图5所示。为了使输出波形更接近正弦波,设计时需注 应接近晶体意:差分放大器的传输特性曲线越对称、线性区越窄越好;三角波的幅值V m 管的截止电压值。 图4 三角波→正弦波变换电路

图5 三角波→正弦波变换关系 在图4中,RP 1调节三角波的幅度,RP 2调整电路的对称性,并联电阻R E2用来减小差分放大器的线性区。C 1、C 2、C 3为隔直电容,C 4为滤波电容,以滤除谐波分量,改善输出波形。取Ic2上面的电流(看输出) 波形发生器的性能指标: ①输出波形种类:基本波形为正弦波、方波和三角波。 ②频率范围:输出信号的频率范围一般分为若干波段,根据需要,可设置n 个波段范围。(n>3) ③输出电压:一般指输出波形的峰-峰值U p-p 。 ④波形特性:表征正弦波和三角波特性的参数是非线性失真系数r ~和r △;表征方波特性的参数是上升时间t r 。 四、电路仿真与分析 实验仿真电路图如图

单片机电子琴实验报告修订版

单片机电子琴实验报告 修订版 IBMT standardization office【IBMT5AB-IBMT08-IBMT2C-ZZT18】

单片机及DSP课程设计报告 专业:通信工程 班级: 姓名: 学号: 指导教师:李贺 时间:2015-06-22~2015-07-03 通信与电子工程学院 基于单片机的电子琴设计 一、课设的目的及内容 本设计主要是用单片机为核心控制元件,设计一台电子琴。以单片机作为主控核心,与键盘、蜂鸣器、数码管等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。本系统主要是完成的功能:电子琴弹奏并显示所按的按键对应音的唱名。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。 总之,本设计的电子琴有以下要求: (1)用键盘作出电子琴的按键,共7个,每键代表1个音符。各音符按照符合电子琴的按键顺序排列; (2)达到电子琴的基本功能,可以用弹奏出简单的乐曲; (3)在按下按键发出音符的同时显示出音符所对应的唱名

即1(dao)、2(ruai)、3(mi)、4(fa)、5(sao)、6(la)、7 (xi)。 二、问题分析、解决思路及原理图 本系统采用STC89C52RC为主控芯片,因其精度较高,操作比较灵活,输入电路和输出电路由芯片来进行处理,电路的系统的稳定性高,功耗小。其中,输入电路有7个独立按键,通过按键随意按下所要表达的音符,作为电平送给主体电路,中央处理器通过识别,解码输出音符,在蜂鸣器中发出有效的声音。由于需要显示的信息不多,显示电路未采用液晶屏显示,而是使用数码管显示电路负责显示按下的琴键所对应音符的唱名,这样既节省了成本,又降低了编程难度。 图1 如图1所示基于单片机STC89C52RC的电子琴电路,它主要由琴键控制电路、数码管显示电路、音频功放电路和时钟-复位电路四部分所构成。 三、硬件设计 (一)琴键控制电路 琴键控制电路作为人机联系的输入部分,也是间接控制数码显示和音频功放的重要组成部分。本设计采用独立式键盘的思路。 独立式键盘的特点是一键一线,各键相互独立,每个键各接一条I/O口线,通过检测I/O输入线的电平状态,可判断出被按下的按键。? 显而易见,这样电路简单,各条检测线独立,识别按下按键的软件编写简单。 适用于键盘按键数目较少的场合,不适用于键盘按键数目较多的场合,因为将占用较多的I/O口线。? 独立式键盘的7个独立按键分别对应一个I/O口线,当某一按键按下时,对应的检测线就变成了低电平,与其它按键相连的检测线仍为高电平,只需读入I/O输入线的状态,判别哪一条I/O输入线为低电平,很容易识别哪个键被按下。

信号发生器实验报告(波形发生器实验报告)

信号发生器 一、实验目的 1、掌握集成运算放大器的使用方法,加深对集成运算放大器工作原理的理解。 2、掌握用运算放大器构成波形发生器的设计方法。 3、掌握波形发生器电路调试和制作方法 。 二、设计任务 设计并制作一个波形发生电路,可以同时输出正弦、方波、三角波三路波形信号。 三、具体要求 (1)可以同时输出正弦、方波、三角波三路波形信号,波形人眼观察无失真。 (2)利用一个按钮,可以切换输出波形信号。。 (3)频率为1-2KHz 连续可调,波形幅度不作要求。 (4)可以自行设计并采用除集成运放外的其他设计方案 (5)正弦波发生器要求频率连续可调,方波输出要有限幅环节,积分电路要保证电路不出现积分饱和失真。 四、设计思路 基本功能:首先采用RC 桥式正弦波振荡器产生正弦波,然后通过整形电路(比较器)将正弦波变换成方波,通过幅值控制和功率放大电路后由积分电路将方波变成三角波,最后通过切换开关可以同时输出三种信号。 五、具体电路设计方案 Ⅰ、RC 桥式正弦波振荡器 图1 图2 电路的振荡频率为:RC f π21 0= 将电阻12k ,62k 及电容100n ,22n ,4.4n 分别代入得频率调节范围为:24.7Hz~127.6Hz ,116.7Hz~603.2Hz ,583.7Hz~3015Hz 。因为低档的最高频率高于高档的最低频率,所以符合实验中频率连续可调的要求。 如左图1所示,正弦波振荡器采用RC 桥式振荡器产生频率可调的正弦信号。J 1a 、J 1b 、J 2a 、J 2b 为频率粗调,通过J 1 J 2 切换三组电容,改变频率倍率。R P1采用双联线性电位器50k ,便于频率细调,可获得所需要的输出频率。R P2 采用200k 的电位器,调整R P2可改变电路A f 大小,使得电路满足自激振荡条件,另外也可改变正弦波失真度,同时使正弦波趋于稳定。下图2为起振波形。

简易电子琴实验报告

北京邮电大学 课题名称:简易电子琴的设计和制作学院:信息与通信工程学院 专业:信息工程 班级:2014211126 姓名:李家威 学号:2014210691 班内序号:10

指导老师:王丹志 一、摘要及关键字 本课程设计以制作出一个简易电子琴为最终目的。该电子琴以NE555为核心,通过公式计算不同频率按键对应的阻值来实现不同的音调,然后通过运算放大器将信号放大并通过喇叭发出声音。由此设计仿真电路图,选择合适器件进行电路搭建,并进行调试直至达到要求,最后进行数据统计。 关键字:电子琴振荡电路运算放大器 二、设计任务及要求 了解由555定时器构成简易电子琴的电路及原理。设计并利用NE555集成运算电路以及外加电阻,电容在第一级产生不同频率的音乐,再利用LM386功率放大电路对音乐信号进行放大,最后通过扬声器产生21个音符。

三、设计思路、总体结构框图 设计思路 555定时器是一种中规模集成电路,外形为双列直插8脚结构,体积小,使用起来方便。只要在外部配上几个适当的阻容元件,就可以构成施密特触发器、单稳态触发器及多谐振荡器等脉冲信号产生与变换电路。它在波形的产生与变换、测量与控制、定时电路、家用电器、电子玩具、电子乐器等方面有广泛的应用。由555定时器电路组成的多谐振荡器,它的振荡频率可以通过改变振荡电路中的RC原件的数值进行改变。根据这一原理,通过设定一些不同的RC数值并通过控制电路,按照一定的速度依次将不同的RC组件接入振荡电路,就可以使振荡电路按照设定的要求,有节奏的发射已设定的音频信号与音乐。

总体结构框图 四、分块电路和总体电路的设计分块电路: 琴键端(开关、电阻)

基于VHDL语言的EDA实验报告(附源码)

EDA 实验报告 ——多功能电子钟 姓名:张红义 班级:10级电科五班 学号:1008101143 指导老师:贾树恒

电子钟包括:主控模块,计时模块,闹钟模块,辅控模块,显示模块,蜂鸣器模块,分频器模块。 1.主控模块: 主要功能:控制整个系统,输出现在的状态,以及按键信息。 源代码: libraryieee; use ieee.std_logic_1164.all; useieee.std_logic_arith.all; useieee.std_logic_unsigned.all; entity mc is port(functionswitch,k,set,lightkey: in std_logic; chose21,setout: out std_logic; lightswitch:bufferstd_logic; modeout,kmodeout : out std_logic_vector(1 downto 0); setcs,setcm,setch,setas,setam,setah:outstd_logic); end mc; architecture work of mc is signalmode,kmode:std_logic_vector(1 downto 0); signal light,chose21buf:std_logic; signalsetcount:std_logic_vector(5 downto 0); begin process(functionswitch,k,set,lightkey) begin iffunctionswitch'event and functionswitch='1' then mode<=mode+'1'; end if; iflightkey'event and lightkey='1' then lightswitch<=not lightswitch; end if; if mode="01" thenchose21buf<='0'; else chose21buf<='1'; end if; ifk'event and k='1' then if mode="01" or mode="11" then kmode<=kmode+'1'; end if;end if; if set='1' then if mode = "01" then ifkmode="01" then setcount<="000001"; elsifkmode="10" thensetcount<="000010"; elsifkmode="11" then setcount<="000100";

信号发生器实验报告

电子线路课程设计报告设计题目:简易数字合成信号发生器 专业: 指导教师: 小组成员:

数字合成信号发生器设计、调试报告 一:设计目标陈述 设计一个简易数字信号发生器,使其能够产生正弦信号、方波信号、三角波信号、锯齿波信号,要求有滤波有放大,可以按键选择波形的模式及周期及频率,波形可以在示波器上 显示,此外可以加入数码管显示。 二、完成情况简述 成功完成了电路的基本焊接,程序完整,能够实现要求功能。能够通过程序控制实现正弦波的输出,但是有一定噪声;由于时间问题,我们没有设计数码管,也不能通过按键调节频率。 三、系统总体描述及系统框图 总体描述:以51单片机开发板为基础,将输出的数字信号接入D\A转换器进行D\A转换,然后接入到滤波器进行滤波,最后通过运算放大器得到最后的波形输出。 四:各模块说明 1、单片机电路80C51 程序下载于开发板上的单片机内进行程序的执行,为D\A转换提供了八位数字信号,同时为滤波器提供高频方波。通过开发板上的232串口,可以进行软件控制信号波形及频率切换。通过开发板连接液晶显示屏,显示波形和频率。 2、D/A电路TLC7528 将波形样值的编码转换成模拟值,完成单极性的波形输出。TLC7528是双路8位数字模拟转换器,本设计采用的是电压输出模式,示波器上显示波形。直接将单片机的P0口输出传给TLC7528并用A路直接输出结果,没有寄存。 3、滤波电路MAX7400 通过接收到的单片机发送来的高频方波信号(其频率为所要实现波频率的一百倍)D转换器输出的波形,对转换器输出波形进行滤波并得到平滑的输出信号。 4、放大电路TL072

TL072用以对滤波器输出的波进行十倍放大,采用双电源,并将放大结果送到示波器进行波形显示。 五:调试流程 1、利用proteus做各个模块和程序的单独仿真,修改电路和程序。 2、用完整的程序对完整电路进行仿真,调整程序结构等。 3、焊接电路,利用硬件仿真器进行仿真,并用示波器进行波形显示,调整电路的一些细节错误。 六:遇到的问题及解决方法 遇到的软件方面的问题: 最开始,无法形成波形,然后用示波器查看滤波器的滤波,发现频率过低,于是检查程序发现,滤波器的频率设置方面的参数过大,延时程序的参数设置过大,频率输出过低,几次调整好参数后,在进行试验,波形终于产生了。 七:原理图和实物照片 波形照片:

电子琴设计制作完整实验报告

简易电子琴的设计和制作实验报告 撰写人: 学号:2015210079 指导老师:张君毅 院系:信息与通信工程学院 单位名称:北京邮电大学 撰写时间:二零一七年三月二十七日

目录 一、设计任务与要求 1.1设计任务与要求 1.2选题目的与意义 二、设计和电路 2.1设计思路 2.2 总体结构框图 2.3 分块电路和总体电路的设计 三、实现功能 3.1 已完成的功能 3.2 主要的测试数据必要的测试方法 3.3 必要的测试方法 四、故障及问题分析 五、总结和结论 六、器件清单 七、仿真原理图及波形图 八、参考文献 九、附件 9.1《模拟综合实验过程考核统计表》 9.2《实验频率及功率记录表》

摘要 本实验以设计并制作出简易电子琴为目的,通过对电子琴信号的产生和功率放大方面的研究和实践,可对实际电子琴的音色、音质方面的改进起到一定的探索和促进作用。在这个实验中,我们需要建立系统的概念,培养综合应用电子电路及知识的能力,学习小型电子系统的设计、安装和调试方法。最终需要培养我们的工程实践技能和排除故障的能力。我通过该试验完成了简易电子琴的设计与制作,达到了实验要求的频率和功率,并想法设法改良了音色,最终的实验效果不错。 关键词:简易电子琴、运算放大电路、多谐振荡器、频率 一、设计任务与要求 1.1 设计任务与要求 了解由555定时器构成简易电子琴的电路及原理。设计并利用NE555集成运算电路以及外加电阻,电容在第一级产生不同频率的音乐,再利用LM386功率放大电路对音乐信号进行放大,最后通过扬声器产生21个音符。 基本要求:能演奏两个八度音阶。 提高要求:将音阶扩大到再降八度,进一步提高输出功率到0.5w。 1.2 选题的目的与意义 (1)培养理论联系实际的正确设计思想,训练综合运用已经学过的理论和生产实际知识去分析和解决工程问题的能力。 (2)学习较复杂的电子系统设计的一般方法,了解和掌握模拟,数字电路等知识解决电子信息方面常见实际问题的能力。 (3)学习调试电子电路的方法,提高实际动手能力。了解由555定时器构成简易电子琴的电路及原理。

VHDL实验报告

专用集成电路实验报告 13050Z01 1305024237 刘德文

实验一开发平台软件安装与认知实验 实验内容 1、本实验以三线八线译码器(LS74138)为例,在Xilinx ISE 9.2软件平台上完成设计 电路的VHDL文本输入、语法检查、编译、仿真、管脚分配和编程下载等操作。下载芯片选择Xilinx公司的CoolRunner II系列XC2C256-7PQ208作为目标仿真芯片。 2、用1中所设计的的三线八线译码器(LS74138)生成一个LS74138元件,在Xilinx ISE 9.2软件原理图设计平台上完成LS74138元件的调用,用原理图的方法设计三线八线译 码器(LS74138),实现编译,仿真,管脚分配和编程下载等操作。 源程序: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; -- Uncomment the following lines to use the declarations that are -- provided for instantiating Xilinx primitive components. --library UNISIM; --use UNISIM.VComponents.all; entity ls74138 is Port ( g1 : in std_logic; g2 : in std_logic; inp : in std_logic_vector(2 downto 0); y : out std_logic_vector(7 downto 0)); end ls74138; architecture Behavioral of ls74138 is begin process(g1,g2,inp) begin if((g1 and g2)='1') then case inp is when "000"=>y<="00000001"; when "001"=>y<="00000010";

信号发生器实验报告(终)

南昌大学实验报告 学生姓名:王晟尧学号:6102215054专业班级:通信152班 实验类型:□验证□综合□设计□创新实验日期:实验成绩: 信号发生器设计 一、设计任务 设计一信号发生器,能产生方波、三角波和正弦波并进行仿真。 二、设计要求 基本性能指标:(1)频率范围100Hz~1kHz;(2)输出电压:方波U p-p≤24V,三角波U p-p=6V,正弦波U p-p>1V。 扩展性能指标:频率范围分段设置10Hz~100Hz, 100Hz~1kHz,1kHz~10kHz;波形特性方波t r<30u s(1kHz,最大输出时),三角波r△<2%,正弦波r~<5%。三、设计方案 信号发生器设计方案有多种,图1是先产生方波、三角波,再将三角波转换为正弦波的组成框图。 图1 信号发生器组成框图 主要原理是:由迟滞比较器和积分器构成方波——三角波产生电路,三角波在经过差分放大器变换为正弦波。方波——三角波产生基本电路和差分放大器电路分别如图2和图4所示。 图2所示,是由滞回比较器和积分器首尾相接形成的正反馈闭环系统,则比较器A1输出的方波经积分器A2积分可得到三角波,三角波又触发比较器自动翻转形成方波,这样即可构成三角波、方波发生器。其工作原理如图3所示。

图2 方波和三角波产生电路 图3 比较器传输特性和波形 利用差分放大器的特点和传输特性,可以将频率较低的三角波变换为正弦波。其基本工作原理如图5所示。为了使输出波形更接近正弦波,设计时需注意:差分放大器的传输特性曲线越对称、线性区越窄越好;三角波的幅值V 应接近晶 m 体管的截止电压值。 图4 三角波→正弦波变换电路

相关主题
文本预览
相关文档 最新文档