eda与vhdl课程设计音乐节拍器大学论文.docx

上传人:b****1 文档编号:314129 上传时间:2022-10-08 格式:DOCX 页数:17 大小:69.55KB
下载 相关 举报
eda与vhdl课程设计音乐节拍器大学论文.docx_第1页
第1页 / 共17页
eda与vhdl课程设计音乐节拍器大学论文.docx_第2页
第2页 / 共17页
eda与vhdl课程设计音乐节拍器大学论文.docx_第3页
第3页 / 共17页
eda与vhdl课程设计音乐节拍器大学论文.docx_第4页
第4页 / 共17页
eda与vhdl课程设计音乐节拍器大学论文.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

eda与vhdl课程设计音乐节拍器大学论文.docx

《eda与vhdl课程设计音乐节拍器大学论文.docx》由会员分享,可在线阅读,更多相关《eda与vhdl课程设计音乐节拍器大学论文.docx(17页珍藏版)》请在冰豆网上搜索。

eda与vhdl课程设计音乐节拍器大学论文.docx

eda与vhdl课程设计音乐节拍器大学论文

摘要

音乐节拍器作为音乐初学者必备的辅助器材可以帮助演奏者在练习期间能将音符表达的更贴切,避免演奏难度及音乐情绪干扰演奏速度影响表演效果因此,节拍器的精度及质量至关重要。

而传统基于机械时钟的节拍器要制作出高质量的成品成本很高,故制作工艺简单,体积小,功能全面,而且时钟稳定,无需维护的电子音节节拍器应运而生。

随着电子技术的发展,应用系统向着的应用引起电子产品及系统开发的革命性变革。

和其他的电子技术相比,VHDL语言作为可编程逻辑器件的标准语言描述能力强,覆盖面广,抽象能力强,在实际应用中越来越广泛。

在这个阶段,人们开始追求贯彻整个系统设计的自动化,可以从繁重的设计工作中彻底解脱出来,把精力集中在创造性的方案与概念构思上,从而可以提高设计效率,缩短产品的研制周期。

作为一种工业标准硬件描述语言。

本文为广大的电子爱好者及音乐学习者提供了一份不同于传统音乐节开启的设计方案,利用向着小型化、快速化、大容量、重量轻的方向发展的EDA技术阐述了完整全面的设计方法及结果,从概念模型设计到详细的系统设计均图文并茂的展示了设计的思路与方式,并附ALTERA电子公司专用仿真设计环境QYARTUSII的波形仿真图及全部源码(VHDL语言),

目录

引言-1-

1.系统的设计要求-1-

2.系统分析-1-

2.1系统构成-1-

2.2系统实现过程-2-

3.具体模块设计-3-

3.1数控分频电路TimeCLK-3-

3.2数码管驱动显电路LED8-3-

3.3声光输出电路OutputTem-3-

4.程序设计-4-

4.1数控分频电路TimeCLK源代码-4-

4.2数码管驱动显电路LED8源代码-4-

4.4顶层文件设计模块-2-

5.运行结果与分析-2-

5.1数控分频电路TimeCLK-2-

5.2数码管驱动显电路LED8-2-

5.3声光输出电路OutputTem-2-

6.结束语-2-

参考文献-3-

引言

随着当前科学技术的发展以及人民的思想愈加开放,使用电子产品不再是一种可以谋生的特殊技术,相反技术走进生活成为新时代的口号和发展动向,越来越多的人致力于设计出更巧妙的电子产品以帮助我们更好的生活、工作、学习。

多年来,音乐节拍器作为音乐初学者必备的辅助器材,一直备受争议:

好的音乐节拍器节奏精准,音色润美,可以帮助演奏者在练习期间能将音符表达的更贴切,避免演奏难度及音乐情绪干扰演奏速度影响表演效果;但劣质节拍器的频率不准,反而会打乱学习者本身的节奏感,且使演奏者很难专注地将感情融入到演奏之中。

因此,节拍器的精度及质量至关重要。

然而,传统的节拍器多基于机械时钟,不仅防震防磁效果差、体积大、维护困难,且要制作出高精度的成品成本很高,与此相比,基于晶振时钟的电子音节节拍器,制作工艺简单,体积小,功能全面,而且时钟稳定,无需维护,且音量音速音色可调,能满足几乎全部学习者的需求。

随着电子技术的发展,应用系统向着小型化、快速化、大容量、重量轻的方向发展,EDA技术的应用引起电子产品及系统开发的革命性变革。

和其他的电子技术相比,VHDL语言作为可编程逻辑器件的标准语言描述能力强,覆盖面广,抽象能力强,在实际应用中越来越广泛。

在这个阶段,人们开始追求贯彻整个系统设计的自动化,可以从繁重的设计工作中彻底解脱出来,把精力集中在创造性的方案与概念构思上,从而可以提高设计效率,缩短产品的研制周期。

作为一种工业标准硬件描述语言。

1.系统的设计要求

设计一个音乐节拍器,三种可选拍号(2/4,3/4,4/4),能准确声光同步显示拍强(即拍显),可连续调整并用数码管显示拍速,可连续调整音量。

2.系统分析

2.1系统构成

CPU(CPLD)部分的逻辑功能:

检测按钮输入模块的信息(拍号、拍速、音量),并按相应信息进行分频调整得到正确频率的输出信号,并驱动扬声器,数码管及LED灯以显示所需信息。

外围电路有两部分,一部分为输出(声光模块),一部分为输入(按钮模块),系统框图如图2.1:

 

图2.1系统构成框图

本文着重讲述系统设计中的CPLD程序设计部分,故“CPLD芯片的输入信号”、“CPLD芯片的输出信号”、“CPLD芯片的逻辑结构”等词语均省略为“输入信号”、“输出信号”、“逻辑结构”等,特此声明,不再赘述。

2.2系统实现过程

用VHDL进行设计,首先应该了解,VHDL语言一种全方位硬件描述语言,包括系统行为级描述,寄存器传输级和逻辑门阵列等多个设计层次。

充分利用VHDL“自顶向下”的设计优点以及层次化的设计概层次概念对于设计复杂的数字系统非常有用,能使得再复杂的系统设计也可从简单的单元入手,简化设计过程,降低设计难度,且提高了程序的可读性,并降低了程序的维护难度。

根据本系统设计要求知(如图2.1)——

1)整个系统共有三个输入信号:

a)控制拍号(2/4、3/4、4/4)的逻辑输入信号TK;

b)控制拍速(20…400)的调节信号TS[0,1],分别为“增加”、“减小”;

c)控制音量的上下调节信号(1…20);

2)整个系统共有四个输出信号:

a)扬声器驱动信号Speaker;

b)拍显LED驱动信号LED[1…3];

c)数码管驱动信号S[1…8];

d)数码管片选信号CS[1…2]。

据此,我们可以将整个节拍产生电路分为三大部分:

a)数控分频电路TimeCLK;

b)数码管驱动显示LED8;

c)声光输出OutputTem电路。

 

综上,系统的工作原理便可简述如下:

1)数码管驱动根据输入信号拍速TS结合字形码(按数码管类型分为共阴极或共阳极)动态扫描三位数码管即可;

2)数控分频电路根据输入信号TS、CLK,可产生无可察觉干扰指定频率的,可供声光输出电路使用的时钟信号(节拍信号)CLK1;

3)声光输出电路则是根据拍号TK及CLK1则可以产生能驱动扬声器发出不同音调的波形,输出给扬声器,同时按拍强让三个同色不同亮度的LED灯依次亮起,产生声光同步的拍显效果。

完整的音乐节拍系统的逻辑结构图如图2.2所示:

CS

S[0…7]

CS

Spd

数码管驱动电路

TS

S[0…7]

输出信号

输入信号

CLK1

CLK

Speaker

Speaker

CLK

CLK1

数控分频

TK

LED[0…2]

LED[0…2]

声光输出

TK

VM

TS

VM

图2.2逻辑结构图

3.具体模块设计

3.1数控分频电路TimeCLK

数控分频电路功能:

利用计数器,结合输入信号TS、CLK,实现分频,产生无可察觉干扰指定频率的,可供声光输出电路使用的时钟信号(节拍信号)CLK1;

3.2数码管驱动显电路LED8

数码管驱动电路功能:

1)根据输入信号——拍速调节信号TS计算当前拍速并输出;

2)根据当前拍速按字形码(共阴极或共阳极)动态扫描三位数码管;

3.3声光输出电路OutputTem

声光输出电路功能:

1)根据拍号TK及CLK1产生能驱动扬声器发出不同音调的波形,输出给扬声器;

2)按拍强让三个同色不同亮度的LED灯依次亮起,产生声光同步的拍显效果。

4.程序设计

4.1数控分频电路TimeCLK源代码

libraryIEEE;

UseIEEE.STD_LOGIC_1164.ALL;

UseIEEE.STD_LOGIC_ARITH.ALL;

UseIEEE.STD_LOGIC_UNSIGNED.ALL;

entityTimeCLKis

PORT(

CLK:

INSTD_LOGIC;

SPEED:

ININTEGERRANGE24TO400;

CLK1:

bufferSTD_LOGIC

);

ENDENTITY;

ARCHITECTUREBHVOFTimeCLKIS

SIGNALflag:

STD_LOGIC:

='0';

SIGNALSUM:

INTEGERRANGE0TO1000:

=1000;

BEGIN

SUM<=24000/SPEED;

process(CLK)

variablecot:

INTEGERRANGE0to5000;

BEGIN

IF(clk='1')THEN

IF(COT

cot:

=cot+1;

CLK1<='0';

ELSIF(COT<2*SUM)THEN

cot:

=cot+1;

CLK1<='1';

ELSE

cot:

=0;

ENDIF;

ENDIF;

ENDPROCESS;

ENDARCHITECTURE;

4.2数码管驱动显电路LED8源代码

LibraryIEEE;

UseIEEE.STD_LOGIC_1164.ALL;

UseIEEE.STD_LOGIC_ARITH.ALL;

UseIEEE.STD_LOGIC_UNSIGNED.ALL;

entityLED8is

PORT(

CLK:

INSTD_LOGIC;

TS:

INSTD_LOGIC_VECTOR(0TO1);

S:

bufferSTD_LOGIC_VECTOR(0TO7);

CS:

bufferSTD_LOGIC_VECTOR(0TO3);

SPEED1:

BUFFERINTEGERRANGE24TO400

);

ENDENTITY;

ARCHITECTUREBHVOFLED8IS

SIGNALShun:

STD_LOGIC_VECTOR(0TO7)

:

="00000110";

SIGNALSten:

STD_LOGIC_VECTOR(0TO7)

:

="00111111";

SIGNALSone:

STD_LOGIC_VECTOR(0TO7):

="00111111";

SIGNALSPEED:

INTEGERRANGE24TO400

:

=100;

BEGIN

PROCESS(TS)

variablehun:

integerrange0to4;

variableten:

integerrange0to9;

variableone:

integerrange0to9;

BEGIN

hun:

=Speed/100;

ten:

=(Speed-hun*100)/10;

one:

=Speed-hun*100-ten*10;

CASEhunISWHEN0=>Shun<="00111111";

WHEN1=>Shun<="00000110";

WHEN2=>Shun<="01011011";

WHEN3=>Shun<="01001111";

WHEN4=>Shun<="01100110";

WHENOTHERS=>

Shun<="11111111";

ENDCASE;

CASE(ten)IS

WHEN0=>Sten<="00111111";

WHEN1=>Sten<="00000110";

WHEN2=>Sten<="01011011";

WHEN3=>Sten<="01001111";

WHEN4=>Ste

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

当前位置:首页 > 高中教育 > 语文

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

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